Junjie
2023-04-10 0e0cf6f88516ca1aad92a0f2df7129a95dc4d1fc
四向穿梭车界面+错误码
5个文件已修改
5个文件已添加
276 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ShuttleController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasShuttleErr.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasShuttleErrMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasShuttleErrService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasShuttleErrServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/ShuttleAssignCommand.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasShuttleErrMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/shuttle.html 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -91,7 +91,7 @@
            vo.setBatteryPower(shuttleProtocol.getBatteryPower$() == null ? "" : shuttleProtocol.getBatteryPower$() + "%");//电池电量
            vo.setBatteryTemp(shuttleProtocol.getBatteryTemp$() == null ? "" : shuttleProtocol.getBatteryTemp$() + "°");//电池温度
            if (!Cools.isEmpty(shuttleProtocol.getErrorCode())) {
                vo.setErrorCode(shuttleProtocol.getErrorCodeType().desc);//错误编号
                vo.setErrorCode(shuttleProtocol.getErrorCodeType());//错误编号
            }
            vo.setPlcOutputStatusIO(shuttleProtocol.getPlcOutputStatusIO());//Plc输出状态IO
            if (!Cools.isEmpty(shuttleProtocol.getPlcOutputLift())) {
@@ -107,7 +107,7 @@
                vo.setPlcOutputCharge(shuttleProtocol.getPlcOutputCharge());
            }
            if (!Cools.isEmpty(shuttleProtocol.getStatusErrorCode())) {
                vo.setStatusErrorCode(shuttleProtocol.getStatusErrorCode());//错误信息码
                vo.setStatusErrorCode(shuttleProtocol.getStatusErrorCode$());//错误信息码
            }
            vo.setPlcInputStatus(shuttleProtocol.getPlcInputStatus());//PLC输入状态
            vo.setCurrentOrBeforeCode(shuttleProtocol.getCurrentOrBeforeCode());//当前或者之前读到的二维码值
src/main/java/com/zy/asrs/domain/vo/ShuttleStateTableVo.java
@@ -1,5 +1,8 @@
package com.zy.asrs.domain.vo;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasShuttleErr;
import com.zy.asrs.service.BasShuttleErrService;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleStatusType;
import lombok.Data;
@@ -95,7 +98,7 @@
    /**
     * 错误信息码
     */
    private Short statusErrorCode;
    private String statusErrorCode;
    /**
     * 错误信息码枚举
@@ -167,16 +170,37 @@
        return this.errorCodeType.desc;
    }
    public void setStatusErrorCode(Short statusErrorCode) {
        this.statusErrorCode = statusErrorCode;
        this.errorCodeType = ShuttleErrorCodeType.get(statusErrorCode.intValue());
    public void setErrorCode(Short errorCode) {
        this.errorCode = ShuttleErrorCodeType.get(errorCode.intValue()).desc;
        this.errorCodeType = ShuttleErrorCodeType.get(errorCode.intValue());
    }
    public void setStatusErrorCode(ShuttleErrorCodeType type) {
        this.statusErrorCode = type.id.shortValue();
    public void setErrorCode(ShuttleErrorCodeType type) {
        this.errorCode = type.desc;
        this.errorCodeType = type;
    }
    public String getPlcOutputLift$() {
        if (this.plcOutputLift == null) {
            return null;
        }
        return this.plcOutputLift ? "Y" : "N";
    }
    public String getPlcOutputTransfer$() {
        if (this.plcOutputTransfer == null) {
            return null;
        }
        return this.plcOutputTransfer ? "Y" : "N";
    }
    public String getPlcOutputBrake$() {
        if (this.plcOutputBrake == null) {
            return null;
        }
        return this.plcOutputBrake ? "Y" : "N";
    }
    public String getPlcOutputCharge$() {
        if (this.plcOutputCharge == null) {
            return null;
src/main/java/com/zy/asrs/entity/BasShuttleErr.java
New file
@@ -0,0 +1,127 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableField;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
@Data
@TableName("asr_bas_shuttle_err")
public class BasShuttleErr implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 异常码
     */
    @ApiModelProperty(value= "异常码")
    @TableId(value = "error_code", type = IdType.INPUT)
    @TableField("error_code")
    private Long errorCode;
    /**
     * 异常
     */
    @ApiModelProperty(value= "异常")
    @TableField("err_name")
    private String errName;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date modiTime;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date appeTime;
    public BasShuttleErr() {}
    public BasShuttleErr(Long errorCode,String errName,Long modiUser,Date modiTime,Long appeUser,Date appeTime) {
        this.errorCode = errorCode;
        this.errName = errName;
        this.modiUser = modiUser;
        this.modiTime = modiTime;
        this.appeUser = appeUser;
        this.appeTime = appeTime;
    }
//    BasShuttleErr basShuttleErr = new BasShuttleErr(
//            null,    // 异常码[非空]
//            null,    // 异常
//            null,    // 修改人员
//            null,    // 修改时间
//            null,    // 添加人员
//            null    // 添加时间
//    );
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getUsername());
        }
        return null;
    }
    public String getAppeTime$(){
        if (Cools.isEmpty(this.appeTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
}
src/main/java/com/zy/asrs/mapper/BasShuttleErrMapper.java
New file
@@ -0,0 +1,14 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.BasShuttleErr;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface BasShuttleErrMapper extends BaseMapper<BasShuttleErr> {
    BasShuttleErr queryByCode(Integer errorCode);
}
src/main/java/com/zy/asrs/service/BasShuttleErrService.java
New file
@@ -0,0 +1,10 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.BasShuttleErr;
import com.baomidou.mybatisplus.service.IService;
public interface BasShuttleErrService extends IService<BasShuttleErr> {
    BasShuttleErr queryByCode(Integer errorCode);
}
src/main/java/com/zy/asrs/service/impl/BasShuttleErrServiceImpl.java
New file
@@ -0,0 +1,16 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.BasShuttleErrMapper;
import com.zy.asrs.entity.BasShuttleErr;
import com.zy.asrs.service.BasShuttleErrService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("basShuttleErrService")
public class BasShuttleErrServiceImpl extends ServiceImpl<BasShuttleErrMapper, BasShuttleErr> implements BasShuttleErrService {
    @Override
    public BasShuttleErr queryByCode(Integer errorCode) {
        return this.baseMapper.queryByCode(errorCode);
    }
}
src/main/java/com/zy/core/model/command/ShuttleAssignCommand.java
@@ -1,10 +1,5 @@
package com.zy.core.model.command;
import com.core.common.RadixTools;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.service.LocMastService;
import com.zy.common.utils.CommonUtils;
import lombok.Data;
import java.util.ArrayList;
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
@@ -1,7 +1,9 @@
package com.zy.core.model.protocol;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasShuttleErr;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.service.BasShuttleErrService;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.LocMastService;
import com.zy.core.News;
@@ -312,4 +314,13 @@
        return currentLocMast.getLocNo();
    }
    public String getStatusErrorCode$() {
        BasShuttleErrService basShuttleErrService = SpringUtils.getBean(BasShuttleErrService.class);
        BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(this.statusErrorCode.intValue());
        if (basShuttleErr == null) {
            return null;
        }
        return basShuttleErr.getErrName();
    }
}
src/main/resources/mapper/BasShuttleErrMapper.xml
New file
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zy.asrs.mapper.BasShuttleErrMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasShuttleErr">
        <result column="error_code" property="errorCode" />
        <result column="err_name" property="errName" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
    </resultMap>
    <select id="queryByCode" resultMap="BaseResultMap">
        select top 1 *
        from asr_bas_shuttle_err
        where error_code = #{errorCode}
    </select>
</mapper>
src/main/webapp/views/shuttle.html
@@ -20,7 +20,7 @@
        <div style="padding: 10px;height: 100%">
            <!-- 日志监控板 -->
            <div class="log-board">
                <div class="command-log" id="commandLogId">
                <div class="command-log" id="commandLogId" style="width: 5%;">
<!--                    <div data-shuttleNo="1" class="shuttle-command-item">-->
<!--                        <label>1#</label>-->
<!--                        <button class="demoBtn pos-btn">数据维护</button>-->
@@ -28,7 +28,7 @@
<!--                    </div>-->
                </div>
                <!-- 堆垛机状态位信息 -->
                <div class="shuttle-state">
                <div class="shuttle-state" style="width: 95%;">
                    <table id="shuttle-state-table">
                        <thead>
                            <tr>
@@ -39,6 +39,9 @@
                                <th>电量</th>
                                <th>电池温度</th>
                                <th>错误编号</th>
                                <th>plc输出状态IO-顶升位</th>
                                <th>plc输出状态IO-换向位</th>
                                <th>plc输出状态IO-抱闸位</th>
                                <th>plc输出状态IO-充电位</th>
                                <th>错误信息码</th>
                                <th>plc输入状态</th>
@@ -561,8 +564,8 @@
                        //渲染四向穿梭车数据维护和设备信息html
                        let shuttleCommandLogBox = '<div class="shuttle-command-item" data-shuttleNo="' + table[i - 1].shuttleNo + '">\n' +
                            '<label>' + table[i - 1].shuttleNo + '#</label>\n' +
                            '<button class="demoBtn pos-btn">数据维护</button>\n' +
                            '<button class="demoBtn mode-btn" id="mode-' + table[i - 1].shuttleNo + '">设备信息</button>\n' +
                            // '<button class="demoBtn pos-btn">数据维护</button>\n' +
                            // '<button class="demoBtn mode-btn" id="mode-' + table[i - 1].shuttleNo + '">设备信息</button>\n' +
                            '</div>'
                        $("#commandLogId").append(shuttleCommandLogBox);
                    }
@@ -599,14 +602,17 @@
                        setVal(tr.children("td").eq(4), table[i-1].batteryPower);
                        setVal(tr.children("td").eq(5), table[i-1].batteryTemp);
                        setVal(tr.children("td").eq(6), table[i-1].errorCode);
                        setVal(tr.children("td").eq(7), table[i-1].plcOutputCharge$);//plcOutputStatusIO
                        setVal(tr.children("td").eq(8), table[i-1].statusErrorCode);
                        setVal(tr.children("td").eq(9), table[i-1].plcInputStatus);
                        setVal(tr.children("td").eq(10), table[i-1].currentOrBeforeCode);
                        setVal(tr.children("td").eq(11), table[i-1].codeOffsetX);
                        setVal(tr.children("td").eq(12), table[i-1].codeOffsetY);
                        setVal(tr.children("td").eq(13), table[i-1].currentVoltage);
                        setVal(tr.children("td").eq(14), table[i-1].currentAnalogValue);
                        setVal(tr.children("td").eq(7), table[i-1].plcOutputLift$);//顶升位
                        setVal(tr.children("td").eq(8), table[i-1].plcOutputTransfer$);//换向位
                        setVal(tr.children("td").eq(9), table[i-1].plcOutputBrake$);//抱闸位
                        setVal(tr.children("td").eq(10), table[i-1].plcOutputCharge$);//充电位
                        setVal(tr.children("td").eq(11), table[i-1].statusErrorCode);
                        setVal(tr.children("td").eq(12), table[i-1].plcInputStatus);
                        setVal(tr.children("td").eq(13), table[i-1].currentOrBeforeCode);
                        setVal(tr.children("td").eq(14), table[i-1].codeOffsetX);
                        setVal(tr.children("td").eq(15), table[i-1].codeOffsetY);
                        setVal(tr.children("td").eq(16), table[i-1].currentVoltage);
                        setVal(tr.children("td").eq(17), table[i-1].currentAnalogValue);
                    }
                } else if (res.code === 403){
                    window.location.href = baseUrl+"/login";
@@ -719,6 +725,7 @@
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "       <td></td>\n" +
                "     </tr>\n";
        }
        $('#shuttle-state-table tbody').after(html);