|  |  | @ -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<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |     private IcUserChangeRecordService icUserChangeRecordService; | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private IcUserChangeDetailedService icUserChangeDetailedService; | 
			
		
	
		
			
				
					|  |  |  |     @Autowired | 
			
		
	
		
			
				
					|  |  |  |     private IcUserTransferRecordService icUserTransferRecordService; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     private QueryWrapper<IcResiUserEntity> getWrapper(Map<String, Object> params){ | 
			
		
	
		
			
				
					|  |  |  |         String id = (String)params.get(FieldConstant.ID_HUMP); | 
			
		
	
	
		
			
				
					|  |  | @ -317,6 +316,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |         if (null == entity) { | 
			
		
	
		
			
				
					|  |  |  |             throw new RenException(String.format("居民信息修改,获取基础信息失败,基础信息Id->", 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<IcResiUserDao, IcResi | 
			
		
	
		
			
				
					|  |  |  |         return resiUserId; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @Author sun | 
			
		
	
		
			
				
					|  |  |  |      * @Description 居民信息修改--生成变更记录和变更明细 | 
			
		
	
		
			
				
					|  |  |  |      **/ | 
			
		
	
		
			
				
					|  |  |  |     private void icUserChangeRecord(TokenDto tokenDto, IcResiUserEntity entity, LinkedHashMap<String, String> 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<List<IcResiCategoryWarnConfigDTO>> resultList = operCustomizeOpenFeignClient.categoryWarnConfigList(tokenDto.getCustomerId()); | 
			
		
	
		
			
				
					|  |  |  |         if (!resultList.success()) { | 
			
		
	
		
			
				
					|  |  |  |             throw new RuntimeException("居民信息修改,获取客户居民类别预警配置表数据失败"); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         //修改前数据库居民十八类信息值
 | 
			
		
	
		
			
				
					|  |  |  |         Map<String, String> hash = icResiUserDao.getCategoryListMap(entity.getId()); | 
			
		
	
		
			
				
					|  |  |  |         //封装变更记录和变更明细数据
 | 
			
		
	
		
			
				
					|  |  |  |         //变更记录
 | 
			
		
	
		
			
				
					|  |  |  |         IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); | 
			
		
	
		
			
				
					|  |  |  |         StringBuffer beforeChangeName = new StringBuffer(""); | 
			
		
	
		
			
				
					|  |  |  |         StringBuffer afterChangeName = new StringBuffer(""); | 
			
		
	
		
			
				
					|  |  |  |         //变更明细
 | 
			
		
	
		
			
				
					|  |  |  |         List<IcUserChangeDetailedEntity> 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 获取房间内人员 | 
			
		
	
	
		
			
				
					|  |  | 
 |