From 5337d6006b45ca61881623ad2e8738e03ad3bde2 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 16 六月 2025 11:46:54 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |    8 +++++---
 server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java                  |    3 +++
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |    6 ++++--
 server/service/src/main/java/com/doumee/service/business/impl/UnionChangeServiceImpl.java    |    4 +++-
 server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java   |   11 +++++++----
 server/service/src/main/java/com/doumee/service/business/impl/UnionApplyServiceImpl.java     |    5 +++--
 6 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java b/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
index a4c1a4a..32769c6 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/UnionChange.java
@@ -115,6 +115,9 @@
     @TableField(exist = false)
     private String applyCode;
 
+    @ApiModelProperty(value = "鍟嗘埛鍚嶇О", example = "1")
+    @TableField(exist = false)
+    private String companyName;
 
     @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
     @TableField(exist = false)
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 4055cf6..7db3355 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
@@ -1455,7 +1455,8 @@
                         .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyDetail::getApplyId)
                         .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                         .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
-                        .in(ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+                        .in(CollectionUtils.isNotEmpty(memberList),ApplyDetail::getMemberId,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+                        .apply(CollectionUtils.isEmpty(memberList),"1 = 2 ")
                         .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
 
         List<ApplyChagneDetail> applyChangeDetailAllList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
@@ -1464,7 +1465,8 @@
                         .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
                         .leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId)
                         .eq(ApplyChange::getApplyId,applyChange.getApplyId())
-                        .in(Member::getIdcardNo,memberList.stream().map(i->i.getId()).collect(Collectors.toList()))
+                        .in(CollectionUtils.isNotEmpty(memberList),Member::getIdcardNo,memberList.stream().map(i->i.getIdcardNo()).collect(Collectors.toList()))
+                        .apply(CollectionUtils.isEmpty(memberList),"1 = 2 ")
                         .in(ApplyChange::getStatus, Constants.ZERO, Constants.ONE));
 
         List<ApplyChagneDetail> applyChagneDetailList = new ArrayList<>();
@@ -1516,7 +1518,7 @@
 //                memberMapper.updateById(member);
                 updMemberList.add(member);
                 applyChagneDetail.setMemberId(member.getId());
-                if(applyChangeDetailAllList.stream().filter(
+                if(CollectionUtils.isNotEmpty(applyChangeDetailAllList)&&applyChangeDetailAllList.stream().filter(
                         j->Constants.equalsInteger(j.getMemberId(),applyChagneDetail.getMemberId())
                 ).collect(Collectors.toList()).size()>Constants.ZERO){
                     throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "鍔犱繚浜哄憳銆�" + applyChagneDetail.getMemberName() + "銆戝瓨鍦ㄧ敵璇蜂腑鐨勫姞鍑忎繚/鎹㈠巶鍗曟嵁");
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 047a10c..e711bfd 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
@@ -2025,6 +2025,7 @@
                 ){
                     throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鎶曚繚鍛樺伐淇℃伅鏁版嵁缂哄け锛岃鎸夌収瑕佹眰濉啓鍛樺伐鐨勬湁鏁堜俊鎭紒");
                 }
+                applyDetail.setId(null);
                 applyDetail.setChangeStatus(Constants.ZERO);
                 applyDetail.setCreateDate(new Date());
                 applyDetail.setCreator(loginUserInfo.getId());
@@ -2097,7 +2098,7 @@
             }
             Long end = System.currentTimeMillis();
             logger.error("澶勭悊鍗曟暟鎹粨鏉熸椂闂�:=========================>"+end +";鑰楁椂锛�====銆�"+(end-start));
-            applyDetailJoinMapper.insert(applyDetailList);
+            applyDetailMapper.insert(applyDetailList);
         }
     }
 
@@ -2397,7 +2398,8 @@
         queryWrapper.selectAs(Solutions::getPrice,InsuranceApply::getPrice);
         queryWrapper.selectAs(Solutions::getTimeUnit,InsuranceApply::getTimeUnit);
         queryWrapper.select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad left join  apply_change a on a.id = ad.APPLY_CHANGE_ID  where t.id = a.APPLY_ID  and a.status = 2  )",InsuranceApply::getChangeMoney);
-        queryWrapper.select(" DATEDIFF( t.END_TIME ,now()  ) AS loseEfficacyDays  ");
+//        queryWrapper.select(" case when t.START_TIME > now() then  0 when t.END_TIME >= now() then DATEDIFF(   now() ,t.START_TIME  ) when t.END_TIME <= now() then  DATEDIFF( t.END_TIME,  t.START_TIME )+1  else 0 end loseEfficacyDays   ");
+        queryWrapper.select(" DATEDIFF( t.END_TIME,  t.START_TIME )+1 as loseEfficacyDays ");
         queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad  where ad.apply_id = t.id   ) as insureNum");
         queryWrapper.select(" ( select count(DISTINCT(ad.MEMBER_ID)) from apply_detail ad inner join insurance_apply a on ad.apply_id = a.id  and a.status in ( 5 , 27 )  where ad.apply_id = t.id and ad.END_TIME > now() and ad.START_TIME < now() ) as guaranteeNum");
         if(!Objects.isNull(pageWrap.getModel())&&!Objects.isNull(pageWrap.getModel().getType())){
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
index 997b409..0a0aa04 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SettleClaimsServiceImpl.java
@@ -2992,10 +2992,13 @@
             settleClaimsDataVO.setSettleClaimsTotal(settleClaimsList.size());
             
             //骞冲潎鐞嗚禂澶勭悊鏃堕暱澶╂暟 鎬昏澶勭悊鏃堕暱锛堝崟浣嶅皬鏃讹級闄や互 璁板綍鏁�  鎹㈢畻鍒板ぉ
-            settleClaimsDataVO.setAverageSettleClaimsTime(
-                    new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString())
-                            .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP)
-            );
+            if(CollectionUtils.isNotEmpty(closeCaseList)){
+                settleClaimsDataVO.setAverageSettleClaimsTime(
+                        new BigDecimal(closeCaseList.stream().map(i->i.getTotalHours()).reduce(Constants.ZERO,Integer::sum).toString())
+                                .divide(new BigDecimal((closeCaseList.size()*24)+"") ,2,BigDecimal.ROUND_HALF_UP)
+                );
+            }
+
 
             String monthDate = DateUtil.getFomartDate(new Date(),"yyyy-MM");
             Calendar calendar = Calendar.getInstance();
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 fa6fa88..f742dc0 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
@@ -161,7 +161,8 @@
                 .selectAs(Solutions::getTimeUnit,UnionApply::getTimeUnit)
                 .selectAs(Solutions::getOrtherInfo,UnionApply::getOrtherInfo)
                 .selectAs(Solutions::getSpecialAgreement,UnionApply::getSpecialAgreement)
-                .selectAs(Solutions::getSpecialInfo,UnionApply::getSpecialInfo);
+                .selectAs(Solutions::getSpecialInfo,UnionApply::getSpecialInfo)
+                .select(" (select c.NAME from insurance_apply i left join company c on i.COMPANY_ID = c.id where i.UNION_APPLY_ID = t.id limit 1 ) ",UnionApply::getCompanyName);
         queryWrapper.select("(select count(distinct(b.MEMBER_ID)) from apply_detail b where b.isdeleted=0 and b.union_apply_id=t.id) as insureNum ");
         queryWrapper.select(" ( select count(DISTINCT(b.MEMBER_ID)) from apply_detail b inner join insurance_apply a on b.apply_id = a.id  and a.status in ( 5 , 27 )  where b.union_apply_id=t.id and b.END_TIME > now() ) as guaranteeNum");
 
@@ -180,7 +181,7 @@
             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);
+        queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId); 
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(Constants.equalsInteger(user.getType(),Constants.TWO)){
             queryWrapper.eq(UnionApply::getCompanyId, user.getCompanyId());
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 9a87958..7f8d9fe 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
@@ -248,12 +248,14 @@
         queryWrapper.selectAll(UnionChange.class);
         pageWrap.getModel().setIsdeleted(Constants.ZERO);
         queryWrapper.selectAs(UnionApply::getCode,UnionChange::getApplyCode);
-        queryWrapper.selectAs(Solutions::getName,UnionChange::getSolutionsName)
+        queryWrapper.selectAs(Solutions::getName,UnionChange::getSolutionsName)  
+            .select(" (select c.NAME from insurance_apply i left join company c on i.COMPANY_ID = c.id where i.UNION_APPLY_ID = t.UNION_APPLY_ID limit 1 ) ",UnionApply::getCompanyName)
         .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 0  )",UnionChange::getAddNum)
         .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 1  )",UnionChange::getDelNum)
         .select("( select count(1) from apply_chagne_detail ad where t.id = ad.UNION_CHANGE_ID and ad.TYPE = 2  )",UnionChange::getChangeNum);
         queryWrapper.leftJoin(UnionApply.class,UnionApply::getId,UnionChange::getUnionApplyId);
         queryWrapper.leftJoin(Solutions.class,Solutions::getId,UnionApply::getSolutionId);
+        queryWrapper.leftJoin(Company.class,Company::getId,UnionApply::getCompanyId);
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(Constants.equalsInteger(user.getType(),Constants.TWO)){
             queryWrapper.eq(UnionChange::getShopId, user.getCompanyId());

--
Gitblit v1.9.3