| | |
| | | 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.scheduler.MapDataWsScheduler; |
| | | import com.zy.acs.manager.core.service.MapService; |
| | | import com.zy.acs.manager.manager.entity.Action; |
| | | import com.zy.acs.manager.manager.entity.Agv; |
| | |
| | | */ |
| | | @Slf4j |
| | | public class AgvSimulatorTask implements Runnable { |
| | | |
| | | public static final int ACTION_DURING_TIME = 500; |
| | | |
| | | private final Agv agv; |
| | | private final AgvDetailService agvDetailService; |
| | |
| | | // 模拟电量消耗 |
| | | // agvDetail.setVol(agvDetail.getVol() - 0.1 * distanceToMove); // 根据距离消耗电量 |
| | | |
| | | Thread.sleep(ACTION_DURING_TIME); |
| | | Thread.sleep(MapDataWsScheduler.WEBSOCKET_BROADCAST_INTERVAL); |
| | | |
| | | agvDetailService.updateById(agvDetail); |
| | | |
| | |
| | | // 模拟电量消耗? |
| | | // agvDetail.setVol(agvDetail.getVol() - 0.05 * (angleToRotate / 15.0)); // 根据角度消耗电量 |
| | | |
| | | Thread.sleep(ACTION_DURING_TIME); |
| | | Thread.sleep(MapDataWsScheduler.WEBSOCKET_BROADCAST_INTERVAL); |
| | | agvDetailService.updateById(agvDetail); |
| | | action.setActionSts(ActionStsType.FINISH.val()); |
| | | actionService.updateById(action); |