From 35f92fe6b383057a576fd31c1efe29d735b61215 Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期一, 15 九月 2025 17:17:17 +0800 Subject: [PATCH] 跑库程序修改 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java | 91 +++++++++++++++++++++++++++++++-------------- 1 files changed, 62 insertions(+), 29 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 acc8148..be2532d 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 @@ -13,7 +13,9 @@ import com.vincent.rsf.server.manager.enums.*; 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; @@ -58,7 +60,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) { @@ -101,16 +103,15 @@ * @description: 鑷姩瀹屾垚鐩樼偣鍔熻兘 * @version 1.0 */ - @Scheduled(cron = "0/35 * * * * ?") + @Scheduled(cron = "0/25 * * * * ?") @Transactional(rollbackFor = Exception.class) public void autoCheckComplete() { - Boolean autoRunArea = configService.getVal("AUTO_RUN_CHECK_ORDERS", Boolean.class); - if (!autoRunArea) { - return; - } //鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟 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))); + .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, + TaskType.TASK_TYPE_PICK_IN.type, + TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, + TaskType.TASK_TYPE_CHECK_IN.type))); if (!tasks.isEmpty()) { tasks.forEach(task -> { @@ -122,17 +123,13 @@ if (task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { if (!stationService.update(new LambdaUpdateWrapper<BasStation>() .eq(BasStation::getStationName, task.getTargSite()) - .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) { - throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type))) { + log.error("绔欑偣鐘舵�佷慨鏀瑰畬鎴愬け璐�,褰撳墠浠诲姟鐘舵�侊細", task.getTaskStatus()); +// throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } try { - taskService.pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK); + taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : ""); - if (!stationService.update(new LambdaUpdateWrapper<BasStation>() - .eq(BasStation::getStationName, task.getTargSite()) - .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type))) { - throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); - } } catch (Exception e) { log.error("error====>", e); } @@ -149,16 +146,16 @@ * @description: 鑷姩鐢熸垚浠诲姟 * @version 1.0 */ - @Scheduled(cron = "0/25 * * * * ?") + @Scheduled(cron = "0/5 * * * * ?") public void genRun() { - Boolean flagAuto = configService.getVal("AUTO_RUN_CHECK_ORDERS", Boolean.class); - if (!flagAuto) { + Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS)); + if (!Boolean.parseBoolean(config.getVal())) { return; } //鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟 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() >= 6) { + if (tasks.size() >= 30) { return; } String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class); @@ -229,12 +226,6 @@ continue; } try { - //鐢熸垚鐩樼偣鍑哄簱浠诲姟锛岀珯鐐归绾� - if (!stationService.update(new LambdaUpdateWrapper<BasStation>() - .eq(BasStation::getStationName, deviceSite.getSite()) - .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_S.type))) { - throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�"); - } locItemService.generateTask(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val, locToTaskParams, getLoginUserId()); } catch (Exception e) { throw new CoolException(e.getMessage()); @@ -247,7 +238,7 @@ // // 鍑哄簱,闇�瑕佹牎楠屽伐浣滄。鏄惁瀛樺湪锛屽瓨鍦ㄥ氨璇存槑绔欑偣澶勪簬蹇欑鐘舵�� // this.runLocToSta(locGroupList, staGroupList, staTaskMemo); -// // 绉诲簱 +// // 绉诲簱locGroupList // this.runLocToLoc(locGroupList, staTaskMemo); } @@ -274,14 +265,56 @@ } + /** + * 鐢熸垚绉诲簱浠诲姟 + * @param + * @param + */ // 绉诲簱 - private void runLocToLoc(List<Integer> locGroupList, String staTaskMemo) { + @Scheduled(cron = "0/7 * * * * ?") + @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; + } + for (char c : autoRunArea.toCharArray()) { + switch (c) { + case '1': + locGroupList = LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST; + break; + case '2': + locGroupList = LocGroupConstant.RIGHT_LOC_ROW_LIST; + break; + case '3': + locGroupList = LocGroupConstant.MIDDLE_LOC_ROW_LIST; + break; + case '4': + locGroupList = LocGroupConstant.LEFT_LOC_ROW_LIST; + break; + case '5': + locGroupList = LocGroupConstant.FAR_LEFT_LOC_ROW_LIST; + break; + default: + break; + } + } + Integer startRow = Collections.min(locGroupList); Integer endRow = Collections.max(locGroupList); String memo = "DEMO_LOC_" + startRow + "-" + endRow; - - // STOCK LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type); if (null != startRow) { -- Gitblit v1.9.1