From d907a822a940c7ec0fb7de0ca845472bda52229b Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 03 二月 2026 14:33:12 +0800
Subject: [PATCH] #pda料箱组托和换码

---
 src/main/java/com/zy/common/web/WcsController.java |  342 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 230 insertions(+), 112 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 5ac0e36..d3956e8 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -83,32 +83,44 @@
     public synchronized Re getLocNo(@RequestBody SearchLocParam param) {
         log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
         if (Cools.isEmpty(param.getCargoHeight())) {
-            return Re.error("楂樹綆搴撶被鍨嬩笉鑳戒负绌�");
+            return Re.error("response.high_low_warehouse_type_not_empty");
         }
-        if (Cools.isEmpty(param.getFromPort())) {
-            return Re.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
+        if (Cools.isEmpty(param.getFromPort()) && !param.getFromPort().equals("1001")) {
+            return Re.error("response.inbound_site_number_error");
         }
         if(Cools.isEmpty(param.getWarehouse())){
-            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+            return Re.error("response.warehouse_number_not_empty");
         }
         if(!param.getWarehouse().equals(warehouse)){
-            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+            return Re.error("response.warehouse_number_mismatch");
         }
         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("101") && 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("response.empty_plate_outbound_forbidden_inbound");
             }
 
             if (Cools.isEmpty(param.getBarCode())) {
-                return Re.error("鏉$爜涓嶈兘涓虹┖");
+                return Re.error("response.barcode_not_empty");
             }
             waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode()));
             if (Cools.isEmpty(waitPakins)) {
-                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
+//                WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
                     return Re.parse(CodeRes.PICK_600);
                 }
@@ -121,18 +133,18 @@
             }
         } 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("鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱");
+                return Re.error("response.full_plate_outbound_forbidden_empty_plate_inbound");
             }
 
             int countLoc = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 10));
             if (countLoc > 0) {
-                return Re.error("宸叉湁绌烘澘鍏ュ簱浠诲姟绂佹鍦ㄥ叆绌烘澘");
+                return Re.error("response.empty_plate_inbound_task_exists");
             }
         }
         if (Cools.isEmpty(param.getCargoHeight())) {
-            return Re.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
+            return Re.error("response.high_low_detection_signal_not_empty");
         }
 //        if (!param.getBarCode().startsWith("7")&&!param.getBarCode().startsWith("8")){
 //            return Re.error("鏈畾涔夌殑鎵樼洏鐮佽鍒�");
@@ -140,6 +152,9 @@
 
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.valueOf(param.getFromPort()), true);
+        if(sourceStaNo == null){
+            return Re.error("response.site_not_exist");
+        }
         sourceStaNo.setLocType1(param.getCargoHeight().shortValue()); // 楂樹綆搴撲綅
 //        if (param.getBarCode().startsWith("7")){
 //            sourceStaNo.setLocType2((short) 1); // 瀹界獎搴撲綅 1.绐勫簱浣�1200*1000*990
@@ -150,17 +165,14 @@
 
         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;
         }
@@ -173,15 +185,16 @@
     public synchronized Re getLocNo(@RequestBody SearchEmptyParam param) {
         log.info("鏀跺埌WCS绌烘澘鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
         if(Cools.isEmpty(param.getWarehouse())){
-            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+            return Re.error("response.warehouse_number_not_empty");
         }
         if(!param.getWarehouse().equals(warehouse)){
-            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+            return Re.error("response.warehouse_number_mismatch");
         }
 
-        // 婧愮珯鐐圭姸鎬佹娴�
-        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;
 
@@ -195,10 +208,10 @@
     public synchronized Re errReport(@RequestBody ErrorMsg param){
         log.info("鏀跺埌WCS浠诲姟鍏ュ簱寮傚父涓婃姤===>>鍏ュ弬:{}",param);
         if(Cools.isEmpty(param.getWarehouse())){
-            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+            return Re.error("response.warehouse_number_not_empty");
         }
         if(!param.getWarehouse().equals(warehouse)){
-            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+            return Re.error("response.warehouse_number_mismatch");
         }
         return Re.ok();
     }
@@ -208,23 +221,23 @@
     public synchronized Re applyChangeEnd(@RequestBody ApplyChangeEnd param){
         log.info("鏀跺埌WCS鐢宠鏈�缁堢洰鐨勪綅缃�===>>鍏ュ弬:{}",param);
         if(Cools.isEmpty(param.getWarehouse())){
-            return Re.error("浠撳簱缂栧彿涓嶈兘涓虹┖");
+            return Re.error("response.warehouse_number_not_empty");
         }
         if(!param.getWarehouse().equals(warehouse)){
-            return Re.error("浠撳簱缂栧彿涓嶅尮閰�");
+            return Re.error("response.warehouse_number_mismatch");
         }
         if (Cools.isEmpty(param.getTaskId())){
-            return Re.error("浠诲姟缂栧彿涓嶈兘涓虹┖");
+            return Re.error("response.task_id_not_empty");
         }
         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskId()));
         if (wrkMast == null){
-            return Re.error("WMS涓嶅瓨鍦ㄤ换鍔″彿:" + param.getTaskId() + "浠诲姟");
+            return Re.error("response.wms_task_not_exist");
         }
         if (wrkMast.getIoType() > 100){
-            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "鏄嚭搴撲换鍔�");
+            return Re.error("response.task_is_outbound");
         }
         if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15){
-            return Re.error("浠诲姟鍙�:" + param.getTaskId() + "宸茬粨鏉�");
+            return Re.error("response.task_ended");
         }
         String targetNo = wrkMast.getLocNo();
         return Re.ok(targetNo);
@@ -261,17 +274,17 @@
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
         wrkMast.setModiTime(now);
-        wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
-        return wrkMastService.insert(wrkMast) ? R.ok("鑷姩绌烘墭鍏ュ簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍏ュ簱澶辫触");
+        wrkMast.setMemo("response.auto_empty_in_memo");
+        return wrkMastService.insert(wrkMast) ? R.ok("response.auto_empty_in_success") : R.error("response.auto_empty_in_failed");
     }
 
-    @PostMapping("auto/emptyOut/v1")
+    @PostMapping("/auto/emptyOut/v1")
     @ResponseBody
     public R autoEmptyOut() {
         LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                 .eq("loc_sts", "D"));
         if (Cools.isEmpty(locMast)) {
-            return R.error("搴撳瓨娌℃湁绌烘澘");
+            return R.error("response.no_empty_pallet");
         }
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
         emptyPlateOutParam.setOutSite(12);
@@ -279,7 +292,7 @@
             add(locMast.getLocNo() + "");
         }});
         WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
-        return R.ok(!Cools.isEmpty(wrkMast) ? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
+        return !Cools.isEmpty(wrkMast) ? R.ok("response.auto_empty_out_success") : R.error("response.auto_empty_out_failed");
     }
 
     /**
@@ -295,11 +308,12 @@
         WaitPakin waitPakin1 = waitPakins.get(0);
         FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
         findLocNoAttributeVo.setMatnr(waitPakin1.getMatnr());
-
+        findLocNoAttributeVo.setAreaId(waitPakin1.getAreaId());
+        findLocNoAttributeVo.setOrderNo(waitPakin1.getOrderNo());
 //        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("娌℃湁妫�绱㈠埌绌哄簱浣�");
+            throw new CoolException("response.no_empty_location_found");
         }
         int workNo = dto.getWorkNo();
         Date now = new Date();
@@ -330,7 +344,7 @@
         wrkMast.setAppeUser(waitPakin1.getAppeUser());
         boolean res = wrkMastService.insert(wrkMast);
         if (!res) {
-            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+            throw new CoolException("response.save_work_master_failed");
         }
         // 鐢熸垚宸ヤ綔妗f槑缁�
         waitPakins.forEach(waitPakin -> {
@@ -341,7 +355,7 @@
             wrkDetl.setAppeTime(now);
             wrkDetl.setModiTime(now);
             if (!wrkDetlService.insert(wrkDetl)) {
-                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+                throw new CoolException("response.save_work_detail_failed");
             }
         });
         // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
@@ -352,13 +366,13 @@
         setParam.setIoStatus("Y");
         setParam.setModiTime(now);
         if (!waitPakinService.update(setParam, wrapper)) {
-            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+            throw new CoolException("response.update_wait_pakin_failed");
         }
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(now);
         if (!basDevpService.updateById(sourceStaNo)) {
-            throw new CoolException("鏇存柊婧愮珯澶辫触");
+            throw new CoolException("response.update_source_station_failed");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -366,10 +380,152 @@
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(now);
             if (!locMastService.updateById(locMast)) {
-                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                throw new CoolException("response.change_location_status_failed");
             }
         } else {
-            throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+            throw new CoolException("response.target_location_occupied");
+        }
+        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("response.no_empty_location_found");
+        }
+        Date now = new Date();
+        // 鐢熸垚宸ヤ綔妗�
+        try{
+            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+            if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("response.save_work_detail_history_failed");
+            }
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("response.save_work_master_history_failed");
+            }
+            // 鏇存柊宸ヤ綔妗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("response.update_work_master_status_failed");
+            }
+            // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+            // 鏇存柊婧愮珯鐐逛俊鎭�
+            sourceStaNo.setWrkNo(wrkMast.getWrkNo());
+            sourceStaNo.setModiTime(now);
+            if (!basDevpService.updateById(sourceStaNo)) {
+                throw new CoolException("response.update_source_station_failed");
+            }
+            // 鏇存柊鐩爣搴撲綅鐘舵��
+            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("response.change_location_status_failed");
+                }
+            } else {
+                throw new CoolException("response.target_location_occupied");
+            }
+        } 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());
+        findLocNoAttributeVo.setOrderNo(wrkDetl.getOrderNo());
+//        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("response.no_empty_location_found");
+        }
+        Date now = new Date();
+        // 鐢熸垚宸ヤ綔妗�
+        try{
+            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
+            if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("response.save_work_detail_history_failed");
+            }
+            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
+                throw new CoolException("response.save_work_master_history_failed");
+            }
+            // 鏇存柊宸ヤ綔妗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("response.update_work_master_status_failed");
+            }
+            // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
+            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
+            // 鏇存柊婧愮珯鐐逛俊鎭�
+            sourceStaNo.setWrkNo(wrkMast.getWrkNo());
+            sourceStaNo.setModiTime(now);
+            if (!basDevpService.updateById(sourceStaNo)) {
+                throw new CoolException("response.update_source_station_failed");
+            }
+            // 鏇存柊鐩爣搴撲綅鐘舵��
+            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("response.change_location_status_failed");
+                }
+            } else {
+                throw new CoolException("response.target_location_occupied");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
         }
         return dto;
     }
@@ -403,13 +559,13 @@
         wrkMast.setModiTime(new Date());
         boolean res = wrkMastService.insert(wrkMast);
         if (!res) {
-            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+            throw new CoolException("response.save_work_detail_failed");
         }
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(new Date());
         if (!basDevpService.updateById(sourceStaNo)) {
-            throw new CoolException("鏇存柊婧愮珯澶辫触");
+            throw new CoolException("response.update_source_station_failed");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -417,10 +573,10 @@
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());
             if (!locMastService.updateById(locMast)) {
-                throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                throw new CoolException("response.change_location_status_failed");
             }
         } else {
-            throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+            throw new CoolException("response.target_location_occupied");
         }
         return dto;
     }
@@ -430,7 +586,7 @@
     public Re status(@RequestBody StatusParam statusParam) {
         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", statusParam.getTaskId()));
         if (Cools.isEmpty(wrkMast) && statusParam.getTaskStatus() != 8) {
-            return Re.error("娌℃湁鎵惧埌:" + statusParam.getTaskId() + "杩欐潯浠诲姟");
+            return Re.error("response.task_not_found");
         } else if (Cools.isEmpty(wrkMast) && statusParam.getTaskStatus() == 8) {
             return Re.ok();
         } else if (!Cools.isEmpty(wrkMast) && statusParam.getTaskStatus() == 8 && wrkMast.getIoType() == 110) {
@@ -445,46 +601,8 @@
          * 浠诲姟涓柇,4-鏀捐揣
          * 瀹屾垚,8-浠诲姟缁撴潫
          */
-
         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);
-                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.setWrkSts(1L);//1.宸叉帴鏀�
         } else if (statusParam.getTaskStatus() == 1) {
             wrkMast.setWrkSts(2L);//2.浠诲姟寮�濮�
         } else if (statusParam.getTaskStatus() == 2) {
@@ -499,16 +617,16 @@
                 String sourcecLocNo = wrkMast.getSourceLocNo();
                 //鏇存柊宸ヤ綔鏄庣粏骞舵竻绌烘簮搴撲綅
                 for (WrkDetl wrkDetl : wrkDetls){
-                    LocDetl locDetl = locDetlService.selectItem(wrkMast.getSourceLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                    LocDetl locDetl = locDetlService.selectItemCarton(wrkMast.getSourceLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode());
                     if (null != locDetl && wrkMast.getIoType() == 103) {//鎷f枡
-                        if (!wrkDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                        if (!wrkDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(),wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            throw new CoolException("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            throw new CoolException("response.picking_inbound_update_detail_failed");
                         }
                     }else if(wrkMast.getIoType() == 107){//鐩樼偣
-                        if (!wrkDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+                        if (!wrkDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBarcode())) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            throw new CoolException("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+                            throw new CoolException("response.picking_inbound_update_detail_failed");
                         }
                     }
                 }
@@ -517,27 +635,27 @@
                 locMast1.setModiTime(new Date());
                 if (!locMastService.updateById(locMast1)) {
 
-                    throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+                    throw new CoolException("response.modify_location_status_failed");
                 }
                 wrkMast.setWrkSts(14L);//14.宸插嚭搴撴湭纭
             } 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();
     }
 
@@ -548,7 +666,7 @@
         for (LocMast locMast : locMasts) {
             if (locMast.getLocSts() != "X" && locMast.getLocSts() != "G" ) {
                 HashMap<String, Object> map = new HashMap<>();
-                map.put("warehouse", "aryd");
+                map.put("warehouse", "ddth");
                 map.put("posiX", locMast.getRow1());
                 map.put("posiY", locMast.getBay1());
                 map.put("posiZ", locMast.getLev1());
@@ -562,7 +680,7 @@
             }
             if(locMast.getLocSts() == "G"){
                 HashMap<String, Object> map = new HashMap<>();
-                map.put("warehouse", "aryd");
+                map.put("warehouse", "ddth");
                 map.put("posiX", locMast.getRow1());
                 map.put("posiY", locMast.getBay1());
                 map.put("posiZ", locMast.getLev1());
@@ -572,7 +690,7 @@
             }
             if(locMast.getLocSts() == "X"){
                 HashMap<String, Object> map = new HashMap<>();
-                map.put("warehouse", "aryd");
+                map.put("warehouse", "ddth");
                 map.put("posiX", locMast.getRow1());
                 map.put("posiY", locMast.getBay1());
                 map.put("posiZ", locMast.getLev1());
@@ -597,12 +715,12 @@
                     success = true;
                 } else {
                     log.error("wms鍚屾wcs搴撲綅澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url + "/" + loc, JSON.toJSONString(mapList), response);
-                    throw new CoolException("wms鍚屾wcs搴撲綅澶辫触");
+                    throw new CoolException("response.wms_sync_wcs_location_failed");
                 }
             } catch (Exception e) {
                 log.error("fail", e);
 //            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                throw new CoolException("wms鍚屾wcs搴撲綅澶辫触");
+                throw new CoolException("response.wms_sync_wcs_location_failed");
             } finally {
                 try {
                     // 淇濆瓨鎺ュ彛鏃ュ織

--
Gitblit v1.9.1