From 075d19c410180b7cee4068ecc75ddcc09c8a49d8 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 13 一月 2026 20:10:50 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 15 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 8e80ad0..9257903 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -24,6 +24,7 @@
 import com.zy.common.properties.SlaveProperties;
 import com.zy.common.service.CommonService;
 import com.zy.common.web.WcsController;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -485,9 +486,6 @@
             }
         }
 
-        
-
-
         List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1);
         //TODO 1. 鑾峰彇鍏ュ簱绔欑偣锛� 鐩爣搴撲綅  3. 灏嗗嚭搴撴槑缁嗘坊鍔犺嚦鍏ュ簱鏄庣粏
         Integer staNo = staNos.stream().findFirst().get();
@@ -537,6 +535,10 @@
             wrkDetl.setZpallet(wrkMast.getBarcode());
             wrkDetl.setIoTime(now);
             wrkDetl.setWrkNo(workNo);
+            wrkDetl.setBrand(orderDetl.getBrand());
+            wrkDetl.setModel(orderDetl.getModel());
+            wrkDetl.setUnit(orderDetl.getUnit());
+            wrkDetl.setStandby1(locDto.getStandby1());
             wrkDetl.setBatch(locDto.getBatch());
             wrkDetl.setOrderNo(locDto.getOrderNo());
             wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
@@ -1321,25 +1323,37 @@
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
+        Integer ioType = wrkMast.getIoType() - 50;
+        int wokNo = wrkMast.getWrkNo();
         // 鍏ュ嚭搴撶被鍨嬪垽鏂�
-        if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
-            throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
-        }
-        // 宸ヤ綔鐘舵�佸垽鏂�
-        if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
-            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
+        if (Objects.isNull(wrkMast.getWrkCode())) {
+            if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
+                throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
+            }
+            // 宸ヤ綔鐘舵�佸垽鏂�
+            if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
+                throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
+            }
+        } else {
+            if (wrkMast.getIoType() == 103) {
+                ioType = 1;
+            } else if (wrkMast.getIoType() == 101) {
+                ioType = 10;
+            }
+
+            wokNo = commonService.getWorkNo(0);
         }
         // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
 //        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
 //            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+////        }
+//        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+//        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+//            throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
 //        }
-        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
-            throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-        }
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", wrkMast.getIoType() - 50)
+                .eq("type_no", ioType)
                 .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
@@ -1350,7 +1364,7 @@
         // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
         Integer staNo = staDesc.getCrnStn();
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-        wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+        wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
         wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
         wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
@@ -1374,6 +1388,81 @@
         }
     }
 
+
+    @Override
+    @Transactional
+    public void backLocOperation(String workNo, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        if (Cools.isEmpty(wrkMast)) {
+            throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
+        }
+        Integer ioType = wrkMast.getIoType() - 50;
+        Integer wokNo;
+        // 鍏ュ嚭搴撶被鍨嬪垽鏂�
+        if (wrkMast.getIoType() == 103) {
+            ioType = 1;
+        } else if (wrkMast.getIoType() == 101) {
+            ioType = 10;
+        }
+        wokNo = commonService.getWorkNo(0);
+
+        // 鑾峰彇鐩爣绔�
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", ioType)
+                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+        StaDesc staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+        Date now = new Date();
+        // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+        Integer staNo = staDesc.getCrnStn();
+        WrkMast mast = new WrkMast();
+        BeanUtils.copyProperties(wrkMast, mast);
+        mast.setWrkNo(wokNo);
+        // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+        mast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+        mast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+        mast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+        mast.setStaNo(staNo + ""); // 鐩爣绔�
+        //鍒ゆ柇鏄惁涓洪鏂欏嚭搴�
+        if (Objects.isNull(mast.getWrkCode())) {
+            mast.setLocNo(mast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+        }
+//        mast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+        mast.setModiTime(now);
+        mast.setModiUser(userId);
+        if (!wrkMastService.insert(mast)) {
+            throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+        }
+        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        if (Cools.isEmpty(wrkDetls)) {
+            throw new CoolException("鏁版嵁閿欒锛屼换鍔℃。鏄庣粏涓嶅瓨鍦� 锛侊紒");
+        }
+
+        wrkDetls.forEach(wrkDetl -> {
+            WrkDetl wrkDetl1 = new WrkDetl();
+            BeanUtils.copyProperties(wrkDetl, wrkDetl1);
+            wrkDetl1.setWrkNo(wokNo);
+            if (!wrkDetlService.insert(wrkDetl1)) {
+                throw new CoolException("浠诲姟妗f槑缁嗕繚瀛樺け璐ワ紒锛�");
+            }
+        });
+
+        // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        locMast.setLocSts("Q");
+        locMast.setModiTime(now);
+        locMast.setModiUser(userId);
+        if (!locMastService.updateById(locMast)) {
+            throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+        }
+    }
+
+
+
+
     @Override
     public StartupDto createWaitPainWrkMastStart(List<WaitPakin> list, Long userId) {
         if (Cools.isEmpty(list)) {

--
Gitblit v1.9.1