From 2ba05033837f468ba9d3f8fc60855dacbf527cb2 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期三, 17 九月 2025 15:00:30 +0800 Subject: [PATCH] 跑酷 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java | 55 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 30 insertions(+), 25 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java index 252a556..8b3ec26 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java @@ -2,7 +2,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.constant.Constants; @@ -10,16 +9,15 @@ import com.vincent.rsf.server.manager.constant.StaGroupConstant; import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; import com.vincent.rsf.server.manager.entity.*; -import com.vincent.rsf.server.manager.enums.*; +import com.vincent.rsf.server.manager.enums.LocStsType; +import com.vincent.rsf.server.manager.enums.TaskResouceType; +import com.vincent.rsf.server.manager.enums.TaskStsType; +import com.vincent.rsf.server.manager.enums.TaskType; import com.vincent.rsf.server.manager.service.*; -import com.vincent.rsf.server.manager.service.impl.BasStationServiceImpl; import com.vincent.rsf.server.system.constant.GlobalConfigCode; -import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.entity.Config; import com.vincent.rsf.server.system.service.ConfigService; -import com.vincent.rsf.server.system.utils.SerialRuleUtils; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -128,7 +126,7 @@ // throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } try { - taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : ""); + taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : ""); } catch (Exception e) { log.error("error====>", e); @@ -275,6 +273,7 @@ /** * 鐢熸垚绉诲簱浠诲姟 + * * @param * @param */ @@ -286,19 +285,7 @@ if (!Boolean.parseBoolean(config.getVal())) { return; } - Integer maxThread = 50; - Config confNum = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_MOVE_THEAD_MAX)); - if (!Objects.isNull(confNum)) { - maxThread = Integer.valueOf(confNum.getVal()); - } - List<Integer> locGroupList = new ArrayList<>(); - //鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟 - List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() - .eq(Task::getTaskType, TaskType.TASK_TYPE_LOC_MOVE.type)); - if (!tasks.isEmpty() && tasks.size() >= maxThread) { - return; - } String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class); if (Cools.isEmpty(autoRunArea)) { return; @@ -306,29 +293,48 @@ for (char c : autoRunArea.toCharArray()) { switch (c) { case '1': - locGroupList = LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST; + xx(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST); break; case '2': - locGroupList = LocGroupConstant.RIGHT_LOC_ROW_LIST; + xx(LocGroupConstant.RIGHT_LOC_ROW_LIST); break; case '3': - locGroupList = LocGroupConstant.MIDDLE_LOC_ROW_LIST; + xx(LocGroupConstant.MIDDLE_LOC_ROW_LIST); break; case '4': - locGroupList = LocGroupConstant.LEFT_LOC_ROW_LIST; + xx(LocGroupConstant.LEFT_LOC_ROW_LIST); break; case '5': - locGroupList = LocGroupConstant.FAR_LEFT_LOC_ROW_LIST; + xx(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST); break; default: break; } } + + } + + + private void xx(List<Integer> locGroupList) { Integer startRow = Collections.min(locGroupList); Integer endRow = Collections.max(locGroupList); String memo = "DEMO_LOC_" + startRow + "-" + endRow; + + + Integer maxThread = 40; + Config confNum = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_MOVE_THEAD_MAX)); + if (!Objects.isNull(confNum)) { + maxThread = Integer.valueOf(confNum.getVal()); + } + + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .eq(Task::getMemo,memo)); + if (!tasks.isEmpty() && tasks.size() >= maxThread) { + return; + } + // STOCK LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type); if (null != startRow) { @@ -371,7 +377,6 @@ } catch (Exception e) { log.info("鐢熸垚鍑哄簱浠诲姟澶辫触", e); } - } public static List<String> getStaPrefixes(List<String> staGroupList) { -- Gitblit v1.9.1