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