From d18505cc87fa30a5b202057bbcc4236986efc80a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 11 三月 2026 13:16:55 +0800
Subject: [PATCH] 纽维盛wms初始化-截至现在wms2.0已完善(带数据库)

---
 src/main/java/com/zy/common/web/WcsController.java |  352 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 312 insertions(+), 40 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 9e11712..fd06609 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -8,18 +8,25 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
+import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.CodeRes;
 import com.zy.common.model.LocTypeDto;
 import com.zy.common.model.StartupDto;
+import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
+import com.zy.common.web.param.GetLocNoChangeParam;
+import com.zy.common.web.param.NotifyDto;
 import com.zy.common.web.param.SearchLocParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -50,22 +57,83 @@
     @Autowired
     private WorkService workService;
 
+    @Resource
+    private WrkMastLogService wrkMastLogService;
+
     @PostMapping("/pakin/loc/v1")
     @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("婧愮珯缂栧彿涓嶈兘涓虹┖");
         }
-        List<WaitPakin> waitPakins = null;
+        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);
+        List<WaitPakin> waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
         if (param.getIoType() == 1) {
             if (Cools.isEmpty(param.getBarcode())) {
                 return R.error("鏉$爜涓嶈兘涓虹┖");
             }
-            waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
+            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) {
@@ -84,24 +152,192 @@
         }
 
         // 婧愮珯鐐圭姸鎬佹娴�
-        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
-        sourceStaNo.setLocType1(param.getLocType1());
-        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+//        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);
+            }
+        }
 
         StartupDto dto = null;
         switch (param.getIoType()) {
             case 1://婊℃墭鐩樺叆搴�
                 assert waitPakins != null;
-                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins);
+                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins, param.getRow());
                 break;
             case 10://绌烘墭鐩樺叆搴�
-                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
+                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode(),param.getRow());
                 break;
             default:
                 break;
         }
         log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
         return R.ok().add(dto);
+    }
+
+    @PostMapping("/taskWrk/state")
+    @ResponseBody
+    public R taskWrkState(@RequestBody(required = false) NotifyDto notifyDto){
+        log.info("鏀跺埌WCS璇锋眰涓婃姤鎺ュ彛======>>宸ヤ綔鍙�:{},鍏ュ弬:{}",notifyDto.getSuperTaskNo(),notifyDto);
+        if (Cools.isEmpty(notifyDto.getNotifyType())){
+            return R.error("閫氱煡绫诲瀷涓嶈兘涓虹┖");
+        }
+        if (Cools.isEmpty(notifyDto.getTaskNo())){
+            return R.error("浠诲姟鍙蜂笉鑳戒负绌�");
+        }
+        WrkMast wrkMast = wrkMastService.selectById(notifyDto.getSuperTaskNo());
+        switch (notifyDto.getMsgType()){
+            case "task_complete":
+                if (wrkMast != null && (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57 || wrkMast.getIoType() == 11)){
+                    wrkMast.setWrkSts(4L);
+                    if (!wrkMastService.updateById(wrkMast)){
+                        return R.error("淇敼宸ヤ綔妗eけ璐�====>4");
+                    }
+                }else if (wrkMast != null && (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 ||wrkMast.getIoType() == 107 || wrkMast.getIoType() == 110)){
+                    wrkMast.setWrkSts(14L);
+                    if (!wrkMastService.updateById(wrkMast)){
+                        return R.error("淇敼宸ヤ綔妗eけ璐�====>14");
+                    }
+                }
+                break;
+            case "task_cancel":
+                if(wrkMast == null) {
+                    return R.ok("浠诲姟涓嶅瓨鍦�");
+                }
+                workService.cancelWrkMast(notifyDto.getSuperTaskNo(), 9527L);
+        }
+        return R.ok();
+    }
+
+    @PostMapping("/change/loc/v1")
+    @ResponseBody
+    @Transactional
+    public synchronized R getLocNoChange(@RequestBody(required = false) GetLocNoChangeParam param) {
+        log.info("鏀跺埌WCS鐢宠鍦ㄥ簱搴撲綅鏇存崲搴撲綅璇锋眰====>>鍏ュ弬:{}", param);
+        StartupDto dto = applyChangeLocNo(param.getLocNo(), param.getRow());
+        log.info("WCS鐢宠鍦ㄥ簱搴撲綅鏇存崲搴撲綅鎺ュ彛杩斿弬:{}", dto);
+        return R.ok().add(dto);
+    }
+
+    @Transactional
+    public StartupDto applyChangeLocNo(String wcsLocNo, int[] row) {
+        if (row.length == 0) {
+            throw new CoolException(wcsLocNo + "搴撲綅锛學CS涓婃姤鏃犲彲鐢ㄨ澶�");
+        }
+
+        String sourceLocNo = loc(wcsLocNo);
+        LocMast sourceLocMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", sourceLocNo));
+        if (sourceLocMast == null) {
+            throw new CoolException("婧愬簱浣嶄笉瀛樺湪");
+        }
+
+        if(!sourceLocMast.getLocSts().equals("F")) {
+            throw new CoolException("婧愬簱浣嶄笉澶勪簬鍦ㄥ簱鐘舵��");
+        }
+        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+
+        LocTypeDto locTypeDto = new LocTypeDto();
+        locTypeDto.setLocType1(sourceLocMast.getLocType1());
+
+        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, 0, Integer.valueOf(locTypeDto.getLocType1()),rows);
+            if (dto != null) {
+                break;
+            }
+        }
+        if (dto == null) {
+            throw new CoolException("娌℃湁鍖归厤鍒板簱浣嶏紝妫�鏌ュ彲鐢ㄥ簱浣�/鍫嗗灈鏈烘姤璀�");
+        }
+
+        LocMast loc = locMastService.selectById(dto.getLocNo());
+        if (Cools.isEmpty(loc)){
+            throw new CoolException("鏈壘鍒板簱浣�");
+        }
+        Date now = new Date();
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
+        dto.setTaskNo(workNo);
+
+        // 淇濆瓨宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(12L); // 宸ヤ綔鐘舵��
+        wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+        wrkMast.setIoPri(10D);
+        wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
+        wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
+        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setBarcode(sourceLocMast.getBarcode()); // 鎵樼洏鐮�
+        wrkMast.setEmptyMk(sourceLocMast.getLocSts().equals("D") ? "Y" : "N");
+        wrkMast.setLinkMis("N");
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 宸ヤ綔妗f槑缁嗕繚瀛�
+        for (LocDetl locDetl : locDetlList) {
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.sync(locDetl);
+            wrkDetl.setWrkNo(workNo);
+            wrkDetl.setIoTime(now);
+            wrkDetl.setAnfme(locDetl.getAnfme());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+            }
+        }
+        // 淇敼婧愬簱浣嶇姸鎬�
+        if (sourceLocMast.getLocSts().equals("D") || sourceLocMast.getLocSts().equals("F")) {
+            sourceLocMast.setLocSts("R"); // R.鍑哄簱棰勭害
+            sourceLocMast.setModiTime(now);
+            if (!locMastService.updateById(sourceLocMast)){
+                throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+            }
+        } else {
+            throw new CoolException("婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細" + sourceLocMast.getLocSts$());
+        }
+
+        // 淇敼鐩爣搴撲綅鐘舵��
+        if (loc.getLocSts().equals("O")) {
+            loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+            loc.setModiTime(now);
+            if (!locMastService.updateById(loc)) {
+                throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$());
+        }
+        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
+        return dto;
+    }
+
+    public String loc(String locNo){
+        String[] split = locNo.split("-");
+        return Utils.getLocNo(Integer.parseInt(split[0]),Integer.parseInt(split[1]),Integer.parseInt(split[2]));
+    }
+
+    @Resource
+    private LocMastMapper locMastMapper;
+    @RequestMapping("/auto21")
+    public R auto21(@RequestBody List<Integer> rows) {
+        List<LocMast> locMastList = locMastMapper.selectLocByTypeAndRowsToList(1, rows);
+        return R.ok(locMastList);
     }
 
     @PostMapping("/auto/emptyIn/v1")
@@ -117,7 +353,7 @@
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
-        wrkMast.setWrkNo(dto.getWorkNo());
+        wrkMast.setWrkNo(dto.getTaskNo());
         wrkMast.setIoTime(now);
         wrkMast.setWrkSts(1L);
         wrkMast.setIoPri(13D);
@@ -160,16 +396,29 @@
      * 鍏ㄦ澘鍏ュ簱
      */
     @Transactional
-    public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) {
+    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);
         // 妫�绱㈠簱浣�
-//        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-//        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
-        StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto);
-        int workNo = dto.getWorkNo();
+//        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;
+            }
+        }
+        if (dto == null) {
+            throw new CoolException("娌℃湁鍖归厤鍒板簱浣嶏紝妫�鏌ュ彲鐢ㄥ簱浣�/鍫嗗灈鏈烘姤璀�");
+        }
+        int workNo = dto.getTaskNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -188,7 +437,7 @@
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("N"); // 绌烘澘
         wrkMast.setLinkMis("Y");
-        wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+//        wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
         wrkMast.setModiTime(now);
@@ -219,11 +468,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")) {
@@ -235,22 +484,40 @@
         } else {
             throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
+        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
         return dto;
     }
 
     @Transactional
-    public StartupDto emptyPlateIn(Integer devpNo, LocTypeDto locTypeDto, String barcode) {
+    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();
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
 
-        StartupDto dto = commonService.getLocNo(10, devpNo, findLocNoAttributeVo, locTypeDto);
-        int workNo = dto.getWorkNo();
+//        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;
+            }
+        }
+        if (dto == null) {
+            throw new CoolException("娌℃湁鍖归厤鍒板簱浣嶏紝妫�鏌ュ彲鐢ㄥ簱浣�/鍫嗗灈鏈烘姤璀�");
+        }
+        int workNo = dto.getTaskNo();
+        Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
-        wrkMast.setIoTime(new Date());
+        wrkMast.setIoTime(now);
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾�
@@ -264,31 +531,36 @@
         wrkMast.setEmptyMk("Y"); // 绌烘澘
         wrkMast.setLinkMis("Y");
         wrkMast.setBarcode(barcode);
-        wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+//        wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
         // 鎿嶄綔浜哄憳鏁版嵁
-        wrkMast.setAppeTime(new Date());
-        wrkMast.setModiTime(new Date());
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
         boolean res = wrkMastService.insert(wrkMast);
         if (!res) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
-        // 鏇存柊婧愮珯鐐逛俊鎭�
-        sourceStaNo.setWrkNo(workNo);
-        sourceStaNo.setModiTime(new Date());
-        if (!basDevpService.updateById(sourceStaNo)) {
-            throw new CoolException("鏇存柊婧愮珯澶辫触");
+        // 鏇存柊鍏ュ簱閫氱煡妗� 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け璐�");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
         LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")) {
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-            locMast.setModiTime(new Date());
+            locMast.setModiTime(now);
             if (!locMastService.updateById(locMast)) {
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }
         } else {
             throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
         }
+        dto.setLocNo(Utils.locToLocNo(dto.getLocNo()));
         return dto;
     }
 

--
Gitblit v1.9.1