From fc12e6bbc12d0346076fefe7320e99fd14d13193 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 14 四月 2026 11:10:39 +0800
Subject: [PATCH] wms初始化

---
 src/main/java/com/zy/common/web/WcsController.java |  217 ++++++++++++++++++++++++-----------------------------
 1 files changed, 98 insertions(+), 119 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fd06609..a139fe3 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -64,76 +64,57 @@
     @ResponseBody
     public synchronized R getLocNo(@RequestBody SearchLocParam param) {
         log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
-//        if (Cools.isEmpty(param.getIoType())) {
-//            return R.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
-//        }
+        if (Cools.isEmpty(param.getIoType())) {
+            return R.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
+        }
         if (Cools.isEmpty(param.getSourceStaNo())) {
             return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
         }
-        if (param.getRow().length == 0) {
-            return R.error("WCS涓婃姤鏃犲彲鐢ㄨ澶�");
-        }
-//        //wcs璋冪敤姝ゆ帴鍙e悜缁勬墭琛ㄦ彃鍏ヤ竴鏉℃暟鎹ā鎷熺粍鎵�
-//        WaitPakin waitPakin = new WaitPakin();
-//        waitPakin.setZpallet(param.getBarcode());
-//        waitPakin.setBatch("20260305002");
-//        waitPakin.setAnfme(100.0D);
-//        waitPakin.setMatnr("YJ2026030509353203");
-//        waitPakin.setMaktx("涓婃媺鏉哶宸﹀墠鍙冲悗姣涘澂");
-//        waitPakin.setSpecs("50001LR-71");
-//        waitPakin.setModel("skv");
-//        waitPakinService.insert(waitPakin);
-//
-//        WaitPakin waitPakin2 = new WaitPakin();
-//        waitPakin2.setZpallet(param.getBarcode());
-//        waitPakin2.setBatch("20260305002");
-//        waitPakin2.setAnfme(100.0D);
-//        waitPakin2.setMatnr("YJ2026030509494873");
-//        waitPakin2.setMaktx("铻烘潌鍏�");
-//        waitPakin2.setSpecs("50001LR-71");
-//        waitPakin2.setModel("skv");
-//        waitPakinService.insert(waitPakin2);
+//        if (param.getRow().length == 0) {
+//            return R.error("WCS涓婃姤鏃犲彲鐢ㄨ澶�");
+//        }
+
         List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
         if (param.getIoType() == 1) {
             if (Cools.isEmpty(param.getBarcode())) {
                 return R.error("鏉$爜涓嶈兘涓虹┖");
             }
-            WrkMast wrkMast1 = wrkMastService.selectByBarcode(param.getBarcode());
-            if (wrkMast1 != null) {
-                Integer ioType = wrkMast1.getIoType();
-                if ((ioType == 103 || ioType == 107) && wrkMast1.getWrkSts() == 14) {
-                    // 杞崲宸ヤ綔妗�
-                    if (!wrkMastLogService.save(wrkMast1.getWrkNo())) {
-                        throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-                    }
-                    Date now = new Date();
-                    // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-                    wrkMast1.setIoType(wrkMast1.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
-                    wrkMast1.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-                    wrkMast1.setSourceStaNo(String.valueOf(param.getSourceStaNo())); // 婧愮珯
-                    wrkMast1.setStaNo("0"); // 鐩爣绔�
-                    wrkMast1.setLocNo(wrkMast1.getSourceLocNo());
-                    wrkMast1.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
-                    wrkMast1.setModiTime(now);
-                    if (!wrkMastService.updateById(wrkMast1)) {
-                        throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                    }
-                    // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-                    LocMast locMast = locMastService.selectById(wrkMast1.getLocNo());
-                    locMast.setLocSts("Q");
-                    locMast.setModiTime(now);
-                    if (!locMastService.updateById(locMast)) {
-                        throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
-                    }
-                }
-                StartupDto startupDto = new StartupDto();
-                startupDto.setTaskNo(wrkMast1.getWrkNo());
-                startupDto.setSourceStaNo(Integer.valueOf(wrkMast1.getSourceStaNo()));
-                startupDto.setTaskPri(wrkMast1.getIoPri());
-                startupDto.setCrnNo(wrkMast1.getCrnNo());
-                startupDto.setLocNo(Utils.locToLocNo(wrkMast1.getLocNo()));
-                return R.ok().add(startupDto);
-            }
+//            WrkMast wrkMast1 = wrkMastService.selectByBarcode(param.getBarcode());
+//            if (wrkMast1 != null) {
+//                Integer ioType = wrkMast1.getIoType();
+//                if ((ioType == 103 || ioType == 107) && wrkMast1.getWrkSts() == 14) {
+//                    // 杞崲宸ヤ綔妗�
+//                    if (!wrkMastLogService.save(wrkMast1.getWrkNo())) {
+//                        throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+//                    }
+//                    Date now = new Date();
+//                    // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+//                    wrkMast1.setIoType(wrkMast1.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+//                    wrkMast1.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+//                    wrkMast1.setSourceStaNo(String.valueOf(param.getSourceStaNo())); // 婧愮珯
+//                    wrkMast1.setStaNo("0"); // 鐩爣绔�
+//                    wrkMast1.setLocNo(wrkMast1.getSourceLocNo());
+//                    wrkMast1.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+//                    wrkMast1.setModiTime(now);
+//                    if (!wrkMastService.updateById(wrkMast1)) {
+//                        throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+//                    }
+//                    // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+//                    LocMast locMast = locMastService.selectById(wrkMast1.getLocNo());
+//                    locMast.setLocSts("Q");
+//                    locMast.setModiTime(now);
+//                    if (!locMastService.updateById(locMast)) {
+//                        throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+//                    }
+//                }
+//                StartupDto startupDto = new StartupDto();
+//                startupDto.setTaskNo(wrkMast1.getWrkNo());
+//                startupDto.setSourceStaNo(Integer.valueOf(wrkMast1.getSourceStaNo()));
+//                startupDto.setTaskPri(wrkMast1.getIoPri());
+//                startupDto.setCrnNo(wrkMast1.getCrnNo());
+//                startupDto.setLocNo(Utils.locToLocNo(wrkMast1.getLocNo()));
+//                return R.ok().add(startupDto);
+//            }
             if (Cools.isEmpty(waitPakins)) {
                 WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
                 if (wrkMast != null && wrkMast.getIoType() == 103) {
@@ -152,15 +133,15 @@
         }
 
         // 婧愮珯鐐圭姸鎬佹娴�
-//        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
-//        sourceStaNo.setLocType1(param.getLocType1());
-        LocTypeDto locTypeDto = new LocTypeDto();
-        locTypeDto.setLocType1(param.getLocType1());
-        if(!waitPakins.isEmpty()) { // 鍒ゆ柇鏄惁鏄┖鎵樼洏
-            if (waitPakins.get(0).getMatnr().equals("1") ) {
-                param.setIoType(10);
-            }
-        }
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
+        sourceStaNo.setLocType1(param.getLocType1());
+        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+//        locTypeDto.setLocType1(param.getLocType1());
+//        if(!waitPakins.isEmpty()) { // 鍒ゆ柇鏄惁鏄┖鎵樼洏
+//            if (waitPakins.get(0).getMatnr().equals("1") ) {
+//                param.setIoType(10);
+//            }
+//        }
 
         StartupDto dto = null;
         switch (param.getIoType()) {
@@ -266,7 +247,7 @@
         Date now = new Date();
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
-        dto.setTaskNo(workNo);
+        dto.setWorkNo(workNo);
 
         // 淇濆瓨宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -353,7 +334,7 @@
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
-        wrkMast.setWrkNo(dto.getTaskNo());
+        wrkMast.setWrkNo(dto.getWorkNo());
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(1L);
         wrkMast.setIoPri(13D);
@@ -398,27 +379,28 @@
     @Transactional
     public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins, int[] row) {
         // 婧愮珯鐐圭姸鎬佹娴�
-//        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
 //        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
 //        StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto);
-        StartupDto dto = null;
-        // 鏍规嵁搴撲綅鎺掓槧灏勫爢鍨涙満
-        for(int i = 0; i < row.length/4 ; i ++) {
-            ArrayList<Integer> rows = new ArrayList<>();
-            rows.add(row[i * 4]);
-            rows.add(row[i * 4 + 1]);
-            rows.add(row[i * 4 + 2]);
-            rows.add(row[i * 4 + 3]);
-            dto = commonService.getLocNoNew(1, devpNo, Integer.valueOf(locTypeDto.getLocType1()),rows);
-            if (dto != null) {
-                break;
-            }
-        }
+//        StartupDto dto = null;
+//        // 鏍规嵁搴撲綅鎺掓槧灏勫爢鍨涙満
+//        for(int i = 0; i < row.length/4 ; i ++) {
+//            ArrayList<Integer> rows = new ArrayList<>();
+//            rows.add(row[i * 4]);
+//            rows.add(row[i * 4 + 1]);
+//            rows.add(row[i * 4 + 2]);
+//            rows.add(row[i * 4 + 3]);
+//            dto = commonService.getLocNoNew(1, devpNo, Integer.valueOf(locTypeDto.getLocType1()),rows);
+//            if (dto != null) {
+//                break;
+//            }
+//        }
+        StartupDto dto = commonService.getLocNoNew(1, devpNo, Integer.valueOf(locTypeDto.getLocType1()),null);;
         if (dto == null) {
             throw new CoolException("娌℃湁鍖归厤鍒板簱浣嶏紝妫�鏌ュ彲鐢ㄥ簱浣�/鍫嗗灈鏈烘姤璀�");
         }
-        int workNo = dto.getTaskNo();
+        int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -468,11 +450,11 @@
             throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
         }
         // 鏇存柊婧愮珯鐐逛俊鎭�
-//        sourceStaNo.setWrkNo(workNo);
-//        sourceStaNo.setModiTime(now);
-//        if (!basDevpService.updateById(sourceStaNo)) {
-//            throw new CoolException("鏇存柊婧愮珯澶辫触");
-//        }
+        sourceStaNo.setWrkNo(workNo);
+        sourceStaNo.setModiTime(now);
+        if (!basDevpService.updateById(sourceStaNo)) {
+            throw new CoolException("鏇存柊婧愮珯澶辫触");
+        }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
@@ -484,35 +466,36 @@
         } else {
             throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
-        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
+//        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
         return dto;
     }
 
     @Transactional
     public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode, int[] row) {
         // 婧愮珯鐐圭姸鎬佹娴�
-//        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
 //        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
 
 //        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
-        StartupDto dto = null;
-        // 鏍规嵁搴撲綅鎺掓槧灏勫爢鍨涙満
-        for(int i = 0; i < row.length/4 ; i ++) {
-            ArrayList<Integer> rows = new ArrayList<>();
-            rows.add(row[i * 4]);
-            rows.add(row[i * 4 + 1]);
-            rows.add(row[i * 4 + 2]);
-            rows.add(row[i * 4 + 3]);
-            dto = commonService.getLocNoNew(1, devpNo, Integer.valueOf(locTypeDto.getLocType1()),rows);
-            if (dto != null) {
-                break;
-            }
-        }
+//        StartupDto dto = null;
+//        // 鏍规嵁搴撲綅鎺掓槧灏勫爢鍨涙満
+//        for(int i = 0; i < row.length/4 ; i ++) {
+//            ArrayList<Integer> rows = new ArrayList<>();
+//            rows.add(row[i * 4]);
+//            rows.add(row[i * 4 + 1]);
+//            rows.add(row[i * 4 + 2]);
+//            rows.add(row[i * 4 + 3]);
+//            dto = commonService.getLocNoNew(1, devpNo, Integer.valueOf(locTypeDto.getLocType1()),rows);
+//            if (dto != null) {
+//                break;
+//            }
+//        }
+        StartupDto dto = commonService.getLocNoNew(10, devpNo, Integer.valueOf(locTypeDto.getLocType1()),null);;
         if (dto == null) {
             throw new CoolException("娌℃湁鍖归厤鍒板簱浣嶏紝妫�鏌ュ彲鐢ㄥ簱浣�/鍫嗗灈鏈烘姤璀�");
         }
-        int workNo = dto.getTaskNo();
+        int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -539,15 +522,11 @@
         if (!res) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
-        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
-        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-                .eq("zpallet", barcode);
-        WaitPakin setParam = new WaitPakin();
-        setParam.setLocNo(dto.getLocNo());
-        setParam.setIoStatus("Y");
-        setParam.setModiTime(now);
-        if (!waitPakinService.update(setParam, wrapper)) {
-            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+        // 鏇存柊婧愮珯鐐逛俊鎭�
+        sourceStaNo.setWrkNo(workNo);
+        sourceStaNo.setModiTime(new Date());
+        if (!basDevpService.updateById(sourceStaNo)) {
+            throw new CoolException("鏇存柊婧愮珯澶辫触");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -560,7 +539,7 @@
         } else {
             throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
-        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
+//        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
         return dto;
     }
 

--
Gitblit v1.9.1