From b69a86b1d4f67d871b3f80b2b652feaf6893f501 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 13 Oct 2022 16:47:02 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=AD=BB=E4=BA=A1=E3=80=91=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ChangeDeathController.java | 6 +++ .../DataSyncRecordDeathController.java | 18 +++++++ .../service/DataSyncRecordDeathService.java | 8 +++ .../service/impl/ChangeDeathServiceImpl.java | 25 +++++++-- .../impl/DataSyncRecordDeathServiceImpl.java | 53 +++++++++++++++++++ .../impl/IcUserTransferRecordServiceImpl.java | 42 +++++++++------ 6 files changed, 132 insertions(+), 20 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java index c3a1e0ec6f..963d2369d0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeDeathController.java @@ -50,6 +50,12 @@ public class ChangeDeathController { return new Result().ok(data); } + /** + * 死亡管理-新增死亡人员 + * @param tokenDto + * @param dto + * @return + */ @NoRepeatSubmit @PostMapping("save") public Result save(@LoginUser TokenDto tokenDto, @RequestBody ChangeDeathDTO dto){ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java index 20ebd81810..d29cf564be 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDeathController.java @@ -116,4 +116,22 @@ public class DataSyncRecordDeathController { } } } + + /** + * 批量更新 + * 新增死亡记录 + * + * @param tokenDto + * @param ids + * @return + */ + @NoRepeatSubmit + @PostMapping("batchupdate") + public Result batchUpdate(@LoginUser TokenDto tokenDto, @RequestBody List ids) { + if (CollectionUtils.isEmpty(ids)) { + return new Result(); + } + dataSyncRecordDeathService.batchUpdate(tokenDto.getUserId(), tokenDto.getCustomerId(), ids); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java index 43c330af9f..de5e8ef59f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDeathService.java @@ -59,4 +59,12 @@ public interface DataSyncRecordDeathService extends BaseService ids); DataSyncRecordDeathDTO selectOne(LambdaQueryWrapper queryWrapper); + + /** + * + * @param userId 当前操作人 + * @param customerId 当前客户 + * @param ids 要操作的记录id + */ + void batchUpdate(String userId, String customerId, List ids); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java index 96085b2a3b..04690ad68a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.service.ChangeDeathService; import com.epmet.service.ChangeWelfareService; import com.epmet.service.IcResiUserService; import com.epmet.service.IcUserTransferRecordService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,6 +43,7 @@ import java.util.*; * @author generator generator@elink-cn.com * @since v1.0.0 2022-05-05 */ +@Slf4j @Service public class ChangeDeathServiceImpl extends BaseServiceImpl implements ChangeDeathService { @@ -106,6 +108,12 @@ public class ChangeDeathServiceImpl extends BaseServiceImpl params = new HashMap<>(4); params.put("idCard", dto.getIdCard()); if (!list(params).isEmpty()) { - return new Result().error("该人员已经迁入死亡人口"); + // return new Result().error("该人员已经迁入死亡人口"); + log.warn(String.format("该人员已经迁入死亡人口,idCard:%s",result.getIdCard())); + return new Result(); } - + // 插入死亡名单表 dto.setJoinDate(DateUtils.format(new Date())); ChangeDeathEntity entity = ConvertUtils.sourceToTarget(dto, ChangeDeathEntity.class); entity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); insert(entity); + // 如果勾选了享受福利 if (dto.getWelfareFlag() != null && dto.getWelfareFlag()) { ChangeWelfareDTO formDto = new ChangeWelfareDTO(); formDto.setUserId(dto.getUserId()); @@ -148,6 +163,8 @@ public class ChangeDeathServiceImpl extends BaseServiceImpl ids) { + // 要做的事:居民表修改状态为注销、子状态为死亡、加入死亡人员名单、记录变更主表、变更明细表(如果当前死亡的这个人属于十八类中的是,-1操作) + // 上面要做的事,其实就是新增死亡人员名单,调整下ChangeDeathServiceImpl.save,直接调用吧, + for (String id : ids) { + DataSyncRecordDeathEntity entity = baseDao.selectById(id); + if (NumConstant.ONE == entity.getDealStatus() || StringUtils.isBlank(entity.getIcResiUserId())) { + // 已处理的跳过 + continue; + } + try { + ChangeDeathDTO changeDeathDTO = new ChangeDeathDTO(); + changeDeathDTO.setStaffId(userId); + changeDeathDTO.setUserId(entity.getIcResiUserId()); + changeDeathDTO.setGridId(entity.getGridId()); + changeDeathDTO.setName(entity.getName()); + changeDeathDTO.setIdCard(entity.getIdCard()); + // 手机号没有值 + changeDeathDTO.setMobile(StrConstant.EPMETY_STR); + changeDeathDTO.setDeathDate(DateUtils.stringToDate(entity.getDeathDate(), "yyyy-MM-dd")); + changeDeathDTO.setJoinReason("来源于数据比对-死亡人员数据"); + SpringContextUtils.getBean(ChangeDeathServiceImpl.class).save(changeDeathDTO); + entity.setDealStatus(NumConstant.ONE); + } catch (EpmetException epmetException) { + + entity.setDealStatus(NumConstant.TWO); + entity.setDealResult("系统内部异常:" + epmetException.getMsg()); + + epmetException.printStackTrace(); + } catch (Exception e) { + + entity.setDealStatus(NumConstant.TWO); + entity.setDealResult("未知错误:" + e.getMessage()); + + e.printStackTrace(); + } finally { + baseDao.updateById(entity); + } + } + } + + } 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 d07fe051eb..e2013336f0 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 @@ -179,10 +179,19 @@ public class IcUserTransferRecordServiceImpl extends BaseServiceImpl result2 = getNewHouseInfo(formDTO); CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());