|  |  | @ -736,10 +736,11 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res | 
			
		
	
		
			
				
					|  |  |  |                                                    String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel, | 
			
		
	
		
			
				
					|  |  |  |                                                    LinkedHashMap<String, String> target2Insert, boolean isPrimaryTable) { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 本行中是否有必填但未填,或者填了但填错了系统中找不到的列,那后面的数据可能就没办法通过前面填写的值去关联查询,因此只做必填检查,提示出来就行了,仁至义尽
 | 
			
		
	
		
			
				
					|  |  |  |         boolean hasError = false; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         String notFoundColumnNames = null; | 
			
		
	
		
			
				
					|  |  |  |         String emptyColumnNames = null; | 
			
		
	
		
			
				
					|  |  |  |         String notFoundColumnName = null; | 
			
		
	
		
			
				
					|  |  |  |         List<String> emptyColumnNames = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 这两列要提前放进去,因为有的列未填写的话,会抛异常出去,需要用这两列来做描述
 | 
			
		
	
		
			
				
					|  |  |  |         target2Insert.put("ID_CARD", row.get(ID_CARD_COLUMN_NO)); | 
			
		
	
	
		
			
				
					|  |  | @ -760,9 +761,15 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res | 
			
		
	
		
			
				
					|  |  |  |                 columnWrapper.setColValue(cellContent); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 // 必填检查
 | 
			
		
	
		
			
				
					|  |  |  |                 if (hasError = requiredButEmptyCheck(isPrimaryTable, columnWrapper)) { | 
			
		
	
		
			
				
					|  |  |  |                     emptyColumnNames = columnWrapper.combinedLabel; | 
			
		
	
		
			
				
					|  |  |  |                     break; | 
			
		
	
		
			
				
					|  |  |  |                 boolean hasEmptyError = requiredButEmptyCheck(isPrimaryTable, columnWrapper); | 
			
		
	
		
			
				
					|  |  |  |                 if (hasEmptyError) { | 
			
		
	
		
			
				
					|  |  |  |                     emptyColumnNames.add(columnWrapper.combinedLabel); | 
			
		
	
		
			
				
					|  |  |  |                     hasError = true; | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if (hasError) { | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 // "select", "radio"
 | 
			
		
	
	
		
			
				
					|  |  | @ -773,9 +780,15 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res | 
			
		
	
		
			
				
					|  |  |  |                 columnWrapper.setCellContent(cellContent); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 // 必填检查
 | 
			
		
	
		
			
				
					|  |  |  |                 if (hasError = requiredButEmptyCheck(isPrimaryTable, columnWrapper)) { | 
			
		
	
		
			
				
					|  |  |  |                     emptyColumnNames = columnWrapper.combinedLabel; | 
			
		
	
		
			
				
					|  |  |  |                     break; | 
			
		
	
		
			
				
					|  |  |  |                 boolean hasEmptyError = requiredButEmptyCheck(isPrimaryTable, columnWrapper); | 
			
		
	
		
			
				
					|  |  |  |                 if (hasEmptyError) { | 
			
		
	
		
			
				
					|  |  |  |                     emptyColumnNames.add(columnWrapper.combinedLabel); | 
			
		
	
		
			
				
					|  |  |  |                     hasError = true; | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if (hasError) { | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if ("local".equals(columnWrapper.getOptionSourceType())) { | 
			
		
	
	
		
			
				
					|  |  | @ -821,36 +834,39 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } else if ("checkbox".equals(columnWrapper.getItemType())) { | 
			
		
	
		
			
				
					|  |  |  |                 //多选框没有具体的cellContent,因为多选框对应着excel的多列
 | 
			
		
	
		
			
				
					|  |  |  |                 //多选框没有具体的cellContent,因为多选框对应着excel的多列。并且复选框,为空就是否,所以不需要做必填检查
 | 
			
		
	
		
			
				
					|  |  |  |                 String checkBoxColValue = getCheckBoxColValue(columnWrapper, row, checkBoxOptionColumnIdxAndLabel); | 
			
		
	
		
			
				
					|  |  |  |                 columnWrapper.setColValue(checkBoxColValue); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |                 if (hasError) { | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             // 填了,但找不到对应数据的检查
 | 
			
		
	
		
			
				
					|  |  |  |             if (hasError = notFoundCheck(isPrimaryTable, columnWrapper)) { | 
			
		
	
		
			
				
					|  |  |  |                 notFoundColumnNames = columnWrapper.combinedLabel; | 
			
		
	
		
			
				
					|  |  |  |                 break; | 
			
		
	
		
			
				
					|  |  |  |             boolean hasNotFoundError = notFoundCheck(isPrimaryTable, columnWrapper); | 
			
		
	
		
			
				
					|  |  |  |             if (hasNotFoundError) { | 
			
		
	
		
			
				
					|  |  |  |                 notFoundColumnName = columnWrapper.combinedLabel; | 
			
		
	
		
			
				
					|  |  |  |                 hasError = true; | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             target2Insert.put(columnWrapper.columnName, columnWrapper.colValue); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         if (!hasError) { | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         if (hasError) { | 
			
		
	
		
			
				
					|  |  |  |             StringBuilder sb = new StringBuilder(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         StringBuilder sb = new StringBuilder(); | 
			
		
	
		
			
				
					|  |  |  |             // 组织报错信息
 | 
			
		
	
		
			
				
					|  |  |  |             if (CollectionUtils.isNotEmpty(emptyColumnNames)) { | 
			
		
	
		
			
				
					|  |  |  |                 sb.append(String.join(",", emptyColumnNames)).append("的值未填写;"); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         // 组织报错信息
 | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isNotBlank(emptyColumnNames)) { | 
			
		
	
		
			
				
					|  |  |  |             sb.append(emptyColumnNames).append("的值未填写"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |             if (StringUtils.isNotBlank(notFoundColumnName)) { | 
			
		
	
		
			
				
					|  |  |  |                 sb.append(notFoundColumnName).append("填写的值在系统中未找到"); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isNotBlank(notFoundColumnNames)) { | 
			
		
	
		
			
				
					|  |  |  |             sb.append(notFoundColumnNames).append("填写的值在系统中未找到"); | 
			
		
	
		
			
				
					|  |  |  |             throw new EpmetException(sb.toString()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         throw new EpmetException(sb.toString()); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
	
		
			
				
					|  |  | 
 |