自动化立体仓库 - WCS系统
Junjie
2023-04-14 3a1b33b1ab558591cf9c8acc5aa6585d6ccd6473
穿梭车状态和提升机状态显示更新
10个文件已修改
123 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LiftController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ShuttleController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/LiftProtocolStatusType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/css/console.css 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/console.html 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/lift.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/shuttle.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LiftController.java
@@ -63,7 +63,7 @@
                continue;
            }
            vo.setTaskNo(liftProtocol.getTaskNo());  //  任务号
            vo.setProtocolStatus(liftProtocol.getProtocolStatusType().desc);
            vo.setProtocolStatus(liftProtocol.getProtocolStatusType().id);
            vo.setLiftLock(liftProtocol.getLiftLock());
            vo.setPositionArrivalFeedback(liftProtocol.getPositionArrivalFeedback());
            vo.setReady(liftProtocol.getReady());
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -65,6 +65,8 @@
            // 获取四向穿梭车信息
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, basShuttle.getShuttleNo());
            if (shuttleThread == null) {
                vo.setStatus(ShuttleProtocolStatusType.OFFLINE.id);//设备离线
                vo.setBusyStatus(ShuttleProtocolStatusType.OFFLINE.desc);
                continue;
            }
            ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
@@ -73,7 +75,7 @@
            }
            vo.setTaskNo(shuttleProtocol.getTaskNo().intValue());  //  任务号
            vo.setBusyStatus(shuttleProtocol.getBusyStatusType().desc); //四向穿梭车状态
            vo.setStatus(shuttleProtocol.getProtocolStatusType().desc);//当前任务状态
            vo.setStatus(shuttleProtocol.getProtocolStatusType().id);//当前任务状态
            vo.setCurrentCode(shuttleProtocol.getCurrentCode());//当前二维码
            LocMast currentLocMast = locMastService.queryByQrCode(shuttleProtocol.getCurrentCode().toString());
            if (currentLocMast == null) {
src/main/java/com/zy/asrs/domain/vo/LiftStateTableVo.java
@@ -18,7 +18,7 @@
    /**
     * 当前提升机状态(内部自我维护)
     */
    private String protocolStatus;
    private Integer protocolStatus;
    /**
     * 提升机锁定
@@ -225,4 +225,8 @@
        return this.pakMk ? "Y" : "N";
    }
    public String getProtocolStatus$() {
        return LiftProtocolStatusType.get(this.protocolStatus).desc;
    }
}
src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
@@ -4,6 +4,7 @@
import com.zy.asrs.entity.BasShuttleErr;
import com.zy.asrs.service.BasShuttleErrService;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleProtocolStatusType;
import com.zy.core.enums.ShuttleStatusType;
import lombok.Data;
@@ -14,7 +15,7 @@
    private Integer shuttleNo;
    // 状态
    private String status = "-";
    private Integer status;
    //四向穿梭车忙装填
    private String busyStatus = "-";
@@ -208,4 +209,8 @@
        return this.plcOutputCharge ? "Y" : "N";
    }
    public String getStatus$() {
        return ShuttleProtocolStatusType.get(this.status).desc;
    }
}
src/main/java/com/zy/core/enums/LiftProtocolStatusType.java
@@ -4,6 +4,7 @@
    IDLE(1, "空闲"),
    WORKING(2, "作业中"),
    WAITING(3, "等待确认"),
    OFFLINE(4, "离线"),
    ;
    public Integer id;
src/main/java/com/zy/core/enums/ShuttleProtocolStatusType.java
@@ -8,9 +8,10 @@
    IDLE(1, "空闲"),
    WORKING(2, "作业中"),
    WAITING(3, "等待确认"),
    CHARGING(5, "充电中"),
    CHARGING_WAITING(6, "充电任务等待确认"),
    FIXING(7, "故障修复中"),
    CHARGING(4, "充电中"),
    CHARGING_WAITING(5, "充电任务等待确认"),
    FIXING(6, "故障修复中"),
    OFFLINE(7, "离线"),
    ;
    public Integer id;
src/main/webapp/static/css/console.css
@@ -305,6 +305,10 @@
.shuttle-fixing {
    background-color: rgb(252,48,48);
}
/*离线*/
.shuttle-offline {
    background-color: rgb(0, 0, 0);
}
/*空闲*/
.lift-idle {
    background-color: rgb(120,255,129);
@@ -317,6 +321,10 @@
.lift-waiting {
    background-color: rgb(184,184,184);
}
/*离线*/
.lift-offline {
    background-color: rgb(0, 0, 0);
}
#code {
    background-image: url(../images/status_bar_2.png);
    background-repeat: no-repeat;
src/main/webapp/views/console.html
@@ -59,13 +59,7 @@
        <!-- 四向穿梭车状态 -->
        <div class="line-status">
            <div class="body-head">穿梭车状态</div>
            <div class="state">
                <span>四向穿梭车 1</span>
                <span class="state-ss shuttle-idle">空闲</span>
            </div>
            <div class="state">
                <span>四向穿梭车 2</span>
                <span class="state-ss shuttle-idle">空闲</span>
            <div id="shuttle-status-box">
            </div>
            <div class="button"><span>所有状态</span></div>
            <div class="button item-group">
@@ -75,20 +69,21 @@
                <span class="shuttle-charging">充电中</span>
                <span class="shuttle-charging-waiting">充电任务等待确认</span>
                <span class="shuttle-fixing">故障修复中</span>
                <span class="shuttle-offline">离线</span>
            </div>
        </div>
        <!-- 提升机状态 -->
        <div class="line-status">
            <div class="body-head">提升机状态</div>
            <div class="state states">
                <span>提升机</span>
                <span class="state-ss shuttle-idle">空闲</span>
            <div id="lift-status-box">
            </div>
            <div class="button"><span>所有状态</span></div>
            <div class="button item-group">
                <span class="lift-idle">空闲</span>
                <span class="lift-working">作业中</span>
                <span class="lift-waiting">等待确认</span>
                <span class="lift-offline">离线</span>
            </div>
        </div>
        <!-- 输送线状态 -->
@@ -418,7 +413,44 @@
    setInterval(() => {
        getShuttleStateInfo()
        getLiftStateInfo()
    },1000)
    // 提升机信息表获取
    function getLiftStateInfo() {
        $.ajax({
            url: baseUrl+ "/lift/table/lift/state",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                $("#lift-status-box").empty()
                res.data.forEach((item,index) => {
                    let liftStatusClass = "lift-idle"
                    switch (item.status) {
                        case 1://空闲
                            liftStatusClass = "lift-idle";
                            break
                        case 2://作业中
                            liftStatusClass = "lift-working";
                            break
                        case 3://等待确认
                            liftStatusClass = "lift-waiting";
                            break
                        case 4://离线
                            liftStatusClass = "lift-offline";
                            break
                        default:
                            liftStatusClass = "lift-idle"
                    }
                    let liftStatus = '<div class="state states">' +
                        '<span>提升机 ' + item.liftNo + '</span>' +
                        '<span class="state-ss ' + liftStatusClass + '">' + item.protocolStatus$ + '</span></div>';
                    $("#lift-status-box").append(liftStatus)
                })
            }
        });
    }
    // 四向穿梭车信息表获取
    function getShuttleStateInfo() {
@@ -427,7 +459,39 @@
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                $("#shuttle-status-box").empty()
                res.data.forEach((item,index) => {
                    let shuttleStatusClass = "shuttle-idle"
                    switch (item.status) {
                        case 1://空闲
                            shuttleStatusClass = "shuttle-idle";
                            break
                        case 2://作业中
                            shuttleStatusClass = "shuttle-working";
                            break
                        case 3://等待确认
                            shuttleStatusClass = "shuttle-waiting";
                            break
                        case 4://充电中
                            shuttleStatusClass = "shuttle-charging";
                            break
                        case 5://充电任务等待确认
                            shuttleStatusClass = "shuttle-charging-waiting";
                            break
                        case 6://故障修复中
                            shuttleStatusClass = "shuttle-fixing";
                            break
                        case 7://离线
                            shuttleStatusClass = "shuttle-offline";
                            break
                        default:
                            shuttleStatusClass = "shuttle-idle"
                    }
                    let shuttleStatus = '<div class="state">' +
                        '<span>四向穿梭车 ' + item.shuttleNo + '</span>' +
                        '<span class="state-ss ' + shuttleStatusClass + '">' + item.status$ + '</span></div>';
                    $("#shuttle-status-box").append(shuttleStatus)
                    if(item.locNoLev != currentLev){
                        //四向穿梭车楼层和当前地图楼层不一致,删除该车辆
                        $("#sxcar-" + item.shuttleNo).remove()
src/main/webapp/views/lift.html
@@ -309,7 +309,7 @@
                        let tr = tableEl.find("tr").eq(i);
                        setVal(tr.children("td").eq(0), table[i-1].liftNo);
                        setVal(tr.children("td").eq(1), table[i-1].taskNo);
                        setVal(tr.children("td").eq(2), table[i-1].protocolStatus);
                        setVal(tr.children("td").eq(2), table[i-1].protocolStatus$);
                        setVal(tr.children("td").eq(3), table[i-1].liftLock$);
                        setVal(tr.children("td").eq(4), table[i-1].positionArrivalFeedback);
                        setVal(tr.children("td").eq(5), table[i-1].ready$);
src/main/webapp/views/shuttle.html
@@ -574,7 +574,7 @@
                        // $("#mode-"+table[i-1].shuttleNo).html(table[i-1].statusVal===0?'联机':'脱机');
                        let tr = tableEl.find("tr").eq(i);
                        setVal(tr.children("td").eq(0), table[i-1].shuttleNo);
                        setVal(tr.children("td").eq(1), table[i-1].status);
                        setVal(tr.children("td").eq(1), table[i-1].status$);
                        setVal(tr.children("td").eq(2), table[i-1].busyStatus);
                        setVal(tr.children("td").eq(3), table[i-1].currentCode);
                        setVal(tr.children("td").eq(4), table[i-1].batteryPower);