From 67ac603f410319a0d999e5f493c8ef2d74163fe1 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期一, 15 九月 2025 19:44:47 +0800
Subject: [PATCH] 保养标准:点检标准导入 点检名称修改/ 设备台账导入

---
 src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java |   66 ++++++++++++++++++++++++++++++---
 1 files changed, 60 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java
index f5adc82..7816739 100644
--- a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java
+++ b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java
@@ -1,20 +1,23 @@
 package org.jeecg.modules.cms.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.cms.entity.CuttingInventory;
 import org.jeecg.modules.cms.mapper.CuttingInventoryMapper;
-import org.jeecg.modules.cms.mapper.CuttingToolMapper;
 import org.jeecg.modules.cms.service.ICuttingInventoryService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
+import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -30,4 +33,55 @@
         IPage<Map<String, Object>> result = baseMapper.statisticsByCuttingIdAndStatus(page);
         return result;
     }
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateStatus(List<String> ids, String status) {
+        if (ids != null && !ids.isEmpty() && StringUtils.isNotBlank(status)) {
+//            UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>();
+//            updateWrapper.in("id", ids);
+//            updateWrapper.set("inventory_status", status); // 鏍规嵁瀹為檯鏁版嵁搴撳瓧娈靛悕璋冩暣
+            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            String username = "System"; // 榛樿鐢ㄦ埛鍚�
+            if (user != null) {
+                username = oConvertUtils.getString(user.getUsername(), "System");
+            }
+            UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.in("id", ids);
+            updateWrapper.set("inventory_status", status);
+            updateWrapper.set("update_time", new Date());
+            updateWrapper.set("update_by", username);
+            this.update(updateWrapper);
+        }
+    }
+
+    @Override
+    public void restoreStatus(List<String> ids) {
+        if (ids != null && !ids.isEmpty()) {
+            // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            String username = "System"; // 榛樿鐢ㄦ埛鍚�
+            if (user != null) {
+                username = oConvertUtils.getString(user.getUsername(), "System");
+            }
+
+            // 鏂瑰紡1: 鏌ヨ褰撳墠鐘舵�佸苟鏍规嵁鐘舵�佸喅瀹氭仮澶嶅埌鍝釜鐘舵��
+            List<CuttingInventory> inventoryList = this.listByIds(ids);
+            List<String> toRestoreIds = inventoryList.stream()
+                    .filter(inv -> "寰呭嚭搴�".equals(inv.getInventoryStatus())) // 鍙鐞�"寰呭嚭搴�"鐘舵�佺殑
+                    .map(CuttingInventory::getId)
+                    .collect(Collectors.toList());
+            //FIXME:鍦ㄦ姤搴熷墠鏈夊涓姸鎬侊紝濡傛灉鎶ュ簾浣滃簾锛屽垁鍏峰簱瀛樼姸鎬佸浣曢��鍥炲師鏉ョ殑鐘舵�併��
+            if (!toRestoreIds.isEmpty()) {
+                UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>();
+                updateWrapper.in("id", toRestoreIds);
+                updateWrapper.set("inventory_status", "姝e父");
+                updateWrapper.set("update_time", new Date());
+                updateWrapper.set("update_by", username);
+                this.update(updateWrapper);
+            }
+        }
+    }
+
+
+
 }

--
Gitblit v1.9.3