From 7d27cdccf8b92f32e80499f1f06c4b8ab93936c1 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 26 五月 2025 19:25:34 +0800 Subject: [PATCH] 修改空板移库,任务完成后无法加入历史档问题 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 40 +++++++------------ rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 36 +++++++----------- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java | 8 ++++ 3 files changed, 37 insertions(+), 47 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java index 67dc974..9c94eb3 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java @@ -18,6 +18,7 @@ import com.vincent.rsf.server.system.controller.BaseController; import com.vincent.rsf.server.system.service.impl.ConfigServiceImpl; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -138,8 +139,15 @@ .in(Task::getTaskStatus, longs)); for (Task task : tasks) { + if (StringUtils.isNotBlank(task.getParentId() + "")) { + Task task1 = taskService.getById(task.getParentId()); + if (!Objects.isNull(task1)) { + throw new CoolException("鐖朵换鍔★細" + task1.getTaskCode() + "鏈墽琛屽畬鎴愶紒"); + } + } task.setTaskStatus(task.getTaskType() < 100 ? TaskStsType.COMPLETE_IN.id : TaskStsType.COMPLETE_OUT.id); } + if (!taskService.updateBatchById(tasks)) { return R.error("瀹屾垚浠诲姟澶辫触"); } 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 4445a74..4349860 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 @@ -107,14 +107,6 @@ return; } - List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList()); - List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list)); - if (taskItems.isEmpty()) { - return; - } - - Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getTaskId)); - tasks.forEach(task -> { TaskLog taskLog = new TaskLog(); BeanUtils.copyProperties(task, taskLog); @@ -123,9 +115,9 @@ if (!taskLogService.save(taskLog)) { throw new CoolException("浠诲姟鍘嗗彶妗d繚瀛樺け璐ワ紒锛�"); } - + List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); List<TaskItemLog> itemLogs = new ArrayList<>(); - for (TaskItem item : listMap.get(task.getId())) { + for (TaskItem item : taskItems) { TaskItemLog itemLog = new TaskItemLog(); BeanUtils.copyProperties(item, itemLog); itemLog.setId(null) @@ -135,19 +127,19 @@ itemLogs.add(itemLog); } - if (!taskItemLogService.saveBatch(itemLogs)) { - throw new CoolException("浠诲姟鏄庣粏鍘嗗彶妗d繚瀛樺け璐ワ紒锛�"); + if (!taskService.removeById(task.getId())) { + throw new CoolException("鍘熷浠诲姟鍒犻櫎澶辫触锛侊紒"); + } + + if (!taskItems.isEmpty()) { + if (!taskItemLogService.saveBatch(itemLogs)) { + throw new CoolException("浠诲姟鏄庣粏鍘嗗彶妗d繚瀛樺け璐ワ紒锛�"); + } + + if (!taskItemService.remove(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId()))) { + throw new CoolException("鍘熷浠诲姟鏄庣粏鍒犻櫎澶辫触锛侊紒"); + } } }); - - if (!taskService.removeByIds(list)) { - throw new CoolException("鍘熷浠诲姟鍒犻櫎澶辫触锛侊紒"); - } - - List<Long> itemIds = taskItems.stream().map(TaskItem::getId).collect(Collectors.toList()); - - if (!taskItemService.removeByIds(itemIds)) { - throw new CoolException("鍘熷浠诲姟鏄庣粏鍒犻櫎澶辫触锛侊紒"); - } } } 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 f62c67a..2e3cd67 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 @@ -426,23 +426,22 @@ } List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().eq(TaskItem::getTaskId, task.getId())); - if (taskItems.isEmpty()) { - throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); + + if (!taskItems.isEmpty()) { + //绉诲簱鏈夊彲鑳芥槸绌烘澘 + try { + //鏇存柊搴撲綅鏄庣粏 + saveLocItem(taskItems, task.getId()); + } catch (Exception e) { + throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒"); + } + + if (!locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocCode, task.getOrgLoc()))) { + throw new CoolException("婧愬簱浣嶆槑缁嗗垹闄ゅけ璐ワ紒"); + } + } - try { - //鏇存柊搴撲綅鏄庣粏 - saveLocItem(taskItems, task.getId()); - } catch (Exception e) { - throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒"); - } -// /**瀵逛换鍔℃槑缁嗘寜缁勬嫋鏄庣粏杩涜鍒嗙粍*/ -// try { -// //淇濆瓨搴撳瓨鏄庣粏 -// saveStockItems(taskItems, null, null, pakinItem.getWkType(), pakinItem.getType()); -// } catch (Exception e) { -// log.error("<UNK>", e); -// throw new CoolException(e.getMessage()); -// } + /**淇敼搴撲綅鐘舵�佷负F.鍦ㄥ簱*/ if (!locService.update(new LambdaUpdateWrapper<Loc>() .set(Loc::getBarcode, task.getBarcode()) @@ -457,9 +456,6 @@ throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } - if (!locItemService.remove(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocCode, task.getOrgLoc()))) { - throw new CoolException("婧愬簱浣嶆槑缁嗗垹闄ゅけ璐ワ紒"); - } if (!this.update(new LambdaUpdateWrapper<Task>().eq(Task::getId, task.getId()).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) { throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); @@ -743,12 +739,6 @@ public void complateOutStock(Task task) throws Exception { if (Objects.isNull(task)) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); - } - if (StringUtils.isNotBlank(task.getParentId() + "")) { - Task task1 = taskService.getById(task.getParentId()); - if (!Objects.isNull(task1)) { - throw new CoolException("鐖朵换鍔★細" + task1.getTaskCode() + "鏈墽琛屽畬鎴愶紒"); - } } Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, task.getOrgLoc())); -- Gitblit v1.9.1