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/CuttingScrapController.java |   51 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java
index 1d4790b..cb634e8 100644
--- a/src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java
+++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java
@@ -107,25 +107,40 @@
         JSONArray jsonArray = jSONObject.getJSONArray("detailData");
         List<CuttingScrapDetail> list = jsonArray.toJavaList(CuttingScrapDetail.class);
 
+        //鍋氬垽鏂紝鐢宠鎶ュ簾鐨勬椂鍊欎竴涓垁鍏峰彧鑳界敵璇蜂竴娆�
+        for (CuttingScrapDetail temp : list) {
+            //鍒ゆ柇鍒�鍏锋槸鍚﹀凡缁忕敵璇锋姤搴�
+            QueryWrapper<CuttingScrapDetail> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("inventory_id", temp.getInventoryId());
+            // 妫�鏌ユ暟鎹簱涓槸鍚﹀凡瀛樺湪鐩稿悓inventoryId鐨勬姤搴熺敵璇�
+            if (cuttingScrapDetailService.count(queryWrapper) > 0) {
+                cuttingScrapService.removeById(cuttingScrap.getId());//鍚屾椂鍒犻櫎鏈〃鍗�
+                return Result.error("鍒�鍏�" + temp.getInventoryId() + "宸茬粡鐢宠鎶ュ簾锛岃涓嶈閲嶅鐢宠");
+            }
+        }
+        // 鎵�鏈夋鏌ラ�氳繃鍚庯紝淇濆瓨鎵�鏈夋槑缁嗘暟鎹�
         for (CuttingScrapDetail temp : list) {
             temp.setOrderId(cuttingScrap.getId());
             cuttingScrapDetailService.save(temp);
         }
 
-        // 鏇存柊搴撳瓨鍒�鍏风姸鎬佷负"宸插嚭搴�"
-        if (!list.isEmpty()) {
-            // 鏀堕泦鎵�鏈夐渶瑕佹洿鏂扮姸鎬佺殑搴撳瓨ID
-            List<String> inventoryIds = list.stream()
-                    .map(CuttingScrapDetail::getInventoryId) // 鍋囪CuttingScrapDetail涓湁inventoryId瀛楁
-                    .filter(id -> id != null && !id.isEmpty())
-                    .collect(Collectors.toList());
-
-            if (!inventoryIds.isEmpty()) {
-                // 鏇存柊搴撳瓨鐘舵�佷负"宸插嚭搴�"
-                cuttingInventoryService.updateStatus(inventoryIds, "寰呮姤搴�");
-            }
-        }
         return Result.OK("娣诲姞鎴愬姛锛�");
+
+//        // 鏇存柊搴撳瓨鍒�鍏风姸鎬佷负"寰呮姤搴�"
+//        if (!list.isEmpty()) {
+//            // 鏀堕泦鎵�鏈夐渶瑕佹洿鏂扮姸鎬佺殑搴撳瓨ID
+//            List<String> inventoryIds = list.stream()
+//                    .map(CuttingScrapDetail::getInventoryId) // 鍋囪CuttingScrapDetail涓湁inventoryId瀛楁
+//                    .filter(id -> id != null && !id.isEmpty())
+//                    .collect(Collectors.toList());
+//
+//            if (!inventoryIds.isEmpty()) {
+//                // 鏇存柊搴撳瓨鐘舵�佷负"寰呮姤搴�"
+//                cuttingInventoryService.updateStatus(inventoryIds, "寰呮姤搴�");
+//            }
+//        }
+
+
     }
 
     /**
@@ -154,7 +169,10 @@
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:delete")
     @DeleteMapping(value = "/delete")
     public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
-        cuttingScrapService.removeById(id);
+        cuttingScrapService.removeById(id);//鍒犻櫎涓昏〃鏁版嵁
+        //鍒犻櫎鍒�鍏锋姤搴熸槑缁嗚〃鐨勬暟鎹�
+        cuttingScrapDetailService.remove
+                (new QueryWrapper<CuttingScrapDetail>().eq("order_id", id));
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
 
@@ -238,4 +256,9 @@
         return Result.ok(inventoryTooList);
     }
 
+    @GetMapping("/submit")
+    public Result<?> submit(@RequestParam("orderId") String orderId) {
+        return cuttingScrapService.submit(orderId);
+    }
+
 }

--
Gitblit v1.9.3