From a6f97ff678665c497645911077c65395c6c01a6e Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 26 十月 2023 16:28:55 +0800
Subject: [PATCH] 库存调整单据修改

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   40 ++++++++++++++++++++++------------------
 1 files changed, 22 insertions(+), 18 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 1ed3d71..0430850 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -9,12 +9,14 @@
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.OrderDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.model.TaskDto;
 import com.zy.common.service.AgvCommonService;
 import com.zy.common.web.BaseController;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -23,7 +25,6 @@
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
-import java.util.UUID;
 
 /**
  * Created by vincent on 2020/6/11
@@ -69,7 +70,8 @@
     鍏ュ簱
      */
     @Transactional
-    public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId) {
+    @Synchronized
+    public StartupDto createWaitPainWrkMastStart(List<AgvBasDevp> agvBasDevpList, Long userId, boolean isConveyor) {
 
         Date now = new Date();
 
@@ -88,7 +90,9 @@
             AgvLocMast agvLocMast = agvCommonService.getLocNo(agvWaitPakinList, agvBasDevp.getFloor());
             //鐢熸垚宸ヤ綔妗�
             //AgvWrkMast wrkMast = createWrkMast(agvBasDevp, agvLocMast, now, userId);
-            AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId);
+            AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, isConveyor);
+            //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
+            wrkMast.setMk(isConveyor ? "Y" : "N");
             //鐢熸垚宸ヤ綔妗f槑缁�
             //createWrkDetlReWrite(agvWaitPakinList,wrkMast,userId);
             agvWaitPakinList.forEach(wp -> {
@@ -134,7 +138,7 @@
             //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
             int ioType = isPakOut(sourceLocNo,anfme) ?  101 : 103;
             //鐢熸垚宸ヤ綔妗�
-            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId);
+            AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId,false);
             //鐢熸垚宸ヤ綔妗f槑缁�
             createWrkDetlReWrite(mantr,wrkMast.getWrkNo(),orderNo,batch,anfme,barcode,now,userId,csocode,isoseq);
             //淇敼璁㈠崟淇℃伅
@@ -175,10 +179,10 @@
             //鎷f枡鍏ュ簱
             if(ioType == 53){
                 //淇敼宸ヤ綔鍏氭槑缁�
-                agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
-                agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
+                //agvWrkDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
+                //agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
                 //淇敼搴撳瓨淇℃伅
-                agvLocDetl.setAnfme(agvWrkDetl.getAnfme());
+                agvLocDetl.setAnfme(agvLocDetl.getAnfme() - agvWrkDetl.getAnfme());
                 agvLocDetlService.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no",agvLocDetl.getLocNo()));
             }
             //淇敼搴撲綅淇℃伅
@@ -212,7 +216,7 @@
             Date now = new Date();
 
             //鐢熸垚宸ヤ綔鍏�
-            AgvWrkMast wrkMast = createWrkMast(107, 21L, locDetl.getLocNo(), agvBasDevp.getDevNo(), agvLocDetl.getSuppCode(), now, userId);
+            AgvWrkMast wrkMast = createWrkMast(107, 21L, locDetl.getLocNo(), agvBasDevp.getDevNo(), agvLocDetl.getSuppCode(), now, userId,false);
             //鐢熸垚宸ヤ綔鏄庣粏妗�
             createWrkDetlReWrite(locDetl.getMatnr(),wrkMast.getWrkNo(),null,locDetl.getBatch(),locDetl.getCount(),wrkMast.getBarcode(),now,userId,agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
             //淇敼搴撲綅淇℃伅
@@ -242,7 +246,7 @@
 
         Date now = new Date();
         //鐢熸垚绉诲簱宸ヤ綔妗�
-        AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId);
+        AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,false);
         //鐢熸垚宸ヤ綔鍏氭槑缁�
         createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime());
         //淇敼鐩爣搴撲綅鐘舵��
@@ -265,7 +269,7 @@
         // 妫�绱㈠簱浣�
         AgvLocMast locMast = agvCommonService.getLocNo(null, agvBasDevp.getFloor());
         // 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱
-        createWrkMast(10,201L,agvBasDevp.getDevNo(),locMast.getLocNo(),null,now,userId);
+        createWrkMast(10,201L,agvBasDevp.getDevNo(),locMast.getLocNo(),null,now,userId,false);
         //鏇存柊婧愮珯鐐圭姸鎬�
         updateAgvBasDevp(agvBasDevp,"R");
         //鏇存柊鐩爣搴撲綅鐘舵��
@@ -296,7 +300,7 @@
                     .eq("station_code", param.getStationCode())
                     .eq("loc_sts", "O"));
             //鐢熸垚宸ヤ綔妗�
-            createWrkMast(110,21L,locNo,agvBasDevp.getDevNo(),null,now,userId);
+            createWrkMast(110,21L,locNo,agvBasDevp.getDevNo(),null,now,userId,false);
             //淇敼婧愬簱浣嶇姸鎬�
             updateAgvLocMast(agvLocMast,"R");
             //淇敼鐩爣宸ヤ綔浣嶇姸鎬�
@@ -348,8 +352,8 @@
                         adjDetl.setAppeTime(now);
                         adjDetl.setAppeUser(userId);
 
-                        UUID uuid = UUID.randomUUID();
-                        adjDetl.setOrderNo(uuid.toString());
+                        adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
+
                         adjDetl.setCsocode(locDetl.getThreeCode());
                         adjDetl.setIsoseq(locDetl.getDeadTime());
 
@@ -378,6 +382,7 @@
             adjDetl.setModiUser(userId);
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
+            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
 
             adjDetlService.save(adjDetl, userId);
         }
@@ -412,8 +417,7 @@
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
 
-            UUID uuid = UUID.randomUUID();
-            adjDetl.setOrderNo(uuid.toString());
+            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
             adjDetl.setCsocode(locDetl.getThreeCode());
             adjDetl.setIsoseq(locDetl.getDeadTime());
 
@@ -592,7 +596,7 @@
     /*
     鐢熸垚宸ヤ綔妗�
      */
-    private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode,  Date now, Long userId){
+    private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode,  Date now, Long userId, boolean isConveyor){
         AgvWrkMast wrkMast = new AgvWrkMast();
         //鐢熸垚宸ヤ綔鍙�
 //        int workNo = agvCommonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
@@ -610,6 +614,8 @@
         wrkMast.setLocNo(locNo);
         //瀹瑰櫒缂栫爜
         wrkMast.setBarcode(barcode);
+        //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
+        wrkMast.setMk(isConveyor ? "Y" : "N");
         // 婊℃澘锛歒
         //wrkMast.setFullPlt("Y");
         // 鎷f枡
@@ -727,8 +733,6 @@
                 orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
             }
         }
-
-
     }
 
 }

--
Gitblit v1.9.1