#
Junjie
2024-04-23 2d07710d47f88a1d76e12cda1144cb2f288bf5ae
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayShuttleThread.java
@@ -31,6 +31,8 @@
import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
import com.zy.asrs.wcs.core.utils.RedisUtil;
import com.zy.asrs.wcs.rcs.entity.Device;
import com.zy.asrs.wcs.system.entity.Dict;
import com.zy.asrs.wcs.system.service.DictService;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -111,6 +113,11 @@
                    //离线
                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
                }
                if(deviceStatus != 4 || deviceStatus != 6 || deviceStatus != 7 || deviceStatus != 8 || deviceStatus != 255 || deviceStatus != -1) {
                    shuttleProtocol.setMode(1);//自动状态
                }
                shuttleProtocol.setDeviceStatus(deviceStatus);
                //当前二维码
                shuttleProtocol.setCurrentCode(data.getString("groundCode") == null ? "0" : data.getString("groundCode"));
@@ -134,6 +141,8 @@
                extend.setStatusDescription(data.getString("statusDescription"));//状态描述
                shuttleProtocol.setExtend(extend);//扩展字段
                //最近一次在线时间
                shuttleProtocol.setLastOnlineTime(System.currentTimeMillis());
                ///读取四向穿梭车状态-end
                //小车处于忙碌状态,将标记置为true
@@ -208,6 +217,9 @@
    @Override
    public ShuttleProtocol getStatus() {
        if (this.shuttleProtocol == null) {
            return null;
        }
        return this.shuttleProtocol.clone();
    }
@@ -318,6 +330,7 @@
            JSONObject jsonObject = JSON.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (code.equals(200)) {
                this.shuttleProtocol.setSendTime(System.currentTimeMillis());//指令下发时间
                return true;
            }
        } catch (Exception e) {
@@ -348,6 +361,7 @@
            JSONObject jsonObject = JSON.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (code.equals(200)) {
                this.shuttleProtocol.setSendTime(System.currentTimeMillis());//指令下发时间
                return true;
            }
        } catch (Exception e) {
@@ -378,6 +392,7 @@
            JSONObject jsonObject = JSON.parseObject(response);
            Integer code = jsonObject.getInteger("code");
            if (code.equals(200)) {
                this.shuttleProtocol.setSendTime(System.currentTimeMillis());//指令下发时间
                return true;
            }
        } catch (Exception e) {
@@ -388,7 +403,9 @@
    @Override
    public synchronized boolean reset(ShuttleCommand command) {
        return false;
        this.shuttleProtocol.setTaskNo(0);
        this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
        return true;
    }
    @Override
@@ -469,7 +486,6 @@
                }
                return Integer.valueOf(this.shuttleProtocol.getBatteryPower()) < chargeLine;
            } catch (Exception e) {
                News.error("fail", e);
                return false;
            }
        }
@@ -490,11 +506,22 @@
    @Override
    public boolean isChargingCompleted() {
        Integer maxPower = 100;
        DictService dictService = SpringUtils.getBean(DictService.class);
        if (dictService != null) {
            Dict chargeMaxValue = dictService.getOne(new LambdaQueryWrapper<Dict>()
                    .eq(Dict::getFlag, "chargeMaxValue")
                    .eq(Dict::getStatus, 1));
            if (chargeMaxValue != null) {
                maxPower = Integer.parseInt(chargeMaxValue.getValue());
            }
        }
        if (this.shuttleProtocol.getBatteryPower() == null) {
            return false;
        }
        if (Integer.valueOf(this.shuttleProtocol.getBatteryPower()) >= 100) {
        if (Integer.valueOf(this.shuttleProtocol.getBatteryPower()) >= maxPower) {
            return true;
        }
        return false;