From c23c5d3adeac7dca6cc10e4fe96b8d0693a06d16 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期六, 04 一月 2025 12:47:58 +0800
Subject: [PATCH] #出库规则完成,盘点拣料出库测试完成

---
 src/main/java/com/zy/common/web/WcsController.java |   51 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c75d502..a28c43a 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -67,13 +67,13 @@
     public synchronized Re getLocNo(@RequestBody SearchLocParam param) {
         log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
         if (Cools.isEmpty(param.getCargoHeight())) {
-            return Re.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
+            return Re.error("楂樹綆搴撶被鍨嬩笉鑳戒负绌�");
         }
         if (Cools.isEmpty(param.getFromPort())) {
             return Re.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
         }
         List<WaitPakin> waitPakins = null;
-        if (param.getFromPort().equals("100")) {
+        if (param.getFromPort().equals("101")) {
 
             //鏈夌┖鏉垮嚭搴撴椂绂佹鍏ュ簱
             int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",110).eq("sta_no",100).notIn("wrk_sts",7));
@@ -81,11 +81,11 @@
                 return Re.error("鏈夌┖鏉垮嚭搴撳埌100绔欐椂鏃剁姝㈠叆搴�");
             }
 
-            if (Cools.isEmpty(param.getBarCode())) {
+            if (Cools.isEmpty(param.getBarCode()) && param.getIoType() != 10) {
                 return Re.error("鏉$爜涓嶈兘涓虹┖");
             }
             waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode()));
-            if (Cools.isEmpty(waitPakins)) {
+            if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) {
                 WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
                     return Re.parse(CodeRes.PICK_600);
@@ -99,7 +99,7 @@
             }
         }else {
             //鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱
-            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",101).or().eq("io_type",110));
+            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no",100).andNew().eq("io_type",101).or().eq("io_type",110));
             if(wrkCount > 0){
                 return Re.error("鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱");
             }
@@ -119,12 +119,12 @@
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
 
         StartupDto dto = null;
-        switch (param.getFromPort()) {
-            case "100"://婊℃墭鐩樺叆搴�
+        switch (param.getIoType()) {
+            case 1://婊℃墭鐩樺叆搴�
                 assert waitPakins != null;
                 dto = startupFullPutStore(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, waitPakins);
                 break;
-            case "200"://绌烘墭鐩樺叆搴�
+            case 10://绌烘墭鐩樺叆搴�
                 dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto, param.getBarCode());
                 break;
             default:
@@ -195,6 +195,9 @@
         List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
         List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
         StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        if(dto == null){
+            throw new CoolException("娌℃湁妫�绱㈠埌绌哄簱浣�");
+        }
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -339,7 +342,28 @@
          * 瀹屾垚,8-浠诲姟缁撴潫
          */
         if (statusParam.getTaskStatus()==0){
-            wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
+            //鎷f枡鍜岀洏鐐瑰啀鍏ュ簱鍒ゆ柇
+            if((wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) && wrkMast.getWrkSts() == 14){
+                Date now = new Date();
+                wrkMast.setIoTime(now);
+                wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+                wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
+                wrkMast.setSourceStaNo(101); // 婧愮珯
+                wrkMast.setStaNo(null); // 鐩爣绔�
+                wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+                wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                wrkMast.setModiTime(now);
+                // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                locMast.setLocSts("Q");
+                locMast.setModiTime(new Date());
+                if (!locMastService.updateById(locMast)) {
+
+                    throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+                }
+            }else{
+                wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
+            }
         }else if (statusParam.getTaskStatus()==1){
             wrkMast.setWrkSts(2L);//2.浠诲姟寮�濮�
         }else if (statusParam.getTaskStatus()==2){
@@ -347,13 +371,12 @@
         }else if (statusParam.getTaskStatus()==3){
             wrkMast.setWrkSts(6L);//6.浠诲姟涓柇
         } else if (statusParam.getTaskStatus()==4 || statusParam.getTaskStatus()==8){
-//            wrkMast.setWrkSts(7L);//6.鏀捐揣瀹屾垚
-            if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 11){
+            if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 11 || wrkMast.getIoType() == 53 ||wrkMast.getIoType() == 57){
                 wrkMast.setWrkSts(4L);//4.鍏ュ簱瀹屾垚
-            }else if (wrkMast.getIoType()==101){
+            }else if (wrkMast.getIoType()==103 || wrkMast.getIoType()==107){
                 wrkMast.setWrkSts(14L);//14.宸插嚭搴撴湭纭
-            } else if (wrkMast.getIoType()==110) {
-                wrkMast.setWrkSts(7L);
+            }else if (wrkMast.getIoType()==101 || wrkMast.getIoType()==110){
+                wrkMast.setWrkSts(7L);//7.鍑哄簱瀹屾垚
             }
         }
         wrkMastService.updateById(wrkMast);

--
Gitblit v1.9.1