From 07fc18f77a9764bd47857e30d65abc03cc1e439c Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期五, 08 十一月 2024 16:21:56 +0800
Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   65 +++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 19 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 f40d65e..722ec96 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -105,7 +105,7 @@
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
             AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(),agvBasDevp.getFloor(),false,false);
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2());
+            AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2(),agvLocMast.getPltType());
             //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
             wrkMast.setMk(isConveyor ? "Y" : "N");
             //鐢熸垚宸ヤ綔妗f槑缁�
@@ -144,11 +144,11 @@
             //String barcode = agvLocDetls.get(0).getSuppCode();
             String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
 
-
+            AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
             //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
             int ioType = isPakOut(sourceLocNo,taskDto) ?  101 : 103;
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
             //鐢熸垚宸ヤ綔妗f槑缁�
             long flowId = snowflakeIdWorker.nextId();
             taskDto.getLocDtos().forEach(locDto -> {
@@ -250,11 +250,11 @@
             //String barcode = agvLocDetls.get(0).getSuppCode();
             String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
 
-
+            AgvLocMast agvLocMast = agvLocMastService.selectById(sourceLocNo);
             //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
             int ioType = 107;
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)));
+            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,Short.valueOf(containerCode.substring(0,2)),agvLocMast.getPltType());
             //鐢熸垚宸ヤ綔妗f槑缁�
             long flowId = snowflakeIdWorker.nextId();
             taskDto.getLocDtos().forEach(locDto -> {
@@ -424,7 +424,7 @@
             int containerType = getContainerTypeByloc(taskDto.getLocNo());
 
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType);
+            AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType,null);
             //鐢熸垚宸ヤ綔妗f槑缁�
             taskDto.getLocDtos().forEach(locDto -> {
                 //鏄庣粏妗f墍闇�鍙傛暟
@@ -467,7 +467,7 @@
         Date now = new Date();
 
         //鐢熸垚绉诲簱宸ヤ綔妗�
-        AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo));
+        AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo),targetLocMast.getPltType());
         //鐢熸垚宸ヤ綔鍏氭槑缁�
         createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
         //淇敼鐩爣搴撲綅鐘舵��
@@ -586,7 +586,7 @@
             String locNo = agvLocMast.getLocNo();
 
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType);
+            AgvWrkMast wrkMast = createWrkMast(1,201L,devNo,locNo,containerCode,now,userId, containerType,agvLocMast.getPltType());
             //鐢熸垚宸ヤ綔妗f槑缁�
             long flowId = snowflakeIdWorker.nextId();
             agvWaitPakinList.forEach(wp -> {
@@ -604,7 +604,7 @@
             }
             agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),true,true);
             // 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱
-            createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType);
+            createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType,agvLocMast.getPltType());
             //鏇存柊婧愮珯鐐圭姸鎬�
             updateAgvBasDevp(agvBasDevp,"R",containerType,containerCode);
         }
@@ -613,6 +613,7 @@
         updateAgvLocMast(agvLocMast,"S");
         return agvLocMast.getLocNo();
     }
+
     /*
     绌烘澘鍑哄簱
      */
@@ -642,7 +643,7 @@
             throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
         }
         //鐢熸垚宸ヤ綔妗�
-        createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType);
+        createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType,agvLocMast.getPltType());
 
         //淇敼婧愬簱浣嶇姸鎬�
         updateAgvLocMast(agvLocMast,"R");
@@ -689,6 +690,7 @@
                         adjDetl.setLocNo(locDetl.getLocNo());
                         adjDetl.setMatnr(locDetl.getMatnr());
                         adjDetl.setBatch(locDetl.getBatch());
+                        adjDetl.setMaktx(locDetl.getMaktx());
                         adjDetl.setOriQty(locDetl.getAnfme());
                         adjDetl.setAdjQty(adjust.getCount());
                         adjDetl.setModiTime(now);
@@ -720,6 +722,7 @@
             adjDetl.setLocNo(locDetl.getLocNo());
             adjDetl.setMatnr(locDetl.getMatnr());
             adjDetl.setBatch(locDetl.getBatch());
+            adjDetl.setMaktx(locDetl.getMaktx());
             adjDetl.setOriQty(locDetl.getAnfme());
             adjDetl.setAdjQty(0.0D);
             adjDetl.setModiTime(now);
@@ -756,6 +759,7 @@
             adjDetl.setLocNo(locMast.getLocNo());
             adjDetl.setMatnr(adjust.getMatnr());
             adjDetl.setBatch(adjust.getBatch());
+            adjDetl.setMaktx(locDetl.getMaktx());
             adjDetl.setOriQty(0.0D);
             adjDetl.setAdjQty(adjust.getCount());
             adjDetl.setModiTime(now);
@@ -1008,15 +1012,15 @@
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
                 String targetLocNo = wrkMast.getLocNo();
-                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
+                agvLocMastService.updateLocStsByLocNo(locNo, "F", wrkMast.getBarcode(), (short) getContainerTypeByloc(locNo), "", (short) 0);
                 if (wrkMast.getIoType() == 108) {
                     if (wrkMast.getWrkSts() != 22) {
-                        agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                        agvLocMastService.updateLocStsByLocNo(targetLocNo, "O", "", null);
                     }
                 } else {
                     if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) {
                         if (wrkMast.getWrkSts() != 22) {
-                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo, "O", "", wrkMast.getWhsType().shortValue());
                         }
                     } else {
                         throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
@@ -1028,10 +1032,10 @@
                 List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
                 // 鏇存柊璁㈠崟
                 for (AgvLocDetl agvLocDetl : agvLocDetls) {
-                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
                     orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
-                    if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
-                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+                    if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
+                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
                     }
 //                    FlowLog flowLog = new FlowLog();
 //                    flowLog.setFid(String.valueOf(flowId));
@@ -1060,6 +1064,27 @@
 //                    if (!flowLogService.insert(flowLog)) {
 //                        throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
 //                    }
+                }
+
+                // 鍥炴祦鍗曞彇娑�
+            } else if (wrkMast.getIoType() == 114) {
+                //婧愬簱浣�
+                String locNo = wrkMast.getSourceLocNo();
+                // 鐩爣搴撲綅
+                String targetLocNo = wrkMast.getLocNo();
+                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+                agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                // 婧愬簱浣� 搴撲綅涓绘。
+                AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+                AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
+                // 褰撳墠浠诲姟鏄法灞傜Щ搴�  涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
+                List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+                for (AgvLocDetl agvLocDetl : agvLocDetls) {
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 17));
+                    orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+                    if (!orderDetlService.updateById(orderDetl)) {
+                        throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+                    }
                 }
                 //鍑哄簱鍙栨秷
             } else {
@@ -1104,7 +1129,7 @@
 
             }
 
-            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
+            if(wrkMast.getIoType() != 114 && wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
                 //璁㈠崟鍥炴粴
                 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                 List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
@@ -1225,6 +1250,7 @@
         wrkDetl.setAppeTime(now);
         wrkDetl.setModiUser(userId);
         wrkDetl.setModiTime(now);
+
         wrkDetl.setThreeCode(csocode);
         wrkDetl.setDeadTime(isoseq);
         if (!agvWrkDetlService.insert(wrkDetl)) {
@@ -1264,7 +1290,7 @@
     /*
     鐢熸垚宸ヤ綔妗�
      */
-    private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode,  Date now, Long userId, int containerType){
+    private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode,  Date now, Long userId, int containerType,Integer pltType){
         AgvWrkMast wrkMast = new AgvWrkMast();
         //宸ヤ綔鐘舵��
         wrkMast.setWrkSts(wrkSts);
@@ -1286,6 +1312,7 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
+        wrkMast.setPltType(pltType);
         wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
 
         if (!agvWrkMastService.insertByIncrease(wrkMast)) {
@@ -1400,4 +1427,4 @@
 
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1