From c65db22f67af8018ae7105ea00d8743e42835e13 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期六, 29 三月 2025 15:52:09 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/controller/AgvWaitPakinController.java |   46 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvWaitPakinController.java b/src/main/java/com/zy/asrs/controller/AgvWaitPakinController.java
index 7a29307..5be7616 100644
--- a/src/main/java/com/zy/asrs/controller/AgvWaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvWaitPakinController.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -10,13 +11,17 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.AgvBasDevp;
 import com.zy.asrs.entity.AgvWaitPakin;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.service.AgvBasDevpService;
 import com.zy.asrs.service.AgvWaitPakinService;
+import com.zy.asrs.service.OrderDetlService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
@@ -32,6 +37,8 @@
     private AgvWaitPakinService agvWaitPakinService;
     @Autowired
     private AgvBasDevpService agvBasDevpService;
+    @Autowired
+    private OrderDetlService orderDetlService;
 
     @RequestMapping(value = "/waitPakin/{id}/auth")
     @ManagerAuth
@@ -80,7 +87,7 @@
 	@ManagerAuth
     public R update(AgvWaitPakin waitPakin){
         if (Cools.isEmpty(waitPakin)){
-            return R.error();
+            return R.error("鍙傛暟缂哄け");
         }
         agvWaitPakinService.updateById(waitPakin);
         return R.ok();
@@ -88,17 +95,44 @@
 
     @RequestMapping(value = "/waitPakin/delete/auth")
     @ManagerAuth
+    @Transactional
     public R delete(@RequestParam String param){
         List<AgvWaitPakin> list = JSONArray.parseArray(param, AgvWaitPakin.class);
         if (Cools.isEmpty(list)){
-            return R.error();
+            return R.error("鍙傛暟缂哄け");
         }
         for (AgvWaitPakin entity : list){
             AgvBasDevp agvBasDevp = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", entity.getSuppCode()));
-            if(Cools.isEmpty(agvBasDevp)){
-                agvWaitPakinService.delete(new EntityWrapper<>(entity));
-            }else {
-                return R.error("鏂欑鐮佷负" + entity.getSuppCode() + "宸茬粦瀹氱珯鐐癸紝璇峰厛浠嶢GV绔欑偣绠$悊瑙g粦璇ユ枡绠�");
+
+            if(!Cools.isEmpty(agvBasDevp)){
+                if(!Cools.eq("F",agvBasDevp.getLocSts())){
+                    throw new CoolException("璇ュ叆搴撻�氱煡妗e凡缁忓湪浣滀笟涓紝鏃犳硶鍒犻櫎");
+                }
+                //瑙g粦绔欑偣
+                agvBasDevp.setLocSts("O");
+                agvBasDevp.setBarcode("");
+                agvBasDevp.setLocType2(null);
+                agvBasDevpService.update(agvBasDevp,new EntityWrapper<AgvBasDevp>().eq("dev_no",agvBasDevp.getDevNo()));
+            }
+            agvWaitPakinService.delete(new EntityWrapper<>(entity));
+
+            //璁㈠崟鍥炴粴
+            if(!Cools.isEmpty(entity.getOrderNo())){
+                String orderNo = entity.getOrderNo();
+                if(orderNo.contains("{")){
+                    JSONArray orderArray = JSON.parseArray(orderNo);
+                    for (Object o : orderArray){
+                        JSONObject jsonobject = (JSONObject) o;
+                        OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(jsonobject.get("orderNo").toString(),entity.getMatnr(),entity.getThreeCode(),entity.getDeadTime());
+                        orderDetl.setQty(orderDetl.getQty() - entity.getAnfme());
+                        orderDetlService.updateById(orderDetl);
+                    }
+
+                }else {
+                    OrderDetl orderDetl = orderDetlService.selectByOrderNoAndMatnr(entity.getOrderNo(),entity.getMatnr(),entity.getThreeCode(),entity.getDeadTime());
+                    orderDetl.setQty(orderDetl.getQty() - entity.getAnfme());
+                    orderDetlService.updateById(orderDetl);
+                }
             }
 
         }

--
Gitblit v1.9.1