From a5816e4f1abd1e513d304357e542b75ff76a8f94 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 20 五月 2025 13:37:55 +0800 Subject: [PATCH] 任务列表完成优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 34 insertions(+), 21 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 b82017c..178cf4d 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 @@ -371,15 +371,41 @@ @Override @Transactional(rollbackFor = Exception.class) public void completeTask(List<Task> tasks) throws Exception { - if (tasks.isEmpty()) { + for (Task task : tasks) { + if (task.getTaskType() < TaskType.TASK_TYPE_OUT.type) { + //鍏ュ簱浠诲姟 + complateInstock(task); + } else { + //鍑哄簱浠诲姟 + complateOutStock(task); + } + } + } + /** + * @author Ryan + * @date 2025/5/20 + * @description: 瀹屾垚鍑哄簱浠诲姟锛屾洿鏂板嚭搴撳簱瀛樹俊鎭� + * @version 1.0 + */ + public void complateOutStock(Task task) { + + + } + + /** + * @author Ryan + * @date 2025/5/20 + * @description: 瀹屾垚鍏ュ簱浠诲姟 + * @version 1.0 + */ + public void complateInstock(Task task) { + if (Objects.isNull(task)) { return; } - List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList()); - List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list)); + List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, task.getId())); if (taskItems.isEmpty()) { throw new CoolException("浠诲姟鏄庣粏涓嶅瓨鍦紒锛�"); } - List<String> locCodes = tasks.stream().map(Task::getTargLoc).collect(Collectors.toList()); Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getTaskId)); /**瀵逛换鍔℃槑缁嗘寜浠诲姟涓诲崟杩涜鍒嗙粍*/ listMap.keySet().forEach(key -> { @@ -396,10 +422,7 @@ Map<Long, List<TaskItem>> orderMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getSource)); orderMap.keySet().forEach(key -> { WaitPakinItem pakinItem = waitPakinItemService.getById(key); -// AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>() -// .eq(AsnOrder::getId, key) -// .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode)); - if (null == pakinItem) { + if (Objects.isNull(pakinItem)) { throw new CoolException("鏁版嵁閿欒锛氱粍鎷栨暟鎹笉瀛樺湪锛岃鑱旂郴绠$悊鍛橈紒锛�"); } List<TaskItem> items = orderMap.get(key); @@ -413,10 +436,10 @@ } }); /**淇敼搴撲綅鐘舵�佷负F.鍦ㄥ簱*/ - if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(Loc::getCode, locCodes))) { + if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).eq(Loc::getCode, task.getTargLoc()))) { throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } - if (!this.update(new LambdaUpdateWrapper<Task>().in(Task::getId, list).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) { + if (!this.update(new LambdaUpdateWrapper<Task>().eq(Task::getId, task.getId()).set(Task::getTaskStatus, TaskStsType.UPDATED_IN.id))) { throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�"); } } @@ -486,19 +509,13 @@ } /** - * 鐢熸垚搴撳瓨鏄庣粏 + * 鐢熸垚鍏ュ簱搴撳瓨鏄庣粏 * @param items * @return */ @Transactional(rollbackFor = Exception.class) public void saveStockItems(List<TaskItem> items, WaitPakinItem order) throws Exception { Stock stock = new Stock(); -// if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) { -// Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode())); -// if (!Objects.isNull(purchase)) { -// stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId()); -// } -// } String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null); if (StringUtils.isBlank(ruleCode)) { throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒"); @@ -517,10 +534,6 @@ List<StockItem> stockItems = new ArrayList<>(); for (TaskItem item : items) { /**閫氳繃浠诲姟鏄庣粏涓殑taskId鏌ヨ,鑾峰彇TASK鐨勭洰鏍囧簱浣嶄俊鎭�*/ -// AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId())); -// if (Objects.isNull(orderItem)) { -// throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); -// } StockItem stockItem = new StockItem(); BeanUtils.copyProperties(item, stockItem); stockItem.setSourceItemId(item.getOrderItemId()) -- Gitblit v1.9.1