From 787bae747de46eb1b7c7d63031ddf109b92fa1bc Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 05 三月 2026 08:30:14 +0800
Subject: [PATCH] lsh#
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 35 insertions(+), 11 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
index 4245df5..a3a28ed 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -494,12 +494,12 @@
throw new CoolException("绔欑偣鐘舵�佷笉涓虹┖闂�");
}
- List<String> areaList = JSONObject.parseArray(basStation.getCrossZoneArea(), String.class);
- if (!areaList.contains(area)) {
+ List<Long> areaList = basStation.getCrossZoneArea();
+ if (!areaList.contains(Long.parseLong(area))) {
throw new CoolException("褰撳墠绔欑偣涓嶆敮鎸佺洰鏍囧簱鍖�");
}
if (!Cools.isEmpty(basStation.getContainerType())) {
- List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+ List<Long> longs1 = basStation.getContainerType();
List<BasContainer> containers = basContainerService.list(
new LambdaQueryWrapper<BasContainer>()
.in(BasContainer::getContainerType, longs1)
@@ -558,7 +558,7 @@
throw new CoolException("绔欑偣鐘舵�佷笉涓虹┖闂�");
}
if (!Cools.isEmpty(basStation.getContainerType())) {
- List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+ List<Long> longs1 = basStation.getContainerType();
List<BasContainer> containers = basContainerService.list(
new LambdaQueryWrapper<BasContainer>()
.in(BasContainer::getContainerType, longs1)
@@ -612,7 +612,7 @@
}
warehouseAreasList.add(warehouseArea);
} else {
- List<String> areaList = JSONObject.parseArray(basStation.getCrossZoneArea(), String.class);
+ List<Long> areaList = basStation.getCrossZoneArea();
if (areaList.isEmpty()) {
throw new CoolException("褰撳墠绔欑偣搴撳尯鏈厤缃�");
}
@@ -988,8 +988,14 @@
//110.绌烘澘鍑哄簱
complateOutStockEmpty(task, loginUserId);
} else if (task.getTaskType().equals(TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)) {
- //110.绌烘澘鍑哄簱
+ //109.澶囪揣
complateOutStockDocking(task, loginUserId);
+ } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) {
+ //107.鐩�
+ pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK);
+ } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) {
+ //103.鎷i��
+ pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_PICK);
} else {
complateOutStock(task, loginUserId);
}
@@ -1093,10 +1099,23 @@
throw new CoolException("搴撲綅淇℃伅鏇存柊澶辫触锛侊紒");
}
+
+
List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()));
if (taskItems.isEmpty()) {
throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�");
}
+
+ List<LocItem> list = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId()));
+ list.forEach(item -> {
+ item.setOrderId(taskItems.get(0).getSourceId());
+ item.setType(taskItems.get(0).getOrderType());
+ item.setOrderItemId(taskItems.get(0).getSource());
+ item.setPlatOrderCode(taskItems.get(0).getSourceCode());
+ item.setWkType(taskItems.get(0).getWkType());
+ });
+
+ locItemService.updateBatchById(list);
TaskItem taskItem = taskItems.stream().findFirst().get();
//淇濆瓨鍏ュ嚭搴撴祦姘�
@@ -1331,7 +1350,7 @@
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public Task pickOrCheckTask(Long id, String oType) throws Exception {
+ public synchronized Task pickOrCheckTask(Long id, String oType) throws Exception {
Task task = this.getById(id);
if (Objects.isNull(task)) {
throw new CoolException("褰撳墠浠诲姟涓嶅瓨鍦紒锛�");
@@ -1362,14 +1381,19 @@
task.setTaskCode(ruleCode)
.setTaskType(type)
.setBarcode(task.getBarcode())
- .setTaskStatus(TaskStsType.GENERATE_IN.id);
+ .setTaskStatus(TaskStsType.MISSION_INITIAL.id);
TaskInParam param = new TaskInParam();
param.setSourceStaNo(task.getTargSite())
.setIoType(type)
.setLocType1(Integer.parseInt(loc.getType()));
//鑾峰彇鏂板簱浣�
- InTaskMsgDto locInfo = wcsService.getLocNo(param);
+ InTaskMsgDto locInfo = null;
+ try{
+ locInfo = wcsService.getLocNo(param);
+ } catch (Exception e) {
+ throw new CoolException("鑾峰彇搴撲綅澶辫触锛侊紒"+e.getMessage());
+ }
if (Objects.isNull(locInfo)) {
throw new CoolException("鑾峰彇搴撲綅澶辫触锛侊紒");
@@ -1586,7 +1610,7 @@
.eq(Task::getId, task.getId())
.set(Task::getUpdateBy, loginUserId)
.set(Task::getUpdateTime, new Date())
- .set(Task::getTaskStatus, TaskStsType.WAVE_SEED.id))) {
+ .set(Task::getTaskStatus, TaskStsType.UPDATED_OUT.id))) {
throw new CoolException("搴撳瓨鐘舵�佹洿鏂板け璐ワ紒锛�");
}
@@ -1617,7 +1641,7 @@
/**
* @author Ryan
* @date 2025/5/20
- * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
+ * @description: 瀹屾垚瓒婂簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭�
* @version 1.0
*/
@Synchronized
--
Gitblit v1.9.1