From 0c009141867c996897928c4f12490f21b78222f2 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 24 一月 2024 18:12:37 +0800
Subject: [PATCH] 111

---
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |  109 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 77 insertions(+), 32 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 3c38a49..4be1bc8 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -488,40 +488,43 @@
         if(!CollectionUtils.isNotEmpty(duWorktypeList)){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏁版嵁寮傚父锛氫繚闄╂柟妗堜笅鏈煡璇㈠埌宸ョ淇℃伅");
         }
-        for (int i = 0; i < applyDetailList.size(); i++) {
-            ApplyDetail applyDetail = applyDetailList.get(i);
-            if(Objects.isNull(applyDetail)
-                ||Objects.isNull(applyDetail.getMemberId())
-                ||Objects.isNull(applyDetail.getDuId())
-                ||Objects.isNull(applyDetail.getWorktypeId())
-            ){
-                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け");
+        if(CollectionUtils.isNotEmpty(applyDetailList)){
+            for (int i = 0; i < applyDetailList.size(); i++) {
+                ApplyDetail applyDetail = applyDetailList.get(i);
+                if(Objects.isNull(applyDetail)
+                        ||Objects.isNull(applyDetail.getMemberId())
+                        ||Objects.isNull(applyDetail.getDuId())
+                        ||Objects.isNull(applyDetail.getWorktypeId())
+                ){
+                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け");
+                }
+                applyDetail.setCreateDate(new Date());
+                applyDetail.setCreator(loginUserInfo.getId());
+                applyDetail.setIsdeleted(Constants.ZERO);
+                applyDetail.setSortnum(i);
+                applyDetail.setApplyId(insuranceApply.getId());
+                if(Objects.isNull(applyDetail.getMemberId())){
+                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
+                }
+                Member member = memberMapper.selectById(applyDetail.getMemberId());
+                if(Objects.isNull(member)){
+                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
+                }
+                applyDetail.setIdcardNo(member.getIdcardNo());
+                applyDetail.setSex(member.getSex());
+                applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime()));
+                //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
+                if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
+                }
+                if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
+                        .collect(Collectors.toList()).size()<=Constants.ZERO){
+                    throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
+                }
             }
-            applyDetail.setCreateDate(new Date());
-            applyDetail.setCreator(loginUserInfo.getId());
-            applyDetail.setIsdeleted(Constants.ZERO);
-            applyDetail.setSortnum(i);
-            applyDetail.setApplyId(insuranceApply.getId());
-            if(Objects.isNull(applyDetail.getMemberId())){
-                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
-            }
-            Member member = memberMapper.selectById(applyDetail.getMemberId());
-            if(Objects.isNull(member)){
-                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ヤ俊鎭瓨鍦ㄥ紓甯告暟鎹紒");
-            }
-            applyDetail.setIdcardNo(member.getIdcardNo());
-            applyDetail.setSex(member.getSex());
-            applyDetail.setFee(Constants.countDetailFee(solutions,insuranceApply.getApplyEndTime(),insuranceApply.getApplyStartTime()));
-            //楠岃瘉娲鹃仯鍗曚綅淇℃伅鏄惁瀛樺湪
-            if(duSolutionList.stream().filter(d->d.getDispatchUnitId().equals(applyDetail.getDuId())).collect(Collectors.toList()).size()<=Constants.ZERO){
-                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ユ淳閬e崟浣嶆湭鏌ヨ鍒帮紒");
-            }
-            if(duWorktypeList.stream().filter(d->d.getDuSolutionId().equals(applyDetail.getDuId())&&d.getWorkTypeId().equals(applyDetail.getWorktypeId()))
-                    .collect(Collectors.toList()).size()<=Constants.ZERO){
-                throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"銆�"+applyDetail.getMemberName()+"銆戝憳宸ュ伐绉嶄俊鎭湭鏌ヨ鍒帮紒");
-            }
-            applyDetailMapper.insert(applyDetail);
+            applyDetailJoinMapper.insertBatchSomeColumn(applyDetailList);
         }
+
         //瀛樺偍鏃ュ織鏁版嵁
         this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
         return insuranceApply.getId();
@@ -910,6 +913,48 @@
     }
 
 
+    /**
+     * 鏇存柊淇濆崟瀹為檯閲戦
+     */
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public void updateApplyCurrentFee(){
+        List<InsuranceApply> insuranceApplyList = insuranceApplyMapper.selectList(new QueryWrapper<InsuranceApply>().lambda()
+                .eq(InsuranceApply::getIsdeleted,Constants.ZERO)
+                .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())
+                .ge(InsuranceApply::getStartTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 00:00:00")
+                .le(InsuranceApply::getEndTime,DateUtil.getDate(new Date(),"yyyy-MM-dd") + " 23:59:59")
+        );
+
+        if(CollectionUtils.isNotEmpty(insuranceApplyList)){
+            for (InsuranceApply insuranceApply:insuranceApplyList) {
+                Solutions solutions = solutionsMapper.selectById(insuranceApply.getSolutionId());
+                if(Objects.isNull(solutions)){
+                    continue;
+                }
+                BigDecimal sumAmount = BigDecimal.ZERO;
+                List<ApplyDetail> applyDetailList = applyDetailMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId()));
+                if(CollectionUtils.isNotEmpty(applyDetailList)){
+                    for (ApplyDetail applyDetail: applyDetailList) {
+                        applyDetail.setCurrentFee(Constants.countDetailFee(solutions,new Date(),applyDetail.getStartTime()));
+                        applyDetailMapper.updateById(applyDetail);
+                        sumAmount = sumAmount.add(applyDetail.getCurrentFee());
+                    }
+                }
+                insuranceApply.setCurrentFee(sumAmount);
+                insuranceApplyMapper.updateById(insuranceApply);
+            }
+        }
+
+
+
+
+
+
+    }
+
+
+
 
 
 }

--
Gitblit v1.9.3