| 
						
						
							
								
							
						
						
					 | 
					@ -736,38 +736,47 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * 虚拟(不对应实际的数据库表)sheet的数据导入持久化 | 
					 | 
					 | 
					     * 虚拟(不对应实际的数据库表)sheet的数据导入持久化 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     * @param sheetEnumObject | 
					 | 
					 | 
					     * @param sheetEnumObject | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					     */ | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					    public void persistIcResiVirtualSheetExtraInfo(List<Map<String, String>> resiInfo, IcResiUserTableEnum sheetEnumObject) { | 
					 | 
					 | 
					    public void batchPersistIcResiVirtualSheetExtraInfo(List<Map<String, String>> resiInfos, IcResiUserTableEnum sheetEnumObject) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        for (Map<String, String> columnAndValues : resiInfo) { | 
					 | 
					 | 
					        for (Map<String, String> columnAndValues : resiInfos) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            String idCard = columnAndValues.get(ID_CARD_COLUMN_NO); | 
					 | 
					 | 
					            singlePersistResiVirtualSheetExtraInfo(columnAndValues, sheetEnumObject); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            try { | 
					 | 
					 | 
					        } | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                Map<String, String> resiInfoMap = icResiUserDao.selectResiInfoMap(idCard, null); | 
					 | 
					 | 
					    } | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                if (resiInfoMap == null || resiInfoMap.size() == 0) { | 
					 | 
					 | 
					    /** | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                    throw new RenException(EpmetErrorCode.RESI_NOT_FOUND.getCode(), String.format("身份证号为【%s】的居民信息未找到,请确认该居民信息存在", idCard)); | 
					 | 
					 | 
					     * 单条处理 虚拟(不对应实际的数据库表)sheet的数据导入持久化 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                } | 
					 | 
					 | 
					     * @param columnAndValues | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                String icResiId = resiInfoMap.get("ID"); | 
					 | 
					 | 
					     * @param sheetEnumObject | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    public void singlePersistResiVirtualSheetExtraInfo(Map<String, String> columnAndValues, IcResiUserTableEnum sheetEnumObject) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        String idCard = columnAndValues.get(ID_CARD_COLUMN_NO); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        try { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            Map<String, String> resiInfoMap = icResiUserDao.selectResiInfoMap(idCard, null); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                // 更新主表中该居民类型字段为true
 | 
					 | 
					 | 
					            if (resiInfoMap == null || resiInfoMap.size() == 0) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                updateMainTableResiTypeFlag(sheetEnumObject, icResiId); | 
					 | 
					 | 
					                throw new RenException(EpmetErrorCode.RESI_NOT_FOUND.getCode(), String.format("身份证号为【%s】的居民信息未找到,请确认该居民信息存在", idCard)); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            String icResiId = resiInfoMap.get("ID"); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                // 保存类别变更信息
 | 
					 | 
					 | 
					            // 更新主表中该居民类型字段为true
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                saveSubTableInfoToCategoryChangedResiCache(icResiId, sheetEnumObject.getMainTableFlagColumnName(), resiInfoMap); | 
					 | 
					 | 
					            updateMainTableResiTypeFlag(sheetEnumObject, icResiId); | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					            } catch (Exception e) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                String errorMsg; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                if (e instanceof RenException || e instanceof EpmetException) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    errorMsg = e.getMessage(); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } else { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    errorMsg = "未知系统错误"; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                    log.error(ExceptionUtils.getErrorStackTrace(e)); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					                } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					                ErrorRow errorRow = new ErrorRow(); | 
					 | 
					 | 
					            // 保存类别变更信息
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                errorRow.setName(columnAndValues.get("NAME")); | 
					 | 
					 | 
					            saveSubTableInfoToCategoryChangedResiCache(icResiId, sheetEnumObject.getMainTableFlagColumnName(), resiInfoMap); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                errorRow.setIdCard(idCard); | 
					 | 
					 | 
					        } catch (Exception e) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                errorRow.setErrorInfo(errorMsg); | 
					 | 
					 | 
					            String errorMsg; | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                errorRow.setTableName(sheetEnumObject.getTableName()); | 
					 | 
					 | 
					            if (e instanceof RenException || e instanceof EpmetException) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					                errorRows.get().get(sheetEnumObject.getTableName()).add(errorRow); | 
					 | 
					 | 
					                errorMsg = e.getMessage(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                errorMsg = "未知系统错误"; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                log.error(ExceptionUtils.getErrorStackTrace(e)); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            } | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            ErrorRow errorRow = new ErrorRow(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            errorRow.setName(columnAndValues.get("NAME")); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            errorRow.setIdCard(idCard); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            errorRow.setErrorInfo(errorMsg); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            errorRow.setTableName(sheetEnumObject.getTableName()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            errorRows.get().get(sheetEnumObject.getTableName()).add(errorRow); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |