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/EimsMaintOrderServiceImpl.java |   92 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 87 insertions(+), 5 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
index d7cf570..22fba86 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsMaintOrderServiceImpl.java
@@ -19,16 +19,21 @@
 import lombok.RequiredArgsConstructor;
 
 import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.eims.domain.EimsEquStatu;
 import org.dromara.eims.domain.EimsMaintPlan;
-import org.dromara.eims.domain.bo.EimsMaintPlanBo;
-import org.dromara.eims.domain.vo.MaintOrdeGroupVo;
+import org.dromara.eims.domain.EimsSpareInout;
+import org.dromara.eims.domain.bo.EimsSpareBo;
+import org.dromara.eims.domain.bo.EimsSpareInoutBo;
+import org.dromara.eims.domain.bo.MaintOrderBo;
+import org.dromara.eims.domain.vo.*;
+import org.dromara.eims.mapper.EimsEquMapper;
 import org.dromara.eims.mapper.EimsMaintPlanMapper;
+import org.dromara.eims.service.IEimsSpareInoutService;
 import org.dromara.system.domain.SysDept;
 import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.mapper.SysDeptMapper;
 import org.springframework.stereotype.Service;
 import org.dromara.eims.domain.bo.EimsMaintOrderBo;
-import org.dromara.eims.domain.vo.EimsMaintOrderVo;
 import org.dromara.eims.domain.EimsMaintOrder;
 import org.dromara.eims.mapper.EimsMaintOrderMapper;
 import org.dromara.eims.service.IEimsMaintOrderService;
@@ -49,6 +54,8 @@
     private final EimsMaintOrderMapper baseMapper;
     private final EimsMaintPlanMapper planMapper;
     private final SysDeptMapper sysDeptMapper;
+    private final EimsEquMapper equMapper;
+    private final IEimsSpareInoutService spareInoutService;
 
     /**
      * 鏌ヨ淇濆吇宸ュ崟
@@ -58,7 +65,13 @@
      */
     @Override
     public EimsMaintOrderVo queryById(Long id){
-        return baseMapper.selectVoById(id);
+        EimsMaintOrderVo orderVo = baseMapper.selectVoById(id);
+        EimsEquVo equVo = equMapper.selectVoById(orderVo.getEquId());
+        if(equVo!=null){
+            orderVo.setEquName(equVo.getEquName());
+            orderVo.setAssetNo(equVo.getAssetNo());
+        }
+        return orderVo;
     }
 
     /**
@@ -104,6 +117,11 @@
         qw.like(StringUtils.isNotBlank(bo.getMaintCode()),"mo.maint_code", bo.getMaintCode());
         qw.like(bo.getEquName() != null, "equ.equ_name", bo.getEquName());
         qw.like(bo.getEquId() != null, "equ.equ_id", bo.getEquId());
+        if (params.get("searchValue") != null && StringUtils.isNotBlank(params.get("searchValue").toString())) {
+            qw.and( wq ->wq.like("equ.equ_name", params.get("searchValue"))
+                .or().like("equ.asset_no", params.get("searchValue"))
+            );
+        }
         qw.eq(StringUtils.isNotBlank(bo.getMaintType()), "mo.maint_type", bo.getMaintType());
         qw.eq(StringUtils.isNotBlank(bo.getMaintCycleUnit()), "mo.maint_cycle_unit", bo.getMaintCycleUnit());
         qw.eq(StringUtils.isNotBlank(bo.getMaintRule()), "mo.maint_rule", bo.getMaintRule());
@@ -174,7 +192,7 @@
         lqw.eq(bo.getMaintDept() != null, EimsMaintOrder::getMaintDept, bo.getMaintDept());
         lqw.eq(StringUtils.isNotBlank(bo.getMaintCode()), EimsMaintOrder::getMaintCode, bo.getMaintCode());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsMaintOrder::getStatus, bo.getStatus());
-        lqw.eq(bo.getPlanTime() != null, EimsMaintOrder::getPlanTime, bo.getPlanTime());
+        lqw.between(params.get("beginPlanTime") != null && params.get("endPlanTime") != null,EimsMaintOrder::getPlanTime,params.get("beginPlanTime"), params.get("endPlanTime"));
         lqw.eq(bo.getPlanId() != null, EimsMaintOrder::getPlanId, bo.getPlanId());
         // 鎸夊垱寤烘椂闂村�掑簭
         lqw.orderByDesc(EimsMaintOrder::getCreateTime);
@@ -284,6 +302,54 @@
     }
 
     /**
+     * 鎵归噺淇敼淇濆吇宸ュ崟
+     *
+     * @param bo 淇濆吇宸ュ崟
+     * @return 鏄惁淇敼鎴愬姛
+     */
+    @Override
+    public boolean updateBatchByBo(MaintOrderBo bo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        List<EimsMaintOrder> list = MapstructUtils.convert(bo.getMaintOrderList(),  EimsMaintOrder.class);
+        list.forEach(e -> {
+            // 鐘舵�佺敱鍓嶇浼犺繃鏉�
+            // e.setStatus(DictConstants.MAINT_ORDER_STATUS_DETAIL.DAIYANZHENG);
+            e.setEndTime(new Date());
+            // 淇濆吇(1)-> 寰呴獙璇�(2)
+            if(e.getMaintUser()==null  && (e.getStatus()!=null && e.getStatus().equals("2"))){
+                e.setMaintUser(loginUser.getUserId());
+            }
+            //  寰呯‘璁�(2)-> 瀹屾垚(3)
+           if(e.getVerifyUser()==null  && (e.getStatus()!=null && e.getStatus().equals("3"))){
+               e.setVerifyUser(loginUser.getUserId());
+           }
+
+            e.setUpdateTime(new Date());
+        });
+        bo.getMaintOrderList().forEach(item -> {
+            // 鍒ゆ柇澶囦欢鍒楄〃鏄惁涓虹┖锛屼笉涓虹┖鍒欐柊澧炰竴涓浠跺嚭搴撳崟锛屽悓鏃跺鍔犲嚭搴撴槑缁�
+            if (item.getSpareParts() != null && item.getSpareParts().size() > 0) {
+                EimsSpareInoutBo spareInoutBo = new EimsSpareInoutBo();
+                // 鏍规嵁鏃ユ湡鐢熸垚鍗曞彿锛屾牸寮忎负CK+鏃ユ湡+娴佹按鍙�
+                spareInoutBo.setOrderCode("CK"+DateUtils.dateTimeNow("yyyyMMddHHmmss"));
+                spareInoutBo.setOrderTime(new Date());
+                spareInoutBo.setType(DictConstants.SPARE_INOUT_TYPE_DETAIL.CK);
+                spareInoutBo.setPartnerName(loginUser.getNickname());
+                spareInoutBo.setSpareList(item.getSpareParts());
+                spareInoutBo.setChargeUser(loginUser.getUserId());
+                spareInoutBo.setChargeDept(loginUser.getDeptId());
+                spareInoutBo.setAssociatedOrder(item.getMaintCode());
+                // 淇濆瓨杩涙暟鎹簱
+                Boolean b = spareInoutService.insertByBo(spareInoutBo);
+
+
+            }
+        });
+
+        return baseMapper.updateBatchById(list);
+    }
+
+    /**
      * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙
      */
     private void validEntityBeforeSave(EimsMaintOrder entity){
@@ -317,4 +383,20 @@
         }
         return String.join(StringUtils.SEPARATOR, list);
     }
+
+
+    @Override
+    public List<EimsSpareVo> querySpareParts(String code) {
+        // 鏌ヨ鍏宠仈鐨勫浠讹紝鍏崇郴濡備笅锛氬浠跺嚭鍏ュ簱鍗曠殑associatedOrder 鍏宠仈浼犲叆鐨刢ode,澶囦欢鍑哄叆搴撴槑缁嗛�氳繃鍑哄叆搴撳崟鐨刬d鍏宠仈锛屽浠跺悕绉伴�氳繃鍑哄叆搴撴槑缁嗕腑鐨剆pareId鍏宠仈
+
+        EimsSpareInoutBo bo = new EimsSpareInoutBo();
+        bo.setAssociatedOrder(code);
+        List<EimsSpareInoutVo> list = spareInoutService.queryList(bo);
+        if (!list.isEmpty()) {
+            // 鏌ヨ澶囦欢鏄庣粏鍜屽悕绉�
+            EimsSpareInoutVo eimsSpareInoutVo = spareInoutService.queryById(list.get(0).getId());
+            return eimsSpareInoutVo.getSpareList();
+        }
+        return List.of();
+    }
 }

--
Gitblit v1.9.3