From a1221fcaa6d7712a63f922e60393d959d1a1d386 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 17 四月 2025 16:08:43 +0800
Subject: [PATCH] #优化:收货通知单编辑优化
---
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