From e67ab87058ea64c3a9d24df70f1b9a18a9f14a0e Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 31 七月 2025 16:40:16 +0800 Subject: [PATCH] 调拔单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 72 ++++++++++++++++++------------------ 1 files changed, 36 insertions(+), 36 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 0ade071..1ae6e7d 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 @@ -411,17 +411,18 @@ public void complateInTask(List<Task> tasks) throws Exception { Long loginUserId = SystemAuthUtils.getLoginUserId(); for (Task task : tasks) { - if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) { - //1.鍏ュ簱 - complateInstock(task, loginUserId); - } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { - //53.鎷f枡鍐嶅叆搴� - //57.鐩樼偣鍐嶅叆搴� - pickComplateInStock(task, loginUserId); - } else if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { - //绉诲簱 - moveInStock(task, loginUserId); - } +// if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)) { +// +// } else if (task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { +// //53.鎷f枡鍐嶅叆搴� +// //57.鐩樼偣鍐嶅叆搴� +// pickComplateInStock(task, loginUserId); +// } else if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) { +// //绉诲簱 +// moveInStock(task, loginUserId); +// } + //1.鍏ュ簱 + complateInstock(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()); } } } @@ -1152,13 +1148,7 @@ } } 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); - - } + WkOrderItem orderItem = asnOrderItemService.getById(key); if (Objects.isNull(orderItem)) { throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); } @@ -1246,13 +1236,14 @@ .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()); - wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val); + 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("鍑哄簱鍗曟洿鏂板け璐ワ紒锛�"); } @@ -1262,8 +1253,9 @@ 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("搴撳瓨淇濆瓨澶辫触锛侊紒"); @@ -1451,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)) { @@ -1497,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.setQty(qty).setExceStatus(AsnExceStatus.ASN_EXCE_STATUS_TASK_EXCE.val); + if (!asnOrderService.updateById(order)) { + throw new CoolException("鍏ュ簱鍗曠姸鎬佷慨鏀瑰け璐ワ紒锛�"); + } + } } } -- Gitblit v1.9.1