From f1a1915b575c435f7172fdb59d48e13726ff4ff0 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 29 五月 2024 16:29:07 +0800
Subject: [PATCH] # 调拨单同步锁

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index a5eb8c6..97933e9 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -599,14 +599,29 @@
             //鐩爣搴撲綅
             String locNo = wrkMast.getLocNo();
             agvLocMastService.updateLocStsByLocNo(locNo,"O","",null);
-            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+            if (wrkMast.getIoType() == 58) {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
+            } else {
+                agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",wrkMast.getWhsType().shortValue());
+            }
+
             if (wrkMast.getIoType() == 1) {
                 List<AgvWaitPakin> agvWaitPakins = agvWaitPakinService.selectByContainerCode2(wrkMast.getBarcode());
+
                 for (AgvWaitPakin agvWaitPakin : agvWaitPakins) {
-                    if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSupp()))) {
+                    // 鍥炴粴鍏ュ簱璁㈠崟
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvWaitPakin.getThreeCode()).eq("matnr", agvWaitPakin.getMatnr()).eq("order_no", agvWaitPakin.getOrderNo()));
+                    orderDetl.setQty(orderDetl.getQty() - agvWaitPakin.getAnfme());
+                    if (!orderDetlService.updateById(orderDetl)) {
+                        throw new CoolException("璁㈠崟鍥炴粴澶辫触");
+                    }
+                    // 鍒犻櫎缁勬墭妗�
+                    if (!agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",agvWaitPakin.getSuppCode()).eq("matnr",agvWaitPakin.getMatnr()).eq("three_code",agvWaitPakin.getThreeCode()))) {
                         throw new CoolException("鍏ュ簱閫氱煡妗e彇娑堝け璐�");
                     }
                 }
+
+
             }
 
 
@@ -934,6 +949,27 @@
         }
     }
 
+    @Override
+    @Transactional
+    public void changeType(String workNo, Long userId) {
+        AgvWrkMast wrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+        if (Cools.isEmpty(wrkMast)) {
+            throw new CoolException("鏆傛棤\n" + workNo + "\n宸ヤ綔");
+        }
+        if (wrkMast.getWrkSts() != 22) {
+            throw new CoolException("褰撳墠浠诲姟宸插垎閰嶇洰鏍囧簱浣嶏紝鏆備笉鏀寔璋冩暣");
+        }
+        if (wrkMast.getIoType() == 108) {
+            wrkMast.setIoType(111);
+            agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+        } else if(wrkMast.getIoType() == 111) {
+            wrkMast.setIoType(108);
+            agvWrkMastService.update(wrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no", workNo));
+        }
+
+
+    }
+
     private void addInQty(String devno){
         AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devno);
         if(!Cools.isEmpty(agvBasDevp)){

--
Gitblit v1.9.1