| | |
| | | package com.zy.core.model.protocol; |
| | | |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.core.enums.CrnModeType; |
| | | import com.zy.core.enums.DevpType.*; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | |
| | | * 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 boolean autoing; |
| | | //模式 |
| | | private Short mode; |
| | | public DevpModeType modeType; |
| | | //状态 |
| | | private Short state; |
| | | public DevpStateType stateType; |
| | | //工作状态 |
| | | private Short workIo; |
| | | public DevpWorkType workType; |
| | | //请求信号 |
| | | private Short requestIo; |
| | | public DevpRequestType requestType; |
| | | //托盘状态 |
| | | private Short trayIo; |
| | | public DevpTrayType trayType; |
| | | //库位状态 |
| | | private Short locIo; |
| | | public DevpLocType locType; |
| | | //条码信息 |
| | | private String barcode; |
| | | //重量信息 |
| | | private Double weightIo; |
| | | //备用 |
| | | private Short spare; |
| | | |
| | | // 有物 |
| | | private boolean loading; |
| | | public void setMode(Short mode) { |
| | | this.mode = mode; |
| | | this.modeType = DevpModeType.get(mode); |
| | | } |
| | | public void setState(Short state) { |
| | | this.state = state; |
| | | this.stateType = DevpStateType.get(state); |
| | | } |
| | | public void setWorkIo(Short workIo) { |
| | | this.workIo = workIo; |
| | | this.workType = DevpWorkType.get(workIo); |
| | | } |
| | | public void setRequestIo(Short requestIo) { |
| | | this.requestIo = requestIo; |
| | | this.requestType = DevpRequestType.get(requestIo); |
| | | } |
| | | public void setTrayIo(Short trayIo) { |
| | | this.trayIo = trayIo; |
| | | this.trayType = DevpTrayType.get(trayIo); |
| | | } |
| | | public void setLocIo(Short locIo) { |
| | | this.locIo = locIo; |
| | | this.locType = DevpLocType.get(locIo); |
| | | } |
| | | |
| | | // 可入 |
| | | private boolean inEnable; |
| | | |
| | | // 可出 |
| | | private boolean outEnable; |
| | | |
| | | // 空板信号 |
| | | private boolean emptyMk; |
| | | |
| | | // 需求1 |
| | | private boolean inreq1; |
| | | |
| | | // 锁定标记 |
| | | private boolean pakMk = true; |
| | | |
| | | // 台车位置 |
| | | private Integer position; |
| | | // 入库暂存数 |
| | | private Short inQty; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 外形检测 ------------------------------------------------------------------------ |
| | | |
| | | // 前超限 |
| | | 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; //顶升电机接触器故障 |
| | | |
| | | public Boolean isErr(){ |
| | | if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr){ |
| | | return true; |
| | | }else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public BasDevp toSqlModel(){ |
| | | BasDevp basDevp = new BasDevp(); |
| | | basDevp.setDevNo(siteId); |
| | | basDevp.setWrkNo(workNo.intValue()); |
| | | // 站点 todo:luxiaotao |
| | | basDevp.setAutoing(autoing?"Y":"N"); |
| | | basDevp.setLoading(loading?"Y":"N"); |
| | | basDevp.setInEnable(inEnable?"Y":"N"); |
| | | basDevp.setOutEnable(outEnable?"Y":"N"); |
| | | basDevp.setInreq1(inreq1?"Y":"N"); |
| | | basDevp.setAutoing(stateType == DevpStateType.AUTO?"Y":"N"); |
| | | basDevp.setLoading(workType == DevpWorkType.BUSY?"Y":"N"); |
| | | basDevp.setInEnable(requestType == DevpRequestType.IN?"Y":"N"); |
| | | basDevp.setOutEnable(requestType == DevpRequestType.OUT?"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(DevpLocType.get(locIo).id.shortValue()); |
| | | basDevp.setInQty(inQty !=null ?(int)inQty : 0); |
| | | return basDevp; |
| | | } |
| | | |
| | | @Override |
| | | public StaProtocol clone() { |
| | | try { |
| | | return (StaProtocol) super.clone(); |
| | | } catch (CloneNotSupportedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | } |