|  |  |  | 
|---|
|  |  |  | package com.zy.core.model.protocol; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.zy.asrs.entity.BasDevp; | 
|---|
|  |  |  | import com.zy.core.enums.DevpType.*; | 
|---|
|  |  |  | import lombok.Data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 满托盘 | 
|---|
|  |  |  | private boolean fullPlt; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 高 | 
|---|
|  |  |  | private boolean high; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 低 | 
|---|
|  |  |  | private boolean low; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 锁定标记 | 
|---|
|  |  |  | private boolean pakMk = true; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 入库暂存数 | 
|---|
|  |  |  | private Short inQty; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 隔壁站点(台车位置) | 
|---|
|  |  |  | private String nearbySta; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //lfd入库印记  当stamp>=2时才入库 | 
|---|
|  |  |  | private Integer stamp = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 外形检测 ------------------------------------------------------------------------ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 前超限 | 
|---|
|  |  |  | 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 Boolean isPakReset(){ | 
|---|
|  |  |  | if (workNo == 0 && workType == DevpWorkType.BUSY && requestType != DevpRequestType.IN){ | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(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(high != low && low ? (short) 1 : (short) 2); | 
|---|
|  |  |  | basDevp.setInQty(inQty !=null ?(int)inQty : 0); | 
|---|
|  |  |  | basDevp.setLocType1(DevpLocType.get(locIo).id.shortValue()); | 
|---|
|  |  |  | //        basDevp.setInQty(inQty !=null ?(int)inQty : 0); | 
|---|
|  |  |  | return basDevp; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|