From e4e3f752792527c5c22df131c8dffa4733c98057 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 05 六月 2025 15:05:11 +0800 Subject: [PATCH] 任务列表优化 DO单功能优化 出库单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java index 0b6967a..0137b40 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java @@ -10,6 +10,7 @@ import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.AsnExceStatus; +import com.vincent.rsf.server.manager.enums.POExceStatus; import com.vincent.rsf.server.manager.enums.WaveExceStatus; import com.vincent.rsf.server.manager.mapper.AsnOrderMapper; import com.vincent.rsf.server.manager.service.*; @@ -61,7 +62,7 @@ * @time 2025/4/7 13:28 */ @Transactional(rollbackFor = Exception.class) - private void svaeOrUpdateOrderItem(AsnOrderAndItemsParams params, Long loginUserId) throws Exception { + public void svaeOrUpdateOrderItem(AsnOrderAndItemsParams params, Long loginUserId) throws Exception { AsnOrder orders = params.getOrders(); params.getItems().forEach(item -> { item.put("asnId", orders.getId()); @@ -114,6 +115,7 @@ /** * @param + * @param loginUserId * @return * @author Ryan * @description 閫氳繃DO鍗曠敓鎴愬嚭搴撳崟 @@ -121,7 +123,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public R genOutStock(List<Long> ids) { + public R genOutStock(List<Long> ids, Long loginUserId) { if (Objects.isNull(ids) || ids.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } @@ -143,9 +145,13 @@ throw new CoolException("缂栫爜瑙勫垯閿欒锛氳妫�鏌� 銆孲YS_OUT_STOCK_CODE銆嶇紪鐮佹槸鍚﹁缃垚鍔�"); } order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) + .setType(delivery.getType()) + .setWkType(delivery.getWkType()) .setCode(ruleCode) .setPoId(delivery.getId()) .setId(null) + .setUpdateBy(loginUserId) + .setCreateBy(loginUserId) .setPoCode(delivery.getCode()); if (!this.save(order)) { throw new CoolException("涓诲崟淇濆瓨澶辫触锛侊紒"); @@ -161,12 +167,25 @@ .setFieldsIndex(item.getFieldsIndex()) .setAsnId(order.getId()) .setAsnCode(order.getCode()) + .setStockUnit(item.getUnit()) + .setPurUnit(item.getUnit()) + .setPlatWorkCode(item.getPlatWorkCode()) + .setPlatOrderCode(item.getPlatOrderCode()) + .setProjectCode(item.getProjectCode()) .setPlatItemId(item.getPlatItemId()) + .setUpdateBy(loginUserId) + .setCreateBy(loginUserId) .setPoDetlId(item.getId()); orderItems.add(orderItem); + + if (!deliveryItemService.update(new LambdaUpdateWrapper<DeliveryItem>() + .set(DeliveryItem::getWorkQty, item.getAnfme()) + .eq(DeliveryItem::getId, item.getId()))) { + throw new CoolException("DO鍗曟槑缁嗕慨鏀瑰け璐ワ紒锛�"); + } }); - double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); + Double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); //淇敼璁″垝鏁伴噺 order.setAnfme(sum); if (!this.saveOrUpdate(order)) { @@ -175,6 +194,14 @@ if (!asnOrderItemService.saveBatch(orderItems)) { throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒"); } + + if (!deliveryService.update(new LambdaUpdateWrapper<Delivery>() + .set(Delivery::getExceStatus, POExceStatus.PO_EXCE_STATUS_EXCE_ING.val) + .set(Delivery::getWorkQty, sum) + .eq(Delivery::getId, key))) { + throw new CoolException("涓诲崟淇敼澶辫触锛侊紒"); + } + }); return R.ok(); } -- Gitblit v1.9.1