|  |  | 
 |  |  | import com.core.common.SpringUtils; | 
 |  |  | import com.zy.asrs.entity.BasSte; | 
 |  |  | import com.zy.asrs.service.BasSteService; | 
 |  |  | import com.zy.core.News; | 
 |  |  | import com.zy.core.enums.SteHisTaskStatusType; | 
 |  |  | import com.zy.core.enums.SteLocaType; | 
 |  |  | import com.zy.core.enums.SteStatusType; | 
 |  |  | 
 |  |  |      * 电池电量 | 
 |  |  |      */ | 
 |  |  |     public Float charge = 0.0F; | 
 |  |  |  | 
 |  |  |     public void setCharge(Float charge) { | 
 |  |  |         if (charge >= 0) { | 
 |  |  |             this.charge = charge; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 满电 | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     private Short chargeStatus; | 
 |  |  |  | 
 |  |  |     // 入库取空 | 
 |  |  |     private Boolean inEmpty; | 
 |  |  |  | 
 |  |  |     // 出库取空 | 
 |  |  |     private Boolean outEmpty; | 
 |  |  |  | 
 |  |  |     // 穿梭车异常 ------------------------------------------------------------------------ | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 0.升降超时报警 | 
 |  |  |      */ | 
 |  |  |     private boolean liftErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 2.入库取空报警 | 
 |  |  |      */ | 
 |  |  |     private boolean inFetchErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 3.出库取空报警 | 
 |  |  |      */ | 
 |  |  |     private boolean outFetchErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 4.防撞保护 | 
 |  |  |      */ | 
 |  |  |     private boolean antiErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 5.升降接近开关故障 | 
 |  |  |      */ | 
 |  |  |     private boolean liftSwitchErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 6.轨道检测报警 | 
 |  |  |      */ | 
 |  |  |     private boolean trackErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 7.设备运行超时报警 | 
 |  |  |      */ | 
 |  |  |     private boolean timeoutErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 8.通信错误报警 | 
 |  |  |      */ | 
 |  |  |     private boolean connectErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 9.设备急停 | 
 |  |  |      */ | 
 |  |  |     private boolean emergencyErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 10.任务类型缺失 | 
 |  |  |      */ | 
 |  |  |     private boolean taskTypeErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 11.任务号缺失 | 
 |  |  |      */ | 
 |  |  |     private boolean taskNoErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 12.运行中有新任务 | 
 |  |  |      */ | 
 |  |  |     private boolean newTaskErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 13.故障中有任务 | 
 |  |  |      */ | 
 |  |  |     private boolean errTaskErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 14.运行中停止 | 
 |  |  |      */ | 
 |  |  |     private boolean stopErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 15.脱机模式下有任务 | 
 |  |  |      */ | 
 |  |  |     private boolean offlineTaskErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 16.条件未满足启动任务 | 
 |  |  |      */ | 
 |  |  |     private boolean startTaskErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 17.低电压时有任务 | 
 |  |  |      */ | 
 |  |  |     private boolean voltageTaskErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 63.设备故障标志位 | 
 |  |  |      */ | 
 |  |  |     private boolean devpErr; | 
 |  |  |     // 穿梭车异常 ------------------------------------------------------------------------ | 
 |  |  |  | 
 |  |  |     // 穿梭车提示信息 ------------------------------------------------------------------------ | 
 |  |  |     /** | 
 |  |  |      * 64.联机状态 | 
 |  |  |      */ | 
 |  |  |     private boolean online; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 65.不在轨道上 | 
 |  |  |      */ | 
 |  |  |     private boolean notOnTrack; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 66.低电量提醒 | 
 |  |  |      */ | 
 |  |  |     private boolean lowVoltage; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 67.亏电中 | 
 |  |  |      */ | 
 |  |  |     private boolean electricityLoss; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 68.强制行走启动 | 
 |  |  |      */ | 
 |  |  |     private boolean forcedTravel; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 69.演示模式开启 | 
 |  |  |      */ | 
 |  |  |     private boolean demoMode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 70.充电刷已接通 | 
 |  |  |      */ | 
 |  |  |     private boolean brushConnect; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 71.任务中禁止手动 | 
 |  |  |      */ | 
 |  |  |     private boolean taskManualForbid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 72.联机中禁止手动 | 
 |  |  |      */ | 
 |  |  |     private boolean onlineManualForbid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 73.设备急停中 | 
 |  |  |      */ | 
 |  |  |     private boolean devpEmergency; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 74.任务中断中 | 
 |  |  |      */ | 
 |  |  |     private boolean taskInterrupt; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 75.任务已清除 | 
 |  |  |      */ | 
 |  |  |     private boolean taskClear; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 76.任务确认已超时 | 
 |  |  |      */ | 
 |  |  |     private boolean taskConfirmTimeout; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 77.充电中有任务 | 
 |  |  |      */ | 
 |  |  |     private boolean taskWithCharge; | 
 |  |  |  | 
 |  |  |     // 任务信息 --------------------------------------------------------- | 
 |  |  |     /** | 
 |  |  |      * 96.入库任务中 | 
 |  |  |      */ | 
 |  |  |     private boolean pakInTask; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 97. 出库任务中 | 
 |  |  |      */ | 
 |  |  |     private boolean pakOutTask; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 98. 移库任务中 | 
 |  |  |      */ | 
 |  |  |     private boolean pakMoveTask; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 99. 回原点任务中 | 
 |  |  |      */ | 
 |  |  |     private boolean goHpTask; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 100. 去反原点任务中 | 
 |  |  |      */ | 
 |  |  |     private boolean goOHpTask; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 101. 去原点避让位 | 
 |  |  |      */ | 
 |  |  |     private boolean goHpAvoid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 102. 去反原点避让位 | 
 |  |  |      */ | 
 |  |  |     private boolean goOHpAvoid; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 104. 入库取空结束 | 
 |  |  |      */ | 
 |  |  |     private boolean pakInEmpty; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 105. 入库正常结束 | 
 |  |  |      */ | 
 |  |  |     private boolean pakInFinish; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 106. 出库取空结束 | 
 |  |  |      */ | 
 |  |  |     private boolean pakOutEmpty; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 107. 出库正常结束 | 
 |  |  |      */ | 
 |  |  |     private boolean pakOutFinish; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 108. 去原点避让完成 | 
 |  |  |      */ | 
 |  |  |     private boolean goHpAvoidFinish; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 109. 去反原点避让完成 | 
 |  |  |      */ | 
 |  |  |     private boolean goOHpAvoidFinish; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 110. 去原点避让完成 | 
 |  |  |      */ | 
 |  |  |     private boolean goHpAvoidErr; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 111. 去反原点避让完成 | 
 |  |  |      */ | 
 |  |  |     private boolean goOHpAvoidErr; | 
 |  |  |  | 
 |  |  |     // 状态信息 --------------------------------------------------------- | 
 |  |  |     /** | 
 |  |  |      * 112. 联机模式 | 
 |  |  |      */ | 
 |  |  |     private boolean autoMode; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 113. 电压过低 | 
 |  |  |      */ | 
 |  |  |     private boolean voltageLow; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public void setStatus(Short status){ | 
 |  |  |         this.status = status; | 
 |  |  |         this.statusType = SteStatusType.get(status); | 
 |  |  | 
 |  |  |     // 是否处于空闲待命状态 | 
 |  |  |     public Boolean isIdle() { | 
 |  |  |         boolean res = this.statusType.equals(SteStatusType.IDLE) | 
 |  |  |                 && this.mode == 1 | 
 |  |  |                 && this.pakMk.equals("N") | 
 |  |  |                 && !isAlarm() | 
 |  |  |                 && this.chargeStatus == 0 | 
 |  |  | 
 |  |  |                 String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(this.steNo).getChargeLine(); | 
 |  |  |                 return charge > Float.parseFloat(chargeLine); | 
 |  |  |             } catch (Exception e) { | 
 |  |  |                 log.error("fail", e); | 
 |  |  |                 News.error("fail", e); | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 小车电量 | 
 |  |  |     public Float isIdle2() { | 
 |  |  |         return this.charge; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 是否处于报警状态 | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Boolean isEnable() { | 
 |  |  |         if (Cools.isEmpty(row)) { | 
 |  |  |             if (row == 0) { | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |         if (Cools.isEmpty(row, bay, lev)) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(bay)) { | 
 |  |  |             if (bay == 0) { | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(lev)) { | 
 |  |  |             if (lev == 0) { | 
 |  |  |                 return false; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return true; | 
 |  |  |         return row > 0 && bay > 0 && lev > 0; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |