From 9c0236bacbd10fb629a4142719c4199bca1038bc Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 15 四月 2025 17:28:58 +0800 Subject: [PATCH] 修改 1. 新增库位明细流界面 2. 修改库存信息表 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 40 insertions(+), 14 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index 79542a6..198b8f1 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -84,6 +84,8 @@ private QlyIsptItemService qlyIsptItemService; @Resource private StockItemMapper stockItemMapper; + @Autowired + private LocItemService locItemService; @Resource private PurchaseItemMapper purchaseItemMapper; @Resource @@ -619,32 +621,55 @@ throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); } Stock stock = new Stock(); - stock.setAsnId(OrderId).setAsnCode(order.getCode()); - if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) { - Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode())); - if (!Objects.isNull(purchase)) { - stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId()); - } - } +// if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) { +// Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode())); +// if (!Objects.isNull(purchase)) { +// stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId()); +// } +// } String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null); if (StringUtils.isBlank(ruleCode)) { throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒"); } + List<AsnOrderItem> itemList = params.getItemList(); + double sum = itemList.stream().mapToDouble(AsnOrderItem::getAnfme).sum(); + stock.setAnfme(sum) + .setSourceId(order.getId()) + .setType(order.getType()) + .setWkType(Short.parseShort(order.getWkType())); if (!stockService.save(stock)) { throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒"); } + //TODO 骞冲簱涓婃灦绛栫暐闂锛� 1 骞冲簱搴撲綅鏄崟鐙璁★紝杩樻槸涓庝骇搴撲竴璧风敤绫诲瀷鍖哄垎 Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, params.getLocCode())); if (Objects.isNull(loc)) { throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�"); } + //locItemSerivce + List<LocItem> locItems = new ArrayList<>(); + itemList.forEach(asnOrderItem -> { + LocItem item = new LocItem(); + BeanUtils.copyProperties(asnOrderItem, item); + item.setId(loc.getId()) + .setOrderId(order.getId()) + .setOrderItemId(asnOrderItem.getId()) + .setWkType(Short.parseShort(order.getWkType())) + .setType(order.getType()); + locItems.add(item); + }); + if (!locItemService.saveBatch(locItems)) { + throw new CoolException("搴撲綅鏄庣粏鏇存柊澶辫触锛侊紒"); + } + List<StockItem> stockItems = new ArrayList<>(); - params.getItemList().forEach(orderItem -> { + itemList.forEach(orderItem -> { StockItem stockItem = new StockItem(); BeanUtils.copyProperties(orderItem, stockItem); - stockItem.setAsnItemId(orderItem.getId()) + stockItem.setSourceItemId(orderItem.getId()) .setBarcode(orderItem.getBarcode()) - .setLocId(loc.getId()) + .setStockCode(stock.getCode()) .setUpdateBy(loginUserId) + .setCreateBy(loginUserId) .setId(null) .setStockId(stock.getId()); stockItems.add(stockItem); @@ -829,14 +854,15 @@ detlsDto.setInspect(inspect.getStatus$()); } //鑾峰彇褰撳墠搴撳瓨淇℃伅 - StockItem stockItem = stockItemMapper.selectOne(new LambdaQueryWrapper<StockItem>() - .eq(StockItem::getAsnItemId, asnOrderItem.getId()) - .eq(StockItem::getMatnrId, asnOrderItem.getMatnrId())); + LocItem stockItem = locItemService.getOne(new LambdaQueryWrapper<LocItem>() + .eq(LocItem::getOrderItemId, asnOrderItem.getId()) + .eq(LocItem::getBatch, asnOrderItem.getBatch()) + .eq(LocItem::getMatnrId, asnOrderItem.getMatnrId())); //SET 褰撳墠搴撳瓨鏁伴噺 if (Objects.isNull(stockItem)) { detlsDto.setStockQty(0.0); } else { - detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty()); + detlsDto.setStockQty(stockItem.getAnfme() + stockItem.getWorkQty()); } if (!Objects.isNull(asnOrderItem.getPoDetlId())) { -- Gitblit v1.9.1