From 951b46befc5b4ec669f882bebd934d64897059f9 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 01 八月 2025 12:58:29 +0800 Subject: [PATCH] 调拔单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 58 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 30 insertions(+), 28 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 41bc10a..23a62e6 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 @@ -422,6 +422,7 @@ //绉诲簱 moveInStock(task, loginUserId); } + } } @@ -636,19 +637,14 @@ @Synchronized @Override @Transactional(rollbackFor = Exception.class) - public void completeTask(List<Task> tasks) throws Exception { + public void completeTask(List<Task> tasks) { Long loginUserId = SystemAuthUtils.getLoginUserId(); for (Task task : tasks) { //鍑哄簱浠诲姟 - if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)) { - //鍏ㄦ墭鍑哄簱 + try { complateOutStock(task, loginUserId); - } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)) { - //鎷f枡鍑哄簱 - complateOutStock(task, loginUserId); - } else if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)) { - //鐩樼偣鍑哄簱 - complateOutStock(task, loginUserId); + } catch (Exception e) { + throw new CoolException(e.getMessage()); } } } @@ -1019,8 +1015,6 @@ } } } - - }); }); List<Long> matnrIds = taskItems.stream().map(TaskItem::getMatnrId).collect(Collectors.toList()); @@ -1152,14 +1146,9 @@ } catch (Exception e) { throw new CoolException(e.getMessage()); } - } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val) || task.getResource().equals(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val)) { - WkOrderItem orderItem = new WkOrderItem(); - if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val)) { - CheckDiffItem diffItem = checkDiffItemService.getById(key); - } else { - orderItem = asnOrderItemService.getById(key); - - } + } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val) + || task.getResource().equals(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val)) { + WkOrderItem orderItem = asnOrderItemService.getById(key); if (Objects.isNull(orderItem)) { throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); } @@ -1247,20 +1236,26 @@ .setUpdateBy(loginUserId) .setUpdateTime(new Date()) .setAnfme(sum); - if (Objects.isNull(waveItem)) { - stock.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)) - .setMemo("搴撳瓨鍑哄簱锛屾棤鍗曟嵁淇℃伅锛侊紒") - .setType(OrderType.ORDER_OUT.type); + if (!Objects.isNull(waveItem)) { + //TODO 鐢熸垚娉㈡鏃堕渶瑕佸皢娉㈡鍙峰啓鍏ュ崟鎹紝閫氳繃鐗╂枡锛屾壒娆★紝鍔ㄦ�佸瓧娈电瓑鍞竴鍊煎弽鏌ュ崟鎹俊鎭� + stock.setSourceId(waveItem.getId()).setType(OrderType.ORDER_OUT.type); } else if (!Objects.isNull(orderItem) && StringUtils.isNotBlank(orderItem.getId() + "")) { WkOrder wkOrder = asnOrderService.getById(orderItem.getOrderId()); + Double qty = Math.round((wkOrder.getQty() + sum) * 10000) / 10000.0; + wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_WORKING.val) + .setQty(qty); + if (!asnOrderService.updateById(wkOrder)) { + throw new CoolException("鍑哄簱鍗曟洿鏂板け璐ワ紒锛�"); + } stock.setWkType(Short.parseShort(wkOrder.getWkType())) .setType(OrderType.ORDER_OUT.type); } else if (!Objects.isNull(diffItem)) { stock.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_CHECK.type)) .setType(OrderType.ORDER_CHECK.type); } else { - //TODO 鐢熸垚娉㈡鏃堕渶瑕佸皢娉㈡鍙峰啓鍏ュ崟鎹紝閫氳繃鐗╂枡锛屾壒娆★紝鍔ㄦ�佸瓧娈电瓑鍞竴鍊煎弽鏌ュ崟鎹俊鎭� - stock.setSourceId(waveItem.getId()).setType(OrderType.ORDER_OUT.type); + stock.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)) + .setMemo("搴撳瓨鍑哄簱锛屾棤鍗曟嵁淇℃伅锛侊紒") + .setType(OrderType.ORDER_OUT.type); } if (!stockService.save(stock)) { throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒"); @@ -1281,7 +1276,6 @@ if (!stockItemService.saveBatch(stockItems)) { throw new CoolException("搴撳瓨淇敼鏋跺け璐ワ紒锛�"); } - } /** @@ -1449,8 +1443,7 @@ * @return */ @Transactional(rollbackFor = Exception.class) - public void saveStockItems(List<TaskItem> items, Task task, Long id, String code, Short wkType, String type, Long loginUserId) throws - Exception { + public void saveStockItems(List<TaskItem> items, Task task, Long id, String code, Short wkType, String type, Long loginUserId) { Stock stock = new Stock(); String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null); if (StringUtils.isBlank(ruleCode)) { @@ -1495,5 +1488,14 @@ if (!stockItemService.saveBatch(stockItems)) { throw new CoolException("搴撳瓨淇敼鏋跺け璐ワ紒锛�"); } + + WkOrder order = asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, code)); + if (!Objects.isNull(order)) { +// Double qty = Math.round((order.getQty() + sum) * 10000) / 10000.0; + order.setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_EXCE.val); + if (!asnOrderService.updateById(order)) { + throw new CoolException("鍏ュ簱鍗曠姸鎬佷慨鏀瑰け璐ワ紒锛�"); + } + } } } -- Gitblit v1.9.1