From f0610c371668b042d36d7772cb04b49a2afc69ea Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期四, 24 四月 2025 14:51:56 +0800
Subject: [PATCH] 完成移动端保养

---
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
index 78f55ad..2d78c60 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java
@@ -57,7 +57,37 @@
      */
     @Override
     public EimsMaintStVo queryById(Long id) {
-        return baseMapper.selectVoById(id);
+        EimsMaintStVo stVo = baseMapper.selectVoById(id);
+        if(stVo!=null){
+            fillStDataSingle(stVo);
+        }
+        return stVo;
+    }
+    private void fillStDataSingle(EimsMaintStVo stVo) {
+
+            //1.濉厖璁惧
+            EimsEqu eimsEqu = equMapper.selectById(stVo.getEquId());
+            stVo.setAssetNo(eimsEqu.getAssetNo());
+            //2.缁熻鏁版嵁
+            LambdaQueryWrapper<EimsMaintOrder> orderLqw = Wrappers.lambdaQuery();
+            orderLqw.eq(EimsMaintOrder::getEquId, stVo.getEquId());
+            LocalDate planTime = stVo.getPlanTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+            LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth());
+            LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth());
+            orderLqw.between(EimsMaintOrder::getPlanTime, startOfMonth, endOfMonth);
+            // 鎵ц鏌ヨ
+            List<EimsMaintOrderVo> orderList = orderMapper.selectVoList(orderLqw);
+            // TODO 鏍规嵁瀛楀吀maint_order_status
+            Map<String, Long> cMap = orderList.stream()
+                .filter(order -> List.of("0", "1", "2", "3").contains(order.getStatus()))
+                .collect(Collectors.groupingBy(EimsMaintOrderVo::getStatus, Collectors.counting()));
+            stVo.setOrderCount(orderList.size());
+            stVo.setDbyCount(cMap.getOrDefault("0", 0L).intValue());
+            stVo.setByCount(cMap.getOrDefault("1", 0L).intValue());
+            stVo.setDyzCount(cMap.getOrDefault("2", 0L).intValue());
+            stVo.setWcCount(cMap.getOrDefault("3", 0L).intValue());
+
+
     }
 
     /**

--
Gitblit v1.9.3