From 0caeff84bd5cf9c4b712f7440b34d3f29a9050b5 Mon Sep 17 00:00:00 2001 From: huyuchen <chainahyc2021@126.com> Date: Fri, 11 Apr 2025 21:47:34 +0800 Subject: [PATCH] =?UTF-8?q?huych-=E5=85=A5=E8=81=8C=E7=99=BB=E8=AE=B0?= =?UTF-8?q?=E5=95=86=E9=99=A9=E5=BE=85=E5=8A=9E=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TEmployeePreLogService.java | 9 ++ .../EmployeeRegistrationPreServiceImpl.java | 47 +++++++- .../impl/TEmployeePreLogServiceImpl.java | 100 ++++++++++++++++++ 3 files changed, 154 insertions(+), 2 deletions(-) diff --git a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TEmployeePreLogService.java b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TEmployeePreLogService.java index d475d0b15..1bf04f7f2 100644 --- a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TEmployeePreLogService.java +++ b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TEmployeePreLogService.java @@ -55,4 +55,13 @@ public interface TEmployeePreLogService extends IService<TEmployeePreLog> { void saveModifyAndUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo , EmployeeRegistrationPre newInfo, YifuUser user, Map<String, TEmployeeInsurancePre> oldMap); + /** + * @Description: æ·»åŠ æ—¥å¿—å¹¶ä¿®æ”¹å•†é™©list + * @Author: huych + * @Date: 2025/4/11 18:12 + * @return: void + **/ + void saveUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo + , EmployeeRegistrationPre newInfo,String userId, String nickName,Map<String, TEmployeeInsurancePre> oldMap); + } diff --git a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java index 65c85c6ab..1dc3f2668 100644 --- a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java +++ b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java @@ -256,7 +256,34 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi baseMapper.deleteById(preExit); } baseMapper.insert(pre); + Map<String, TEmployeeInsurancePre> oldMap = new HashMap<>(); if (Common.isNotNull(preExit)) { + if (Common.isNotNull(preVo.getServerItem()) && preVo.getServerItem().contains("商险")) { + List<TEmployeeInsurancePreVo> newList = preVo.getEmployeeInsurancePreVos(); + String newKey; + Map<String,String> map = new HashMap<>(); + if (null != newList && !newList.isEmpty()) { + for (TEmployeeInsurancePreVo preVo1 : newList) { + newKey = this.getPreFiveKey(preVo1); + map.put(newKey,"1"); + } + } + // 查原商险,æ¥å¯¹æ¯” + R<EmployeePreLogListVo> sdr = HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(), daprInsurancesProperties.getAppId() + , "/temployeeinsurancepre/inner/getListByEmpPreId", preExit.getId(), EmployeePreLogListVo.class, SecurityConstants.FROM_IN); + List<TEmployeeInsurancePre> oldList = null; + if (sdr != null && sdr.getData() != null && sdr.getData().getPreList() != null && !sdr.getData().getPreList().isEmpty()) { + oldList = sdr.getData().getPreList(); + } + if (null != oldList && !oldList.isEmpty()) { + for (TEmployeeInsurancePre oldInsurance : oldList) { + // 1ï¼šåˆ¤æ–æ˜¯å¦å˜æ›´ 商险待办 的项目 + if (null != map.get(this.getFiveKey(oldInsurance))) { + oldMap.put(oldInsurance.getId(), oldInsurance); + } + } + } + } String natureItemBefore = null; String natureItemAfter = null; String contractItemBefore = null; @@ -352,8 +379,9 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi if (null != contractXfAfter) { pre.setContractSubName(contractXfAfter); } - tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[4], - pre.getId(), "", preExit, pre, pre.getCreateBy(), pre.getCreateName()); + // æ·»åŠ æ—¥å¿—å¹¶ä¿®æ”¹å•†é™©list + tEmployeePreLogService.saveUpdateInsurance(preExit.getId(), preExit + , pre, preVo.getCreateBy(),preVo.getCreateName(), oldMap); } if (Common.isNotNull(preVo.getExpectedCollectionTime())) { // 事务æäº¤åŽè§¦å‘调度 @@ -707,6 +735,21 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi + isNullToEmpty(insurancePreVo.getPolicyStart()) + CommonConstants.DOWN_LINE_STRING + isNullToEmpty(insurancePreVo.getPolicyEnd()); } + /** + * @param insurancePreVo + * @Description: 获å–5ä¸ªå—æ®µæž„æˆçš„å…³é”®å— + * @Author: hgw + * @Date: 2025/4/9 11:23 + * @return: java.lang.String + **/ + private String getPreFiveKey(TEmployeeInsurancePreVo insurancePreVo) { + // 1:é‡å¤æ€§åˆ¤æ– + return isNullToEmpty(insurancePreVo.getBuyStandard()) + CommonConstants.DOWN_LINE_STRING + + isNullToEmpty(insurancePreVo.getInsuranceTypeName()) + CommonConstants.DOWN_LINE_STRING + + isNullToEmpty(insurancePreVo.getInsuranceCompanyName()) + CommonConstants.DOWN_LINE_STRING + + isNullToEmpty(insurancePreVo.getPolicyStart()) + CommonConstants.DOWN_LINE_STRING + isNullToEmpty(insurancePreVo.getPolicyEnd()); + } + /** * @param str * @Description: 空转化为空å—符 diff --git a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeePreLogServiceImpl.java b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeePreLogServiceImpl.java index 6874e4c86..ec8326c76 100644 --- a/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeePreLogServiceImpl.java +++ b/yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TEmployeePreLogServiceImpl.java @@ -260,6 +260,84 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe } } + @Override + public void saveUpdateInsurance(String empPreId, EmployeeRegistrationPre oldInfo + , EmployeeRegistrationPre newInfo, String userId, String nickName, Map<String, TEmployeeInsurancePre> oldMap) { + try { + //比较记录ä¸å½±å“业务逻辑,用tryå¥—ä½ + //比较差异 + String differenceKey = HrEquator.comparisonValue(oldInfo, newInfo); + //如果有差异ä¿å˜å·®å¼‚ + List<TEmployeeInsurancePre> newList = newInfo.getInsurancePreList(); + String diffTitle = null; + String logId = String.valueOf(UUID.randomUUID()).replaceAll("-", ""); + // è¦ä¿å˜çš„æ˜Žç»† + List<TEmployeePreLogDetail> detailList = new ArrayList<>(); + // 档案信æ¯ä¿®æ”¹ + TEmployeePreLogDetail detailEmpLog = null; + if (Common.isNotNull(differenceKey) && !"insurancePreList".equals(differenceKey)) { + differenceKey = differenceKey.replace("insurancePreList",""); + diffTitle = "档案信æ¯"; + detailEmpLog = new TEmployeePreLogDetail(); + detailEmpLog.setModelType(CommonConstants.TWO_STRING); + detailEmpLog.setType(CommonConstants.ONE_STRING); + this.setPreLogBaseInfo(empPreId, oldInfo, newInfo, userId, nickName, differenceKey, logId, detailEmpLog); + detailList.add(detailEmpLog); + } + if (newList != null && !newList.isEmpty()) { + // 是å¦ä¿®æ”¹äº†å•†é™© + boolean isModifyInsurance = false; + TEmployeeInsurancePre oldInsurance; + String differenceInsuranceKey; + TEmployeePreLogDetail detailInsuranceLog; + for (TEmployeeInsurancePre newInsurance : newList) { + differenceInsuranceKey = null; + // 2:修改有è€ID + if (Common.isNotNull(newInsurance.getId())) { + oldInsurance = oldMap.get(newInsurance.getId()); + if (oldInsurance != null) { + differenceInsuranceKey = HrEquator.comparisonValue(oldInsurance, newInsurance); + } + if (Common.isNotNull(differenceInsuranceKey) || oldInsurance == null) { + detailInsuranceLog = new TEmployeePreLogDetail(); + detailInsuranceLog.setModelType(CommonConstants.TWO_STRING); + detailInsuranceLog.setType(CommonConstants.TWO_STRING); + this.setPreLogBaseInfo(empPreId, oldInsurance, newInsurance, userId, nickName, differenceInsuranceKey, logId, detailInsuranceLog); + isModifyInsurance = true; + detailList.add(detailInsuranceLog); + } + } + } + // å¦‚æžœå˜æ›´äº† + if (isModifyInsurance) { + if (Common.isNotNull(diffTitle)) { + diffTitle += "ã€å•†é™©ä¿¡æ¯"; + } else { + diffTitle = "商险信æ¯"; + } + } + } + // æœ‰ä¿®æ”¹ï¼Œåˆ™åŠ æ—¥å¿— + if (Common.isNotNull(diffTitle)) { + TEmployeePreLog empPreLog = new TEmployeePreLog(); + empPreLog.setId(logId); + empPreLog.setPreId(empPreId); + empPreLog.setDiffTitle(diffTitle); + empPreLog.setCreateTime(LocalDateTime.now()); + if (Common.isNotNull(userId) && Common.isNotNull(nickName)) { + empPreLog.setCreateBy(userId); + empPreLog.setCreateName(nickName); + } + baseMapper.insert(empPreLog); + if (!detailList.isEmpty()) { + tEmployeePreLogDetailService.saveBatch(detailList); + } + } + } catch (Exception e) { + log.error(JSON.toJSON(newInfo) + "æ’入修改记录报错>>>", e); + } + } + /** * @Description: å¡«å……åŸºæœ¬ä¿¡æ¯ * @Author: hgw @@ -284,4 +362,26 @@ public class TEmployeePreLogServiceImpl extends ServiceImpl<TEmployeePreLogMappe } } + /** + * @Description: å¡«å……åŸºæœ¬ä¿¡æ¯ + * @Author: huyc + * @Date: 2025/4/11 10:49 + * @return: void + **/ + private void setPreLogBaseInfo(String empPreId, Object oldInfo, Object newInfo + , String userId, String nickName, String differenceKey, String logId, TEmployeePreLogDetail detailEmpLog) { + detailEmpLog.setPreId(empPreId); + detailEmpLog.setPreLogId(logId); + detailEmpLog.setDifferenceInfo(differenceKey); + detailEmpLog.setCreateTime(LocalDateTime.now()); + detailEmpLog.setCreateBy(userId); + detailEmpLog.setCreateName(nickName); + if (Common.isNotNull(oldInfo)) { + detailEmpLog.setOldInfo(JSON.toJSONString(oldInfo, features)); + } + if (Common.isNotNull(newInfo)) { + detailEmpLog.setNewInfo(JSON.toJSONString(newInfo, features)); + } + } + } -- 2.18.1