zjj
2024-11-25 0f69561e397093b5165c4aac58530721d5c62178
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
@@ -17,10 +17,12 @@
import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
import com.zy.asrs.wcs.core.service.BasLiftService;
import com.zy.asrs.wcs.core.utils.RedisUtil;
import com.zy.asrs.wcs.core.utils.Utils;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.OutputQueue;
import com.zy.asrs.wcs.rcs.entity.Device;
import com.zy.asrs.wcs.rcs.entity.DeviceDataLog;
import com.zy.asrs.wcs.rcs.model.CommandResponse;
import com.zy.asrs.wcs.rcs.model.enums.LiftProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
import com.zy.asrs.wcs.rcs.service.DeviceDataLogService;
@@ -29,10 +31,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.*;
@Slf4j
@SuppressWarnings("all")
@@ -197,19 +196,21 @@
    }
    @Override
    public boolean move(LiftCommand command) {
    public CommandResponse move(LiftCommand command) {
        return write(command);
    }
    @Override
    public boolean palletInOut(LiftCommand command) {
    public CommandResponse palletInOut(LiftCommand command) {
        return write(command);
    }
    private boolean write(LiftCommand command) {
    private CommandResponse write(LiftCommand command) {
        CommandResponse response = new CommandResponse(false);
        if (null == command) {
            News.error("提升机写入命令为空");
            return false;
            response.setMessage("提升机写入命令为空");
            return response;
        }
        List<Integer> list = JSON.parseArray(command.getBody(), Integer.class);
@@ -235,27 +236,30 @@
            liftProtocol.setSendTime(System.currentTimeMillis());//指令下发时间
            News.info("提升机命令下发[id:{}] >>>>> {}", device.getId(), JSON.toJSON(command));
            OutputQueue.LIFT.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), device.getId(), JSON.toJSON(command)));
            return true;
            response.setMessage(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), device.getId(), JSON.toJSON(command)));
            response.setResult(true);
            return response;
        } else {
            OutputQueue.LIFT.offer(MessageFormat.format("【{0}】写入提升机plc数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort()));
            News.error("写入提升机plc数据失败 ===>> [id:{}] [ip:{}] [port:{}]", device.getId(), device.getIp(), device.getPort());
            return false;
            response.setMessage(MessageFormat.format("【{0}】写入提升机plc数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), device.getId(), device.getIp(), device.getPort()));
            return response;
        }
    }
    @Override
    public boolean lock(LiftCommand command) {
    public CommandResponse lock(LiftCommand command) {
        return write(command);
    }
    @Override
    public boolean unlock(LiftCommand command) {
    public CommandResponse unlock(LiftCommand command) {
        return write(command);
    }
    @Override
    public boolean reset(LiftCommand command) {
        return false;
    public CommandResponse reset(LiftCommand command) {
        return new CommandResponse(true);
    }
    @Override
@@ -325,6 +329,17 @@
    }
    @Override
    public int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType) {
        int deviceTaskNo = taskNo;
        try {
            deviceTaskNo = Utils.getTaskNo("LIFT_TASK_NO");
        } catch (Exception e) {
            return taskNo;
        }
        return deviceTaskNo;
    }
    @Override
    public List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
        // 开始任务
        short[] array = new short[2];