From f571cf0182abd65176fb1512c5cb5ddaea49c4a3 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期二, 24 六月 2025 09:00:14 +0800
Subject: [PATCH] feat(eims): 设备状态变更记录功能

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

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
index 160f7dd..2d00b78 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsEquStatuServiceImpl.java
@@ -1,5 +1,7 @@
 package org.dromara.eims.service.impl;
 
+import org.dromara.common.core.domain.model.LoginUser;
+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;
@@ -8,6 +10,7 @@
 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.springframework.stereotype.Service;
 import org.dromara.eims.domain.bo.EimsEquStatuBo;
@@ -15,6 +18,9 @@
 import org.dromara.eims.domain.EimsEquStatu;
 import org.dromara.eims.mapper.EimsEquStatuMapper;
 import org.dromara.eims.service.IEimsEquStatuService;
+import org.dromara.eims.service.IEimsEquService;
+import org.dromara.eims.domain.bo.EimsEquBo;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -31,6 +37,7 @@
 public class EimsEquStatuServiceImpl implements IEimsEquStatuService {
 
     private final EimsEquStatuMapper baseMapper;
+    private final IEimsEquService equService;
 
     /**
      * 鏌ヨ璁惧鐘舵�佽褰�
@@ -52,9 +59,11 @@
      */
     @Override
     public TableDataInfo<EimsEquStatuVo> queryPageList(EimsEquStatuBo bo, PageQuery pageQuery) {
-        LambdaQueryWrapper<EimsEquStatu> lqw = buildQueryWrapper(bo);
-        Page<EimsEquStatuVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        return TableDataInfo.build(result);
+        // 浣跨敤鑷畾涔塖QL瀹炵幇璁惧鐘舵�佷笌璁惧琛ㄧ殑妯$硦鍏宠仈鍒嗛〉鏌ヨ
+        Page<EimsEquStatuVo> page = pageQuery.build();
+        List<EimsEquStatuVo> list = baseMapper.selectEquStatuPage(bo, pageQuery);
+        page.setRecords(list);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -89,7 +98,11 @@
      */
     @Override
     public Boolean insertByBo(EimsEquStatuBo bo) {
+        // 鑾峰彇鐧诲綍鐢ㄦ埛
+        LoginUser loginUser = LoginHelper.getLoginUser();
         EimsEquStatu add = MapstructUtils.convert(bo, EimsEquStatu.class);
+        add.setChangeUser(loginUser.getUserId());
+        add.setChangeDate(DateUtils.getNowDate());
         validEntityBeforeSave(add);
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
@@ -105,10 +118,20 @@
      * @return 鏄惁淇敼鎴愬姛
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByBo(EimsEquStatuBo bo) {
         EimsEquStatu update = MapstructUtils.convert(bo, EimsEquStatu.class);
         validEntityBeforeSave(update);
-        return baseMapper.updateById(update) > 0;
+        boolean result = baseMapper.updateById(update) > 0;
+        // 鍚屾剰鏃跺悓姝ヨ澶囩姸鎬�
+        if ("1".equals(String.valueOf(bo.getOrderStatus()))) {
+            EimsEquStatuVo vo = baseMapper.selectVoById(bo.getEquStatuId());
+            EimsEquBo equBo = new EimsEquBo();
+            equBo.setEquId(vo.getEquId());
+            equBo.setStatus(vo.getAfterChange());
+            equService.updateByBo(equBo);
+        }
+        return result;
     }
 
     /**

--
Gitblit v1.9.3