| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -88,7 +88,8 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static String ZXXM_FILE_NUM_EXAMPLE="^ZXXM[0-9]+-[0-9]+-[0-9]+"; | 
					 | 
					 | 
					 | 
					    private static String ZXXM_FILE_NUM_EXAMPLE="^ZXXM[0-9]+-[0-9]+-[0-9]+"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static String JJ_FILE_NUM_EXAMPLE="^JJ[0-9]+-[0-9]+-[0-9]+"; | 
					 | 
					 | 
					 | 
					    private static String JJ_FILE_NUM_EXAMPLE="^JJ[0-9]+-[0-9]+-[0-9]+"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static String SX_FILE_NUM_EXAMPLE="^SX[0-9]{4}-\\w+-[0-9]+-[0-9]+"; | 
					 | 
					 | 
					 | 
					    private static String SX_FILE_NUM_EXAMPLE="^SX[0-9]{4}-\\w+-[0-9]+-[0-9]+"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static String HT_FILE_NUM_EXAMPLE="^HT[0-9]{4}-\\w+-[0-9]+"; | 
					 | 
					 | 
					 | 
					    private static String HT_FILE_NUM_EXAMPLE="^HTZ[0-9]{4}-\\w+-[0-9]+"; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    private static String HTY_FILE_NUM_EXAMPLE="^HTY[0-9]{4}-\\w+-[0-9]+"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyyMMdd"); | 
					 | 
					 | 
					 | 
					    private static SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyyMMdd"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final String  RECORD_TYPE="record"; | 
					 | 
					 | 
					 | 
					    private static final String  RECORD_TYPE="record"; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final String  FILE_TYPE="file"; | 
					 | 
					 | 
					 | 
					    private static final String  FILE_TYPE="file"; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -106,10 +107,12 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (CategoryDict.JJ_RECORD.equals(type)){ | 
					 | 
					 | 
					 | 
					            if (CategoryDict.JJ_RECORD.equals(type)){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 基建档案
 | 
					 | 
					 | 
					 | 
					                // 基建档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                jjArchivesModelExcelImport(file,type); | 
					 | 
					 | 
					 | 
					                jjArchivesModelExcelImport(file,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }else if (CategoryDict.HT_RECORD.equals(type)){ | 
					 | 
					 | 
					 | 
					            }else if (CategoryDict.HTZ_RECORD.equals(type)){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 合同档案
 | 
					 | 
					 | 
					 | 
					                // 合同档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                htArchivesModelExcelImport(file,type); | 
					 | 
					 | 
					 | 
					                htArchivesModelExcelImport(file,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }else if (CategoryDict.SW_RECORD.equals(type)){ | 
					 | 
					 | 
					 | 
					            }else if (CategoryDict.HTY_RECORD.equals(type)){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                htYArchivesModelExcelImport(file,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } else if (CategoryDict.SW_RECORD.equals(type)){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                // 实体档案
 | 
					 | 
					 | 
					 | 
					                // 实体档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                swArchivesModelExcelImport(file,type); | 
					 | 
					 | 
					 | 
					                swArchivesModelExcelImport(file,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }else if (CategoryDict.SX_RECORD.equals(type)){ | 
					 | 
					 | 
					 | 
					            }else if (CategoryDict.SX_RECORD.equals(type)){ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -173,9 +176,11 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (CategoryDict.JJ_RECORD.equals(type)) { | 
					 | 
					 | 
					 | 
					        if (CategoryDict.JJ_RECORD.equals(type)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // 基建档案
 | 
					 | 
					 | 
					 | 
					            // 基建档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getArchiveCategory().toUpperCase()+archiveRecordInfo.getProjectNumber()+"-"+archiveRecordInfo.getCategoryCode(); | 
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getArchiveCategory().toUpperCase()+archiveRecordInfo.getProjectNumber()+"-"+archiveRecordInfo.getCategoryCode(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if (CategoryDict.HT_RECORD.equals(type)) { | 
					 | 
					 | 
					 | 
					        } else if (CategoryDict.HTZ_RECORD.equals(type)) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // 合同档案
 | 
					 | 
					 | 
					 | 
					            // 合同档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(); | 
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } else if (CategoryDict.HTY_RECORD.equals(type)){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if (CategoryDict.SW_RECORD.equals(type)) { | 
					 | 
					 | 
					 | 
					        } else if (CategoryDict.SW_RECORD.equals(type)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // 实体档案
 | 
					 | 
					 | 
					 | 
					            // 实体档案
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getCategoryCode(); | 
					 | 
					 | 
					 | 
					            key = archiveRecordInfo.getCategoryCode(); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -216,7 +221,7 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        numberGenUtil.removeKey(archiveRecordInfo.getId().toString());//arId
 | 
					 | 
					 | 
					 | 
					        numberGenUtil.removeKey(archiveRecordInfo.getId().toString());//arId
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /* | 
					 | 
					 | 
					 | 
					    /* | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    合同档案 | 
					 | 
					 | 
					 | 
					    合同档案(中文) | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void htArchivesModelExcelImport(MultipartFile file, String type)throws Exception { | 
					 | 
					 | 
					 | 
					    private void htArchivesModelExcelImport(MultipartFile file, String type)throws Exception { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        List<ContractArchivesModel> archivesModels = ExcelUtil.readExcel(file, ContractArchivesModel.class, 1, 2); | 
					 | 
					 | 
					 | 
					        List<ContractArchivesModel> archivesModels = ExcelUtil.readExcel(file, ContractArchivesModel.class, 1, 2); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -326,6 +331,117 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    /* | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    合同档案(英文) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    private void htYArchivesModelExcelImport(MultipartFile file, String type)throws Exception { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        List<ContractArchivesModel> archivesModels = ExcelUtil.readExcel(file, ContractArchivesModel.class, 1, 2); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (archivesModels==null||archivesModels.size()<=0){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            throw new RuntimeException("["+file.getOriginalFilename()+"]导入数据为空,请检查后提交"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //去重
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        archivesModels=archivesModels.stream().distinct().collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ArrayList<ArchiveRecordInfo> list = new ArrayList<>(archivesModels.size()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        for (int i = 0; i < archivesModels.size(); i++) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            ContractArchivesModel item = archivesModels.get(i); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            //            验证数据完整性
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (    StringUtils.isEmpty(item.getFileNum())|| | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    StringUtils.isEmpty(item.getBoxName())){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw new RuntimeException("["+file.getOriginalFilename()+"——Sheet:1——行号" + (i + 3) + "]数据填写不完整,请检查[档号,案卷题名]是否填写完整"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            //校验数据
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            String fileNum =item.getFileNum().trim(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            //校验档号
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            boolean flag = fileNum.matches(HTY_FILE_NUM_EXAMPLE); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (Boolean.FALSE==flag){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw  new RuntimeException("["+file.getOriginalFilename()+"——Sheet:1——行号" + (i + 3) + "]档号不符合标准,请检查后提交"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            ArchiveRecordInfo archiveRecordInfo = new ArchiveRecordInfo(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            BeanUtils.copyProperties(item,archiveRecordInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (archiveRecordInfo.getDepartment()!=null){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                SysDept sysDept = sysDeptService.selectDeptById(archiveRecordInfo.getDepartment()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (sysDept==null){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    throw  new RuntimeException("["+file.getOriginalFilename()+"——Sheet:1——行号" + (i + 3) + "]归档部门填写错误,请检查后提交"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            String[] split = fileNum.split("-"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setFileNum(fileNum); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setArchiveCategory(type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setYear(fileNum.substring(type.length(),fileNum.indexOf("-"))); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setStorageTime(split[1]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setCaseNum(split[2]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (numberGenUtil.selectXmNum(archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(),Integer.valueOf(archiveRecordInfo.getCaseNum()))){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw  new RuntimeException("["+file.getOriginalFilename()+"——Sheet:1——行号" + (i + 3) + "]根据档号生成规则,系统已存在相同流水号,请检查后提交"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (StringUtils.isNotEmpty(item.getDescriptionTime())){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveRecordInfo.setDescriptionTime(simpleDateFormat.parse(item.getDescriptionTime())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setCreateId(SecurityUtils.getUserId().toString()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setSource("0"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setStatus("0");//预导入状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setUpdateTime(DateUtils.getNowDate()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            archiveRecordInfo.setCreateTime(DateUtils.getNowDate()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            list.add(archiveRecordInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Map<String, ArchiveRecordInfo> stringArchiveRecordInfoMap = batchSaveRecordInfoList(list); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //上传相关的文件
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					//        List<FileUploadList> upladDown = uploadAllFiles(stringArchiveRecordInfoMap, ArchiveUploadConfig.getHTAction());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        this.setCacheByRecord(stringArchiveRecordInfoMap,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //读取文件
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        List<ContractFileModel> writFileModels = ExcelUtil.readExcel(file, ContractFileModel.class, 2, 2); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //去重
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        writFileModels=writFileModels.stream().distinct().collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ArrayList<ArchiveFileInfo> archiveFileInfos = new ArrayList<>(writFileModels.size()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (writFileModels!=null&&writFileModels.size()>0){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            for (int i = 0; i < writFileModels.size(); i++) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                ContractFileModel tmp = writFileModels.get(i); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                //            验证数据完整性
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (    StringUtils.isEmpty(tmp.getRecordFileNum())|| | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        StringUtils.isEmpty(tmp.getArSort())|| | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                        StringUtils.isEmpty(tmp.getTitle())){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    throw new RuntimeException("["+file.getOriginalFilename()+"——卷内目录——行号" + (i + 3) + "]数据填写不完整,请检查[案卷档号,卷内顺序号,文件标题]是否填写完整"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                ArchiveFileInfo archiveFileInfo = new ArchiveFileInfo(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                ArchiveRecordInfo archiveRecordInfo = stringArchiveRecordInfoMap.get(tmp.getRecordFileNum().trim()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (archiveRecordInfo == null || archiveRecordInfo.getId() == null) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    throw new RuntimeException("["+file.getOriginalFilename()+"——卷内目录——行号" + (i + 3) + "]未匹配到对应的档案信息请检查"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                BeanUtils.copyProperties(tmp,archiveFileInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                if (StringUtils.isNotEmpty(tmp.getFileDate())){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    archiveFileInfo.setFileDate(simpleDateFormat.parse(tmp.getFileDate())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfo.setArId(String.valueOf(archiveRecordInfo.getId())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfo.setCreateId(SecurityUtils.getUserId().toString()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfo.setCreateTime(DateUtils.getNowDate()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfo.setUpdateTime(DateUtils.getNowDate()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfo.setStatus("0"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                archiveFileInfos.add(archiveFileInfo); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            batchSaveFileInfoList(archiveFileInfos); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            this.setCacheByFile(archiveFileInfos,type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        List<KeyValue> keyValues=new ArrayList<>(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        for (ArchiveRecordInfo archiveRecordInfo :  list) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            //再次查询
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (numberGenUtil.selectXmNum(archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(),Integer.valueOf(archiveRecordInfo.getCaseNum()))){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                //发现已存在相同流水号,则excel删除刚保存的redis数据
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                numberGenUtil.removeValueByKey(keyValues); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw  new RuntimeException("["+file.getOriginalFilename()+"——Sheet:1——档号" + archiveRecordInfo.getFileNum() + "]根据档号生成规则,系统已存在相同流水号,请检查后提交"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            //无误后push
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            KeyValue keyValue=new KeyValue(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            keyValue.setKey(archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            keyValue.setValue(Integer.valueOf(archiveRecordInfo.getCaseNum())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            keyValues.add(keyValue); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            numberGenUtil.pushXmNum(archiveRecordInfo.getArchiveCategory().toUpperCase()+ archiveRecordInfo.getYear()+"-"+archiveRecordInfo.getStorageTime(),Integer.valueOf(archiveRecordInfo.getCaseNum())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        for (ArchiveFileInfo archiveFileInfo : archiveFileInfos) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if (archiveFileInfo!=null){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                numberGenUtil.pushXmNum(archiveFileInfo.getArId(),Integer.valueOf(archiveFileInfo.getArSort())); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /* | 
					 | 
					 | 
					 | 
					    /* | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    照片声像 | 
					 | 
					 | 
					 | 
					    照片声像 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1512,7 +1628,10 @@ public class ArchiveImportServiceImpl implements ArchiveImportService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            case CategoryDict.JJ_RECORD: | 
					 | 
					 | 
					 | 
					            case CategoryDict.JJ_RECORD: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                action=ArchiveUploadConfig.getJJAction(); | 
					 | 
					 | 
					 | 
					                action=ArchiveUploadConfig.getJJAction(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                break; | 
					 | 
					 | 
					 | 
					                break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            case CategoryDict.HT_RECORD: | 
					 | 
					 | 
					 | 
					            case CategoryDict.HTZ_RECORD: | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                action=ArchiveUploadConfig.getHTAction(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            case CategoryDict.HTY_RECORD: | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                action=ArchiveUploadConfig.getHTAction(); | 
					 | 
					 | 
					 | 
					                action=ArchiveUploadConfig.getHTAction(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                break; | 
					 | 
					 | 
					 | 
					                break; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            case CategoryDict.SW_RECORD: | 
					 | 
					 | 
					 | 
					            case CategoryDict.SW_RECORD: | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |