From e63e56a1b45bc2025147f7f91d248f93a43deb7a Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 12 四月 2024 15:10:41 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 87fdc7f..77527e1 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -167,12 +167,14 @@
         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
         Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),
                 insuranceApply.getCompanyId(), Constants.NoticeType.FOUR);
+//        notices.setParam1(insuranceApply.getId().toString());
         noticesMapper.insert(notices);
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_CHECK_PASS_NO;
         String info =applyLogType.getInfo();
         info = info.replace("${param}", update.getCheckInfo());
-        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),
+                info,update.getId(),applyLogType.getKey(), JSONObject.toJSONString(model), JSONObject.toJSONString(update));
         applyLogMapper.insert(log);
         return  1;
 
@@ -240,6 +242,15 @@
 //        if(1==1){
 //            throw new BusinessException(ResponseStatus.DATA_EMPTY);
 //        }
+
+
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+        if(model.getType().equals(Constants.ONE)){
+            noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+        }
+        //鍒犻櫎鍏朵粬寰呭姙
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,model.getId()));
+
 
         Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
         String info = "";
@@ -882,7 +893,9 @@
         if (Objects.isNull(insuranceApply)) {
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
-        if (!Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())) {
+        if (!(Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+        ||Constants.equalsInteger(insuranceApply.getStatus(),Constants.InsuranceApplyStatus.WTB_DONE.getKey())
+        )) {
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(), "淇濆崟鐘舵�侀敊璇�");
         }
         if (DateUtil.compareDate(insuranceApply.getEndTime(),new Date()) >= Constants.ZERO
@@ -938,6 +951,11 @@
         ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
         applyLogMapper.insert(log);
 
+        Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
+        if(applyChange.getType().equals(Constants.ONE)){
+            noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
+        }
+        noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey()).eq(Notices::getObjId,applyChange.getId()));
 
         return applyChange.getId();
     }
@@ -1020,6 +1038,13 @@
         //鎹㈠巶涓氬姟
         List<ApplyChagneDetail> changeDetailList = applyChange.getChangeDetailList();
         if (CollectionUtils.isNotEmpty(changeDetailList)) {
+            //楠岃瘉鏄惁瀛樺湪閲嶅鏁版嵁
+            List<String> idcarNo = changeDetailList.stream().map(m->m.getIdcardNo()).collect(Collectors.toList());
+            Set<String> set = new HashSet<>(idcarNo);
+            if(idcarNo.size() != set.size()){
+                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝浜哄憳褰曞叆鏁版嵁瀛樺湪鐩稿悓鏁版嵁锛�");
+            }
+
             this.changeDetail(applyChange,changeDetailList,duWorktypeList,duSolutionList,loginUserInfo);
         }
         return fee;
@@ -1761,6 +1786,7 @@
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  )",ApplyChange::getAddNum)
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  )",ApplyChange::getDelNum)
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2  )",ApplyChange::getChangeNum)
+                .select(" ( select max(ac.APPLY_START_TIME) from apply_change ac  where ac.apply_id = t.apply_id and ac.status = 2 ) as lastChangeDate")
                 .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
@@ -2030,7 +2056,7 @@
         CountCyclePriceVO returnCountCyclePriceVO = new CountCyclePriceVO();
         //鍔犲噺淇濋噾棰�
 //        returnCountCyclePriceVO.setCyclePrice(sumPrice.multiply(new BigDecimal(optDays)).divide(new BigDecimal(sumDays),2, RoundingMode.HALF_UP));
-        returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)));
+        returnCountCyclePriceVO.setCyclePrice(applyDetail.getPrice().multiply(new BigDecimal(optDays)).setScale(2, RoundingMode.HALF_UP));
         return returnCountCyclePriceVO;
     }
 
@@ -2171,6 +2197,9 @@
         }
         if(applyChange.getId() == null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
+        } 
+        if(Objects.isNull(applyChange)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
         }
         ApplyChange model = applyChangeJoinMapper.selectJoinOne(ApplyChange.class,
                 new MPJLambdaWrapper<ApplyChange>()
@@ -2219,12 +2248,11 @@
         }else{
             info = info.replace("${param}", "");
         }
-        ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(),info,applyChange.getId(),applyLogType.getKey(), null, null);
+        ApplyLog log = new ApplyLog(update,applyLogType.getName(),info,update.getId(),applyLogType.getKey(), null, null);
         applyLogMapper.insert(log);
 
-
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.APPLY_CHANGE;
-        if(Constants.equalsInteger(applyChange.getType(),Constants.ONE)){
+        if(Constants.equalsInteger(model.getType(),Constants.ONE)){
             noticeObjectType = Constants.NoticeObjectType.CHANGE_FACTORY;
         }
         //鍒犻櫎鍏ㄩ儴寰呭姙

--
Gitblit v1.9.3