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 )); }