#
Junjie
2024-06-18 225f8abb319ed527b90f50c678c38f6e7af68bdd
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -2,13 +2,17 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.utils.HttpHandler;
import com.zy.asrs.framework.common.DateUtils;
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.BasLift;
import com.zy.asrs.wcs.core.model.command.LiftCommand;
import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType;
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;
@@ -102,7 +106,7 @@
                //************补充扩展字段*************
                InnerLiftExtend liftExtend = JSON.parseObject(JSON.toJSONString(liftProtocol.getExtend()), InnerLiftExtend.class);
                InnerLiftExtend liftExtend = JSON.parseObject(JSON.toJSONString(liftProtocol.getExtend(), SerializerFeature.DisableCircularReferenceDetect), InnerLiftExtend.class);
                liftExtend.setLock(data.getInteger("lockStatus") == 1 ? true : false);
                liftProtocol.setExtend(liftExtend);
@@ -147,6 +151,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 {
@@ -339,6 +368,12 @@
        return true;
    }
    @Override
    public boolean isLock(ExecuteSupport support) {
        InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
        return extend.getLock();
    }
    //***************设备层通讯-不同厂商设备通讯方案不一致***************
    //请求登录
@@ -403,11 +438,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");
@@ -429,7 +461,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()));
@@ -450,7 +482,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()));