From 3e1a5520f6153a66a436109719d553fb0550e41b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 26 六月 2024 15:35:47 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

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 ee90ea3..5df7fa5 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
@@ -1754,6 +1754,80 @@
     }
 
     @Override
+    public  List<ApplyChange> monthTotalList(ApplyChange model){
+        if(model.getApplyId() ==null || model.getYear() == null){
+            return  new ArrayList<>();
+        }
+        MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .select("count(t.id)",ApplyChange::getCountNum)
+                .select("sum(t.fee)",ApplyChange::getFee)
+                .select("DATE_FORMAT(t.create_date, '%Y-%m')",ApplyChange::getMonth)
+                .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
+                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+                .eq(!Objects.isNull(model.getType()),ApplyChange::getType,model.getType())
+                .eq(ApplyChange::getApplyId,model.getApplyId())
+                .eq(!Objects.isNull(model.getStatus())&&!model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),ApplyChange::getStatus,model.getStatus())
+                .in(!Objects.isNull(model.getStatus())&&model.getStatus().equals(Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey()),
+                        ApplyChange::getStatus,
+                        Constants.ApplyChangeStatus.RETURN_APPLY_UPLOAD.getKey(),
+                        Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
+                .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
+                .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
+                .like(StringUtils.isNotBlank(model.getSolutionsName()),Solutions::getName,model.getSolutionsName())
+                .ge( ApplyChange::getCreateDate, model.getYear()+"-01-01 00:00:00" )
+                .lt(ApplyChange::getCreateDate, (model.getYear()+1)+"-01-01 00:00:00")
+                .groupBy("month"  );
+           /*     LoginUserInfo loginUserInfo =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+                //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
+                if(loginUserInfo.getType().equals(Constants.ONE)){
+                    queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+                }else if(loginUserInfo.getType().equals(Constants.TWO)){
+                    //濡傛灉鏄晢鎴锋煡鐪�
+                    if(model.getSolutionType()!=null && model.getSolutionType() ==0){
+                        queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+                    }else if(model.getSolutionType()!=null && model.getSolutionType() ==1){
+                        queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+                    }else{
+                        queryWrapper.apply("((t2.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+                                "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+                    }
+                }else{
+                    if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
+                        queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
+                    }else{
+                        queryWrapper.eq(InsuranceApply::getCompanyId, -1);
+                    }
+                    queryWrapper.eq(model.getCompanyId()!=null,InsuranceApply::getCompanyId, model.getCompanyId());
+                }*/
+
+                List<ApplyChange> list =applyChangeJoinMapper.selectJoinList(ApplyChange.class,queryWrapper);
+                List<ApplyChange> result = new ArrayList<>();
+                for (int i = 1; i <= 12; i++) {
+                    if(i<10){
+                        result.add(getMonthDayFromList(model.getYear() +"-0"+i,list));
+                    }else{
+                        result.add(getMonthDayFromList(model.getYear() +"-"+i,list));
+                    }
+                }
+                return result;
+
+    }
+
+    private ApplyChange getMonthDayFromList(String s, List<ApplyChange> list) {
+        for(ApplyChange d : list){
+            if(StringUtils.equals(s,d.getMonth())){
+                return d;
+            }
+        }
+        ApplyChange d =  new ApplyChange();
+        d.setMonth(s);
+        d.setFee(new BigDecimal(0));
+        d.setCountNum(0);
+        return d;
+    }
+
+    @Override
     public List<ApplyChange> findListForCompany(ApplyChange model) {
         MPJLambdaWrapper<ApplyChange> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper

--
Gitblit v1.9.3