From 5c90daa2c919f3f07df0a154ff91f0e015bf8d66 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 24 七月 2025 17:07:28 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 41 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..58b8709 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 @@ -7,6 +7,7 @@ import com.vincent.rsf.server.api.service.WcsService; import com.vincent.rsf.server.api.utils.LocUtils; import com.vincent.rsf.server.common.constant.Constants; +import com.vincent.rsf.server.manager.controller.params.CheckLocQueryParams; import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.*; @@ -46,6 +47,8 @@ private WcsService wcsService; @Autowired private OutStockService outStockService; + @Autowired + private WaveService waveService; /** @@ -71,11 +74,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 +128,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 +212,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 +364,19 @@ } return task; } + + /** + * @author Ryan + * @date 2025/7/16 + * @description: 鑾峰彇褰撳墠鐗╂枡鎵�鏈夊簱瀛樹俊鎭� + * @version 1.0 + */ + @Override + public List<LocItem> listByMatnr(CheckLocQueryParams matnr) { + LambdaQueryWrapper<LocItem> wrapper = new LambdaQueryWrapper<LocItem>() + .eq(StringUtils.isNotBlank(matnr.getLocCode()), LocItem::getLocCode, matnr.getLocCode()) +// .eq(StringUtils.isNotBlank(matnr.getChannel()), LocItem::getChannel, matnr.getChannel()) + .in(!matnr.getMatnrCode().isEmpty(), LocItem::getMatnrCode, matnr.getMatnrCode()); + return this.baseMapper.listByMatnr(LocStsType.LOC_STS_TYPE_F.type, matnr.getChannel(), wrapper); + } } -- Gitblit v1.9.1