From 728e14723ba5a26f95cf099cac3a0d1853aea34b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期三, 11 六月 2025 10:46:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ed93308..35de60e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -20,6 +20,7 @@
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
+import com.zy.common.utils.YyyyMmddUtils;
 import com.zy.common.web.WcsController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -165,6 +166,10 @@
     @Transactional
     public void startupFullTakeStore(StockOutParam param, Long userId) {
         // 鐩爣绔欑偣鐘舵�佹娴�
+        Date now = param.getNowTime();
+        if (Cools.isEmpty(now)){
+            now = new Date();
+        }
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
         // 鑾峰彇搴撲綅鏄庣粏
         List<LocDetlDto> locDetlDtos = new ArrayList<>();
@@ -180,6 +185,7 @@
             LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
             if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
                 // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+                staNo.setModiTime(now);
                 stockOut(staNo, locDetlDtos, null, userId);
             }else {
                 throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
@@ -349,12 +355,12 @@
             int i=0;
             for (StockOutParam.LocDetl locDetl : locDetls) {
                 i++;
-                Mat mat = matService.selectByMatnr(locDetl.getMatnr());
-                if (Cools.isEmpty(mat)) {
-                    throw new CoolException(locDetl.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
-                }
+//                Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+//                if (Cools.isEmpty(mat)) {
+//                    throw new CoolException(locDetl.getMatnr() + "鐗╂枡缂栫爜妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+//                }
                 OrderDetlGift orderDetl = new OrderDetlGift();
-                orderDetl.sync(mat);
+//                orderDetl.sync(mat);
                 orderDetl.setSuppCode(String.valueOf(i));  // 琛屽彿
                 orderDetl.setManu(locDetl.getLocNo());  //搴撲綅鍙�
                 orderDetl.setBatch(locDetl.getBatch()); //鏈ㄧ缂栫爜
@@ -394,6 +400,7 @@
     @Transactional
     public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
         Date now = new Date();
+        Date nowPri = staNo.getModiTime();
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
         List<OutLocDto> dtos = new ArrayList<>();
@@ -439,8 +446,10 @@
             wrkMast.setWrkNo(workNo);
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+
+            double pri = YyyyMmddUtils.convertPriD(nowPri);
             wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
-            wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+            wrkMast.setIoPri(pri); // 浼樺厛绾э細13
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -513,12 +522,14 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         // 鐢熸垚宸ヤ綔妗�
+        double pri = YyyyMmddUtils.convertPriD(new Date());
+
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
-        wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+        wrkMast.setIoPri(pri); // 浼樺厛绾э細13
         wrkMast.setCrnNo(locMast.getCrnNo());
         wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
         wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -670,7 +681,7 @@
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
-            wrkMast.setIoPri(10D);
+            wrkMast.setIoPri(99999999D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
@@ -732,7 +743,7 @@
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
-            wrkMast.setIoPri(10D);
+            wrkMast.setIoPri(99999999D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
@@ -767,6 +778,10 @@
     @Override
     @Transactional
     public void locCheckOut(StockOutParam param, Long userId) {
+        Date now = param.getNowTime();
+        if (Cools.isEmpty(now)){
+            now = new Date();
+        }
         // 鐩爣绔欑偣鐘舵�佹娴�
         BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
         // 鑾峰彇搴撲綅鏄庣粏
@@ -782,6 +797,7 @@
 
             if (locMast.getLocSts().equals("F")){
                 // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+                staNo.setModiTime(now);
                 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
             }else {
                 throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
@@ -818,7 +834,7 @@
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
         wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
-        wrkMast.setIoPri(10D);
+        wrkMast.setIoPri(99999999D);
         wrkMast.setCrnNo(sourceLoc.getCrnNo());
         wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
         wrkMast.setLocNo(locNo); // 鐩爣搴撲綅

--
Gitblit v1.9.1