#
luxiaotao1123
2024-11-12 030ebaaa497945891aae611b7de41f4b4161b03a
#
3个文件已修改
41 ■■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AgvDataService.java
@@ -1,13 +1,11 @@
package com.zy.acs.manager.core.service;
import com.alibaba.fastjson.JSON;
import com.zy.acs.common.constant.RedisConstant;
import com.zy.acs.common.domain.AgvProtocol;
import com.zy.acs.common.domain.protocol.*;
import com.zy.acs.common.utils.GsonUtils;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.domain.WebsocketDto;
import com.zy.acs.manager.core.domain.BackpackDto;
import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.AgvDetail;
@@ -83,16 +81,14 @@
            // unlock path
            threadPoolRegulator.getInstance().execute(() -> {
//                avoidWaveCalculator.syncWaveBySingleVeh(protocol.getAgvNo(), agv_12_up.getQrCode());
                mapService.unlockPath(protocol.getAgvNo(), agv_12_up.getQrCode());
//                mapService.unlockPath(protocol.getAgvNo(), Utils.singletonList(agv_12_up.getQrCode()));
            });
            // finish jam
            threadPoolRegulator.getInstance().execute(() -> jamService.checkIfFinish(agv.getId(), agv_12_up.getQrCode()));
            websocketService.agvInfoBroadcastOnPos(new WebsocketDto<AGV_12_UP>("agv", agv.getUuid(), agv_12_up));
//            websocketService.agvInfoBroadcastOnPos(new WebsocketDto<AGV_12_UP>("agv", agv.getUuid(), agv_12_up));
            this.sync(agv_12_up, detail);
            redis.setObject(RedisConstant.DIGITAL_AGV_FLAG, agv.getUuid(), agv_12_up);
//            redis.setObject(RedisConstant.DIGITAL_AGV_FLAG, agv.getUuid(), agv_12_up);
            if (PRINT_LOG) {
                log.info("Agv [{}] 有码实时数据包 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_12_up));
            }
@@ -100,9 +96,9 @@
        // 无码实时数据包
        if (msgBody instanceof AGV_13_UP) {
            AGV_13_UP agv_13_up = (AGV_13_UP) msgBody;
            websocketService.agvInfoBroadcastWithOutPos(new WebsocketDto<AGV_13_UP>("agv", agv.getUuid(), agv_13_up));
//            websocketService.agvInfoBroadcastWithOutPos(new WebsocketDto<AGV_13_UP>("agv", agv.getUuid(), agv_13_up));
            this.sync(agv_13_up, detail);
//            redis.setObject(RedisConstant.DIGITAL_AGV_FLAG, agv.getUuid(), agv_13_up); // todo
//            redis.setObject(RedisConstant.DIGITAL_AGV_FLAG, agv.getUuid(), agv_13_up);
            if (PRINT_LOG) {
                log.info("Agv [{}] 无码实时数据包 ===>> {}", protocol.getAgvNo(), JSON.toJSONString(agv_13_up));
            }
zy-acs-manager/src/main/java/com/zy/acs/manager/fake/AgvSimulatorTask.java
@@ -5,6 +5,7 @@
import com.zy.acs.common.domain.protocol.AGV_11_UP;
import com.zy.acs.common.enums.AgvCompleteType;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.manager.core.service.MapService;
import com.zy.acs.manager.manager.entity.Action;
import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.AgvDetail;
@@ -14,6 +15,7 @@
import com.zy.acs.manager.manager.service.ActionService;
import com.zy.acs.manager.manager.service.AgvDetailService;
import com.zy.acs.manager.manager.service.CodeService;
import com.zy.acs.manager.manager.service.JamService;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
@@ -29,6 +31,8 @@
    private final AgvDetailService agvDetailService;
    private final ActionService actionService;
    private final CodeService codeService;
    private final MapService mapService;
    private final JamService jamService;
    private final List<Action> actionList;
    private final RedisSupport redis;
@@ -41,6 +45,8 @@
            , AgvDetailService agvDetailService
            , ActionService actionService
            , CodeService codeService
            , MapService mapService
            , JamService jamService
            , List<Action> actionList
    ) {
        this.agv = agv;
@@ -48,6 +54,8 @@
        this.agvDetailService = agvDetailService;
        this.actionService = actionService;
        this.codeService = codeService;
        this.mapService = mapService;
        this.jamService = jamService;
        this.actionList = actionList;
        this.groupId = actionList.get(0).getGroupId();
@@ -108,13 +116,15 @@
        // 模拟电量消耗
//        agvDetail.setVol(agvDetail.getVol() - 0.1 * distanceToMove); // 根据距离消耗电量
        Thread.sleep(1000);
        agvDetailService.updateById(agvDetail);
        Thread.sleep(1000);
        mapService.unlockPath(agv.getUuid(), code.getData());
        jamService.checkIfFinish(agv.getId(), code.getData());
        action.setActionSts(ActionStsType.FINISH.val());
        actionService.updateById(action);
    }
@@ -152,10 +162,11 @@
        double newAngle = (agvDetail.getAgvAngle() + actionAngle) % 360;
        agvDetail.setAgvAngle(newAngle);
        agvDetailService.updateById(agvDetail);
        Thread.sleep(1000);
        agvDetailService.updateById(agvDetail);
        action.setActionSts(ActionStsType.FINISH.val());
        actionService.updateById(action);
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java
@@ -7,14 +7,12 @@
import com.zy.acs.common.domain.protocol.AGV_01_UP;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.core.service.MapService;
import com.zy.acs.manager.manager.entity.Action;
import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.enums.ActionStsType;
import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.service.ActionService;
import com.zy.acs.manager.manager.service.AgvDetailService;
import com.zy.acs.manager.manager.service.AgvService;
import com.zy.acs.manager.manager.service.CodeService;
import com.zy.acs.manager.manager.service.*;
import com.zy.acs.manager.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +48,10 @@
    private ConfigService configService;
    @Autowired
    private CodeService codeService;
    @Autowired
    private MapService mapService;
    @Autowired
    private JamService jamService;
    /**
     * 1.AgvDataService.dataProcess [ agvDetail: vol, code, agvAngle, agvStatus ]
@@ -88,6 +90,8 @@
                            , agvDetailService
                            , actionService
                            , codeService
                            , mapService
                            , jamService
                            , actionList
                    ));
                }