From 89a5fedfe041ebacb2d81ecae1023b206cd3f353 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 24 四月 2025 09:10:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/main'

---
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java |   68 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
index f938a05..6db24c0 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectStServiceImpl.java
@@ -21,12 +21,11 @@
 import org.dromara.eims.service.IEimsInspectStService;
 
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.ZoneId;
 import java.time.temporal.TemporalAdjusters;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -62,14 +61,29 @@
      */
     @Override
     public TableDataInfo<EimsInspectStVo> queryPageList(EimsInspectStBo bo, PageQuery pageQuery) {
-        QueryWrapper<EimsInspectSt> lqw = buildWrapper(bo);
-        Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), lqw);
-        // 濉厖鏁版嵁
-        fillStData(result);
-        return TableDataInfo.build(result);
+        bo.setType(bo.getViewMode());
+        // 鏈堣鍥�
+//        if(bo.getViewMode().equals("Month")){
+            QueryWrapper<EimsInspectSt> qw = buildWrapper(bo);
+            Page<EimsInspectStVo> result = baseMapper.selectInspStList(pageQuery.build(), qw);
+            // 濉厖鏁版嵁
+            fillStData(result,bo.getViewMode());
+            return TableDataInfo.build(result);
+            // 鏃ヨ鍥�
+//        }else if(bo.getViewMode().equals("Day")){
+//            Page<EimsInspectStVo> result = recordMapper.selectInspRecordDayList(pageQuery.build(), buildGroupWrapper(bo));
+//            return TableDataInfo.build(result);
+//        }
+
+//       return null;
     }
 
-    private void fillStData(Page<EimsInspectStVo> result) {
+    /**
+     *
+      * @param result
+     * @param type Day-鏃ヨ鍥� Month-鏈堣鍥�
+     */
+    private void fillStData(Page<EimsInspectStVo> result,String type) {
         List<EimsInspectStVo> records = result.getRecords();
         for (int i = 0; i < records.size(); i++) {
             EimsInspectStVo stVo = records.get(i);
@@ -78,9 +92,19 @@
             LambdaQueryWrapper<EimsInspectRecord> recordLqw = Wrappers.lambdaQuery();
             recordLqw.eq(EimsInspectRecord::getEquId, stVo.getEquId());
             LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+            // 鏈堣鍥炬煡璇㈣寖鍥�
             LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
             LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
-            recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
+
+            // 鏃ヨ鍥炬煡璇㈣寖鍥�
+            if(type.equals("Day")){
+                recordLqw.between(EimsInspectRecord::getPlanTime, planTime, planTime);
+            }else {
+            //  鏈堣鍥炬煡璇㈣寖鍥�
+                recordLqw.between(EimsInspectRecord::getPlanTime, startOfMonth, endOfMonth);
+            }
+
+
             // 鎵ц鏌ヨ
             List<EimsInspectRecordVo> recordList = recordMapper.selectVoList(recordLqw);
             // TODO 鏍规嵁瀛楀吀eims_inspect_status
@@ -90,7 +114,7 @@
             // TODO 鏍规嵁瀛楀吀eims_inspect_result
             Map<String, Long> rMap = recordList.stream()
                 .filter(order ->order.getInspResult()!=null && List.of("1", "2").contains(order.getInspResult()))
-                .collect(Collectors.groupingBy(EimsInspectRecordVo::getStatus, Collectors.counting()));
+                .collect(Collectors.groupingBy(EimsInspectRecordVo::getInspResult, Collectors.counting()));
 
             stVo.setRecordCount(recordList.size());
             stVo.setUnCheckCount(cMap.getOrDefault("0", 0L).intValue());
@@ -101,6 +125,25 @@
 
         }
 
+    }
+
+    private QueryWrapper<EimsInspectSt> buildGroupWrapper(EimsInspectStBo bo) {
+        Map<String, Object> params = bo.getParams();
+        QueryWrapper<EimsInspectSt> qw = Wrappers.query();
+        qw.like(StringUtils.isNotBlank(bo.getTitle()), "CONCAT(DATE_FORMAT(ir.plan_time, '%Y%m%d'), equ.equ_name)", bo.getTitle());
+        qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
+        qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+        qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+            "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
+        qw.eq(bo.getInspUser() != null, "ir.insp_user", bo.getInspUser());
+        qw.eq(bo.getVerifyUser() != null, "ir.verify_user", bo.getVerifyUser());
+        qw.eq(bo.getStatus() != null, "ir.status", bo.getStatus());
+        qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
+            "ir.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
+        qw.groupBy(Arrays.asList("ir.equ_id","ir.plan_time"));
+        qw.orderByDesc( "ir.plan_time");
+
+        return qw;
     }
 
     /**
@@ -132,6 +175,7 @@
         qw.like(StringUtils.isNotBlank(bo.getTitle()), "st.title", bo.getTitle());
         qw.like(StringUtils.isNotBlank(bo.getEquName()), "equ.equ_name", bo.getEquName());
         qw.like(StringUtils.isNotBlank(bo.getAssetNo()), "equ.asset_no", bo.getAssetNo());
+        qw.eq( "st.type", bo.getType());
         qw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,
             "st.plan_time", params.get("beginPlanTime"), params.get("endPlanTime"));
         qw.eq(bo.getInspUser() != null, "st.maint_user", bo.getInspUser());

--
Gitblit v1.9.3