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/UnionChangeServiceImpl.java |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
index a05336f..424214c 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java
@@ -36,6 +36,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -187,7 +188,7 @@
                     fee = fee.subtract(new BigDecimal(maxDays).multiply(applyChagneDetail.getPrice())).add(applyChagneDetail.getFee());
                 }
             }
-            unionChange.setFee(fee);
+            unionChange.setFee(fee.setScale(2, RoundingMode.HALF_UP));
             //鏌ヨ鎿嶄綔璁板綍
             List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
                     new MPJLambdaWrapper<ApplyLog>()
@@ -364,7 +365,7 @@
         }
         //鍒ゆ柇鎵瑰崟鏃ユ湡 鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熷湪涓� 淇濆崟璧锋湡鐨勬鏃� 鍒颁繚鍗曟鏈�
         //鑾峰彇寮�濮嬫棩鏈熸鏃�
-        if(saveUnionChangeDTO.getApplyDate().getTime()<=DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
+        if(saveUnionChangeDTO.getApplyDate().getTime()<DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
         || saveUnionChangeDTO.getApplyDate().getTime()> unionApply.getEndTime().getTime()){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熼敊璇�");
         }
@@ -389,6 +390,8 @@
         UnionChange unionChange = new UnionChange();
         unionChange.setCreateDate(new Date());
         unionChange.setCreator(user.getId());
+        unionChange.setEditDate(new Date());
+        unionChange.setEditor(user.getId());
         unionChange.setShopId(user.getCompanyId());
         unionChange.setIsdeleted(Constants.ZERO);
         unionChange.setUnionApplyId(saveUnionChangeDTO.getUnionApplyId());
@@ -645,7 +648,7 @@
         }
         //鍒ゆ柇鎵瑰崟鏃ユ湡 鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熷湪涓� 淇濆崟璧锋湡鐨勬鏃� 鍒颁繚鍗曟鏈�
         //鑾峰彇寮�濮嬫棩鏈熸鏃�
-        if(unionChangeBXDDTO.getApplyDate().getTime()<=DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
+        if(unionChangeBXDDTO.getApplyDate().getTime()<DateUtil.afterDateByType(unionApply.getStartTime(),0,1).getTime()
                 || unionChangeBXDDTO.getApplyDate().getTime()> unionApply.getEndTime().getTime()){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚堝苟鍗曠殑鎵瑰崟鐢熸晥鏈熼敊璇�");
         }
@@ -682,6 +685,10 @@
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵瑰崟鏄庣粏璁板綍瀛樺湪闈炴湰鍚堝苟鍗曟暟鎹�");
             };
             for (Multifile m:unionChangeBXDDTO.getApplyChangeBXDList()) {
+                if(StringUtils.isBlank(m.getName())
+                        || StringUtils.isBlank(m.getFileurl()) ){
+                    continue;
+                }
                 if(Objects.isNull(m.getObjId())
                         ||StringUtils.isBlank(m.getFileurl())
                         ||StringUtils.isBlank(m.getName())
@@ -699,6 +706,7 @@
         }
         if(CollectionUtils.isNotEmpty(applyChangeList)){
             for (ApplyChange applyChange:applyChangeList) {
+                ApplyChange oldModel = applyChange;
                 applyChange.setApplyStartTime(unionChangeBXDDTO.getApplyDate());
                 applyChange.setValidTime(unionChangeBXDDTO.getApplyDate());
                 applyChange.setEditDate(new Date());
@@ -727,6 +735,18 @@
                                 .eq(ApplyChagneDetail::getApplyChangeId,applyChange.getId()));
                 this.dealApplyChangeDetail(applyChange,allList);
                 applyChangeJoinMapper.updateById(applyChange);
+
+                //瀛樺偍鎵瑰崟瀹屾垚淇℃伅
+                Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
+                String info = "";
+                if(applyChange.getValidTime()!=null && applyChange.getValidTime().getTime()/1000!= applyChange.getApplyStartTime().getTime()/1000){
+                    info =applyLogType.getInfo();
+                    info = info.replace("${param1}",DateUtil.getPlusTime2(applyChange.getValidTime()));
+                    info = info.replace("${param2}",DateUtil.getPlusTime2(applyChange.getApplyStartTime()));
+                }
+                ApplyLog log = new ApplyLog(applyChange,applyLogType.getName(), info,applyChange.getId(),applyLogType.getKey(),JSONObject.toJSONString(oldModel), JSONObject.toJSONString(applyChange));
+                applyLogMapper.insert(log);
+
             }
         }
         unionChangeMapper.update(null,new UpdateWrapper<UnionChange>().lambda()
@@ -982,7 +1002,7 @@
 
             //淇敼 鍛樺伐鎶曚繚鏄庣粏璁板綍 鍘嗗彶鏁版嵁
             memberInsuranceJoinMapper.update(null,new UpdateWrapper<MemberInsurance>().lambda()
-                    .set(MemberInsurance::getEndTime,applyStartTime)
+                    .set(MemberInsurance::getEndTime,DateUtil.getMontageDate(applyStartTime,3))
                     .set(MemberInsurance::getFee,oldFee)
                     .eq(MemberInsurance::getRelationId,oldModel.getId())
             );
@@ -1012,7 +1032,7 @@
             add.setFromId(detail.getId());
             applyDetailJoinMapper.insert(add);
 
-            MemberInsurance memberInsurance = new MemberInsurance(oldModel,applyChange.getId());
+            MemberInsurance memberInsurance = new MemberInsurance(add,applyChange.getId());
             memberInsurance.setSolutionId(detail.getSolutionId());
             memberInsurance.setWorktypeName(detail.getWorkTypeName());
             memberInsurance.setDuName(detail.getDuName());

--
Gitblit v1.9.3