From 178d30a9b69598e82489d24b1da18b3b3ab0766b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 19 一月 2026 14:01:50 +0800
Subject: [PATCH] #拣料盘点功能优化

---
 src/main/java/com/zy/common/web/WcsController.java |  361 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 288 insertions(+), 73 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fa70d1e..e102f20 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -10,6 +10,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.param.StatusParam;
+import com.zy.asrs.entity.result.FindLocNoAttributeVo;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
@@ -17,6 +18,8 @@
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.web.param.ApplyChangeEnd;
+import com.zy.common.web.param.ErrorMsg;
 import com.zy.common.web.param.SearchEmptyParam;
 import com.zy.common.web.param.SearchLocParam;
 import lombok.extern.slf4j.Slf4j;
@@ -82,8 +85,8 @@
         if (Cools.isEmpty(param.getCargoHeight())) {
             return Re.error("楂樹綆搴撶被鍨嬩笉鑳戒负绌�");
         }
-        if (Cools.isEmpty(param.getFromPort())) {
-            return Re.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
+        if (Cools.isEmpty(param.getFromPort()) && !param.getFromPort().equals("1001")) {
+            return Re.error("鍏ュ簱绔欑偣缂栧彿閿欒:"+param.getFromPort());
         }
         if(Cools.isEmpty(param.getWarehouse())){
             return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
@@ -92,20 +95,32 @@
             return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
         }
         List<WaitPakin> waitPakins = null;
-        if (param.getFromPort().equals("101")) {
+
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarCode()));
+
+        if(wrkMast != null && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107)){
+            switch (wrkMast.getIoType()){
+                case 103:param.setIoType(103);break;//鎷f枡
+                case 107:param.setIoType(107);break;//鐩樼偣
+            }
+        }else{
+            //鍏ㄦ澘鍏ュ簱
+            param.setIoType(1);
+        }
+        if (param.getFromPort().equals("1001") && param.getIoType()!=103 && param.getIoType() != 107) {
 
             //鏈夌┖鏉垮嚭搴撴椂绂佹鍏ュ簱
-            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", 100).notIn("wrk_sts", 7));
+            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("sta_no", 1001).notIn("wrk_sts", 7));
             if(wrkCount > 0){
-                return Re.error("鏈夌┖鏉垮嚭搴撳埌100绔欐椂鏃剁姝㈠叆搴�");
+                return Re.error("鏈夌┖鏉垮嚭搴撳埌1001绔欐椂鏃剁姝㈠叆搴�");
             }
 
             if (Cools.isEmpty(param.getBarCode())) {
                 return Re.error("鏉$爜涓嶈兘涓虹┖");
             }
             waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode()));
-            if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) {
-                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
+            if (Cools.isEmpty(waitPakins)) {
+//                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
                     return Re.parse(CodeRes.PICK_600);
                 }
@@ -118,7 +133,7 @@
             }
         } else {
             //鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱
-            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", 100).andNew().eq("io_type", 101).or().eq("io_type", 110));
+            int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", 1001).andNew().eq("io_type", 101).or().eq("io_type", 110));
             if (wrkCount > 0) {
                 return Re.error("鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱");
             }
@@ -131,29 +146,37 @@
         if (Cools.isEmpty(param.getCargoHeight())) {
             return Re.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
         }
+//        if (!param.getBarCode().startsWith("7")&&!param.getBarCode().startsWith("8")){
+//            return Re.error("鏈畾涔夌殑鎵樼洏鐮佽鍒�");
+//        }
 
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
-        sourceStaNo.setLocType1(param.getCargoHeight().shortValue());
+        if(sourceStaNo == null){
+            return Re.error("绔欑偣涓嶅瓨鍦�");
+        }
+        sourceStaNo.setLocType1(param.getCargoHeight().shortValue()); // 楂樹綆搴撲綅
+//        if (param.getBarCode().startsWith("7")){
+//            sourceStaNo.setLocType2((short) 1); // 瀹界獎搴撲綅 1.绐勫簱浣�1200*1000*990
+//        }else if (param.getBarCode().startsWith("8")){
+//            sourceStaNo.setLocType2((short) 2); // 瀹界獎搴撲綅 2.瀹藉簱浣�1200*1000*1270
+//        }
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
 
         StartupDto dto = null;
 
-        //鍏ㄦ澘鍏ュ簱
-        param.setIoType(1);
 
         switch (param.getIoType()) {
             case 1://婊℃墭鐩樺叆搴�
                 assert waitPakins != null;
                 dto = startupFullPutStore(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, waitPakins);
                 break;
-//            case 10://绌烘墭鐩樺叆搴�
-//                dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto, param.getBarCode());
-//                break;
+            case 103:startupFullPutStore103(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, wrkMast);break;
+            case 107:startupFullPutStore107(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, wrkMast);break;
             default:
                 break;
         }
-        log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarCode());
+        log.info("WCS婊℃澘鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarCode());
         return Re.ok();
     }
 
@@ -168,15 +191,56 @@
             return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
         }
 
-        // 婧愮珯鐐圭姸鎬佹娴�
-        BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
-        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+//        // 婧愮珯鐐圭姸鎬佹娴�
+//        BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
+        LocTypeDto locTypeDto = new LocTypeDto();
+        locTypeDto.setLocType1((short) 2);
 
         StartupDto dto = null;
 
         dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto);
-        log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto);
+        log.info("WCS绌烘澘鍏ュ簱鎺ュ彛杩斿弬:{}", dto);
         return Re.ok();
+    }
+
+    @PostMapping("/fromwcs/errorReport")
+    @ResponseBody
+    public synchronized Re errReport(@RequestBody ErrorMsg param){
+        log.info("鏀跺埌WCS浠诲姟鍏ュ簱寮傚父涓婃姤===>>鍏ュ弬:{}",param);
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
+        return Re.ok();
+    }
+
+    @PostMapping("/fromwcs/applyChangeEnd")
+    @ResponseBody
+    public synchronized Re applyChangeEnd(@RequestBody ApplyChangeEnd param){
+        log.info("鏀跺埌WCS鐢宠鏈�缁堢洰鐨勪綅缃�===>>鍏ュ弬:{}",param);
+        if(Cools.isEmpty(param.getWarehouse())){
+            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+        }
+        if(!param.getWarehouse().equals(warehouse)){
+            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+        }
+        if (Cools.isEmpty(param.getTaskId())){
+            return Re.error("浠诲姟缂栧彿涓嶈兘涓虹┖");
+        }
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskId()));
+        if (wrkMast == null){
+            return Re.error("WMS涓嶅瓨鍦ㄤ换鍔″彿:" + param.getTaskId() + "浠诲姟");
+        }
+        if (wrkMast.getIoType() > 100){
+            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "鏄嚭搴撲换鍔�");
+        }
+        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15){
+            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "宸茬粨鏉�");
+        }
+        String targetNo = wrkMast.getLocNo();
+        return Re.ok(targetNo);
     }
 
 
@@ -239,9 +303,14 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        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);
+//        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
+//        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+        WaitPakin waitPakin1 = waitPakins.get(0);
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+        findLocNoAttributeVo.setMatnr(waitPakin1.getMatnr());
+
+//        StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        StartupDto dto = commonService.getLocNoNew(1, devpNo, findLocNoAttributeVo, locTypeDto,barcode);
         if (dto == null) {
             throw new CoolException("娌℃湁妫�绱㈠埌绌哄簱浣�");
         }
@@ -270,6 +339,8 @@
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
         wrkMast.setModiTime(now);
+        wrkMast.setModiUser(waitPakin1.getModiUser());
+        wrkMast.setAppeUser(waitPakin1.getAppeUser());
         boolean res = wrkMastService.insert(wrkMast);
         if (!res) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
@@ -316,12 +387,153 @@
         return dto;
     }
 
+    /**
+     * 鐩樼偣鍏ュ簱
+     */
+    @Transactional
+    public StartupDto startupFullPutStore107(Integer devpNo, String barcode, LocTypeDto locTypeDto, WrkMast wrkMast) {
+        // 婧愮珯鐐圭姸鎬佹娴�
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+        List<WrkDetl> wrkDetlList = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        WrkDetl wrkDetl = wrkDetlList.get(0);
+        findLocNoAttributeVo.setMatnr(wrkDetl.getMatnr());
+        findLocNoAttributeVo.setBatch(wrkDetl.getBatch());
+//        StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        StartupDto dto = commonService.getLocNoNew(1, devpNo, findLocNoAttributeVo, locTypeDto,barcode);
+        if (dto == null) {
+            throw new CoolException("娌℃湁妫�绱㈠埌绌哄簱浣�");
+        }
+        Date now = new Date();
+        // 鐢熸垚宸ヤ綔妗�
+        try{
+            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+            if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+            }
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+            }
+            // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+            wrkMast.setIoTime(now);
+            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+            wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+            wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+            wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
+            wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+            wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+            wrkMast.setModiTime(now);
+            wrkMast.setMk("N");//鏄惁瀹屾垚涓婃姤wcs
+            // 鎿嶄綔浜哄憳鏁版嵁
+            wrkMast.setAppeTime(now);
+            wrkMast.setModiTime(now);
+            if (wrkMastMapper.updateById(wrkMast) == 0) {
+                throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+            }
+            // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+            // 鏇存柊婧愮珯鐐逛俊鎭�
+            sourceStaNo.setWrkNo(wrkMast.getWrkNo());
+            sourceStaNo.setModiTime(now);
+            if (!basDevpService.updateById(sourceStaNo)) {
+                throw new CoolException("鏇存柊婧愮珯澶辫触");
+            }
+            // 鏇存柊鐩爣搴撲綅鐘舵��
+            LocMast locMast = locMastService.selectById(dto.getLocNo());
+            if (locMast.getLocSts().equals("O")) {
+                locMast.setLocSts("Q"); // S.鍏ュ簱棰勭害
+                locMast.setModiTime(now);
+                if (!locMastService.updateById(locMast)) {
+                    throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                }
+            } else {
+                throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return dto;
+    }
+
+
+    /**
+     * 鐩樼偣鍏ュ簱
+     */
+    @Transactional
+    public StartupDto startupFullPutStore103(Integer devpNo, String barcode, LocTypeDto locTypeDto, WrkMast wrkMast) {
+        // 婧愮珯鐐圭姸鎬佹娴�
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+        List<WrkDetl> wrkDetlList = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        WrkDetl wrkDetl = wrkDetlList.get(0);
+        findLocNoAttributeVo.setMatnr(wrkDetl.getMatnr());
+        findLocNoAttributeVo.setBatch(wrkDetl.getBatch());
+//        StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        StartupDto dto = commonService.getLocNoNew(1, devpNo, findLocNoAttributeVo, locTypeDto,barcode);
+        if (dto == null) {
+            throw new CoolException("娌℃湁妫�绱㈠埌绌哄簱浣�");
+        }
+        Date now = new Date();
+        // 鐢熸垚宸ヤ綔妗�
+        try{
+            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+            if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
+            }
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+            }
+            // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+            wrkMast.setIoTime(now);
+            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+            wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+            wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+            wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
+            wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+            wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+            wrkMast.setModiTime(now);
+            wrkMast.setMk("N");//鏄惁瀹屾垚涓婃姤wcs
+            // 鎿嶄綔浜哄憳鏁版嵁
+            wrkMast.setAppeTime(now);
+            wrkMast.setModiTime(now);
+            if (wrkMastMapper.updateById(wrkMast) == 0) {
+                throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+            }
+            // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+            // 鏇存柊婧愮珯鐐逛俊鎭�
+            sourceStaNo.setWrkNo(wrkMast.getWrkNo());
+            sourceStaNo.setModiTime(now);
+            if (!basDevpService.updateById(sourceStaNo)) {
+                throw new CoolException("鏇存柊婧愮珯澶辫触");
+            }
+            // 鏇存柊鐩爣搴撲綅鐘舵��
+            LocMast locMast = locMastService.selectById(dto.getLocNo());
+            if (locMast.getLocSts().equals("O")) {
+                locMast.setLocSts("Q"); // S.鍏ュ簱棰勭害
+                locMast.setModiTime(now);
+                if (!locMastService.updateById(locMast)) {
+                    throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                }
+            } else {
+                throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+        return dto;
+    }
+
     @Transactional
     public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(10, devpNo, null, null, null, locTypeDto);
+        StartupDto dto = commonService.getLocNoNew(10, devpNo, null, null, null);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -389,41 +601,44 @@
          */
 
         if (statusParam.getTaskStatus() == 0) {
-            //鎷f枡鍜岀洏鐐瑰啀鍏ュ簱鍒ゆ柇
-            if ((wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) && wrkMast.getWrkSts() == 14) {
-                List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-                String sourcecLocNo = wrkMast.getSourceLocNo();
-                // 鑾峰彇鍚庝袱浣嶇殑灞傛暟锛堥珮浣庡簱浣嶆暟鎹級
-                String layerStr = sourcecLocNo.substring(sourcecLocNo.length() - 2);
-                int layer = Integer.parseInt(layerStr);
-                // 鍒ゆ柇灞傛暟
-                Short locType1 = (short) ((layer == 1) ? 1 : 2);
-                LocTypeDto locTypeDto = new LocTypeDto();
-                locTypeDto.setLocType1(locType1);
-                //娉ㄦ剰涓�涓澘鍙兘鏀惧悓涓�绉嶇墿鏂欙紙妫�绱㈡柊搴撲綅锛�
-                StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2);
-                Date now = new Date();
-                wrkMast.setIoTime(now);
-                wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+//            //鎷f枡鍜岀洏鐐瑰啀鍏ュ簱鍒ゆ柇
+//            if ((wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) && wrkMast.getWrkSts() == 14) {
+//                List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+//                String sourcecLocNo = wrkMast.getSourceLocNo();
+//                // 鑾峰彇鍚庝袱浣嶇殑灞傛暟锛堥珮浣庡簱浣嶆暟鎹級
+//                String layerStr = sourcecLocNo.substring(sourcecLocNo.length() - 2);
+//                int layer = Integer.parseInt(layerStr);
+//                // 鍒ゆ柇灞傛暟
+//                Short locType1 = (short) ((layer == 1) ? 1 : 2);
+//                LocTypeDto locTypeDto = new LocTypeDto();
+//                locTypeDto.setLocType1(locType1);
+//                //娉ㄦ剰涓�涓澘鍙兘鏀惧悓涓�绉嶇墿鏂欙紙妫�绱㈡柊搴撲綅锛�
+////                StartupDto dto = commonService.getLocNoRunPick(4, 1, 101, wrkDetls.get(0).getMatnr(), wrkDetls.get(0).getBatch(), null, 4, locTypeDto, 2);
+//                FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+//                findLocNoAttributeVo.setMatnr(wrkDetls.get(0).getMatnr());
+//                StartupDto dto = commonService.getLocNoNew(1, 101, findLocNoAttributeVo,locTypeDto,null);
+//                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(dto.getLocNo()); // 鐩爣搴撲綅
+//                wrkMast.setSourceLocNo(sourcecLocNo);
+//                wrkMast.setModiTime(now);
+//                wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+//
+//                // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+//                LocMast locMast2 = locMastService.selectById(dto.getLocNo());
+//                locMast2.setLocSts("Q");
+//                locMast2.setModiTime(new Date());
+//                if (!locMastService.updateById(locMast2)) {
+//
+//                    throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+//                }
+//            } else {
                 wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
-                wrkMast.setSourceStaNo(101); // 婧愮珯
-                wrkMast.setStaNo(null); // 鐩爣绔�
-                wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
-                wrkMast.setSourceLocNo(sourcecLocNo);
-                wrkMast.setModiTime(now);
-                wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
-
-                // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-                LocMast locMast2 = locMastService.selectById(dto.getLocNo());
-                locMast2.setLocSts("Q");
-                locMast2.setModiTime(new Date());
-                if (!locMastService.updateById(locMast2)) {
-
-                    throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
-                }
-            } else {
-                wrkMast.setWrkSts(1L);//1.宸叉帴鏀�
-            }
+//            }
         } else if (statusParam.getTaskStatus() == 1) {
             wrkMast.setWrkSts(2L);//2.浠诲姟寮�濮�
         } else if (statusParam.getTaskStatus() == 2) {
@@ -462,21 +677,21 @@
             } else if ((wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) && statusParam.getTaskStatus() != 8) {
                 wrkMast.setWrkSts(7L);//7.鍑哄簱瀹屾垚
             } else if (wrkMast.getWrkSts() == 7 && statusParam.getTaskStatus() == 8){
-                wrkMast.setWrkSts(15L);//15.鍑哄簱鏇存柊瀹屾垚锛屼换鍔$粨鏉�
+                wrkMast.setWrkSts(14L);//15.鍑哄簱鏇存柊瀹屾垚锛屼换鍔$粨鏉�
             }
         }
         wrkMastService.updateById(wrkMast);
-        //宸插叆搴撴湭纭鍘嗗彶妗f洿鏂�
-        if(wrkMast.getWrkSts() == 14){
-            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-            if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
-                throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�");
-            }
-            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�");
-            }
-        }
+//        //宸插叆搴撴湭纭鍘嗗彶妗f洿鏂�
+//        if(wrkMast.getWrkSts() == 14 && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107)){
+//            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+//            if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+//                throw new CoolException("淇濆瓨宸ヤ綔鍘嗗彶妗eけ璐�");
+//            }
+//            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+//            if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
+//                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏鍘嗗彶妗eけ璐�");
+//            }
+//        }
         return Re.ok();
     }
 
@@ -492,7 +707,7 @@
                 map.put("posiY", locMast.getBay1());
                 map.put("posiZ", locMast.getLev1());
                 map.put("cargoNo", locMast.getLocNo());
-                if(locMast.getLev1() == 1 && locMast.getRow1() == 8 && locMast.getBay1() == 1){
+                if(locMast.getLev1() == 1 && locMast.getRow1() == 6 && locMast.getBay1() == 1){
                     map.put("type", "6");
                 }else {
                     map.put("type", "0");
@@ -536,17 +751,17 @@
                     success = true;
                 } else {
                     log.error("wms鍚屾wcs搴撲綅澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url + "/" + loc, JSON.toJSONString(mapList), response);
-                    throw new CoolException("wms涓嬪彂浠诲姟缁檞cs澶辫触");
+                    throw new CoolException("wms鍚屾wcs搴撲綅澶辫触");
                 }
             } catch (Exception e) {
                 log.error("fail", e);
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                throw new CoolException("wms涓嬪彂浠诲姟缁檞cs澶辫触");
+                throw new CoolException("wms鍚屾wcs搴撲綅澶辫触");
             } finally {
                 try {
                     // 淇濆瓨鎺ュ彛鏃ュ織
                     apiLogService.save(
-                            "wms鍚屾wcs搴撲綅澶辫触",
+                            "wms鍚屾wcs搴撲綅",
                             url + "/" + loc,
                             null,
                             "127.0.0.1",

--
Gitblit v1.9.1