Administrator
3 天以前 aa33e56e37cd19b88ae8eea69c5ebc7c6da8b1d2
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -3,6 +3,9 @@
import com.zy.asrs.entity.BasDevp;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * 输送线plc单个站点详细信息
 * Created by vincent on 2020/8/6
@@ -37,31 +40,165 @@
    // 空板信号
    private boolean emptyMk;
    // 满托盘
    private boolean fullPlt;
    // 高
    private boolean high;
    private boolean high = false;
    // 低
    private boolean low;
    // 需求1
    private boolean inreq1;
    //agv
    private boolean car;
    // 锁定标记
    private boolean pakMk = true;
    // 入库暂存数
    private Short inQty;
    public BasDevp toSqlModel(){
    // 隔壁站点(台车位置)
    private String nearbySta;
    //指令ID
    private Integer commandId;
    // 物料号列表
    private List<String> matIdList;
    // 外形检测 ------------------------------------------------------------------------
    // 前超限
    private boolean frontErr = false;
    // 后超限
    private boolean backErr = false;
    // 高超限
    private boolean highErr = false;
    // 左超限
    private boolean leftErr = false;
    // 右超限
    private boolean rightErr = false;
    // 超重
    private boolean weightErr = false;
    // 扫码失败
    private boolean barcodeErr = false;
    //故障-----------------------------------------------------------------------
    private Boolean breakerErr = false; //断路器故障
    private Boolean infraredErr = false; //光电异常
    private Boolean outTimeErr = false; //运行超时
    private Boolean seizeSeatErr = false; //占位超时
    private Boolean wrkYgoodsN = false;//有任务无货故障
    private Boolean inverterErr = false; //变频器故障
    private Boolean contactErr = false; //电机接触器故障
    private Boolean upcontactErr = false; //顶升电机接触器故障
    private Short agvStartPick; //允许取货
    private Short agvStartPlace; //允许放货
    private Short agvTypeSign; //允许放货
    private Short agvTargetPick; //取货完成
    private Short agvTargetPlace; //放货完成
    private Short agvTypeSignEnd; //放货完成
    private List<Integer> alarm;
    public List<Integer> getAlarm() {
        List<Integer> alarm = new ArrayList<>();
        if (breakerErr) {
            alarm.add(1);
        }
        if (infraredErr) {
            alarm.add(2);
        }
        if (outTimeErr) {
            alarm.add(3);
        }
        if (seizeSeatErr) {
            alarm.add(4);
        }
        if (wrkYgoodsN) {
            alarm.add(5);
        }
        if (inverterErr) {
            alarm.add(6);
        }
        if (contactErr) {
            alarm.add(7);
        }
        if (upcontactErr) {
            alarm.add(8);
        }
        return alarm;
    }
    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.setOutEnable(outEnable?"Y":"N");
        basDevp.setAutoing(autoing ? "Y" : "N");
        basDevp.setLoading(loading ? "Y" : "N");
        if (frontErr) {
            basDevp.setStaErr(11);
        } else if (backErr) {
            basDevp.setStaErr(12);
        } else if (highErr) {
            basDevp.setStaErr(13);
        } else if (leftErr) {
            basDevp.setStaErr(14);
        } else if (rightErr) {
            basDevp.setStaErr(15);
        } else if (weightErr) {
            basDevp.setStaErr(16);
        } else if (barcodeErr) {
            basDevp.setStaErr(17);
        } else if (breakerErr) {
            basDevp.setStaErr(18);
        } else if (infraredErr) {
            basDevp.setStaErr(19);
        } else if (outTimeErr) {
            basDevp.setStaErr(110);
        } else if (seizeSeatErr) {
            basDevp.setStaErr(111);
        } else if (wrkYgoodsN) {
            basDevp.setStaErr(112);
        } else if (inverterErr) {
            basDevp.setStaErr(113);
        } else if (contactErr) {
            basDevp.setStaErr(114);
        } else if (upcontactErr) {
            basDevp.setStaErr(115);
        } else {
            if (!loading) {
                basDevp.setStaErr(0);
            }
        }
        basDevp.setInEnable(inEnable ? "Y" : "N");
        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);
        basDevp.setInQty(inQty != null ? (int) inQty : 0);
//        basDevp.setAgvStartPick(agvStartPick.intValue());
//        basDevp.setAgvStartPlace(agvStartPlace.intValue());
        return basDevp;
    }