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/EimsInspectPlanServiceImpl.java |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java
index 52e43d2..6d23e51 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsInspectPlanServiceImpl.java
@@ -104,6 +104,8 @@
         lqw.eq(bo.getInspUser() != null, EimsInspectPlan::getInspUser, bo.getInspUser());
         lqw.eq(bo.getInspDept() != null, EimsInspectPlan::getInspDept, bo.getInspDept());
         lqw.eq(StringUtils.isNotBlank(bo.getStatus()), EimsInspectPlan::getStatus, bo.getStatus());
+        // 鎸夊垱寤烘椂闂村�掑簭
+        lqw.orderByDesc(EimsInspectPlan::getCreateTime);
         return lqw;
     }
     private QueryWrapper<EimsInspectPlan> buildWrapper(EimsInspectPlanBo bo) {
@@ -207,11 +209,6 @@
 
     @Override
     public String importData(MultipartFile file, boolean updateSupport) throws IOException, IOException {
-        int successNum = 0;
-        int failureNum = 0;
-        StringBuilder successMsg = new StringBuilder();
-        StringBuilder failureMsg = new StringBuilder();
-
         // 鐐规椤圭洰鍒楄〃锛堝亣璁惧瓨鍦ㄥ搴旂殑鐐规椤筕O锛�
         InspectCheckItemImportListener checkItemImportListener = new InspectCheckItemImportListener(updateSupport);
         EasyExcel.read(file.getInputStream(), InspectCheckItemVo.class, checkItemImportListener).headRowNumber(3).sheet().doRead();
@@ -228,17 +225,30 @@
             .map(String::trim)
             .orElseThrow(() -> new ServiceException("瀵煎叆澶辫触锛屾棤娉曡鍙栧浐瀹氳祫浜х紪鍙�"));
 
-
-
         // 鏌ヨ璁惧淇℃伅
         QueryWrapper<EimsEqu> query = new QueryWrapper<>();
         query.eq("asset_no", assetNo);
         EimsEquVo equVo = equMapper.selectVoOne(query);
         if (equVo == null) throw new ServiceException("璁惧鏈壘鍒帮紝璇峰厛鍦ㄨ澶囧彴甯愪腑娣诲姞");
 
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
 
         for (InspectCheckItemVo itemVo : successList) {
             if ("璁惧鐘舵�佸崱鐘舵��".equals(itemVo.getItemName())) break;
+
+            // 濡傛灉鍏佽瑕嗙洊锛屽垯鍒犻櫎宸插瓨鍦ㄧ殑璁板綍
+            if (updateSupport) {
+                LambdaQueryWrapper<EimsInspectPlan> deleteWrapper = Wrappers.lambdaQuery();
+                deleteWrapper.eq(EimsInspectPlan::getEquId, equVo.getEquId())
+                    .eq(EimsInspectPlan::getInspName, itemVo.getItemName())
+                    .eq(EimsInspectPlan::getStatus, "0");
+                baseMapper.delete(deleteWrapper);
+            }
+
+            // 鏂板鐐规璁″垝
             EimsInspectPlanBo bo = new EimsInspectPlanBo();
             bo.setEquId(equVo.getEquId());
             bo.setInspName(itemVo.getItemName());

--
Gitblit v1.9.3