From 661aa526a63dd2118438d63031518d4d8b3f7bcd Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 10 十一月 2025 13:49:30 +0800
Subject: [PATCH] 钥匙柜信息处理

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java |   93 ++++++++++++++++++++++------------------------
 1 files changed, 45 insertions(+), 48 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
index e61de7d..5455d33 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkSketchServiceImpl.java
@@ -975,7 +975,7 @@
             queryWrapper.eq(JkSketch::getSortnum, pageWrap.getModel().getSortnum());
         }
         if (pageWrap.getModel().getDateInfo() != null) {
-            queryWrapper.eq(JkSketch::getDateInfo,  pageWrap.getModel().getDateInfo());
+            queryWrapper.like(JkSketch::getDateInfo,  DateUtil.dateToString(pageWrap.getModel().getDateInfo(),"yyyy-MM-dd"));
         }
         if (pageWrap.getModel().getJobId() != null) {
             queryWrapper.eq(JkSketch::getJobId, pageWrap.getModel().getJobId());
@@ -1322,8 +1322,9 @@
                 .leftJoin(JkLine.class,JkLine::getId,JkSketchLine::getLineId)
                 .leftJoin(Category.class,Category::getId,JkLine::getCategoryId )
                 .leftJoin(Cars.class,Cars::getId,JkLine::getCarId)
+                .eq(JkSketch::getIsdeleted,Constants.ZERO)
                 .and(StringUtils.isNotBlank(telecomLineInfoDTO.getSearchInfo()),i->i.like(Cars::getCode,telecomLineInfoDTO.getSearchInfo()).or().like(JkLine::getName,telecomLineInfoDTO.getSearchInfo()))
-                .eq(StringUtils.isNotBlank(telecomLineInfoDTO.getDateInfo()),JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo())
+                .like(StringUtils.isNotBlank(telecomLineInfoDTO.getDateInfo()),JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo())
                 .eq(Objects.nonNull(telecomLineInfoDTO.getCategoryId()),JkLine::getCategoryId, telecomLineInfoDTO.getCategoryId())
                 .eq(Objects.nonNull(telecomLineInfoDTO.getLineId()),JkLine::getId, telecomLineInfoDTO.getLineId());
 
@@ -1367,10 +1368,11 @@
         telecomLineCountVO.setCustomerNum(Constants.ZERO);
         MPJLambdaWrapper<JkSketch> sketchMPJLambdaWrapper = new MPJLambdaWrapper<JkSketch>().selectAll(JkSketch.class )
                 .selectAs(Category::getName,JkSketch::getCategoryName)
-                .select(" ifnull((select count(1) from jk_sketch_customer jc where jc.ISDELETED= 0 and  jc.SKETCH_ID = t.id),0)" ,JkSketch::getCustomerNum)
+                .select(" ifnull((select count(1) from jk_sketch_customer jc where jc.ISDELETED = 0 and  jc.SKETCH_ID = t.id),0)" ,JkSketch::getCustomerNum)
                 .select(" ifnull((select count(1) from jk_sketch_line jc where   jc.TYPE = 0  and  jc.SKETCH_ID = t.id),0)" ,JkSketch::getBeforeLineNum)
                 .leftJoin(Category.class,Category::getId,JkSketch::getCategoryId )
-                .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
+                .eq(JkSketch::getIsdeleted,Constants.ZERO)
+                .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
         List<JkSketch> sketchList = jkSketchMapper.selectJoinList(JkSketch.class,sketchMPJLambdaWrapper);
         if(CollectionUtils.isEmpty(sketchList)){
             return telecomLineCountVO;
@@ -1388,32 +1390,31 @@
         List<JkSketchLine> jkSketchLineList = jkSketchLineMapper.selectJoinList(JkSketchLine.class,queryWrapper);
 
         telecomLineCountVO.setCategoryNum(sketchList.size());
-        telecomLineCountVO.setLineNum(sketchList.stream().map(i->i.getBeforeLineNum()).reduce(Constants.ZERO,Integer::sum));
 
+//        telecomLineCountVO.setLineNum(sketchList.stream().map(i->i.getBeforeLineNum()).reduce(Constants.ZERO,Integer::sum));
+        Integer lineNum = Constants.ZERO;
         List<TelecomCategoryDataVO> telecomCategoryDataVOList = new ArrayList<>();
         for (JkSketch jkSketch:sketchList) {
             TelecomCategoryDataVO telecomCategoryDataVO = new TelecomCategoryDataVO();
             telecomCategoryDataVO.setId(jkSketch.getCategoryId());
             telecomCategoryDataVO.setName(jkSketch.getCategoryName());
-            telecomCategoryDataVO.setCustomerNum(jkSketch.getCustomerNum());
+            telecomCategoryDataVO.setCustomerNum(Constants.ZERO);
             List<JkSketchLine> childLineList = jkSketchLineList.stream().filter(i->Constants.equalsInteger(i.getSketchId(),jkSketch.getId())).collect(Collectors.toList());
             //浼樺寲鍓嶆暟鎹�
-            List<JkSketchLine> beforeList = childLineList.stream()
+            List<JkSketchLine> beforeList = jkSketchLineList.stream()
                     .filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList());
             //浼樺寲鍚庢暟鎹�
             List<JkSketchLine> afterList = childLineList.stream()
                     .filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Constants.equalsInteger(i.getIsdeleted(),Constants.ZERO)).collect(Collectors.toList());
+
+            lineNum = lineNum + (Constants.equalsInteger(jkSketch.getOptStatus(),Constants.ZERO)?beforeList.size():afterList.size());
             List<TelecomLineDataVO> telecomLineDataVOList = new ArrayList<>();
-            for (JkSketchLine sketchLine:beforeList) {
-                JkSketchLine finalSketchLine = sketchLine;
-                List<JkSketchLine> afterSelectList = afterList.stream().filter(i->Constants.equalsInteger(i.getLineId(), finalSketchLine.getLineId())).collect(Collectors.toList());
-                if(afterSelectList.size()>Constants.ZERO){
-                    sketchLine = afterSelectList.get(Constants.ZERO);
-                }
+            for (JkSketchLine sketchLine: Constants.equalsInteger(jkSketch.getOptStatus(),Constants.ZERO)?beforeList:afterList) {
                 TelecomLineDataVO telecomLineDataVO = new TelecomLineDataVO();
                 telecomLineDataVO.setId(sketchLine.getId());
                 telecomLineDataVO.setName(sketchLine.getLineName());
                 telecomLineDataVOList.add(telecomLineDataVO);
+                telecomCategoryDataVO.setCustomerNum(telecomCategoryDataVO.getCustomerNum() +  sketchLine.getMaxCustomer());
                 telecomLineCountVO.setCustomerNum(
                         telecomLineCountVO.getCustomerNum() + sketchLine.getMaxCustomer()
                 );
@@ -1421,6 +1422,7 @@
             telecomCategoryDataVO.setTelecomLineDataVOList(telecomLineDataVOList);
             telecomCategoryDataVOList.add(telecomCategoryDataVO);
         }
+        telecomLineCountVO.setLineNum(lineNum);
         telecomLineCountVO.setTelecomCategoryDataVOList(telecomCategoryDataVOList);
         return telecomLineCountVO;
     }
@@ -1435,7 +1437,8 @@
         MPJLambdaWrapper<JkSketch> sketchMPJLambdaWrapper = new MPJLambdaWrapper<JkSketch>().selectAll(JkSketch.class )
                 .selectAs(Category::getName,JkSketch::getCategoryName)
                 .leftJoin(Category.class,Category::getId,JkSketch::getCategoryId )
-                .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
+                .eq(JkSketch::getIsdeleted,Constants.ZERO)
+                .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
         List<JkSketch> sketchList = jkSketchMapper.selectJoinList(JkSketch.class,sketchMPJLambdaWrapper);
         if(CollectionUtils.isEmpty(sketchList)){
             return new ArrayList<TelecomCategoryDataVO>();
@@ -1462,26 +1465,19 @@
             telecomCategoryDataVO.setDistance(
                     beforeList.stream().map(i->i.getDistance()).reduce(Long.valueOf(0),Long::sum)
             );
-            //浼樺寲鍚庢暟鎹�
-            List<JkSketchLine> afterList = jkSketchLineList.stream()
-                    .filter(i->Constants.equalsInteger(i.getSketchId(),jkSketch.getId())&&Constants.equalsInteger(i.getType(),Constants.ONE)&&Constants.equalsInteger(i.getIsdeleted(),Constants.ZERO)).collect(Collectors.toList());
-            if(org.apache.commons.collections.CollectionUtils.isEmpty(afterList)){
+            if(Constants.equalsInteger(jkSketch.getOptStatus(),Constants.ZERO)){
                 telecomCategoryDataVO.setDistanceAfter(telecomCategoryDataVO.getDistance());
-            }else if(beforeList.size()>afterList.size()){
+            }else{
+                //浼樺寲鍚庢暟鎹�
+                List<JkSketchLine> afterList = jkSketchLineList.stream()
+                        .filter(i->Constants.equalsInteger(i.getSketchId(),jkSketch.getId())&&Constants.equalsInteger(i.getType(),Constants.ONE)&&Constants.equalsInteger(i.getIsdeleted(),Constants.ZERO)).collect(Collectors.toList());
+
                 Long distanceAfter = 0L;
-                for (JkSketchLine jkSketchLine:beforeList) {
-                    List<JkSketchLine> afterSelectList = afterList.stream().filter(i->Constants.equalsInteger(i.getLineId(),jkSketchLine.getLineId())).collect(Collectors.toList());
-                    if(afterSelectList.size()>Constants.ZERO){
-                        distanceAfter = distanceAfter + afterSelectList.get(Constants.ZERO).getDistance();
-                    }else{
+                for (JkSketchLine jkSketchLine:afterList) {
                         distanceAfter = distanceAfter + jkSketchLine.getDistance();
-                    }
                 }
                 telecomCategoryDataVO.setDistanceAfter(distanceAfter);
-            }else{
-                telecomCategoryDataVO.setDistanceAfter(
-                        afterList.stream().map(i->i.getDistance()).reduce(Long.valueOf(0),Long::sum)
-                );
+
             }
             telecomCategoryDataVOList.add(telecomCategoryDataVO);
         }
@@ -1505,26 +1501,27 @@
                 .eq(JkSketchLine::getIsdeleted,Constants.ZERO)
                 .eq(Objects.nonNull(telecomLineInfoDTO.getCategoryId()),JkSketchLine::getCategoryId,telecomLineInfoDTO.getCategoryId())
                 .eq(Objects.nonNull(telecomLineInfoDTO.getLineId()),JkSketchLine::getLineId,telecomLineInfoDTO.getLineId())
-                .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
-        List<JkSketchLine> jkSketchLineList = jkSketchLineMapper.selectJoinList(JkSketchLine.class,queryWrapper);
+                .apply(" ( t.TYPE = t1.OPT_STATUS ) ")
+                .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo());
+        List<JkSketchLine> returnLineList = jkSketchLineMapper.selectJoinList(JkSketchLine.class,queryWrapper);
 
-        //浼樺寲鍓嶆暟鎹�
-        List<JkSketchLine> beforeList = jkSketchLineList.stream()
-                .filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList());
-
-        //浼樺寲鍚庢暟鎹�
-        List<JkSketchLine> afterList = jkSketchLineList.stream()
-                .filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Constants.equalsInteger(i.getIsdeleted(),Constants.ZERO)).collect(Collectors.toList());
-
-        List<JkSketchLine> returnLineList = new ArrayList<>();
-        for (JkSketchLine jkSketchLine:beforeList) {
-            List<JkSketchLine> afterSelectList = afterList.stream().filter(i->Constants.equalsInteger(i.getLineId(),jkSketchLine.getLineId())).collect(Collectors.toList());
-            if(afterSelectList.size()>Constants.ZERO){
-                returnLineList.add(afterList.get(Constants.ZERO));
-            }else{
-                returnLineList.add(jkSketchLine);
-            }
-        }
+//        //浼樺寲鍓嶆暟鎹�
+//        List<JkSketchLine> beforeList = jkSketchLineList.stream()
+//                .filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).collect(Collectors.toList());
+//
+//        //浼樺寲鍚庢暟鎹�
+//        List<JkSketchLine> afterList = jkSketchLineList.stream()
+//                .filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Constants.equalsInteger(i.getIsdeleted(),Constants.ZERO)).collect(Collectors.toList());
+//
+//        List<JkSketchLine> returnLineList = new ArrayList<>();
+//        for (JkSketchLine jkSketchLine:beforeList) {
+//            List<JkSketchLine> afterSelectList = afterList.stream().filter(i->Constants.equalsInteger(i.getLineId(),jkSketchLine.getLineId())).collect(Collectors.toList());
+//            if(afterSelectList.size()>Constants.ZERO){
+//                returnLineList.add(afterList.get(Constants.ZERO));
+//            }else{
+//                returnLineList.add(jkSketchLine);
+//            }
+//        }
         List<TelecomLineDataVO> dataVOList = new ArrayList<>();
         if(org.apache.commons.collections.CollectionUtils.isNotEmpty(returnLineList)){
             //鑾峰彇鎵�鏈夊湴鍥剧粡绾害鏁版嵁

--
Gitblit v1.9.3