From 4f38e5827b848298de8e95f59e0ba9b24951e615 Mon Sep 17 00:00:00 2001
From: lixiangyu <lixiangyu@xalxzn.com>
Date: 星期二, 16 九月 2025 18:01:18 +0800
Subject: [PATCH] refactor(cms): 优化刀具管理功能和性能 刀具报废功能 - 新增 提交(/subumit)接口 刀具报废功能 - 修改完善其删除功能,同时删除报废单和报废明细 刀具报废功能 - (/add)接口中增加逻辑判断禁制同一个刀具重复申请报废 刀具领用功能 - 完善刀具寿命计算 刀具领用功能 - 完善其删除功能,同时删除领用单和领用明细 刀具入库功能 - 完善其删除功能,同时删除入库单和入库明细 把刀具库存中的库存状态,从“正常”改为“在库”。

---
 src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
index 5789c83..7c9cb87 100644
--- a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
+++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
@@ -103,7 +103,7 @@
             temp.setOrderId(cuttingReceive.getId());
             cuttingReceiveDetailService.save(temp);
         }
-        // 鏇存柊搴撳瓨鍒�鍏风姸鎬佷负"宸插嚭搴�"
+        // 鏇存柊搴撳瓨鍒�鍏风姸鎬佷负"寰呭嚭搴�"
         if (!list.isEmpty()) {
             // 鏀堕泦鎵�鏈夐渶瑕佹洿鏂扮姸鎬佺殑搴撳瓨ID
             List<String> inventoryIds = list.stream()
@@ -112,7 +112,7 @@
                     .collect(Collectors.toList());
 
             if (!inventoryIds.isEmpty()) {
-                // 鏇存柊搴撳瓨鐘舵�佷负"宸插嚭搴�"
+                // 鏇存柊搴撳瓨鐘舵�佷负"寰呭嚭搴�"
                 cuttingInventoryService.updateStatus(inventoryIds, "寰呭嚭搴�");
             }
         }
@@ -140,7 +140,30 @@
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:delete")
     @DeleteMapping(value = "/delete")
     public Result<String> delete(@RequestParam(name = "id") String id) {
+        // 鍏堟煡璇㈠嚭棰嗙敤鍗曟槑缁嗭紝鑾峰彇鐩稿叧鐨勫簱瀛業D
+        List<CuttingReceiveDetail> detailList = cuttingReceiveDetailService.lambdaQuery()
+                .eq(CuttingReceiveDetail::getOrderId, id)
+                .list();
+        // 鍒犻櫎棰嗙敤鍗曚富琛ㄥ拰鏄庣粏琛ㄦ暟鎹�
         cuttingReceiveService.removeById(id);
+        cuttingReceiveDetailService.removeById(id);
+
+        // 鑾峰彇搴撳瓨ID鍒楄〃
+        List<String> inventoryIds = detailList.stream()
+                .map(CuttingReceiveDetail::getInventoryId)
+                .filter(Objects::nonNull)
+                .collect(Collectors.toList());
+
+        // 灏嗙浉鍏冲垁鍏峰簱瀛樼姸鎬佹敼鍥炰箣鍓嶇殑鐘舵��
+        if (!inventoryIds.isEmpty()) {
+            cuttingInventoryService.restoreStatus(inventoryIds);
+        }
+
+        //鍒犻櫎鍒�鍏烽鐢ㄦ槑缁嗚〃鐨勬暟鎹�
+        cuttingReceiveDetailService.remove
+                (new QueryWrapper<CuttingReceiveDetail>().eq("order_id", id));
+
+
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
 
@@ -214,7 +237,6 @@
         return cuttingReceiveService.submit(orderId);
     }
 
-    //TODO: @GetMapping("/handleBack")
     @GetMapping("/handleBack")
     public Result<?> handleBack(@RequestParam("orderId") String orderId) {
         return cuttingReceiveService.handleBack(orderId);

--
Gitblit v1.9.3