From d7b8a1165db6ba6beafde9cb98b7a08afa57ed70 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 11 十一月 2024 15:48:56 +0800
Subject: [PATCH] 自动移库功能更新

---
 src/main/java/com/zy/asrs/task/handler/AutomaticLibraryTransferHandler.java |  409 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/task/AutomaticLibraryTransferScheduler.java       |   43 +++++
 src/main/java/com/zy/asrs/task/EmptyOutWing.java                            |    8 +
 src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java                |    6 
 src/main/java/com/zy/common/web/WcsController.java                          |    2 
 5 files changed, 466 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AutomaticLibraryTransferScheduler.java b/src/main/java/com/zy/asrs/task/AutomaticLibraryTransferScheduler.java
new file mode 100644
index 0000000..74de706
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/AutomaticLibraryTransferScheduler.java
@@ -0,0 +1,43 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.task.handler.AutomaticLibraryTransferHandler;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+@Component
+public class AutomaticLibraryTransferScheduler {
+    @Autowired
+    private ConfigService configService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private AutomaticLibraryTransferHandler automaticLibraryTransferHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        Config config = configService.selectConfigByCode("AutomaticLibraryTransfer");
+        if(config.getStatus()==0){
+            return;
+        }
+        int WrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>());
+        if(WrkCount>0){
+            return;
+        }
+        if(config.getValue().equals("1")){
+            automaticLibraryTransferHandler.startOne();
+        }else if(config.getValue().equals("2")){
+            automaticLibraryTransferHandler.startTwo();
+        }else if(config.getValue().equals("3")){
+            automaticLibraryTransferHandler.startThree();
+        }else{
+            automaticLibraryTransferHandler.startAll();
+        }
+        System.out.println("AutomaticLibraryTransferScheduler");
+    }
+}
diff --git a/src/main/java/com/zy/asrs/task/EmptyOutWing.java b/src/main/java/com/zy/asrs/task/EmptyOutWing.java
index c32d84f..6b0ec86 100644
--- a/src/main/java/com/zy/asrs/task/EmptyOutWing.java
+++ b/src/main/java/com/zy/asrs/task/EmptyOutWing.java
@@ -12,6 +12,8 @@
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
+import com.zy.system.entity.Config;
+import com.zy.system.service.ConfigService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -30,10 +32,16 @@
     private StaDescService staDescService;
     @Autowired
     private CommonService commonService;
+    @Autowired
+    ConfigService configService;
 
 
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute() {
+        Config config = configService.selectConfigByCode("AutoEmpty");
+        if(config.getStatus()==0){
+            return;
+        }
         int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110));
         if (count > 0) {
             WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 110).eq("wrk_sts", 7));
diff --git a/src/main/java/com/zy/asrs/task/handler/AutomaticLibraryTransferHandler.java b/src/main/java/com/zy/asrs/task/handler/AutomaticLibraryTransferHandler.java
new file mode 100644
index 0000000..1d73d98
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/AutomaticLibraryTransferHandler.java
@@ -0,0 +1,409 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.VersionUtils;
+import com.zy.common.service.CommonService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Service
+@Transactional
+public class AutomaticLibraryTransferHandler extends AbstractHandler<String>  {
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private LocMastService locMastService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+    @Autowired
+    private CommonService commonService;
+
+
+    public ReturnT<String> startOne() {
+        List<LocMast> locMastsF=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","F").eq("lev1",1).orderBy("bay1",false));
+        List<LocMast> locMastsO=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","O").eq("lev1",1).orderBy("bay1",false));
+        if(Cools.isEmpty(locMastsO)){
+            log.info("鑷姩绉诲簱娌℃湁绌哄簱浣嶏紝璇峰叧闂嚜鍔ㄥ簱浣嶅姛鑳�");
+            return FAIL;
+        }
+        LocMast locMast1 = locMastsO.get(0);
+
+        LocMast locMast2 = locMastsF.get(locMastsF.size()-1);
+        if(locMast2.getBay1()>locMast1.getBay1()){
+            return FAIL;
+        }
+
+        String locNo=null;
+        for(LocMast locMast:locMastsF){
+            if(locMast.getBay1()<locMast1.getBay1()){
+                locNo=locMast1.getLocNo();
+            }
+            //鐢熸垚绉诲簱浠诲姟
+            if(locNo!=null){
+                // 鑾峰彇宸ヤ綔鍙�
+                int workNo = commonService.getWorkNo(0);
+                // 淇濆瓨宸ヤ綔妗�
+                WrkMast wrkMast = new WrkMast();
+                wrkMast.setWrkNo(workNo);
+                wrkMast.setIoTime(new Date());
+                wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+                wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+                wrkMast.setIoPri(10D);
+                wrkMast.setCrnNo(1);
+                wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+                wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+                wrkMast.setFullPlt("Y"); // 婊℃澘
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("N"); // 绌烘澘
+                wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+                wrkMast.setLinkMis("N");
+                wrkMast.setAppeTime(new Date());
+                wrkMast.setModiTime(new Date());
+
+                if (!wrkMastService.insert(wrkMast)) {
+                    throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                }
+                // 宸ヤ綔妗f槑缁嗕繚瀛�
+                if (locMast.getLocSts().equals("F")) {
+                    List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                    for (LocDetl locDetl : locDetls) {
+                        WrkDetl wrkDetl = new WrkDetl();
+                        wrkDetl.sync(locDetl);
+                        wrkDetl.setWrkNo(workNo);
+                        wrkDetl.setIoTime(new Date());
+                        wrkDetl.setAnfme(locDetl.getAnfme());
+                        wrkDetl.setAppeTime(new Date());
+                        wrkDetl.setModiTime(new Date());
+                        if (!wrkDetlService.insert(wrkDetl)) {
+                            throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                        }
+                    }
+                }
+                // 淇敼婧愬簱浣嶇姸鎬�
+                if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("F")) {
+                    locMast.setLocSts("R"); // R.鍑哄簱棰勭害
+                    locMast.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+                }
+                // 淇敼鐩爣搴撲綅鐘舵��
+                if (locMast1.getLocSts().equals("O")) {
+                    locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast1.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast1)) {
+                        throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("绉昏浆澶辫触");
+                }
+
+                break;
+            }
+        }
+
+
+        return SUCCESS;
+    }
+    public ReturnT<String> startTwo() {
+        List<LocMast> locMastsF=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","F").eq("lev1",2).orderBy("bay1",false));
+        List<LocMast> locMastsO=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","O").eq("lev1",2).orderBy("bay1",false));
+        if(Cools.isEmpty(locMastsO)){
+            log.info("鑷姩绉诲簱娌℃湁绌哄簱浣嶏紝璇峰叧闂嚜鍔ㄥ簱浣嶅姛鑳�");
+            return FAIL;
+        }
+        LocMast locMast1 = locMastsO.get(0);
+
+        LocMast locMast2 = locMastsF.get(locMastsF.size()-1);
+        if(locMast2.getBay1()>locMast1.getBay1()){
+            return FAIL;
+        }
+
+        String locNo=null;
+        for(LocMast locMast:locMastsF){
+            if(locMast.getBay1()<locMast1.getBay1()){
+                locNo=locMast1.getLocNo();
+            }
+            //鐢熸垚绉诲簱浠诲姟
+            if(locNo!=null){
+                // 鑾峰彇宸ヤ綔鍙�
+                int workNo = commonService.getWorkNo(0);
+                // 淇濆瓨宸ヤ綔妗�
+                WrkMast wrkMast = new WrkMast();
+                wrkMast.setWrkNo(workNo);
+                wrkMast.setIoTime(new Date());
+                wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+                wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+                wrkMast.setIoPri(10D);
+                wrkMast.setCrnNo(1);
+                wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+                wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+                wrkMast.setFullPlt("Y"); // 婊℃澘
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("N"); // 绌烘澘
+                wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+                wrkMast.setLinkMis("N");
+                wrkMast.setAppeTime(new Date());
+                wrkMast.setModiTime(new Date());
+
+                if (!wrkMastService.insert(wrkMast)) {
+                    throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                }
+                // 宸ヤ綔妗f槑缁嗕繚瀛�
+                if (locMast.getLocSts().equals("F")) {
+                    List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                    for (LocDetl locDetl : locDetls) {
+                        WrkDetl wrkDetl = new WrkDetl();
+                        wrkDetl.setWrkNo(workNo);
+                        wrkDetl.setIoTime(new Date());
+                        wrkDetl.setAnfme(locDetl.getAnfme());
+                        wrkDetl.setAppeTime(new Date());
+                        wrkDetl.setModiTime(new Date());
+                        if (!wrkDetlService.insert(wrkDetl)) {
+                            throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                        }
+                    }
+                }
+                // 淇敼婧愬簱浣嶇姸鎬�
+                if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("F")) {
+                    locMast.setLocSts("R"); // R.鍑哄簱棰勭害
+                    locMast.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+                }
+                // 淇敼鐩爣搴撲綅鐘舵��
+                if (locMast1.getLocSts().equals("O")) {
+                    locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast1.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast1)) {
+                        throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("绉昏浆澶辫触");
+                }
+
+                break;
+            }
+        }
+        return SUCCESS;
+    }
+
+    public ReturnT<String> startThree() {
+        List<LocMast> locMastsF=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","D").eq("lev1",3).orderBy("bay1",true));
+        List<LocMast> locMastsO=locMastService.selectList(new EntityWrapper<LocMast>()
+                .eq("loc_sts","O").eq("lev1",3).orderBy("bay1",true));
+        if(Cools.isEmpty(locMastsO)){
+            log.info("鑷姩绉诲簱娌℃湁绌哄簱浣嶏紝璇峰叧闂嚜鍔ㄥ簱浣嶅姛鑳�");
+            return FAIL;
+        }
+        LocMast locMast1 = locMastsO.get(0);
+
+        LocMast locMast2 = locMastsF.get(locMastsF.size()-1);
+        if(locMast2.getBay1()>locMast1.getBay1()){
+            return FAIL;
+        }
+
+        String locNo=null;
+        for(LocMast locMast:locMastsF){
+            if(locMast.getBay1()<locMast1.getBay1()){
+                locNo=locMast1.getLocNo();
+            }
+            //鐢熸垚绉诲簱浠诲姟
+            if(locNo!=null){
+                // 鑾峰彇宸ヤ綔鍙�
+                int workNo = commonService.getWorkNo(0);
+                // 淇濆瓨宸ヤ綔妗�
+                WrkMast wrkMast = new WrkMast();
+                wrkMast.setWrkNo(workNo);
+                wrkMast.setIoTime(new Date());
+                wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+                wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+                wrkMast.setIoPri(10D);
+                wrkMast.setCrnNo(1);
+                wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+                wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+                wrkMast.setFullPlt("Y"); // 婊℃澘
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("N"); // 绌烘澘
+                wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+                wrkMast.setLinkMis("N");
+                wrkMast.setAppeTime(new Date());
+                wrkMast.setModiTime(new Date());
+
+                if (!wrkMastService.insert(wrkMast)) {
+                    throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                }
+                // 宸ヤ綔妗f槑缁嗕繚瀛�
+                if (locMast.getLocSts().equals("F")) {
+                    List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                    for (LocDetl locDetl : locDetls) {
+                        WrkDetl wrkDetl = new WrkDetl();
+                        wrkDetl.setWrkNo(workNo);
+                        wrkDetl.setIoTime(new Date());
+                        wrkDetl.setAnfme(locDetl.getAnfme());
+                        wrkDetl.setAppeTime(new Date());
+                        wrkDetl.setModiTime(new Date());
+                        if (!wrkDetlService.insert(wrkDetl)) {
+                            throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                        }
+                    }
+                }
+                // 淇敼婧愬簱浣嶇姸鎬�
+                if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("F")) {
+                    locMast.setLocSts("R"); // R.鍑哄簱棰勭害
+                    locMast.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+                }
+                // 淇敼鐩爣搴撲綅鐘舵��
+                if (locMast1.getLocSts().equals("O")) {
+                    locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast1.setModiTime(new Date());
+                    if (!locMastService.updateById(locMast1)) {
+                        throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+                    }
+                } else {
+                    throw new CoolException("绉昏浆澶辫触");
+                }
+
+                break;
+            }
+        }
+        return SUCCESS;
+    }
+    public ReturnT<String> startAll() {
+        for(int i=1;i<=3;i++){
+            boolean boo=false;
+            String sts="F";
+            if(i==3){
+                boo=true;
+                sts="D";
+            }
+            List<LocMast> locMastsF=locMastService.selectList(new EntityWrapper<LocMast>()
+                    .eq("loc_sts",sts).eq("lev1",i).orderBy("bay1",boo));
+            List<LocMast> locMastsO=locMastService.selectList(new EntityWrapper<LocMast>()
+                    .eq("loc_sts",sts).eq("lev1",i).orderBy("bay1",boo));
+            if(Cools.isEmpty(locMastsO)){
+                log.info("鑷姩绉诲簱娌℃湁绌哄簱浣嶏紝璇峰叧闂嚜鍔ㄥ簱浣嶅姛鑳�");
+                return FAIL;
+            }
+            LocMast locMast1 = locMastsO.get(0);
+
+            LocMast locMast2 = locMastsF.get(locMastsF.size()-1);
+            if(locMast2.getBay1()>locMast1.getBay1()){
+                return FAIL;
+            }
+
+            String locNo=null;
+            for(LocMast locMast:locMastsF){
+                if(locMast.getBay1()<locMast1.getBay1()){
+                    locNo=locMast1.getLocNo();
+                }
+                //鐢熸垚绉诲簱浠诲姟
+                if(locNo!=null){
+                    // 鑾峰彇宸ヤ綔鍙�
+                    int workNo = commonService.getWorkNo(0);
+                    // 淇濆瓨宸ヤ綔妗�
+                    WrkMast wrkMast = new WrkMast();
+                    wrkMast.setWrkNo(workNo);
+                    wrkMast.setIoTime(new Date());
+                    wrkMast.setWrkSts(0L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+                    wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+                    wrkMast.setIoPri(10D);
+                    wrkMast.setCrnNo(1);
+                    wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+                    wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+                    wrkMast.setFullPlt("Y"); // 婊℃澘
+                    wrkMast.setPicking("N"); // 鎷f枡
+                    wrkMast.setExitMk("N"); // 閫�鍑�
+                    wrkMast.setEmptyMk("N"); // 绌烘澘
+                    wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+                    wrkMast.setLinkMis("N");
+                    wrkMast.setAppeTime(new Date());
+                    wrkMast.setModiTime(new Date());
+
+                    if (!wrkMastService.insert(wrkMast)) {
+                        throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+                    }
+                    // 宸ヤ綔妗f槑缁嗕繚瀛�
+                    if (locMast.getLocSts().equals("F")) {
+                        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                        for (LocDetl locDetl : locDetls) {
+                            WrkDetl wrkDetl = new WrkDetl();
+                            wrkDetl.setWrkNo(workNo);
+                            wrkDetl.setIoTime(new Date());
+                            wrkDetl.setAnfme(locDetl.getAnfme());
+                            wrkDetl.setAppeTime(new Date());
+                            wrkDetl.setModiTime(new Date());
+                            if (!wrkDetlService.insert(wrkDetl)) {
+                                throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                            }
+                        }
+                    }
+                    // 淇敼婧愬簱浣嶇姸鎬�
+                    if (locMast.getLocSts().equals("D") || locMast.getLocSts().equals("F")) {
+                        locMast.setLocSts("R"); // R.鍑哄簱棰勭害
+                        locMast.setModiTime(new Date());
+                        if (!locMastService.updateById(locMast)) {
+                            throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+                        }
+                    } else {
+                        throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+                    }
+                    // 淇敼鐩爣搴撲綅鐘舵��
+                    if (locMast1.getLocSts().equals("O")) {
+                        locMast1.setLocSts("S"); // S.鍏ュ簱棰勭害
+                        locMast1.setModiTime(new Date());
+                        if (!locMastService.updateById(locMast1)) {
+                            throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+                        }
+                    } else {
+                        throw new CoolException("绉昏浆澶辫触");
+                    }
+                    break;
+                }
+            }
+            if (locNo !=null){
+                break;
+            }
+        }
+        return SUCCESS;
+    }
+}
+
diff --git a/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java b/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
index af840cd..3e991b0 100644
--- a/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WCSReportHandler.java
@@ -67,7 +67,11 @@
             task.setTaskType(1);//鍑哄簱
             task.setStartNode(wrkMast.getSourceLocNo());//婧愬簱浣�
             task.setEndNode(outDevp);
-        }else{//绌烘澘鍑哄簱
+        }else if(wrkMast.getIoType() == 11){//绉诲簱
+            task.setTaskType(2);//绉诲簱
+            task.setStartNode(wrkMast.getSourceLocNo());//婧愬簱浣�
+            task.setEndNode(wrkMast.getLocNo());//鐩爣搴撲綅
+        } else {//绌烘澘鍑哄簱
             task.setTaskType(1);//鍑哄簱
             task.setStartNode(wrkMast.getSourceLocNo());//婧愬簱浣�
             task.setEndNode("100");
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 7e5b636..c75d502 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -348,7 +348,7 @@
             wrkMast.setWrkSts(6L);//6.浠诲姟涓柇
         } else if (statusParam.getTaskStatus()==4 || statusParam.getTaskStatus()==8){
 //            wrkMast.setWrkSts(7L);//6.鏀捐揣瀹屾垚
-            if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10){
+            if(wrkMast.getIoType()==1 || wrkMast.getIoType() == 10 || wrkMast.getIoType() == 11){
                 wrkMast.setWrkSts(4L);//4.鍏ュ簱瀹屾垚
             }else if (wrkMast.getIoType()==101){
                 wrkMast.setWrkSts(14L);//14.宸插嚭搴撴湭纭

--
Gitblit v1.9.1