From 8808ebb9bb3eb8e6bc9ed8bfc6cfaf53e63d6614 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 02 十一月 2023 16:44:20 +0800
Subject: [PATCH] 日志统计

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   99 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 64 insertions(+), 35 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 8084635..a616b3d 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.exception.CoolException;
 import com.zy.asrs.entity.AgvLocDetl;
 import com.zy.asrs.entity.AgvWaitPakin;
 import com.zy.asrs.entity.AgvWrkDetl;
@@ -10,6 +11,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -18,6 +20,7 @@
 import java.util.List;
 import java.util.Map;
 
+@Slf4j
 @Service
 public class AgvWrkMastHandler extends AbstractHandler<String> {
 
@@ -46,28 +49,44 @@
         String barcode = agvWrkMast.getBarcode();
         String orderNo = getOrderNoByWrkNo(wrkNo);
 
-        //淇敼宸ヤ綔妗g姸鎬佷负206.搴撳瓨鏇存柊瀹屾垚
-        agvWrkMast.setWrkSts(206L);
+        //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+        agvWrkMast.setWrkSts(207L);
         agvWrkMastService.updateById(agvWrkMast);
-        //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
-        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F");
+        if(agvWrkMast.getIoType() == 10){
+            // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D");
+        }else{
+            //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F");
+        }
         //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
-        agvWrkMastLogService.save(wrkNo);
+        agvWrkMastLogService.save(agvWrkMast);
         //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
         agvWrkDetlLogService.save(wrkNo);
+        //绫诲瀷涓哄叆搴撴椂
+        if(agvWrkMast.getIoType() == 1){
+            //鏇存柊鐩爣搴撲綅鏄庣粏
+            log.info("鏇存柊鐩爣搴撲綅鏄庣粏 agvWrkMast.getLocNo(): " + agvWrkMast.getLocNo() + ", wrkNo: " + wrkNo);
+            agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
+            //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
+            boolean save = agvWaitPakinLogService.save(barcode);
+            //鍒犻櫎鍏ュ簱閫氱煡妗�
+            log.info("鍒犻櫎鍏ュ簱閫氱煡妗� supp_code: " + barcode);
+            agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("supp_code",barcode));
+        }
+        //绫诲瀷涓哄簱浣嶇Щ杞椂
+        if(agvWrkMast.getIoType() == 11){
+            //鏇存柊搴撳瓨鏄庣粏
+            agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo());
+            //淇敼婧愬簱浣嶇姸鎬佷负O
+            agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
+        }
+
         //鍒犻櫎AGV宸ヤ綔妗�
         agvWrkMastService.deleteById(wrkNo);
         //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
         agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
-        if(agvWrkMast.getIoType() == 1){
-            //鏇存柊鐩爣搴撲綅鏄庣粏
-            agvLocDetlService.addLocDetlInfo(agvWrkMast.getLocNo(),wrkNo);
-            //鐢熸垚鍏ュ簱閫氱煡鍘嗗彶妗�
-            agvWaitPakinLogService.save(barcode);
-            //鍒犻櫎鍏ュ簱閫氱煡妗�
-            agvWaitPakinService.delete(new EntityWrapper<AgvWaitPakin>().eq("zpallet",barcode));
 
-        }
         if(!isJSON(orderNo)){
             //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
             orderService.checkComplete(orderNo);
@@ -82,19 +101,23 @@
         return SUCCESS;
     }
 
+
     @Transactional
     public ReturnT<String> completedCarryWrk(AgvWrkMast agvWrkMast) {
         int wrkNo = agvWrkMast.getWrkNo();
         String orderNo = getOrderNoByWrkNo(wrkNo);
-        //淇敼宸ヤ綔妗g姸鎬佷负206.搴撳瓨鏇存柊瀹屾垚
-        agvWrkMast.setWrkSts(206L);
+        //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+        agvWrkMast.setWrkSts(207L);
         agvWrkMastService.updateById(agvWrkMast);
         //淇敼婧愬簱浣嶇姸鎬佷负O
         agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O");
-        //鏇存柊鐩爣搴撲綅鏄庣粏
-        agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+        if(agvWrkMast.getIoType() == 101){
+            //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+            agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+        }
+
         //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
-        agvWrkMastLogService.save(wrkNo);
+        agvWrkMastLogService.save(agvWrkMast);
         //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
         agvWrkDetlLogService.save(wrkNo);
         //鍒犻櫎AGV宸ヤ綔妗�
@@ -117,22 +140,34 @@
     @Transactional
     public ReturnT<String> startPutWayWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
 
-        int startWwrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+        //涓嬪彂浠诲姟
+        int startWrkCode = agvWrkMastService.startWrk(agvWrkMastList,"putaway");
+        if(startWrkCode != 0){
+            throw new CoolException("浠诲姟涓嬪彂澶辫触");
+        }
 
-        int code = agvWrkMastService.containerMove(agvWrkMastList);
+        //涓嬪彂瀹瑰櫒鍏ュ満鎸囦护 锛堢紦瀛樿揣鏋讹級
+        int code = agvWrkMastService.containerMoveIn(agvWrkMastList);
 
         if(code == 0){
-            agvWrkMastList.forEach(agvWrkMast -> {
+            for(AgvWrkMast agvWrkMast : agvWrkMastList){
+                //涓嬪彂瀹瑰櫒杈惧埌閫氱煡 锛堣緭閫佺嚎锛�
+                if("Y".equals(agvWrkMast.getMk())){
+                    int containerArrivedCode = agvWrkMastService.containerArrived(agvWrkMast);
+                    if(containerArrivedCode != 0){
+                        log.error("瀹瑰櫒鍒拌揪鎸囦护涓嬪彂澶辫触");
+                        continue;
+                    }
+                }
+
                 //202.RCS鍙栬揣涓�
-                agvWrkMast.setWrkSts((long)202);
+                agvWrkMast.setWrkSts(202L);
                 agvWrkMastService.updateById(agvWrkMast);
                 if(agvWrkMast.getIoType() == 1){
                     //淇敼AGV鍏ュ簱閫氱煡妗g姸鎬佸叆鍑虹姸鎬佷负Y
                     agvWaitPakinService.updateIoStatus(agvWrkMast.getWrkNo(),"Y");
                 }
-
-            });
-            //agvWrkMastService.updateBatchById(agvWrkMastList);
+            }
 
             return SUCCESS;
         }
@@ -146,7 +181,7 @@
         if(code == 0){
             agvWrkMastList.forEach(agvWrkMast -> {
                 //202.RCS鍙栬揣涓�
-                agvWrkMast.setWrkSts((long)202);
+                agvWrkMast.setWrkSts(202L);
                 agvWrkMastService.updateById(agvWrkMast);
             });
             //agvWrkMastService.updateBatchById(agvWrkMastList);
@@ -159,16 +194,10 @@
 
     private String getOrderNoByWrkNo(int wrkNo){
         AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkNo));
+        if(Cools.isEmpty(agvWrkDetl)){
+            return null;
+        }
         return agvWrkDetl.getOrderNo();
-    }
-
-    public static void main(String[] args) {
-        String order = "[{\"anfme\":50.0,\"orderNo\":\"CS110011001111\"},{\"anfme\":50.0,\"orderNo\":\"CS110011001110\"}]";
-        List<Map> maps = JSONArray.parseArray(order, Map.class);
-        maps.forEach(map -> {
-            Object orderNo = map.get("orderNo");
-            System.out.println(orderNo );
-        });
     }
 
     private boolean isJSON(String str) {

--
Gitblit v1.9.1