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 |  100 +++++++++++++++++++++++--------------------------
 1 files changed, 47 insertions(+), 53 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 2118fb9..722ec96 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -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)),null);
+            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)),null);
+            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 -> {
@@ -353,12 +353,21 @@
             String locNo = agvWrkMast.getLocNo();
             agvWrkMast.setLocNo(agvWrkMast.getSourceLocNo());
             agvWrkMast.setSourceLocNo(locNo);
-            agvWrkMast.setModiTime(new Date());
+            agvWrkMast.setModiTime(now);
             agvWrkMast.setIoTime(now);
             agvWrkMast.setLogErrMemo("createWaitPainWrkMastStart");
             agvWrkMastService.updateById(agvWrkMast);
 
             List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", agvWrkMast.getWrkNo()));
+            for (AgvWrkDetl agvWrkDetl : agvWrkDetlList) {
+                agvWrkDetl.setIoTime(now);
+                boolean bl = agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>()
+                        .eq("wrk_no", agvWrkDetl.getWrkNo())
+                        .eq("matnr",agvWrkDetl.getMatnr())
+                        .eq("order_no",agvWrkDetl.getOrderNo())
+                        .eq("three_code",agvWrkDetl.getThreeCode()));
+//                        .eq("dead_time",agvWrkDetl.getDeadTime()));
+            }
             AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
             //List<AgvLocDetl> agvLocDetlList = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocMast.getLocNo()));
             AgvBasDevp agvBasDevp = agvBasDevpService.selectById(agvWrkMast.getSourceLocNo());
@@ -460,19 +469,7 @@
         //鐢熸垚绉诲簱宸ヤ綔妗�
         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()
-        );
+        createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime(),sourceLocDetl.getProcessSts());
         //淇敼鐩爣搴撲綅鐘舵��
         updateAgvLocMast(targetLocMast,"S");
         //淇敼鍘熷簱浣嶇姸鎬�
@@ -594,34 +591,6 @@
             long flowId = snowflakeIdWorker.nextId();
             agvWaitPakinList.forEach(wp -> {
                 createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime(),wp.getProcessSts());
-                // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
-                OrderDetl orderDetl = orderDetlService.selectItem(wp.getOrderNo(), wp.getMatnr(), wp.getThreeCode());
-//                FlowLog flowLog = new FlowLog();
-//                flowLog.setFid(String.valueOf(flowId));
-//                flowLog.setSpare2(wrkMast.getWrkNo().toString());
-//                flowLog.setLocNo(locNo);
-//                flowLog.setSpare1(containerCode);
-//                flowLog.setOpType(3L);
-//                flowLog.setOrderNo(wp.getOrderNo());
-//                flowLog.setThreeCode(wp.getThreeCode());
-//                flowLog.setMatnr(wp.getMatnr());
-//                flowLog.setMaktx(wp.getMaktx());
-//                flowLog.setOrderPrevious(orderDetl.getAnfme());
-//                flowLog.setOrderCurrent(orderDetl.getAnfme());
-//                flowLog.setOrderChanged(0.0);
-//                flowLog.setQtyPrevious(orderDetl.getQty()-wp.getAnfme());
-//                flowLog.setQtyCurrent(orderDetl.getQty());
-//                flowLog.setQtyChanged(wp.getAnfme());
-//
-//                flowLog.setLocPrevious(0.0D);
-//                flowLog.setLocCurrent(wp.getAnfme());
-//                flowLog.setLocChanged(wp.getAnfme());
-//
-//                flowLog.setUserId(userId);
-//                flowLog.setAppeTime(now);
-//                if (!flowLogService.insert(flowLog)) {
-//                    throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
-//                }
             });
             //淇敼鍏ュ簱閫氱煡妗g姸鎬�
             agvWaitPakinService.updateIoStatus(containerCode,"Y");
@@ -721,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);
@@ -752,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);
@@ -788,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);
@@ -1040,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("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
@@ -1060,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));
@@ -1092,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 {
@@ -1136,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()));
@@ -1321,6 +1314,7 @@
         wrkMast.setModiTime(now);
         wrkMast.setPltType(pltType);
         wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
+
         if (!agvWrkMastService.insertByIncrease(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }

--
Gitblit v1.9.1