自动化立体仓库 - WCS系统
#
18516761980
2022-08-10 e14d3145c47aaa482429d6c9e3aa0ccbed780f97
#
3个文件已修改
87 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/LocMast.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/ServerBootstrap.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/netty/handle/PackageServerHandler.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocMast.java
@@ -174,6 +174,27 @@
    @TableField("ctn_no")
    private String ctnNo;
    /**
     * 消防点编号
     */
    @ApiModelProperty(value= "")
    @TableField("fire_no")
    private String fireNo;
    /**
     * 消防状态
     */
    @ApiModelProperty(value= "消防状态{0:正常,1:报警}")
    @TableField("fire_status")
    private Integer fireStatus;
    /**
     * 产品状态{0:无,1:待测,2:测试中;3.静置中;4:静置完成}
     */
    @ApiModelProperty(value= "产品状态{0:无,1:待测,2:测试中;3.静置中;4:静置完成}")
    @TableField("pack_status")
    private Integer packStatus;
    public String getIoTime$(){
        if (Cools.isEmpty(this.ioTime)){
            return "";
@@ -269,4 +290,34 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
    }
    public String getFireStatus$() {
        if (null == this.fireStatus){ return null; }
        switch (this.fireStatus){
            case 0:
                return "未知";
            case 1:
                return "报警";
            default:
                return String.valueOf(this.fireStatus);
        }
    }
    public String getPackStatus$() {
        if (null == this.packStatus){ return null; }
        switch (this.packStatus){
            case 0:
                return "无";
            case 1:
                return "待测";
            case 2:
                return "测试中";
            case 3:
                return "静置中";
            case 4:
                return "静置完成";
            default:
                return String.valueOf(this.packStatus);
        }
    }
}
src/main/java/com/zy/core/ServerBootstrap.java
@@ -74,10 +74,10 @@
        for (Slave car : slaveProperties.getCar()) {
            MessageQueue.init(SlaveType.Car, car);
        }
        // 初始化socket mq
        for (Slave socket : slaveProperties.getSocket()) {
            MessageQueue.init(SlaveType.Socket, socket);
        }
//        // 初始化socket mq
//        for (Slave socket : slaveProperties.getSocket()) {
//            MessageQueue.init(SlaveType.Socket, socket);
//        }
    }
    private void initThread(){
src/main/java/com/zy/core/netty/handle/PackageServerHandler.java
@@ -1,5 +1,9 @@
package com.zy.core.netty.handle;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.core.netty.AbstractInboundHandler;
import com.zy.core.netty.cache.ChannelCache;
@@ -13,6 +17,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * 国标业务处理handler
@@ -29,17 +35,27 @@
    @Override
    protected boolean channelRead0(ChannelHandlerContext ctx, ChPackage pac) {
        FireDataType dataType = FireDataType.get(pac.getBytes()[1], pac.getBytes()[2]);
        Fire_3030 fire3030 = new Fire_3030().readFromBytes(pac.getBytes());
        switch (dataType) {
            case HEARTBEAT:
                Fire_3030 fire3030 = new Fire_3030().readFromBytes(pac.getBytes());
                String now = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()
                        + " " + fire3030.getHour() + ":" + fire3030.getMinute() + ":" + fire3030.getSeconds();
                ChannelCache.setChannel(String.valueOf(fire3030.getNo()), ctx.channel());
                Constant.errorMap.remove(fire3030.getNo());
                break;
            case FIRE_ALARM:
                //消防IO点编号
                String fireNo = fire3030.getNo().toString() + fire3030.getLoop().toString() + fire3030.getPartNo().toString();
                String fireTime = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()
                        + " " + fire3030.getHour() + ":" + fire3030.getMinute() + ":" + fire3030.getSeconds();
                LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
                if(null != locMastService){
                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("fire_no",fireNo));
                    if(null != locMast){
                        locMast.setFireStatus(1);
                        locMast.setModiTime(new Date());
                        locMastService.update(locMast, new EntityWrapper<LocMast>().eq("fire_no",fireNo));
                    }
                }
                break;
            default:
                break;
@@ -60,11 +76,9 @@
        channel.writeAndFlush(chPackage);
    }
    /******************************************************************************************/
    /**************************************** 测试专用 *****************************************/
    /*****************************************************************************************/
    public static void main(String[] args){
        byte[] bytes = new byte[]{(byte)0x82, 0x38, 0x30, 0x32, 0x34, 0x30, 0x38, 0x38, 0x3B, 0x30, 0x31, 0x31, 0x31,
        byte[] bytes = new byte[]{(byte)0x82, 0x38, 0x30, 0x32, 0x34, 0x30, 0x38, 0x39, 0x3B, 0x30, 0x31, 0x31, 0x31,
                                    0x30, 0x33, 0x30, 0x38, 0x31, 0x30, 0x30, 0x34, 0x30, 0x38, 0x38, 0x30, (byte)0x83};
        Fire_3030 fire3030 = new Fire_3030().readFromBytes(bytes);
        String now = "20" + fire3030.getYear() + "-" + fire3030.getMonth() + "-" + fire3030.getDay()