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/controller/CuttingReceiveController.java |  103 +++++++++++++++++++++++++++++----------------------
 1 files changed, 59 insertions(+), 44 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 a1be185..8c93b00 100644
--- a/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
+++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
@@ -3,6 +3,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
@@ -12,6 +13,7 @@
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import io.micrometer.core.annotation.Timed;
 import liquibase.pro.packaged.G;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
@@ -43,10 +45,10 @@
 import org.jeecg.common.aspect.annotation.AutoLog;
 
 /**
- * @Description: 鍒�鍏烽鐢ㄥ崟
- * @Author: jeecg-boot
- * @Date: 2025-07-28
- * @Version: V1.0
+ * &#064;Description:  鍒�鍏烽鐢ㄥ崟
+ * &#064;Author:  jeecg-boot
+ * &#064;Date:  2025-07-28
+ * &#064;Version:  V1.0
  */
 @Api(tags = "鍒�鍏烽鐢ㄥ崟")
 @RestController
@@ -58,14 +60,12 @@
 
     @Autowired
     private ICuttingReceiveDetailService cuttingReceiveDetailService;
+
+    @Autowired
+    private ICuttingInventoryService cuttingInventoryService;
+
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param cuttingReceive
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
      */
     //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "鍒�鍏烽鐢ㄥ崟-鍒嗛〉鍒楄〃鏌ヨ")
@@ -75,16 +75,13 @@
                                                        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                        HttpServletRequest req) {
         QueryWrapper<CuttingReceive> queryWrapper = QueryGenerator.initQueryWrapper(cuttingReceive, req.getParameterMap());
-        Page<CuttingReceive> page = new Page<CuttingReceive>(pageNo, pageSize);
+        Page<CuttingReceive> page = new Page<>(pageNo, pageSize);
         IPage<CuttingReceive> pageList = cuttingReceiveService.page(page, queryWrapper);
         return Result.OK(pageList);
     }
 
     /**
      * 娣诲姞
-     *
-     * @param jSONObject
-     * @return
      */
     @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-娣诲姞")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-娣诲姞", notes = "鍒�鍏烽鐢ㄥ崟-娣诲姞")
@@ -99,23 +96,32 @@
         // 鍒犻櫎鍘熸湁鍏宠仈鐨勬槑缁嗘暟鎹�
         List<CuttingReceiveDetail> cuttingReceiveDetailList = cuttingReceiveDetailService.lambdaQuery().eq(CuttingReceiveDetail::getOrderId, cuttingReceive.getId()).list();
         cuttingReceiveDetailService.removeBatchByIds(cuttingReceiveDetailList);
-
         // 閲嶆柊娣诲姞鏂扮殑鏄庣粏鏁版嵁
         JSONArray jsonArray = jSONObject.getJSONArray("detailData");
         List<CuttingReceiveDetail> list = jsonArray.toJavaList(CuttingReceiveDetail.class);
-        for (int i = 0; i < list.size(); i++) {
-            CuttingReceiveDetail temp = list.get(i);
+        for (CuttingReceiveDetail temp : list) {
             temp.setOrderId(cuttingReceive.getId());
             cuttingReceiveDetailService.save(temp);
         }
+        // 鏇存柊搴撳瓨鍒�鍏风姸鎬佷负"寰呭嚭搴�"
+        if (!list.isEmpty()) {
+            // 鏀堕泦鎵�鏈夐渶瑕佹洿鏂扮姸鎬佺殑搴撳瓨ID
+            List<String> inventoryIds = list.stream()
+                    .map(CuttingReceiveDetail::getInventoryId) // 鍋囪CuttingReceiveDetail涓湁inventoryId瀛楁
+                    .filter(id -> id != null && !id.isEmpty())
+                    .collect(Collectors.toList());
+
+            if (!inventoryIds.isEmpty()) {
+                // 鏇存柊搴撳瓨鐘舵�佷负"寰呭嚭搴�"
+                cuttingInventoryService.updateStatus(inventoryIds, "寰呭嚭搴�");
+            }
+        }
+
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
     /**
      * 缂栬緫
-     *
-     * @param cuttingReceive
-     * @return
      */
     @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-缂栬緫")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-缂栬緫", notes = "鍒�鍏烽鐢ㄥ崟-缂栬緫")
@@ -128,44 +134,54 @@
 
     /**
      * 閫氳繃id鍒犻櫎
-     *
-     * @param id
-     * @return
      */
     @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎", notes = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鍒犻櫎")
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:delete")
     @DeleteMapping(value = "/delete")
-    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+    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);
+        }
+
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
 
     /**
      * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
      */
     @AutoLog(value = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎", notes = "鍒�鍏烽鐢ㄥ崟-鎵归噺鍒犻櫎")
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:deleteBatch")
     @DeleteMapping(value = "/deleteBatch")
-    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+    public Result<String> deleteBatch(@RequestParam(name = "ids") String ids) {
         this.cuttingReceiveService.removeByIds(Arrays.asList(ids.split(",")));
+        //FIXME: 鎵归噺鍒犻櫎鏃讹紝搴撳瓨鐘舵�佹湭鎭㈠銆備篃闇�瑕佹壒閲忔仮澶嶅簱瀛樼姸鎬併��
         return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
     }
 
     /**
      * 閫氳繃id鏌ヨ
-     *
-     * @param id
-     * @return
      */
     //@AutoLog(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ")
     @ApiOperation(value = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ", notes = "鍒�鍏烽鐢ㄥ崟-閫氳繃id鏌ヨ")
     @GetMapping(value = "/queryById")
-    public Result<CuttingReceive> queryById(@RequestParam(name = "id", required = true) String id) {
+    public Result<CuttingReceive> queryById(@RequestParam(name = "id") String id) {
         CuttingReceive cuttingReceive = cuttingReceiveService.getById(id);
         if (cuttingReceive == null) {
             return Result.error("鏈壘鍒板搴旀暟鎹�");
@@ -175,9 +191,6 @@
 
     /**
      * 瀵煎嚭excel
-     *
-     * @param request
-     * @param cuttingReceive
      */
     //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:exportXls")
     @RequestMapping(value = "/exportXls")
@@ -187,10 +200,6 @@
 
     /**
      * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
      */
     //@RequiresPermissions("cms_cutting_receive:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@@ -200,9 +209,6 @@
 
     /**
      * 鏍规嵁棰嗙敤id鏌ヨ棰嗙敤鏄庣粏
-     *
-     * @param orderId
-     * @return
      */
     @GetMapping("/detailList")
     public Result<?> detailList(@RequestParam("orderId") String orderId) {
@@ -212,8 +218,6 @@
 
     /**
      * 閫夋嫨搴撳瓨鍒�鍏风殑鍒楄〃
-     *
-     * @return
      */
     @GetMapping("/getInventoryToolList")
     public Result<?> getInventoryToolList(@RequestParam("pageNo") Integer pageNo,
@@ -222,4 +226,15 @@
         IPage<Map<String, Object>> inventoryTooList = cuttingReceiveService.getInventoryToolList(pageNo, pageSize, params);
         return Result.ok(inventoryTooList);
     }
+
+    @GetMapping("/submit")
+    @Timed(value = "cutting.inbound.submit", description = "鍒�鍏峰叆搴撴彁浜よ�楁椂")
+    public Result<?> submit(@RequestParam("orderId") String orderId) {
+        return cuttingReceiveService.submit(orderId);
+    }
+
+    @GetMapping("/handleBack")
+    public Result<?> handleBack(@RequestParam("orderId") String orderId) {
+        return cuttingReceiveService.handleBack(orderId);
+    }
 }

--
Gitblit v1.9.3