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/UnionApplyServiceImpl.java |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
index 90eb09a..ff05815 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java
@@ -158,12 +158,19 @@
                 .selectAs(Solutions::getSpecialInfo,UnionApply::getSpecialInfo);
         queryWrapper.select("(select count(b.id) from apply_detail b where b.isdeleted=0 and b.union_apply_id=t.id) as insureNum ");
 
-        queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
-                "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 0  ) as addApplyNum ");
+        if(pageWrap.getModel().getQueryFlag() == 1){
+            queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
+                    "and a.status = "+Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()+" and a.type = 0  ) as addApplyNum ");
+        }else  if(pageWrap.getModel().getQueryFlag() ==2){
+            queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
+                    "and a.status = "+Constants.ApplyChangeStatus.CHECHED_PASSED.getKey()+" and a.type = 1  ) as changeApplyNum ");
+        }else{
+            queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
+                    "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 0  ) as addApplyNum ");
 
-        queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
-                "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 1  ) as changeApplyNum ");
-
+            queryWrapper.select("(select count(1) from apply_change a inner join insurance_apply b on a.apply_id = b.id  where b.union_apply_id=t.id " +
+                    "and b.status = "+Constants.InsuranceApplyStatus.WTB_TOUBAOING.getKey()+" and a.type = 1  ) as changeApplyNum ");
+        }
         queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId);
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(Constants.equalsInteger(user.getType(),Constants.TWO)){
@@ -380,7 +387,6 @@
                 }
             }
         }
-
     }
 
 
@@ -443,13 +449,22 @@
 
         Integer maxDays = DateUtil.calculateBetween(saveUnionApplyDTO.getStartDate(),saveUnionApplyDTO.getEndDate(),0);
 
-        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().select(ApplyDetail::getId,ApplyDetail::getPrice)
+        List<ApplyDetail> applyDetailList = applyDetailJoinMapper.selectList(new QueryWrapper<ApplyDetail>().lambda()
+                .select(ApplyDetail::getId,ApplyDetail::getPrice,ApplyDetail::getStartTime,ApplyDetail::getEndTime,ApplyDetail::getFee)
                 .in(ApplyDetail::getApplyId,saveUnionApplyDTO.getApplyIds())
                 .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
         if(applyDetailList.size()==0){
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝瀛樺湪濮旀墭鎶曚繚鐢宠璁板綍淇℃伅鏈夎锛岃杩斿洖鏌ョ湅鐢宠浜哄憳鏄惁涓虹┖锛�");
         }
-        unionApply.setFee(applyDetailList.stream().map(i->Constants.formatBigdecimal(i.getPrice()).multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
+        BigDecimal fee = BigDecimal.ZERO;
+        for (ApplyDetail applyDetail:applyDetailList) {
+            Integer oldDays = DateUtil.calculateBetween(applyDetail.getStartTime(),applyDetail.getEndTime(),0);
+            fee =fee.add(new BigDecimal(maxDays).multiply( applyDetail.getFee()).divide(new BigDecimal(oldDays),2,RoundingMode.HALF_UP));
+        }
+        unionApply.setFee(fee);
+
+//        unionApply.setFee(applyDetailList.stream()
+//                .map(i->Constants.formatBigdecimal(i.getPrice()).multiply(new BigDecimal(maxDays))).reduce(BigDecimal.ZERO,BigDecimal::add));
 
         unionApplyMapper.insert(unionApply);
 
@@ -578,6 +593,10 @@
         if(CollectionUtils.isNotEmpty(uploadMultifileDTO.getMultifileList())){
             List<Multifile> multifileList = uploadMultifileDTO.getMultifileList();
             for (Multifile multifile:multifileList) {
+                if(StringUtils.isBlank(multifile.getName())
+                || StringUtils.isBlank(multifile.getFileurl()) ){
+                    continue;
+                }
                 if(Objects.isNull(multifile.getObjId())
                     ||Objects.isNull(multifile.getName())
                     ||Objects.isNull(multifile.getFileurl())){

--
Gitblit v1.9.3