From 5247f5d991b09bef8dce64ca8fac0e9c804f4584 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 24 四月 2025 09:10:22 +0800
Subject: [PATCH] feat(eims): 优化数据导入功能并添加创建时间排序

---
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java
index b191443..9ed4e3b 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairReqServiceImpl.java
@@ -1,7 +1,12 @@
 package org.dromara.eims.service.impl;
 
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.dromara.common.core.constant.DictConstants;
+import org.dromara.common.core.service.RepairReqService;
 import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.SpringUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.mybatis.core.page.PageQuery;
@@ -11,7 +16,10 @@
 import lombok.RequiredArgsConstructor;
 import org.dromara.eims.domain.EimsEqu;
 import org.dromara.eims.domain.EimsFixtureBorrow;
+import org.dromara.eims.domain.EimsRepairRecord;
+import org.dromara.eims.domain.vo.EimsFixtureVo;
 import org.dromara.eims.domain.vo.EimsInventoryDetailVo;
+import org.dromara.eims.mapper.EimsRepairRecordMapper;
 import org.dromara.eims.utils.DataFilterUtil;
 import org.dromara.system.domain.SysDept;
 import org.dromara.system.domain.vo.SysDeptVo;
@@ -22,11 +30,9 @@
 import org.dromara.eims.domain.EimsRepairReq;
 import org.dromara.eims.mapper.EimsRepairReqMapper;
 import org.dromara.eims.service.IEimsRepairReqService;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.util.*;
 
 /**
  * 鏁呴殰鎶ヤ慨Service涓氬姟灞傚鐞�
@@ -36,9 +42,10 @@
  */
 @RequiredArgsConstructor
 @Service
-public class EimsRepairReqServiceImpl implements IEimsRepairReqService {
+public class EimsRepairReqServiceImpl implements IEimsRepairReqService, RepairReqService {
 
     private final EimsRepairReqMapper baseMapper;
+    private final EimsRepairRecordMapper recordMapper;
     private final SysDeptMapper sysDeptMapper;
 
     /**
@@ -86,7 +93,7 @@
         qw.eq(bo.getRepairDept() != null, "a.repair_dept", bo.getRepairDept());
         qw.eq(bo.getRepairUser() != null, "a.repair_user", bo.getRepairUser());
         qw.eq(StringUtils.isNotBlank(bo.getFaultType()), "a,fault_type", bo.getFaultType());
-        qw.eq(params.containsKey("createBy"), "a.create_by", params.get("createBy"));
+        qw.in(params.containsKey("createBy"), "a.create_by",  (List<Long>) params.get("createBy"));
         qw.eq(params.containsKey("status"), "a.status", params.get("status"));
         qw.between(params.get("beginReqTime") != null && params.get("endReqTime") != null,
             "a.req_time", params.get("beginReqTime"), params.get("endReqTime"));
@@ -94,6 +101,7 @@
 
         qw.eq(bo.getCreateBy()!=null, "a.create_by", bo.getCreateBy());
         qw.eq(StringUtils.isNotEmpty(bo.getStatus()), "a.status", bo.getStatus());
+        qw.orderByDesc("a.create_time");
 
         /**
          * 鏌ヨ閮ㄩ棬涓嬫墍鏈夊瓙閮ㄩ棬
@@ -159,6 +167,8 @@
         lqw.eq(bo.getRepairDept() != null, EimsRepairReq::getRepairDept, bo.getRepairDept());
         lqw.eq(bo.getRepairUser() != null, EimsRepairReq::getRepairUser, bo.getRepairUser());
         lqw.eq(StringUtils.isNotBlank(bo.getFaultType()), EimsRepairReq::getFaultType, bo.getFaultType());
+        // 鎸夊垱寤烘椂闂村�掑簭
+        lqw.orderByDesc(EimsRepairReq::getCreateTime);
         return lqw;
     }
 
@@ -168,6 +178,7 @@
      * @param bo 鏁呴殰鎶ヤ慨
      * @return 鏄惁鏂板鎴愬姛
      */
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean insertByBo(EimsRepairReqBo bo) {
         EimsRepairReq add = MapstructUtils.convert(bo, EimsRepairReq.class);
@@ -175,6 +186,16 @@
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
             bo.setId(add.getId());
+            //鏂板鎶ヤ慨鍗曟椂鐢熸垚缁翠慨璁板綍
+            EimsRepairRecord record = new EimsRepairRecord();
+            record.setReqId(add.getId());
+            record.setHandleTime(new Date());
+            //鏂板鐘舵��
+            record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.XINZENG);
+            record.setOperaUser(add.getCreateBy());
+            record.setOperaResult("鐢熸垚鎶ヤ慨鍗�");
+            //鏂板鏃剁敓鎴愯褰�
+            recordMapper.insert(record);
         }
         return flag;
     }
@@ -215,4 +236,16 @@
     }
 
 
+    @Override
+    public String selectRepairReqCodeByIds(String reqIds) {
+        List<String> list = new ArrayList<>();
+        for (Long id : StringUtils.splitTo(reqIds, Convert::toLong)) {
+            EimsRepairReqVo vo = SpringUtils.getAopProxy(this).queryById(id);
+            if (ObjectUtil.isNotNull(vo)) {
+                list.add(vo.getCode());
+            }
+        }
+        return String.join(StringUtils.SEPARATOR, list);
+    }
+
 }

--
Gitblit v1.9.3