diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 9930c7338f..dba99aadfa 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -61,6 +61,17 @@ public interface IcResiUserDao extends BaseDao { **/ void upTable(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map map); + /** + * @description: 选择性更新(只更新不为null的) + * @param tableName: + * @param id: + * @param map: + * @return + * @author: WangXianZhang + * @date: 2023/4/23 9:03 PM + */ + void updateTableSelective(@Param("tableName") String tableName, @Param("id") String id, @Param("map") Map map); + List> selectListResiMap(@Param("customerId") String customerId, @Param("formCode") String formCode, @Param("conditions") List conditions, diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 05e7b81853..e0b5c91837 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -547,7 +547,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (existingResiMap != null) { // 修改居民信息 - icResiUserDao.upTable(tableName, existingResiMap.get("ID"), columnAndValues); + icResiUserDao.updateTableSelective(tableName, existingResiMap.get("ID"), columnAndValues); // 任意组织维度一个发生变化,则放到调动居民缓存中 ResiImportChangedData transferData; @@ -747,7 +747,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (CollectionUtils.isNotEmpty(subInfos)) { Map subInfo = subInfos.get(0); // 附加信息存在,更新附加表内容 - icResiUserDao.upTable(targetTableName, subInfo.get("ID").toString(), columnAndValues); + icResiUserDao.updateTableSelective(targetTableName, subInfo.get("ID").toString(), columnAndValues); } else { // 新增附加表信息 columnAndValues.put("CREATED_BY", currentUserId); @@ -1577,7 +1577,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res private void updateMainTableResiTypeFlag(IcResiUserTableEnum icResiUserTableEnum, String resiUserId) { HashMap map = new HashMap<>(); map.put(icResiUserTableEnum.getMainTableFlagColumnName(), true); - icResiUserDao.upTable(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map); + icResiUserDao.updateTableSelective(IcResiUserTableEnum.IC_RESI_USER.getTableName(), resiUserId, map); } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 2d2e30535f..118c0c3c36 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -73,6 +73,19 @@ WHERE id = #{id} + + + UPDATE ${tableName} + SET + + + ${key} = #{value} + + + ,UPDATED_TIME = NOW() + WHERE id = #{id} + +