自动化立体仓库 - WCS系统
#
lsh
2024-07-11 62cbca073eb9d7d941dec33ec2c013600df965f4
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -8,18 +8,18 @@
 * Created by vincent on 2020/8/6
 */
@Data
public class StaProtocol {
public class StaProtocol implements Cloneable {
    // 站点编号
    private Integer siteId;
    // ----------------------------------------------------------------
    // 工作号
    private Short workNo = 0;
    private Integer workNo = 0;
    // ----------------------------------------------------------------
    // 目标站
    private Short staNo;
    private Integer staNo;
    // ----------------------------------------------------------------
    // 自动
@@ -37,27 +37,153 @@
    // 空板信号
    private boolean emptyMk;
    // 需求1
    private boolean inreq1;
    // 满托盘
    private boolean fullPlt;
    // 高
    private boolean high;
    // 低
    private boolean low;
    // 锁定标记
    private boolean pakMk = true;
    // 台车位置
    private Short position;
    // 入库暂存数
    private Short inQty;
    // 隔壁站点(台车位置)
    private String nearbySta;
    // 外形检测 ------------------------------------------------------------------------
    // 前超限
    private boolean frontErr;
    // 后超限
    private boolean backErr;
    // 高超限
    private boolean highErr;
    // 左超限
    private boolean leftErr;
    // 右超限
    private boolean rightErr;
    // 超重
    private boolean weightErr;
    // 扫码失败
    private boolean barcodeErr;
    private short endRow;//小车目标位
    private short nowRow;//小车当前位   //左:1  中: 2  右:3   (面朝入料口)
    private boolean RGV1;//小车无货空闲
    private boolean RGV2;//小车输送线取货到位
    private boolean RGV3;//小车运行中
    private boolean RGV4;//小车改左侧货物目标站   取1(左)货物  (面朝入料口)
    private boolean RGV5;//小车改右侧货物目标站   取2(右)货物  (面朝入料口)
    private boolean RGV6;//上位机清除平移车资料
    private short RGV11;//小车无货空闲
    private short RGV22;//小车输送线取货到位
    private short RGV33;//小车运行中
    private short RGV44;//小车改左侧货物目标站   取1(左)货物  (面朝入料口)
    private short RGV55;//小车改右侧货物目标站   取2(右)货物  (面朝入料口)
    private short RGV66;//上位机清除平移车资料
    private String barcode;//托盘条码
    public BasDevp toSqlModel(){
        BasDevp basDevp = new BasDevp();
        basDevp.setDevNo(siteId);
        basDevp.setWrkNo(workNo.intValue());
        // 站点 todo:luxiaotao
        basDevp.setWrkNo(workNo);
        basDevp.setAutoing(autoing?"Y":"N");
        basDevp.setLoading(loading?"Y":"N");
        basDevp.setEmptyMk(emptyMk?"Y":"N");
        if (basDevp.getLoading().equals("N") && basDevp.getAutoing().equals("Y") && (basDevp.getWrkNo()==0 || !basDevp.getWrkNo().equals(basDevp.getWrkNo1()))){
            basDevp.setWrkNo1(workNo);
            basDevp.setReportSign(0);
        }
        basDevp.setInEnable(inEnable?"Y":"N");
        basDevp.setOutEnable(outEnable?"Y":"N");
        basDevp.setInreq1(inreq1?"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);
        basDevp.setInQty(inQty !=null ?(int)inQty : 0);
        basDevp.setBarcode(barcode);
        return basDevp;
    }
    public boolean rgvBoolean(Integer type){
        if (type==1){
            if (!RGV1){
                return false;
            }
        } else {
            if (RGV1){
                return false;
            }
        }
        if (type==2){
            if (!RGV2){
                return false;
            }
        } else {
            if (RGV2){
                return false;
            }
        }
        if (type==3){
            if (!RGV3){
                return false;
            }
        } else {
            if (RGV3){
                return false;
            }
        }
        if (type==4){
            if (!RGV4){
                return false;
            }
        } else {
            if (RGV4){
                return false;
            }
        }
        if (type==5){
            if (!RGV5){
                return false;
            }
        } else {
            if (RGV5){
                return false;
            }
        }
        if (type==6){
            if (!RGV6){
                return false;
            }
        } else {
            if (RGV6){
                return false;
            }
        }
        return true;
    }
    @Override
    public StaProtocol clone() {
        try {
            return (StaProtocol) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}