From 6324d391d2b0aa5b96128f5e07a612ec7ebf8c20 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 11 十一月 2024 10:35:28 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 43 insertions(+), 1 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java index 66800d0..9587fab 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/fake/FakeProcessor.java @@ -1,10 +1,20 @@ package com.zy.acs.manager.fake; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.acs.common.constant.RedisConstant; +import com.zy.acs.common.domain.AgvProtocol; +import com.zy.acs.common.utils.RedisSupport; +import com.zy.acs.manager.manager.entity.Agv; +import com.zy.acs.manager.manager.entity.AgvDetail; +import com.zy.acs.manager.manager.enums.StatusType; import com.zy.acs.manager.manager.service.AgvDetailService; import com.zy.acs.manager.manager.service.AgvService; +import com.zy.acs.manager.system.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; + +import java.util.List; /** * Created by vincent on 11/9/2024 @@ -12,23 +22,55 @@ @Component public class FakeProcessor { + private final RedisSupport redis = RedisSupport.defaultRedisSupport; + @Autowired private AgvService agvService; @Autowired private AgvDetailService agvDetailService; + @Autowired + private ConfigService configService; /** * 1.AgvDataService.dataProcess [ agvDetail: vol, code, agvAngle, agvStatus ] * 2.MainService.upDataSubscribe - * 3.AgvCmdService.executeRequest + * 3.AgvCmdService.executeRequest {@link com.zy.acs.manager.core.service.AgvCmdService#executeAgvActionCmd} * 4.AgvServiceImpl.judgeOnline * 5. */ @Scheduled(cron = "0/1 * * * * ? ") public void process() { + Boolean fakeSign = configService.getVal("fakeSign", Boolean.class); + if (null == fakeSign || !fakeSign) { + return; + } + + List<Agv> agvList = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val)); + for (Agv agv : agvList) { + AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId()); + + this.processOnline(agv); + + } + } + + private void processOnline(Agv agv) { + redis.setObject(RedisConstant.AGV_ONLINE_FLAG, agv.getUuid(), 1, 30); + } + + private void responseTheRequest() { + AgvProtocol protocol = redis.pop(RedisConstant.AGV_PATH_DOWN_FLAG); + if (null != protocol) { + try { + Thread.sleep(100); + } catch (InterruptedException ignore) {} +// redis.setObject(RedisConstant.AGV_PATH_UP_FLAG +// , protocol.getAgvNo() + "_" + agv_01_up.getSerialNo() +// , agv_01_up); + } } } -- Gitblit v1.9.1