From db0da79142146cd3de6e7fcca92dceeceb6d2665 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 04 九月 2025 13:42:27 +0800 Subject: [PATCH] 添加普通站点及下发任务站点管理功能 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++---- 1 files changed, 34 insertions(+), 4 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java index 8af462a..40d4c5d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java @@ -18,6 +18,7 @@ import com.vincent.rsf.server.api.entity.dto.LocTypeDto; import com.vincent.rsf.server.api.controller.erp.params.TaskInParam; import com.vincent.rsf.server.api.entity.dto.SyncLocsDto; +import com.vincent.rsf.server.api.entity.enums.CallBackEvent; import com.vincent.rsf.server.api.entity.params.CommonRequest; import com.vincent.rsf.server.api.entity.params.ExMsgParams; import com.vincent.rsf.server.api.entity.params.WcsTaskParams; @@ -416,6 +417,7 @@ ScheduledExecutorService scheduled = Executors.newScheduledThreadPool(1); scheduled.scheduleWithFixedDelay(new Runnable() { int current = 1; + @Override public void run() { params.setCurrent(current); @@ -455,6 +457,7 @@ /** * 寮傚父淇℃伅涓婃姤 + * * @return */ @Override @@ -462,13 +465,12 @@ if (Objects.isNull(params)) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getTaskCode, params.getSeqNum())); if (Objects.isNull(task)) { - throw new CoolException("浠诲姟涓嶅瓨鍦紒锛�"); + throw new CoolException("浠诲姟涓嶅瓨鍦ㄥ彲宸茬粨鏉燂紒锛�"); } - - if (params.getEventType().equals("END")) { + /**鍙栫瀹屾垚*/ + if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) { if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type) @@ -479,6 +481,19 @@ .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) { throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } + + if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { + BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite())); + if (Objects.isNull(station)) { + throw new CoolException("鏁版嵁閿欒锛岀珯鐐逛笉瀛樺湪锛侊紒"); + } + if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) { + station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type); + if (!basStationService.updateById(station)) { + throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + } + } } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type) || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type) @@ -487,6 +502,18 @@ if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode()) .set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) { throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } + /**淇敼鍑哄簱绔欑偣鐘舵��*/ + BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>() + .eq(BasStation::getStationName, task.getTargSite())); + if (Objects.isNull(station)) { + throw new CoolException("鏁版嵁閿欒锛岀珯鐐逛笉瀛樺湪锛侊紒"); + } + if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) { + station.setUseStatus(LocStsType.LOC_STS_TYPE_F.type); + if (!basStationService.updateById(station)) { + throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�"); + } } } } @@ -497,6 +524,7 @@ /** * 涓嬪彂浠诲姟鑷充腑杞珹PI + * * @param params * @return */ @@ -826,6 +854,8 @@ .eq(Loc::getAreaId, area) .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getType, locTypeDto.getLocType1()) + .ge(Loc::getRow, deviceBind.getStartRow()) + .le(Loc::getRow, deviceBind.getEndRow()) .orderByAsc(Loc::getLev) .orderByAsc(Loc::getCol) .orderByAsc(Loc::getRow) -- Gitblit v1.9.1