fyxc
2025-05-22 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,31 +1,48 @@
package com.zy.core.model.protocol;
import com.zy.asrs.entity.BasDevp;
import lombok.Data;
/**
 * 输送线plc单个站点详细信息
 * Created by vincent on 2020/8/6
 */
@Data
public class StaProtocol {
public class StaProtocol implements Cloneable {
    // 站点编号
    private Integer siteId;
    // ----------------------------------------------------------------
    // 工作号
    private Short workNo;
    private Short workNo = 0;
    // ----------------------------------------------------------------
    // 目标站
    private Short staNo;
    // 完结工作号
    private Short finishWorkNo;
    // ----------------------------------------------------------------
    // 自动
    private boolean autoing;
    //空闲
    private boolean idle;
    // 条码
    private String barcode;
    //重量
    private Integer weight = 0;
    // 有物
    private boolean loading;
    // 库位号
    private String locNo;
    // 可入
    private boolean inEnable;
@@ -36,11 +53,84 @@
    // 空板信号
    private boolean emptyMk;
    // 需求1
    private boolean inreq1;
    // 满托盘
    private boolean fullPlt;
    //提升机到位信号
    private boolean liftArrival;
    //四向穿梭车可取信号
    private boolean shuttleTakeEnable;
    // 高
    private boolean high;
    // 低
    private boolean low;
    // 锁定标记
    private boolean pakMk;
    private boolean pakMk = true;
    // 外形检测 ------------------------------------------------------------------------
    // 前超限
    private boolean frontErr;
    // 后超限
    private boolean backErr;
    // 高超限
    private boolean highErr;
    // 左超限
    private boolean leftErr;
    // 右超限
    private boolean rightErr;
    // 超重
    private boolean weightErr;
    // 扫码失败
    private boolean barcodeErr;
    // 故障
    private boolean error;
    //出入库模式0、未知 1、入库,2、出库
    private Short outInModel;
    //高低信号 0:无 1:低 2:中 3:高
    private Short locType1;
    public BasDevp toSqlModel() {
        BasDevp basDevp = new BasDevp();
        basDevp.setDevNo(siteId);
        basDevp.setWrkNo(workNo.intValue());
        basDevp.setAutoing(autoing ? "Y" : "N");
        basDevp.setLoading(loading ? "Y" : "N");
        basDevp.setInEnable(inEnable ? "Y" : "N");
        basDevp.setWrkNo1(finishWorkNo.intValue());
        if (siteId == 105 || siteId == 205 || siteId == 346) {
            basDevp.setOutEnable(outInModel == 2 ? "Y" : "N");
        } else {
            basDevp.setOutEnable(outEnable ? "Y" : "N");
        }
        basDevp.setLocType1((short) 0);  // 高低类型{0:未知,1:低库位,2:高库位}
        basDevp.setLocType2((short) 0);  // 宽窄类型{0:未知,1:窄库位,2:宽库位}
        basDevp.setLocType3((short) 0);  // 轻重类型{0:未知,1:轻库位,2:重库位}
        basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2);
        return basDevp;
    }
    @Override
    public StaProtocol clone() {
        try {
            return (StaProtocol) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}