From 3bd07e5f90d5d832b8502252e1daebdd014320f8 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 19 三月 2025 10:28:49 +0800
Subject: [PATCH] Merge branch 'front' into devlop
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 43 insertions(+), 9 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 525be1b..494d4d6 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
@@ -156,6 +156,7 @@
throw new CoolException("搴撳尯鏍囪瘑涓嶈兘涓虹┖锛侊紒");
}
+
WarehouseAreas areasItem = warehouseAreasService.getOne(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getId, params.getWhAreaId()));
if (Objects.isNull(areasItem)) {
throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶅簱鍖轰笉瀛樺湪锛侊紒");
@@ -164,12 +165,43 @@
List<Fields> fields = fieldsMapper.selectList(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
List<ReceiptDetlsDto> receipts = params.getReceipts();
- List<WarehouseAreasItem> allOrders = new ArrayList<>();
+ List<WarehouseAreasItem> allOrders = new ArrayList<>();
+
+ double receiptQty = receipts.stream().mapToDouble(ReceiptDetlsDto::getReceiptQty).sum();
+
+ String asnCode = receipts.stream().findFirst().get().getAsnCode();
+
+ AsnOrder asnOrder = asnOrderMapper.selectOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, asnCode));
+ asnOrder.setQty(receiptQty);
+
+ if (asnOrderMapper.updateById(asnOrder) < 1) {
+ throw new CoolException("宸叉敹璐ф暟閲忎慨鏀瑰け璐ワ紒锛�");
+ }
+
receipts.forEach(dto -> {
Matnr matnr = matnrMapper.selectById(dto.getMatnrId());
if (Objects.isNull(matnr)) {
throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶇墿鏂欎笉瀛樺湪锛侊紒");
}
+ if (Objects.isNull(dto.getReceiptQty())) {
+ throw new CoolException("鏀惰揣鏁版嵁涓嶈兘涓虹┖锛侊紒");
+ }
+ if (dto.getReceiptQty() < dto.getPurQty()) {
+ throw new CoolException("鏀惰揣鏁伴噺涓嶈兘澶т簬閲囪喘鏁伴噺锛侊紒");
+ }
+
+ AsnOrderItem orderItem = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>()
+ .eq(AsnOrderItem::getAsnCode, asnCode)
+ .eq(AsnOrderItem::getMatnrId, dto.getMatnrId()));
+ if (Objects.isNull(orderItem)) {
+ throw new CoolException("閫氱煡鍗曟槑缁嗕笉瀛樺湪锛侊紒");
+ }
+ orderItem.setQty(dto.getReceiptQty());
+
+ if (asnOrderItemMapper.updateById(orderItem) < 1) {
+ throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�");
+ }
+
WarehouseAreasItem item = new WarehouseAreasItem();
item.setBarcode(dto.getBarcode())
.setAreaName(areasItem.getName())
@@ -204,7 +236,6 @@
.setShiperId(matnr.getShipperId())
.setValue(extendFields.get(key).toString())
.setUuid(uuid16);
-
fieldsItems.add(fieldsItem);
//鍞竴鏍囪瘑鍏ュ簱
item.setFieldsIndex(uuid16);
@@ -294,7 +325,7 @@
ReceiptDetlsDto detlsDto = new ReceiptDetlsDto();
detlsDto.setAsnCode(asnOrderItem.getAsnCode())
- .setMatnk(asnOrderItem.getMatnk())
+ .setMaktx(asnOrderItem.getMaktx())
.setBarcode(asnOrderItem.getBarcode())
.setPoCode(asnOrderItem.getPoCode())
.setPurQty(asnOrderItem.getAnfme())
@@ -309,7 +340,7 @@
.setMatnrId(matnr.getId())
.setStockUnit(matnr.getStockUnit());
QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>()
- .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId()));
+ .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()));
if (!Objects.isNull(inspect)) {
//set 璐ㄦ缁撴灉
detlsDto.setInspect(inspect.getStatus$());
@@ -325,14 +356,17 @@
detlsDto.setStockQty(stockItem.getQty() + stockItem.getWorkQty());
}
- //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
- PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
- //SET 骞冲彴琛屽彿
- detlsDto.setPlatformId(purchaseItem.getPlatItemId());
+ if (!Objects.isNull(asnOrderItem.getPoDetlId())) {
+ //鑾峰彇閲囪喘鍗曟槑缁嗕俊鎭�
+ PurchaseItem purchaseItem = purchaseItemMapper.selectOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, asnOrderItem.getPoDetlId()));
+ if (Objects.isNull(purchaseItem)) {
+ //SET 骞冲彴琛屽彿
+ detlsDto.setPlatformId(purchaseItem.getPlatItemId());
+ }
+ }
detlsDtos.add(detlsDto);
});
-
return R.ok(detlsDtos);
}
--
Gitblit v1.9.1