From bcae1eeb59ff2094f14043a0488b1abb25130831 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 26 六月 2025 14:23:02 +0800
Subject: [PATCH] git ch

---
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |   44 +++++++++++++++++++-------------------------
 1 files changed, 19 insertions(+), 25 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 68d4c4f..acc8c9a 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -229,50 +229,43 @@
         LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
         if(loginUserInfo.getType().equals(Constants.ONE)){
-            queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+            queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId())
+                    .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id  where a.member_id = t.id and b.company_id = "+loginUserInfo.getCompanyId()+"  and b.status in (" +
+                            " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " +
+                            " and  a.end_time >= now() ) ", Member::getValidNum )
+
+                    .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id  where a.member_id = t.id and b.company_id = "+loginUserInfo.getCompanyId()+"  and b.status in (" +
+                            " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " +
+                            " and a.end_time < now() ) ", Member::getInvalidNum );
         }else{
             if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
                 queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
             }else{
                 queryWrapper.eq(InsuranceApply::getCompanyId, -1);
             }
-            queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId());
+            queryWrapper.eq(pageWrap.getModel().getCompanyId()!=null,InsuranceApply::getCompanyId, pageWrap.getModel().getCompanyId())
+                    .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id  where a.member_id = t.id and b.status in (" +
+                            " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " +
+                            " and  a.end_time >= now() ) ", Member::getValidNum )
+                    .select( " ( select count(1) from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id  where a.member_id = t.id and b.status in (" +
+                            " "+Constants.InsuranceApplyStatus.WTB_DONE.getKey()+","+Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey()+" ) " +
+                            " and a.end_time < now() ) ", Member::getInvalidNum );
         }
         queryWrapper.selectAll(Member.class)
-                .selectAs(DispatchUnit::getName,Member::getDuName)
-                .selectAs(Worktype::getName,Member::getWorkTypeName)
-                .selectAs(Solutions::getName,Member::getSolutionName)
-                .selectAs(Company::getName,Member::getCompanyName)
-                .select(" case when  now() between t.start_time and t.end_time then 1  else 2 end solutionsStatus ")
-                .leftJoin(InsuranceApply.class,InsuranceApply::getId,Member::getApplyId)
-                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
-                .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
-                .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
-                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                 .and(StringUtils.isNotBlank(memberQueryDTO.getKeywords()),
                         i->i.like(Member::getName, memberQueryDTO.getKeywords()).or().like(
                                 Member::getIdcardNo,memberQueryDTO.getKeywords()
                         ))
                 .eq(Member::getIsdeleted, Constants.ZERO)
-//                .eq(Member::getCompanyId, memberQueryDTO.getCompanyId())
                 .like(StringUtils.isNotBlank(memberQueryDTO.getName()),Member::getName, memberQueryDTO.getName())
                 .like(StringUtils.isNotBlank(memberQueryDTO.getIdCard()),Member::getIdcardNo, memberQueryDTO.getIdCard())
                 .like(StringUtils.isNotBlank(memberQueryDTO.getIdcardNo()),Member::getIdcardNo, memberQueryDTO.getIdcardNo())
-                .like(StringUtils.isNotBlank(memberQueryDTO.getDuName()),DispatchUnit::getName, memberQueryDTO.getDuName())
-                .eq(!Objects.isNull(memberQueryDTO.getDuId()),Member::getDuId, memberQueryDTO.getDuId())
-                .eq(!Objects.isNull(memberQueryDTO.getSolutionsId()),Solutions::getBaseId, memberQueryDTO.getSolutionsId())
-                .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.ONE),"now() between t.start_time and t.end_time")
-                .apply(!Objects.isNull(memberQueryDTO.getSolutionsStatus())&&memberQueryDTO.getSolutionsStatus().equals(Constants.TWO),"now()  >  t.end_time")
+
+                .apply(!Objects.isNull(memberQueryDTO.getSolutionsId())," t.id in( select a.member_id from apply_detail a inner join insurance_apply b on a.APPLY_ID = b.id  " +
+                        "inner join solutions s on b.solution_id = s.id where s.base_id = '"+memberQueryDTO.getSolutionsId()+"' ) ")
         ;
          queryWrapper.orderByAsc(DispatchUnit::getName);
          queryWrapper.orderByAsc(Member::getName);
-//        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-//            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-//                queryWrapper.orderByDesc(sortData.getProperty());
-//            } else {
-//                queryWrapper.orderByAsc(sortData.getProperty());
-//            }
-//        }
         PageData<Member> pageData = PageData.from(memberJoinMapper.selectJoinPage(page,Member.class, queryWrapper));
 
         Integer sn = 0;
@@ -282,6 +275,7 @@
             if(StringUtils.isNotBlank(member.getIdcardNo())){
                 member.setAge(Constants.getAgeByIdCard(member.getIdcardNo()));
             }
+            member.setTotalNum(member.getInvalidNum()+member.getValidNum());
         }
         return pageData;
     }

--
Gitblit v1.9.3