From b5871e0a218aa7f5a7ec2535675b5786f34af332 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 18 Jan 2022 13:27:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=94=9F=E6=88=90=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E3=80=81=E5=8F=98=E6=9B=B4=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/IcResiUserTransferFormDTO.java | 2 + .../service/impl/IcResiUserServiceImpl.java | 92 ++++++++++++++++++- .../impl/IcUserTransferRecordServiceImpl.java | 33 ++++--- 3 files changed, 109 insertions(+), 18 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java index 9245fa0a51..7b840a83aa 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserTransferFormDTO.java @@ -63,6 +63,8 @@ public class IcResiUserTransferFormDTO implements Serializable { */ private String remark; + //标识,默认为true,为false表示是居民信息修改调用了人员调动的接口,只需要生成调动记录,不涉及修改基础信息 + private Boolean idEdit = true; //token中信息 private String customerId; private String staffId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 217283da6a..91192dcf42 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -58,10 +58,7 @@ import com.epmet.entity.IcUserChangeDetailedEntity; import com.epmet.entity.IcUserChangeRecordEntity; import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.feign.*; -import com.epmet.service.IcResiUserService; -import com.epmet.service.IcUserChangeDetailedService; -import com.epmet.service.IcUserChangeRecordService; -import com.epmet.service.UserService; +import com.epmet.service.*; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -114,6 +111,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -317,6 +316,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl", resiUserId)); } + //2022-1-18 信息修改判断基础信息表人员网格、小区、楼栋、单元、房屋维度数据以及十八类的类别数据是否变化,相应生成变更记录和变更明细数据 sun start + icUserChangeRecord(tokenDto, entity, map); + //2022-1-18 sun end //2.更新主表数据 if (map.size() > NumConstant.ONE) { map.put("updated_by", tokenDto.getUserId()); @@ -347,6 +349,88 @@ public class IcResiUserServiceImpl extends BaseServiceImpl map) { + Date date = (Date) new java.util.Date(); + //1.判断维度数据是否修改【网格、小区、楼栋、单元、房间有变化则先走人员调动逻辑】 + if ((map.containsKey("GRID_ID") && !entity.getGridId().equals(map.get("GRID_ID"))) || (map.containsKey("VILLAGE_ID") && !entity.getVillageId().equals(map.get("VILLAGE_ID"))) + || (map.containsKey("BUILD_ID") && !entity.getBuildId().equals(map.get("BUILD_ID"))) || (map.containsKey("UNIT_ID") && !entity.getUnitId().equals(map.get("UNIT_ID"))) + || (map.containsKey("HOME_ID") && !entity.getHomeId().equals(map.get("HOME_ID")))) { + IcResiUserTransferFormDTO formDTO = new IcResiUserTransferFormDTO(); + formDTO.setIcUserId(entity.getId()); + formDTO.setType("in"); + formDTO.setNewAgencyId(entity.getAgencyId()); + formDTO.setNewGridId(map.containsKey("GRID_ID") ? map.get("GRID_ID") : entity.getGridId()); + formDTO.setNewNeighborHoodId(map.containsKey("VILLAGE_ID") ? map.get("VILLAGE_ID") : entity.getVillageId()); + formDTO.setNewBuildingId(map.containsKey("BUILD_ID") ? map.get("BUILD_ID") : entity.getBuildId()); + formDTO.setNewBuildingUnitId(map.containsKey("UNIT_ID") ? map.get("UNIT_ID") : entity.getUnitId()); + formDTO.setNewHouseId(map.containsKey("HOME_ID") ? map.get("HOME_ID") : entity.getHomeId()); + formDTO.setTransferTime(date); + formDTO.setIdEdit(false); + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setStaffId(tokenDto.getUserId()); + icUserTransferRecordService.add(formDTO); + } + //2.判断类别数据是否修改[类别修改的变更明细里边存修改后的新值,是就存1否就存-1] + Result> resultList = operCustomizeOpenFeignClient.categoryWarnConfigList(tokenDto.getCustomerId()); + if (!resultList.success()) { + throw new RuntimeException("居民信息修改,获取客户居民类别预警配置表数据失败"); + } + //修改前数据库居民十八类信息值 + Map hash = icResiUserDao.getCategoryListMap(entity.getId()); + //封装变更记录和变更明细数据 + //变更记录 + IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); + StringBuffer beforeChangeName = new StringBuffer(""); + StringBuffer afterChangeName = new StringBuffer(""); + //变更明细 + List list = new ArrayList<>(); + IcUserChangeDetailedEntity categoryEntity = null; + for (IcResiCategoryWarnConfigDTO dto : resultList.getData()) { + String oldValue = hash.get(dto.getColumnName()); + if (map.containsKey(dto.getColumnName()) && !oldValue.equals(map.get(dto.getColumnName()))) { + //类别修改后的值 + String newVlaue = map.get(dto.getColumnName()); + beforeChangeName.append(dto.getLabel()).append(":").append("1".equals(oldValue) ? "是" : "否").append(";"); + afterChangeName.append(dto.getLabel()).append(":").append("1".equals(newVlaue) ? "是" : "否").append(";"); + //变更明细里边存修改后的新值,是就存1否就存-1 + categoryEntity = new IcUserChangeDetailedEntity(); + categoryEntity.setCustomerId(tokenDto.getCustomerId()); + categoryEntity.setAgencyId(entity.getAgencyId()); + categoryEntity.setGridId(map.containsKey("GRID_ID") ? map.get("GRID_ID") : entity.getGridId()); + categoryEntity.setNeighborHoodId(map.containsKey("VILLAGE_ID") ? map.get("VILLAGE_ID") : entity.getVillageId()); + categoryEntity.setBuildingId(map.containsKey("BUILD_ID") ? map.get("BUILD_ID") : entity.getBuildId()); + categoryEntity.setBuildingUnitId(map.containsKey("UNIT_ID") ? map.get("UNIT_ID") : entity.getUnitId()); + categoryEntity.setHouseId(map.containsKey("HOME_ID") ? map.get("HOME_ID") : entity.getHomeId()); + categoryEntity.setIcUserId(entity.getId()); + categoryEntity.setType("category"); + categoryEntity.setTypeName("类别"); + categoryEntity.setFieldName(dto.getColumnName()); + categoryEntity.setValue("1".equals(newVlaue) ? 1 : -1); + list.add(categoryEntity); + } + } + //变更记录 + CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + changeRecordEntity.setCustomerId(tokenDto.getCustomerId()); + changeRecordEntity.setOperatorId(tokenDto.getUserId()); + changeRecordEntity.setIcUserId(entity.getId()); + changeRecordEntity.setOperatorName(staffInfoCache.getRealName()); + changeRecordEntity.setIcUserName(map.containsKey("NAME") ? map.get("NAME") : entity.getName()); + changeRecordEntity.setType("category"); + changeRecordEntity.setTypeName("类别"); + changeRecordEntity.setBeforeChangeName(beforeChangeName.toString()); + changeRecordEntity.setAfterChangeName(afterChangeName.toString()); + changeRecordEntity.setChangeTime(date); + icUserChangeRecordService.insert(changeRecordEntity); + + list.forEach(l -> l.setIcUserChangeRecordId(changeRecordEntity.getId())); + icUserChangeDetailedService.insertBatch(list); + } + /** * @param homeId * @Description 获取房间内人员 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java index 2f7dafb468..e2616d2842 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserTransferRecordServiceImpl.java @@ -42,6 +42,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -72,6 +73,7 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl