#
Junjie
2025-05-15 cadb481188032daabaabbda2259b98afead2c41b
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,11 +1,7 @@
package com.zy.core.model.protocol;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.CommandInfo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * 输送线plc单个站点详细信息
@@ -19,7 +15,7 @@
    // ----------------------------------------------------------------
    // 工作号
    private Short workNo = 0;
    private Integer workNo = 0;
    // ----------------------------------------------------------------
    // 目标站
@@ -45,13 +41,10 @@
    private boolean fullPlt;
    // 高
    private boolean high = false;
    private boolean high;
    // 低
    private boolean low;
    //agv
    private boolean car;
    // 锁定标记
    private boolean pakMk = true;
@@ -61,6 +54,9 @@
    // 隔壁站点(台车位置)
    private String nearbySta;
    //lfd入库印记  当stamp>=2时才入库
    private Integer stamp = 0;
    //指令ID
    private Integer commandId;
@@ -105,49 +101,13 @@
    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);
    public Boolean isErr(){
        if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr){
            return true;
        }else {
            return false;
        }
        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();
@@ -155,9 +115,6 @@
        basDevp.setWrkNo(workNo.intValue());
        basDevp.setAutoing(autoing?"Y":"N");
        basDevp.setLoading(loading?"Y":"N");
        if (!loading){
            basDevp.setStaErr(0);
        }
        basDevp.setInEnable(inEnable?"Y":"N");
        basDevp.setOutEnable(outEnable?"Y":"N");
        basDevp.setLocType1((short) 0);  // 高低类型{0:未知,1:低库位,2:高库位}
@@ -165,8 +122,6 @@
        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;
    }