自动化立体仓库 - WMS系统
LSH
2024-03-25 915e2fbc3dd51674bcc1ad7eacbd91258243fb75
#for循环异常处理
9个文件已修改
231 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkLogScheduler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkMastScheduler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/BarcodeUploadScheduler.java
@@ -2,14 +2,15 @@
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.BarcodeUploadHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
 * Created by Monkey D. Luffy on 2023.07.25
 * 徐工汉云..............以下.............上饶江铜.............条码上传中控
 */
@Slf4j
@Component
public class BarcodeUploadScheduler {
@@ -20,9 +21,14 @@
    private void execute(){//条码上传中控
        int[] staNos =new int[]{215,219};
        for (int staNo : staNos){
            ReturnT<String> result = barcodeUploadHandler.start(staNo);
            if (result.getCode()==200){
                break;
            try{
                ReturnT<String> result = barcodeUploadHandler.start(staNo);
                if (result.getCode()==200){
                    break;
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]条码上传中控失败", staNo);
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
@@ -50,43 +50,47 @@
            return;
        }
        for (BasCrnp basCrnp:basCrnps){
            if (basCrnp.getCrnSts()!=3) continue;
            if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) continue;
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",basCrnp.getCrnNo()));
            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0) {
                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",basCrnp.getCrnNo()).orderBy("appe_time",true));//空板所在
                if (Cools.isEmpty(locMastStart)){
                    continue;
                }
                if (!Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())){
                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo());
                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                    if (!locNo.getLocSts().equals("O")){
                        locMastStart = locNo;
                    }
                }
                LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("crn_no",basCrnp.getCrnNo()).ne("modi_user",66).orderBy("row1",true));//目标
                if (Cools.isEmpty(locMastEnd)){
                    continue;
                }
                if (!Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())){
                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastEnd.getLocNo());
                    LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                    if (locNo.getLocSts().equals("O")){
           try{
               if (basCrnp.getCrnSts()!=3) continue;
               if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) continue;
               List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",basCrnp.getCrnNo()));
               if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0) {
                   LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",basCrnp.getCrnNo()).orderBy("appe_time",true));//空板所在
                   if (Cools.isEmpty(locMastStart)){
                       continue;
                   }
                   if (!Utils.isShallowLoc(slaveProperties, locMastStart.getLocNo())){
                       String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastStart.getLocNo());
                       LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                       if (!locNo.getLocSts().equals("O")){
                           locMastStart = locNo;
                       }
                   }
                   LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","O").eq("crn_no",basCrnp.getCrnNo()).ne("modi_user",66).orderBy("row1",true));//目标
                   if (Cools.isEmpty(locMastEnd)){
                       continue;
                   }
                   if (!Utils.isShallowLoc(slaveProperties, locMastEnd.getLocNo())){
                       String shallowLocNo = Utils.getShallowLoc(slaveProperties, locMastEnd.getLocNo());
                       LocMast locNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLocNo));
                       if (locNo.getLocSts().equals("O")){
                    }else {
                        locMastEnd.setModiUser(66L);
                        locMastService.updateById(locMastEnd);
                        continue;
                    }
                }
                       }else {
                           locMastEnd.setModiUser(66L);
                           locMastService.updateById(locMastEnd);
                           continue;
                       }
                   }
//                if (Cools.isEmpty(locMastStart) || Cools.isEmpty(locMastEnd)){
                ReturnT<String> result = locMoveAllHandler.start(locMastStart,locMastEnd,basCrnp.getCrnNo());
                if (!result.isSuccess()) {
                    log.error("处理失败");
                }
            }
                   ReturnT<String> result = locMoveAllHandler.start(locMastStart,locMastEnd,basCrnp.getCrnNo());
                   if (!result.isSuccess()) {
                       log.error("处理失败");
                   }
               }
           }catch (Exception e){
               log.error("处理失败,异常信息:"+e);
           }
        }
    }
src/main/java/com/zy/asrs/task/OneLouHangJiaScheduler.java
@@ -7,6 +7,7 @@
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.OneLouHangJiaHandler;
import com.zy.asrs.task.handler.RailwayPlatformHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -15,6 +16,7 @@
 * Created by Monkey D. Luffy on 2023.09.17
 * 徐工汉云..............以下.............上饶江铜.............退库拆码垛
 */
@Slf4j
@Component
public class OneLouHangJiaScheduler {
@@ -28,14 +30,18 @@
//        int[] staNos =new int[]{118,119};
        int[] staNos =new int[]{118};
        for (int staNo : staNos){
            WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("sta_end",staNo)
                    .eq("type", 2).eq("wrk_sts", 0).eq("wrk_type", 2));
            if (!Cools.isEmpty(wrkMastSta)){
                break;
            }
            ReturnT<String> result = oneLouHangJiaHandler.start(147,staNo);
            if (result.getCode()==200){
                break;
            try{
                WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>().eq("sta_end",staNo)
                        .eq("type", 2).eq("wrk_sts", 0).eq("wrk_type", 2));
                if (!Cools.isEmpty(wrkMastSta)){
                    break;
                }
                ReturnT<String> result = oneLouHangJiaHandler.start(147,staNo);
                if (result.getCode()==200){
                    break;
                }
            }catch (Exception e){
                log.error("退库拆码垛"+staNo+"站点处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -45,9 +45,14 @@
        if (!Cools.isEmpty(erpReport) && erpReport.equals("true")) {
            List<Order> orders = orderService.selectComplete();
            for (Order order : orders) {
                ReturnT<String> result = orderSyncHandler.start(order);
                if (!result.isSuccess()) {
                try{
                    ReturnT<String> result = orderSyncHandler.start(order);
                    if (!result.isSuccess()) {
                        log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
                    }
                }catch (Exception e){
                    log.error("单据[orderNo={}]上报erp失败", order.getOrderNo());
                    log.error("订单"+order+"处理失败,异常信息:"+e);
                }
            }
        }
src/main/java/com/zy/asrs/task/RailwayPlatformScheduler.java
@@ -2,6 +2,7 @@
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.RailwayPlatformHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -10,6 +11,7 @@
 * Created by Monkey D. Luffy on 2023.09.17
 * 徐工汉云..............以下.............上饶江铜.............上报月台
 */
@Slf4j
@Component
public class RailwayPlatformScheduler {
@@ -20,9 +22,13 @@
    private void execute(){//上报月台
        int[] staNos =new int[]{144};
        for (int staNo : staNos){
            ReturnT<String> result = railwayPlatformHandler.start(staNo);
            if (result.getCode()==200){
                break;
            try{
                ReturnT<String> result = railwayPlatformHandler.start(staNo);
                if (result.getCode()==200){
                    break;
                }
            }catch (Exception e){
                log.error("站点"+staNo+"上报月台处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -2,6 +2,7 @@
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.ReportToDismantleTheStackHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -10,6 +11,7 @@
 * Created by Monkey D. Luffy on 2023.07.25
 * 徐工汉云..............以下.............上饶江铜.............拆垛信息上传
 */
@Slf4j
@Component
public class ReportToDismantleTheStackScheduler {
@@ -20,9 +22,13 @@
    private void execute(){//拆垛信息上传
        int[] staNos =new int[]{118,119,120,121};
        for (int staNo : staNos){
            ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
            if (result.getCode()==200){
                break;
            try{
                ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
                if (result.getCode()==200){
                    break;
                }
            }catch (Exception e){
                log.error("站点"+staNo+"拆垛信息上传处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -43,6 +43,7 @@
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
@@ -59,6 +60,7 @@
                wrkMastService.updateById(wrkMast);
            }catch (Exception e){
                log.error("工作档[workNo={}]标记处理失败", wrkMast.getWrkNo());
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
@@ -77,6 +79,7 @@
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]历史档处理失败", wrkMastSta.getWrkNo());
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -56,6 +56,7 @@
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]更新库存处理失败", wrkMast.getWrkNo());
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
@@ -83,7 +84,7 @@
                }
            }catch (Exception e){
                log.error("工作档[workNo={}]转完成处理失败", wrkMast.getWrkNo());
                log.error("处理失败,异常信息:"+e);
            }
        }
    }
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -66,58 +66,63 @@
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute(){
        for(Integer staNo : STA_WORK_CU){
            BasDevp basDevp = basDevpService.selectById(staNo);
            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                if(Cools.isEmpty(wrkMast)){
                    continue;
                }
                if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){
                    if (!wrkMast.getStaNo().equals(122)){
            try{
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if(Cools.isEmpty(wrkMast)){
                        continue;
                    }
                }
                if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                    continue;
                }
                if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){
                    continue;
                }
                boolean wrkTypeSign = fullKM(wrkMast);
                if (!Cools.isEmpty(wrkMast)){
                    if (wrkTypeSign) {
                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
                        if (result.getCode()==200){
                    if (wrkMast.getIoType()<100 || wrkMast.getIoType()==110){
                        if (!wrkMast.getStaNo().equals(122)){
                            continue;
                        }else {
                            System.out.println(staNo+"失败!");
                        }
                    } else {
                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5:满取
                        if (result.getCode()==200){
                            continue;
                        }else {
                            System.out.println(staNo+"失败!");
                    }
                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                        continue;
                    }
                    if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){
                        continue;
                    }
                    boolean wrkTypeSign = fullKM(wrkMast);
                    if (!Cools.isEmpty(wrkMast)){
                        if (wrkTypeSign) {
                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
                            if (result.getCode()==200){
                                continue;
                            }else {
                                System.out.println(staNo+"失败!");
                            }
                        } else {
                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5:满取
                            if (result.getCode()==200){
                                continue;
                            }else {
                                System.out.println(staNo+"失败!");
                            }
                        }
                    }
                }
            }catch (Exception e){
                log.error("自动补空板STA_WORK_CU处理失败,当前站点号:"+staNo+"异常信息"+e);
            }
        }
        for(Integer staNo : STA_WORK_RU){
            BasDevp basDevp = basDevpService.selectById(staNo);
            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                if (Cools.isEmpty(wrkMast)){
                    continue;
                }
            try{
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if (Cools.isEmpty(wrkMast)){
                        continue;
                    }
                if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
                    continue;
                }
                    if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
                        continue;
                    }
//                boolean wrkTypeSign = fullKM(wrkMast);
                if (!Cools.isEmpty(wrkMast)){
                    if (!Cools.isEmpty(wrkMast)){
//                    if (wrkTypeSign){
                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);
                        if (result.getCode()==200) {
@@ -125,7 +130,10 @@
                        } else {
                            System.out.println(staNo+"失败!");
                        }
                    }
                }
            }catch (Exception e){
                log.error("自动补空板STA_WORK_RU处理失败,当前站点号:"+staNo+"异常信息"+e);
            }
        }
    }