From fabc045268d2fe29ca8b0f25093b9429d5818d22 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 25 六月 2025 19:23:43 +0800 Subject: [PATCH] 出库生成任务优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 26 ++++++++++++++++++++------ 1 files changed, 20 insertions(+), 6 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java index 36d255b..5ad2d1d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java @@ -46,6 +46,8 @@ private WcsService wcsService; @Autowired private OutStockService outStockService; + @Autowired + private WaveService waveService; /** @@ -72,9 +74,17 @@ List<LocItem> items = map.getItems(); Map<Long, List<LocItem>> listMap = items.stream().collect(Collectors.groupingBy(LocItem::getLocId)); AsnOrder order; + Wave wave; if (!Objects.isNull(map.getSourceId())) { - order = outStockService.getById(map.getSourceId()); + if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) { + order = new AsnOrder(); + wave = waveService.getById(map.getSourceId()); + } else { + wave = new Wave(); + order = outStockService.getById(map.getSourceId()); + } } else { + wave = new Wave(); order = new AsnOrder(); } @@ -117,9 +127,11 @@ List<LocItem> locItemList = listMap.get(key); Double outQty = locItemList.stream().mapToDouble(LocItem::getOutQty).sum(); - if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK) || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) { + if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK) + || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK) + || map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) { if (orgQty.compareTo(outQty) > 0) { - //鎷f枡鍑哄簱 + //鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱 DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getSite, siteNo) .eq(DeviceSite::getChannel, loc.getChannel()) @@ -199,14 +211,16 @@ .setCreateBy(loginUserId) .setCreateTime(new Date()) .setUpdateTime(new Date()) - .setOrderType(OrderType.ORDER_OUT.type) - .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)); + .setOrderType(OrderType.ORDER_OUT.type); if (map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)) { taskItem.setWkType(Short.parseShort(order.getWkType())) .setSourceCode(order.getCode()) .setSourceId(order.getId()); + } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) { + taskItem.setSourceId(wave.getId()).setSourceCode(wave.getCode()); } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) { - taskItem.setSource(item.getId()) + taskItem.setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)) + .setSource(item.getId()) .setSourceId(item.getLocId()) .setSourceCode(item.getLocCode()); } -- Gitblit v1.9.1