From 523d8cf68615134c7780f74933e70a14edb60f01 Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期五, 05 九月 2025 17:00:39 +0800 Subject: [PATCH] wcs联调功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 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 d18a1c3..97bd9d9 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 @@ -234,22 +234,26 @@ // } } + /** + * 闈炲厜鐢电珯鐐逛换鍔′笅鍙� + */ @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_EMPITY_IN.type - , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type, + , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_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) + .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, + 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_MUTI.type)) { continue; @@ -366,16 +370,25 @@ } /**鍒ゆ柇鏄惁鍏夌數绔欑偣锛岄潪鍏夊簵绔欑偣闇�绠℃帶绔欑偣鐘舵��*/ if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) { - if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { + if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && !task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) { - throw new CoolException("褰撳墠绔欑偣涓嶆槸F.鍦ㄥ簱鐘舵�侊紒锛�"); + throw new CoolException("褰撳墠绔欑偣涓嶆槸F.鍦ㄥ簱鐘舵�佺姸鎬侊紒锛�"); + } + station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); + if (!basStationService.updateById(station)) { + throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�"); } } else if (task.getTaskType() >= TaskType.TASK_TYPE_OUT.type) { if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { - throw new CoolException("鐩爣绔欑偣涓嶆槸O.绌洪棽鐘舵�侊紒锛�"); + throw new CoolException("鐩爣绔欑偣涓嶅O.绌洪棽鐘舵�侊紝鏃犳硶棰勭害鍑哄簱銆�"); + } + station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type); + if (!basStationService.updateById(station)) { + throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�"); } } } + /**绉诲簱鍙傛暟*/ if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { itemParam.setOriLoc(task.getOrgLoc()).setDestLoc(task.getTargLoc()); -- Gitblit v1.9.1