自动化立体仓库 - WCS系统
#
zc
昨天 ef942fc4483059aa0526e913f9be41982df7bb79
#
6个文件已修改
85 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/TVController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/TVController.java
@@ -239,7 +239,7 @@
            dev_no2 = 1012;
        } else if (ledId == 2) {
            dev_no1 = 1013;
            dev_no2 = 1015;
            dev_no2 = 1014;
            dev_no3 = 1015;
        } else if (ledId == 3) {
            dev_no1 = 1021;
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -182,7 +182,7 @@
                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                    String errMsg = "";
                    if (!back && staProtocol.isBackErr()) {
                        errMsg = "超宽异常";
                        errMsg = "超长异常";
                        back = true;
                    }
                    if (!back && staProtocol.isHighErr()) {
@@ -190,11 +190,7 @@
                        back = true;
                    }
                    if (!back && staProtocol.isRightErr()) {
                        errMsg = "超长异常";
                        back = true;
                    }
                    if (!back && staProtocol.isWeightErr()) {
                        errMsg = "超重";
                        errMsg = "超宽异常";
                        back = true;
                    }
                    // 退回
@@ -405,6 +401,29 @@
                if (wrkMast.getStaNo() == 1026) {
                    locNo = "1200305";
                }
                //获取提升机信息
                LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1);
                if (liftThread == null) {
                    continue;
                }
                LiftProtocol liftProtocol = liftThread.getStatus();
                if (liftProtocol == null) {
                    continue;
                }
                if (!liftThread.isIdle()) {
                    continue;
                }
                //判断提升机内是否有托盘
                if (liftProtocol.getHasTray()) {
                    News.info("{}任务,{}号提升机,提升机内无托盘,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                    continue;
                }
                boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP");
                if (!dispatchShuttle) {
                    News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
@@ -454,15 +473,19 @@
            if (wrkMast.getStaNo() == 1024) {
                locNo = "1200305";
            }
            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleNoLift(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
            if (!dispatchShuttle) {
                News.info("{}任务,调度小车失败", wrkMast.getWrkNo());
                continue;
            }
            WrkMast wrkMast2 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
            wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
            wrkMast.setSystemMsg("");//清空消息
            wrkMast.setModiTime(now);
            if (wrkMast2 != null) {
                wrkMast.setShuttleNo(wrkMast2.getShuttleNo());
            }
            if (!wrkMastService.updateById(wrkMast)) {
                News.info("{}任务,更新工作档失败", wrkMast.getWrkNo());
            } else {
@@ -944,7 +967,7 @@
            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led);
            String errMsg = "";
            if (!back && staProtocol.isBackErr()) {
                errMsg = "超宽异常";
                errMsg = "超长异常";
                back = true;
            }
            if (!back && staProtocol.isHighErr()) {
@@ -952,7 +975,7 @@
                back = true;
            }
            if (!back && staProtocol.isRightErr()) {
                errMsg = "超长异常";
                errMsg = "超宽异常";
                back = true;
            }
            if (!back && staProtocol.isWeightErr()) {
@@ -968,7 +991,6 @@
                }
            }
            String barcode = staProtocol.getBarcode();
            if (!staProtocol.isLoading()) {
@@ -1800,6 +1822,14 @@
        try {
            this.recShuttleErr();
            this.recLiftErr();
            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 1);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 2);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 3);
            ledThread.errorReset();
            ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, 4);
            ledThread.errorReset();
        } catch (Exception e) {
            News.error("recErr fail", e);
        }
src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java
@@ -64,6 +64,7 @@
    /**
     * 从没有提升机侧入库,有两种情况,一种入库到同层,一种入库到不同层,则需要提升机
     *
     * @param wrkMast
     */
    public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo, Integer lev) {
@@ -439,14 +440,7 @@
                return false;
            }
            //判断提升机是否有其他任务
            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
            if (liftWrkMast != null) {
                if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同
                    News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo());
                    return false;//当前提升机存在未完成任务,等待下一次轮询
                }
            }
            if (!liftThread.isIdle()) {
                News.info("{}任务,{}号提升机,提升机忙碌中,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -474,11 +468,11 @@
            }
            //判断提升机是否有其他任务
            WrkMast w = wrkMastService.selectLiftWrkMast(1);
            if (w != null) {
                if (!w.getWrkNo().equals(wrkMast.getWrkNo())) {//提升机任务和当前任务不相同
                    News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在别的绑定任务ru,禁止派发", wrkMast.getWrkNo(), 1);
                    return false;
            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
            if (liftWrkMast != null) {
                if (!liftWrkMast.getWrkNo().equals(wrkMast.getMainWrkNo())) {//提升机任务和当前任务不相同
                    News.info("{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), wrkMast.getLiftNo());
                    return false;//当前提升机存在未完成任务,等待下一次轮询
                }
            }
src/main/java/com/zy/asrs/service/impl/TransportLiftInServiceImpl.java
@@ -137,6 +137,7 @@
                return false;
            }
            if (!liftStandByLocNo.equals(wrkMast.getSourceLocNo())) {
                //获取小车到提升机待机位行走命令
                List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), liftStandByLocNo, mapType, assignCommand, shuttleThread);
src/main/java/com/zy/asrs/service/impl/TransportLiftOutServiceImpl.java
@@ -558,7 +558,7 @@
            }
            //获取小车到提升机待机行走命令
            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.DFX.id, assignCommand, shuttleThread);
            List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), locNo, NavigationMapType.NORMAL.id, assignCommand, shuttleThread);
            if (commands == null) {
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}小车,路径计算失败", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
                return false;
src/main/java/com/zy/common/service/CommonService.java
@@ -1,5 +1,6 @@
package com.zy.common.service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.param.*;
@@ -184,6 +185,10 @@
        if (!locMast.getLocSts().equals("O")) {
            throw new CoolException("目标库位不处于空库状态");
        }
        WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo()));
        if (wms_wrk_no!=null){
            throw new CoolException("工作当已经存在");
        }
        // 获取工作号
        int workNo = getWorkNo(WrkIoType.IN.id);
@@ -225,7 +230,10 @@
        if (!locMast.getLocSts().equals("F")) {
            throw new CoolException("源库位不处于在库状态");
        }
        WrkMast wms_wrk_no = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", param.getTaskNo()));
        if (wms_wrk_no!=null){
            throw new CoolException("工作当已经存在");
        }
        // 获取工作号
        int workNo = getWorkNo(WrkIoType.OUT.id);
        // 保存工作档