From add402ec68d150cd8b13c231ce991cf49889259c Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 21 十月 2025 14:03:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop_whxrwms' into devlop_whxrwms
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java | 92 +++++++++++++++++++++++++++++++---------------
1 files changed, 62 insertions(+), 30 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 be2532d..655148d 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;
@@ -60,7 +58,7 @@
* 鑷姩鐢熸垚搴撲綅鏄庣粏
*/
@Transactional(rollbackFor = Exception.class)
- @Scheduled(cron = "0/25 * * * * ?")
+// @Scheduled(cron = "0/25 * * * * ?")
public void insertRandomMats() {
List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type));
for (Loc loc : list) {
@@ -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);
@@ -146,43 +144,59 @@
* @description: 鑷姩鐢熸垚浠诲姟
* @version 1.0
*/
- @Scheduled(cron = "0/5 * * * * ?")
+ @Scheduled(cron = "0/15 * * * * ?")
public void genRun() {
Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS));
if (!Boolean.parseBoolean(config.getVal())) {
return;
}
+
+ Integer maxThread = 30;
+ 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>()
.in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type)));
- if (tasks.size() >= 30) {
+ if (tasks.size() >= maxThread) {
return;
}
String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class);
if (Cools.isEmpty(autoRunArea)) {
return;
}
+ List<Integer> array = new ArrayList<>();
+ List<String> list = new ArrayList<>();
for (char c : autoRunArea.toCharArray()) {
switch (c) {
case '1':
- this.autoRun(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST, StaGroupConstant.FAR_RIGHT_STA_ROW_LIST);
+ array.addAll(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.FAR_RIGHT_STA_ROW_LIST);
break;
case '2':
- this.autoRun(LocGroupConstant.RIGHT_LOC_ROW_LIST, StaGroupConstant.RIGHT_STA_ROW_LIST);
+ array.addAll(LocGroupConstant.RIGHT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.RIGHT_STA_ROW_LIST);
break;
case '3':
- this.autoRun(LocGroupConstant.MIDDLE_LOC_ROW_LIST, StaGroupConstant.MIDDLE_STA_ROW_LIST);
+ array.addAll(LocGroupConstant.MIDDLE_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.MIDDLE_STA_ROW_LIST);
break;
case '4':
- this.autoRun(LocGroupConstant.LEFT_LOC_ROW_LIST, StaGroupConstant.LEFT_STA_ROW_LIST);
+ array.addAll(LocGroupConstant.LEFT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.LEFT_STA_ROW_LIST);
break;
case '5':
- this.autoRun(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST);
+ array.addAll(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.FAR_LEFT_STA_ROW_LIST);
break;
default:
break;
}
}
+ this.autoRun(array, list);
}
private void autoRun(List<Integer> locGroupList, List<String> staGroupList) {
@@ -210,7 +224,7 @@
}
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
.in(DeviceSite::getSite, stationNames)
- .eq(DeviceSite::getType, TaskType.TASK_TYPE_CHECK_OUT.type), false);
+ .eq(DeviceSite::getType, TaskType.TASK_TYPE_CHECK_OUT.type).last("limit 1"));
if (Cools.isEmpty(deviceSite)) {
throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");
}
@@ -267,54 +281,73 @@
/**
* 鐢熸垚绉诲簱浠诲姟
+ *
* @param
* @param
*/
// 绉诲簱
- @Scheduled(cron = "0/7 * * * * ?")
+ @Scheduled(cron = "0/23 * * * * ?")
@Transactional(rollbackFor = Exception.class)
public void runLocToLoc() {
Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS));
if (!Boolean.parseBoolean(config.getVal())) {
return;
}
- 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() >= 10) {
- return;
- }
+
String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class);
if (Cools.isEmpty(autoRunArea)) {
return;
}
+ List<Integer> array = new ArrayList<>();
+ List<String> list = new ArrayList<>();
for (char c : autoRunArea.toCharArray()) {
switch (c) {
case '1':
- locGroupList = LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST;
+ array.addAll(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.FAR_RIGHT_STA_ROW_LIST);
break;
case '2':
- locGroupList = LocGroupConstant.RIGHT_LOC_ROW_LIST;
+ array.addAll(LocGroupConstant.RIGHT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.RIGHT_STA_ROW_LIST);
break;
case '3':
- locGroupList = LocGroupConstant.MIDDLE_LOC_ROW_LIST;
+ array.addAll(LocGroupConstant.MIDDLE_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.MIDDLE_STA_ROW_LIST);
break;
case '4':
- locGroupList = LocGroupConstant.LEFT_LOC_ROW_LIST;
+ array.addAll(LocGroupConstant.LEFT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.LEFT_STA_ROW_LIST);
break;
case '5':
- locGroupList = LocGroupConstant.FAR_LEFT_LOC_ROW_LIST;
+ array.addAll(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST);
+ list.addAll(StaGroupConstant.FAR_LEFT_STA_ROW_LIST);
break;
default:
break;
}
}
+ xx(array);
+ }
+
+ private void xx(List<Integer> locGroupList) {
Integer startRow = Collections.min(locGroupList);
Integer endRow = Collections.max(locGroupList);
String memo = "DEMO_LOC_" + startRow + "-" + endRow;
+
+ Integer maxThread = 30;
+ 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) {
@@ -357,7 +390,6 @@
} catch (Exception e) {
log.info("鐢熸垚鍑哄簱浠诲姟澶辫触", e);
}
-
}
public static List<String> getStaPrefixes(List<String> staGroupList) {
--
Gitblit v1.9.1