#
zjj
2024-06-18 ae1a40a3712807ac54bfa1f965376beb8765ca77
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -8,12 +8,10 @@
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.common.ExecuteSupport;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.entity.BasLift;
import com.zy.asrs.wcs.core.model.command.LiftCommand;
import com.zy.asrs.wcs.core.model.command.ShuttleCommand;
import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType;
import com.zy.asrs.wcs.core.service.LocService;
import com.zy.asrs.wcs.core.service.BasLiftService;
import com.zy.asrs.wcs.rcs.News;
import com.zy.asrs.wcs.rcs.cache.OutputQueue;
import com.zy.asrs.wcs.rcs.entity.DeviceDataLog;
@@ -28,7 +26,6 @@
import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.Base64;
import java.util.Date;
import java.util.HashMap;
@@ -153,6 +150,31 @@
                    //更新采集时间
                    liftProtocol.setDeviceDataLog(System.currentTimeMillis());
                }
                //将提升机状态保存至数据库
                BasLiftService basLiftService = SpringUtils.getBean(BasLiftService.class);
                BasLift basLift = basLiftService.getOne(new LambdaQueryWrapper<BasLift>()
                        .eq(BasLift::getLiftNo, device.getDeviceNo())
                        .eq(BasLift::getHostId, device.getHostId()));
                if (basLift == null) {
                    basLift = new BasLift();
                    //提升机号
                    basLift.setLiftNo(Integer.valueOf(device.getDeviceNo()));
                    basLift.setStatus(1);
                    basLift.setDeleted(0);
                    basLift.setHostId(device.getHostId());
                    basLift.setDeviceId(device.getId());
                    basLiftService.save(basLift);
                }
                //任务号
                basLift.setTaskNo(liftProtocol.getTaskNo().intValue());
                //修改时间
                basLift.setUpdateTime(new Date());
                //设备状态
                basLift.setProtocol(JSON.toJSONString(liftProtocol));
                if (basLiftService.updateById(basLift)) {
                    OutputQueue.LIFT.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), device.getDeviceNo()));
                }
            }else {
@@ -333,6 +355,24 @@
        return false;
    }
    @Override
    public boolean setProtocolStatus(LiftProtocolStatusType status) {
        this.liftProtocol.setProtocolStatus(status);
        return true;
    }
    @Override
    public boolean setSyncTaskNo(Integer taskNo) {
        this.liftProtocol.setTaskNo(taskNo);
        return true;
    }
    @Override
    public boolean isLock(ExecuteSupport support) {
        InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
        return extend.getLock();
    }
    //***************设备层通讯-不同厂商设备通讯方案不一致***************
    //请求登录
@@ -397,11 +437,8 @@
    //空载移动
    @Override
    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
    public LiftCommand getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
        int taskMode = 3;//空载移动
        if (mode == null) {
            taskMode = mode.shortValue();
        }
        HashMap<String, Object> body = new HashMap<>();
        body.put("messageName", "lifterTask");
@@ -423,7 +460,7 @@
    //载车移动
    @Override
    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer mode) {
    public LiftCommand getMoveWithShuttleCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
        HashMap<String, Object> body = new HashMap<>();
        body.put("messageName", "lifterTask");
        body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
@@ -444,7 +481,7 @@
    //托盘出入
    @Override
    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, Integer mode) {
    public LiftCommand getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
        HashMap<String, Object> body = new HashMap<>();
        body.put("messageName", "lifterTask");
        body.put("msgTime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));