From 0b190d8a9aad67aa521ec163b437c59f6e63c400 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 17 七月 2025 14:04:27 +0800 Subject: [PATCH] 盘点单下发功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 38 insertions(+), 8 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..d31e992 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; /** @@ -71,11 +73,19 @@ String siteNo = map.getSiteNo(); List<LocItem> items = map.getItems(); Map<Long, List<LocItem>> listMap = items.stream().collect(Collectors.groupingBy(LocItem::getLocId)); - AsnOrder order; + WkOrder 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 WkOrder(); + wave = waveService.getById(map.getSourceId()); + } else { + wave = new Wave(); + order = outStockService.getById(map.getSourceId()); + } } else { - order = new AsnOrder(); + wave = new Wave(); + order = new WkOrder(); } listMap.keySet().forEach(key -> { @@ -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,19 @@ .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()) + .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)) + .setSourceCode(wave.getCode()) + .setSource(item.getSource()); } 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()); } @@ -346,4 +363,17 @@ } return task; } + + /** + * @author Ryan + * @date 2025/7/16 + * @description: 鑾峰彇褰撳墠鐗╂枡鎵�鏈夊簱瀛樹俊鎭� + * @version 1.0 + */ + @Override + public List<LocItem> listByMatnr(List<String> matnr) { + LambdaQueryWrapper<LocItem> wrapper = new LambdaQueryWrapper<LocItem>() + .in(!matnr.isEmpty(), LocItem::getMatnrCode, matnr); + return this.baseMapper.listByMatnr(LocStsType.LOC_STS_TYPE_F.type, wrapper); + } } -- Gitblit v1.9.1