From 5e53e4f9156c5712de7cdb7f72e7cd1605c279be Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 30 一月 2026 19:21:32 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 239 ++++++++++++++++++++++++++++++++++-------------------------
1 files changed, 138 insertions(+), 101 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index dc204a7..8b7e4f9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -94,6 +94,43 @@
@Autowired
private BasStationService basStationService;
+
+
+// /**
+// * 浠诲姟涓嬪彂
+// */
+// @Scheduled(cron = "0/5 * * * * ? ")
+// @Transactional(rollbackFor = Exception.class)
+// public void pubTaskToWcs() {
+// Long loginUserId = SystemAuthUtils.getLoginUserId();
+// List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPTY_IN.type
+// , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPTY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type,
+// TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
+// List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
+// List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+// .in(Task::getTaskType, list)
+// .in(Task::getTaskStatus, integers).last("limit 1")
+// .orderByDesc(Task::getSort));
+// for (Task task : tasks) {
+// /**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
+// if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+// BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+// .eq(BasStation::getStationName,
+// task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
+// if (Cools.isEmpty(station)){
+// log.info("闈炲厜鐢电珯鐐逛换鍔′笅鍙戯細绔欑偣淇℃伅寮傚父锛屼换鍔′俊鎭細"+ JSON.toJSONString(task));
+// continue;
+// }
+// if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
+// continue;
+// }
+// }
+// /**涓嬪彂鏅�氱珯鐐逛换鍔★紝鎶ラ敊鍥炴粴锛屼笉鍐嶅線涓嬫墽琛�*/
+// pubTaskToWcs(task);
+// }
+// }
+
+
/**
* @param
* @return
@@ -235,102 +272,102 @@
// });
// }
}
-
- /**
- * 闈炲厜鐢电珯鐐逛换鍔′笅鍙�
- */
- @Scheduled(cron = "0/5 * * * * ? ")
- @Transactional(rollbackFor = Exception.class)
- public void pubTaskToWcs() {
- Long loginUserId = SystemAuthUtils.getLoginUserId();
- List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPTY_IN.type
- , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPTY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type,
- TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
- List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
- List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
- .in(Task::getTaskType, list)
- .in(Task::getTaskStatus, integers).last("limit 1")
- .orderByDesc(Task::getSort));
- for (Task task : tasks) {
- /**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
- if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
- BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
- .eq(BasStation::getStationName,
- task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
- if (Cools.isEmpty(station)){
- log.info("闈炲厜鐢电珯鐐逛换鍔′笅鍙戯細绔欑偣淇℃伅寮傚父锛屼换鍔′俊鎭細"+ JSON.toJSONString(task));
- continue;
- }
- if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
- continue;
- }
- }
- /**涓嬪彂鏅�氱珯鐐逛换鍔★紝鎶ラ敊鍥炴粴锛屼笉鍐嶅線涓嬫墽琛�*/
- pubTaskToWcs(task);
- }
- }
-
- /**
- * @author Ryan
- * @date 2025/9/4
- * @description: 鍏夌數绔欑偣浠诲姟涓嬪彂
- * @version 1.0
- */
- @Scheduled(cron = "0/5 * * * * ? ")
- @Transactional(rollbackFor = Exception.class)
- public void taskToWCS() throws Exception {
- Long loginUserId = SystemAuthUtils.getLoginUserId();
- List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPTY_IN.type
- , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPTY_OUT.type,
- TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
- List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
- List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
- .in(Task::getTaskType, list)
- .in(Task::getTaskStatus, integers)
- .orderByDesc(Task::getSort));
- for (Task task : tasks) {
- /**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
- if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
- BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName,
- task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
- /**杩囨护鎺夋櫘閫氱珯鐐逛换鍔�*/
- if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
- continue;
- }
- Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, task.getBarcode()));
- if (Objects.isNull(loc)) {
- continue;
- }
- //鍒ゆ柇鏄惁娣卞簱浣�
- if (!LocUtils.isShallowLoc(loc.getCode())) {
- //鑾峰彇娣卞簱浣嶅搴旂殑娴呭簱浣�
- String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
- if (StringUtils.isBlank(shallowLoc)) {
- continue;
- }
- Loc shalloc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
- if (Objects.isNull(shalloc) || !shalloc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
- //濡傛灉娴呭簱浣嶄笉鍦ㄥ簱璺冲嚭寰幆
- continue;
- }
- LocToTaskParams params = new LocToTaskParams();
- params.setOrgLoc(shallowLoc).setType(TaskType.TASK_TYPE_LOC_MOVE.type + "");
- //鐢熸垚绉诲簱浠诲姟
- Task moveTask = locItemService.genMoveTask(params, loginUserId);
- moveTask.setSort(!Objects.isNull(task.getSort()) ? task.getSort() + 1 : Constants.TASK_SORT_DEFAULT_VALUE + 1);
- if (!taskService.updateById(moveTask)) {
- throw new Exception("浠诲姟浼樺厛绾ф洿鏂板け璐ワ紒锛�");
- }
- }
- }
- /**涓嬪彂浠诲姟*/
- try {
- pubTaskToWcs(task);
- } catch (Exception e) {
- log.error("浠诲姟涓嬪彂澶辫触锛侊紒", e);
- }
- }
- }
+//
+// /**
+// * 闈炲厜鐢电珯鐐逛换鍔′笅鍙�
+// */
+// @Scheduled(cron = "0/5 * * * * ? ")
+// @Transactional(rollbackFor = Exception.class)
+// public void pubTaskToWcs() {
+// Long loginUserId = SystemAuthUtils.getLoginUserId();
+// List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPTY_IN.type
+// , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPTY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type,
+// TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
+// List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
+// List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+// .in(Task::getTaskType, list)
+// .in(Task::getTaskStatus, integers).last("limit 1")
+// .orderByDesc(Task::getSort));
+// for (Task task : tasks) {
+// /**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
+// if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+// BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+// .eq(BasStation::getStationName,
+// task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
+// if (Cools.isEmpty(station)){
+// log.info("闈炲厜鐢电珯鐐逛换鍔′笅鍙戯細绔欑偣淇℃伅寮傚父锛屼换鍔′俊鎭細"+ JSON.toJSONString(task));
+// continue;
+// }
+// if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
+// continue;
+// }
+// }
+// /**涓嬪彂鏅�氱珯鐐逛换鍔★紝鎶ラ敊鍥炴粴锛屼笉鍐嶅線涓嬫墽琛�*/
+// pubTaskToWcs(task);
+// }
+// }
+//
+// /**
+// * @author Ryan
+// * @date 2025/9/4
+// * @description: 鍏夌數绔欑偣浠诲姟涓嬪彂
+// * @version 1.0
+// */
+// @Scheduled(cron = "0/5 * * * * ? ")
+// @Transactional(rollbackFor = Exception.class)
+// public void taskToWCS() throws Exception {
+// Long loginUserId = SystemAuthUtils.getLoginUserId();
+// List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPTY_IN.type
+// , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPTY_OUT.type,
+// TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
+// List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
+// List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+// .in(Task::getTaskType, list)
+// .in(Task::getTaskStatus, integers)
+// .orderByDesc(Task::getSort));
+// for (Task task : tasks) {
+// /**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
+// if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+// BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName,
+// task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
+// /**杩囨护鎺夋櫘閫氱珯鐐逛换鍔�*/
+// if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
+// continue;
+// }
+// Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, task.getBarcode()));
+// if (Objects.isNull(loc)) {
+// continue;
+// }
+// //鍒ゆ柇鏄惁娣卞簱浣�
+// if (!LocUtils.isShallowLoc(loc.getCode())) {
+// //鑾峰彇娣卞簱浣嶅搴旂殑娴呭簱浣�
+// String shallowLoc = LocUtils.getShallowLoc(loc.getCode());
+// if (StringUtils.isBlank(shallowLoc)) {
+// continue;
+// }
+// Loc shalloc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
+// if (Objects.isNull(shalloc) || !shalloc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
+// //濡傛灉娴呭簱浣嶄笉鍦ㄥ簱璺冲嚭寰幆
+// continue;
+// }
+// LocToTaskParams params = new LocToTaskParams();
+// params.setOrgLoc(shallowLoc).setType(TaskType.TASK_TYPE_LOC_MOVE.type + "");
+// //鐢熸垚绉诲簱浠诲姟
+// Task moveTask = locItemService.genMoveTask(params, loginUserId);
+// moveTask.setSort(!Objects.isNull(task.getSort()) ? task.getSort() + 1 : Constants.TASK_SORT_DEFAULT_VALUE + 1);
+// if (!taskService.updateById(moveTask)) {
+// throw new Exception("浠诲姟浼樺厛绾ф洿鏂板け璐ワ紒锛�");
+// }
+// }
+// }
+// /**涓嬪彂浠诲姟*/
+// try {
+// pubTaskToWcs(task);
+// } catch (Exception e) {
+// log.error("浠诲姟涓嬪彂澶辫触锛侊紒", e);
+// }
+// }
+// }
/**
* 姣忎簲绉掓牎楠屾繁搴撲綅鏄惁涓虹┖锛屽鏋滄祬搴撲綅鏈夎揣锛屽皢娴呭簱浣嶇Щ鑷虫繁搴撲綅
@@ -373,7 +410,7 @@
BasStation station = null;
if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
- station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite()));
+ station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getTargSite()));
if (Objects.isNull(station)) {
throw new CoolException("绔欑偣涓嶅瓨鍦紒锛�");
}
@@ -383,7 +420,7 @@
/**鍒ゆ柇鏄惁璧风偣绯荤粺绫诲瀷 闈炴爣鍑嗙▼搴�*/
Loc locStart = null;
if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type) ||
- task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {
+ task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_OUT.type)) {
locStart = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc()));
if (Objects.isNull(locStart)) {
throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒");
@@ -398,11 +435,11 @@
/**鍒ゆ柇鏄惁璧风偣绯荤粺绫诲瀷 闈炴爣鍑嗙▼搴�*/
- if (locStart == null){
+ if (locStart == null) {
if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_EMPTY_IN.type) ||
task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type) ||
- task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
- ) {
+ task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
+ ) {
BasStation stationS = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite()));
if (Objects.isNull(stationS)) {
throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒");
--
Gitblit v1.9.1