From 870eb7cb47e510594d5d0937f14e5a3f7739cd77 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期二, 14 五月 2024 19:28:51 +0800
Subject: [PATCH] # 库位状态

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   79 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 76 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 258565f..5c2a65e 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
+import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
@@ -55,13 +56,25 @@
         int wrkNo = agvWrkMast.getWrkNo();
         String barcode = agvWrkMast.getBarcode();
         String orderNo = getOrderNoByWrkNo(wrkNo);
+        String agvBasDevp = "";
+        if (agvWrkMast.getIoType() > 100) {
+            agvBasDevp = agvWrkMast.getLocNo();
+        } else {
+            agvBasDevp = agvWrkMast.getSourceLocNo();
+        }
+
 
         //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
         agvWrkMast.setWrkSts(207L);
         agvWrkMastService.updateById(agvWrkMast);
         // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
         String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
-        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+        if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+        } else {
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+        }
+
         //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
         agvWrkMastLogService.save(agvWrkMast);
         //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
@@ -78,12 +91,26 @@
             agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
         }
         //绫诲瀷涓哄簱浣嶇Щ杞椂
-        if(agvWrkMast.getIoType() == 11){
+        if(agvWrkMast.getIoType() == 11 || agvWrkMast.getIoType() == 12){
             //鏇存柊搴撳瓨鏄庣粏
             agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
             //淇敼婧愬簱浣嶇姸鎬佷负O
             agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
         }
+
+        //绫诲瀷涓哄簱浣嶇Щ杞椂
+        if(agvWrkMast.getIoType() == 108){
+            //鏇存柊搴撳瓨鏄庣粏
+            agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+            //淇敼婧愬簱浣嶇姸鎬佷负O
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+        }
+
+        if(agvWrkMast.getIoType() == 109){
+            //淇敼婧愬簱浣嶇姸鎬佷负O
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0);
+        }
+
 
         //鍒犻櫎AGV宸ヤ綔妗�
         agvWrkMastService.deleteById(wrkNo);
@@ -119,7 +146,53 @@
             agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
             //鐢熸垚绌烘澘鍏ュ簱浠诲姟
             Short containerType = Short.valueOf(agvWrkMast.getBarcode().substring(0, 2));
-            agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+            try {
+                agvWorkService.emptyPlateIn(agvWrkMast.getLocNo(),agvWrkMast.getBarcode(),containerType,9527L,true);
+            }catch (Exception e){
+                e.printStackTrace();
+                log.error(e.getMessage());
+            }
+        }
+
+        //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+        agvWrkMastLogService.save(agvWrkMast);
+        //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+        agvWrkDetlLogService.save(wrkNo);
+        //鍒犻櫎AGV宸ヤ綔妗�
+        agvWrkMastService.deleteById(wrkNo);
+        //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+        if(!isJSON(orderNo)){
+            //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
+            orderService.checkComplete(orderNo);
+        }else{
+            List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
+            maps.forEach(map -> {
+                String o = map.get("orderNo").toString();
+                orderService.checkComplete(o);
+            });
+        }
+        return SUCCESS;
+    }
+
+    @Transactional
+    public ReturnT<String> completedCarryWrk2(AgvWrkMast agvWrkMast) {
+        int wrkNo = agvWrkMast.getWrkNo();
+        String orderNo = getOrderNoByWrkNo(wrkNo);
+        String agvBasDevp = "";
+        if (agvWrkMast.getIoType() > 100) {
+            agvBasDevp = agvWrkMast.getLocNo();
+        } else {
+            agvBasDevp = agvWrkMast.getSourceLocNo();
+        }
+        //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+        agvWrkMast.setWrkSts(207L);
+        agvWrkMastService.updateById(agvWrkMast);
+        //淇敼婧愬簱浣嶇姸鎬佷负O
+        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+        if(agvWrkMast.getIoType() == 101){
+            //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+            agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
         }
 
         //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�

--
Gitblit v1.9.1