From 6efef82561e2cf14f09871d63e1581c6174cfe10 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 25 六月 2025 15:01:53 +0800
Subject: [PATCH] 第二版本

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 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 cc172ba..6e140cc 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -209,14 +209,21 @@
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
 
-            Integer outSta = staNo.getDevNo();
-            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
-            if(locMast.getCrnNo()==2){
-                outSta = ioType == 101 ? 204 : 202;
+            if (Cools.isEmpty(locMast)) {
+                throw new CoolException(dto.getLocNo()+"搴撲綅涓嶅瓨鍦�");
+            }
+            if(!locMast.getLocSts().equals("F")){
+                throw new CoolException(dto.getLocNo()+"鎵樼洏闈炲湪搴撶姸鎬�");
             }
 
+            Integer outSta = staNo.getDevNo();
+            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
+//            if(locMast.getCrnNo()==2){
+//                outSta = ioType == 101 ? 204 : 202;
+//            }
+
             // 鑾峰彇璺緞
-            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -228,7 +235,7 @@
             wrkMast.setIoPri(13D); // 浼樺厛绾э細13
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
-            wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+            wrkMast.setStaNo(102); // 鐩爣绔�
             wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
             wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
             wrkMast.setPicking("N"); // 鎷f枡
@@ -240,6 +247,9 @@
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(userId);
             wrkMast.setModiTime(now);
+            if(outSta>199){
+                wrkMast.setMemo(outSta+"");
+            }
             if (!wrkMastService.insert(wrkMast)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
             }
@@ -324,6 +334,7 @@
             if (orderDetl == null) {
                 orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
             }
+            Mat mat=matService.selectOne(new EntityWrapper<Mat>().eq("matnr",locDto.getMatnr()));
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(orderDetl);
             wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -331,6 +342,7 @@
             wrkDetl.setWrkNo(workNo);
             wrkDetl.setBatch(locDto.getBatch());
             wrkDetl.setOrderNo(locDto.getOrderNo());
+            wrkDetl.setModel(mat.getModel());
             wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
             wrkDetl.setAppeTime(now);
             wrkDetl.setAppeUser(userId);
@@ -340,7 +352,7 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
             // 淇敼璁㈠崟鏄庣粏
-            if (!orderDetlService.increase(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+            if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
                 throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
             }
             orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -431,10 +443,13 @@
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
             }
+            if(!locMast.getLocSts().equals("D")){
+                throw new CoolException(locNo+"鎵樼洏闈炲湪搴撶姸鎬�");
+            }
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
-                    .eq("stn_no", param.getOutSite())
+                    .eq("stn_no", 102)
                     .eq("crn_no", locMast.getCrnNo());
             StaDesc staDesc = staDescService.selectOne(wrapper);
             Integer sourceStaNo = staDesc.getCrnStn();
@@ -450,7 +465,7 @@
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
             wrkMast.setIoPri(10D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
-            wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
+            wrkMast.setStaNo(102); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceLocNo(locNo); // 婧愬簱浣�
             wrkMast.setFullPlt("N"); // 婊℃澘锛歒
@@ -462,6 +477,9 @@
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(userId);
             wrkMast.setModiTime(now);
+            if(param.getOutSite()==1000){
+                wrkMast.setMemo("1000");
+            }
             boolean res = wrkMastService.insert(wrkMast);
             if (!res) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");

--
Gitblit v1.9.1