From 453f63fd6cd6466222304df619e62b3a5667ca68 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 05 八月 2025 13:56:47 +0800
Subject: [PATCH] 修复0730测试问题

---
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintStServiceImpl.java |   90 +++++++++++++++++++++++++++++++++++++--------
 1 files changed, 74 insertions(+), 16 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 3ba819c..aaf5f73 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
@@ -4,6 +4,7 @@
 import lombok.SneakyThrows;
 import org.dromara.common.core.constant.DictConstants;
 import org.dromara.common.core.domain.R;
+import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -12,10 +13,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.eims.domain.EimsEqu;
 import org.dromara.eims.domain.EimsMaintOrder;
 import org.dromara.eims.domain.EimsMaintSt;
 import org.dromara.eims.domain.bo.EimsMaintStBo;
+import org.dromara.eims.domain.bo.EimsMultipleMaintStBo;
 import org.dromara.eims.domain.vo.EimsMaintOrderVo;
 import org.dromara.eims.domain.vo.EimsMaintStVo;
 import org.dromara.eims.mapper.EimsEquMapper;
@@ -79,13 +82,13 @@
             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()))
+                .filter(order -> List.of("0", "1", "2").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());
+            stVo.setDyzCount(cMap.getOrDefault("1", 0L).intValue());
+            stVo.setWcCount(cMap.getOrDefault("2", 0L).intValue());
+
 
 
     }
@@ -123,13 +126,12 @@
             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()))
+                .filter(order -> List.of("0", "1", "2").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());
+            stVo.setDyzCount(cMap.getOrDefault("1", 0L).intValue());
+            stVo.setWcCount(cMap.getOrDefault("2", 0L).intValue());
 
         }
 
@@ -203,22 +205,78 @@
      * @return 鏄惁淇敼鎴愬姛
      */
     @Override
+    @Transactional
     public Boolean updateByBo(EimsMaintStBo bo) {
         EimsMaintSt update = MapstructUtils.convert(bo, EimsMaintSt.class);
 
-        if(bo.getVerifyUser()!=null){
-            EimsMaintSt eimsMaintSt = baseMapper.selectById(bo.getId());
-            String status = eimsMaintSt.getStatus();
-            if(status==null  || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){
-                if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y);
-                if(update.getVerifyTime()==null) update.setVerifyTime(new Date());
-            }
-        }
+//        if(bo.getVerifyUser()!=null){
+//            EimsMaintSt eimsMaintSt = baseMapper.selectById(bo.getId());
+//            String status = eimsMaintSt.getStatus();
+//            if(status==null  || status.equals(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.N)){
+//                if(update.getVerifyTime()==null) update.setStatus(DictConstants.MAINT_ORDER_ST_STATUS_DETAIL.Y);
+//                if(update.getVerifyTime()==null) update.setVerifyTime(new Date());
+//            }
+//        }
+
+        if(update.getVerifyTime()==null) update.setVerifyTime(new Date());
+        //宸ュ崟姹囨�诲畬鎴愰渶鍚屾鏇存柊st涓嬪瓙宸ュ崟
+
+            EimsMaintStVo st = baseMapper.selectVoById(bo.getId());
+
+            Long equId =  st.getEquId();
+            LambdaQueryWrapper<EimsMaintOrder> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(EimsMaintOrder::getEquId,equId);
+            wrapper.eq(EimsMaintOrder::getPlanTime,st.getPlanTime());
+            List<EimsMaintOrder> eimsMaintOrderList = orderMapper.selectList(wrapper);
+            // st涓嬪瓙宸ュ崟鎵�鏈夌姸鎬佽缃负3-宸插畬鎴�
+            eimsMaintOrderList.forEach(order -> {
+                order.setStatus(bo.getStatus());
+                if(order.getStatus().equals("1")){
+                    order.setMaintUser(LoginHelper.getUserId());
+                }else if(order.getStatus().equals("2")){
+                    order.setVerifyUser(LoginHelper.getUserId());
+                }
+            });
+            orderMapper.updateBatchById(eimsMaintOrderList);
+
+
+
+
 
         validEntityBeforeSave(update);
         return baseMapper.updateById(update) > 0;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateBatchByBo(EimsMultipleMaintStBo bo) {
+        List<EimsMaintStBo> maintStBoList = bo.getMultipleMaintStBoList();
+        if(maintStBoList==null || maintStBoList.isEmpty())return  true;
+        List<EimsMaintSt> maintStList = MapstructUtils.convert(maintStBoList, EimsMaintSt.class);
+        baseMapper.updateBatchById(maintStList);
+        // 鏇存柊姹囨�讳笅瀛愬伐鍗�
+        List<String> maintCodeList = maintStBoList.stream()
+            .map(EimsMaintStBo::getMaintCode)
+            .toList();
+
+        for (int i = 0; i < maintCodeList.size(); i++) {
+            String maintCode = maintCodeList.get(i);
+            String[] split = maintCode.split("_");
+            LambdaQueryWrapper<EimsMaintOrder> wrapper = Wrappers.lambdaQuery();
+            wrapper.eq(EimsMaintOrder::getEquId,split[0]);
+            wrapper.eq(EimsMaintOrder::getPlanTime,split[1]);
+            List<EimsMaintOrder> eimsMaintOrderList = orderMapper.selectList(wrapper);
+            // st涓嬪瓙宸ュ崟鎵�鏈夌姸鎬佽缃负3-宸插畬鎴�
+            eimsMaintOrderList.forEach(order -> {
+                order.setStatus("2");
+                order.setVerifyUser(LoginHelper.getUserId());
+            });
+            orderMapper.updateBatchById(eimsMaintOrderList);
+        }
+
+        return true;
+    }
+
     /**
      * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
      */

--
Gitblit v1.9.3