修改单个送货单收货的场景

This commit is contained in:
zhangke 2026-03-11 15:39:24 +08:00
parent 820412f9fe
commit 2e4119cb4f
2 changed files with 33 additions and 157 deletions

View File

@ -213,8 +213,6 @@ public class NormalPGIController extends BaseController {
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
List<InventoryDTO> inventories = new ArrayList<>();
List<ZWM3A17DTO> zwm3A17DTOS = new ArrayList<>();
List<WmsQrCodeMaster> qrCodes = new ArrayList<>();
for (SrmMaterialReceiptQO item : request) {
@ -244,8 +242,6 @@ public class NormalPGIController extends BaseController {
}
}
}
SAPSyncParamsDTO materialInfoInOrder = sapSyncParamsDTOS.stream()
.filter(sapSyncParamsDTO ->
sapSyncParamsDTO.getEbeln().equals(item.getPoNum())
@ -278,93 +274,6 @@ public class NormalPGIController extends BaseController {
qrCodeMaster.setReceiptItemId(orderItemId);
qrCodes.add(qrCodeMaster);
}
} else {
//判断是否存在没有启用储位管理的仓库
WmsWarehouse warehouse = wmsWarehouseService.lambdaQuery().eq(WmsWarehouse::getNo, item.getReceivedWarehouse()).one();
if (!warehouse.getIsDisableLocation()) {
//设置收货明细项
setPoReceiveByIn(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
//设置SAP过账接口
ZWM3A17DTO zwm3A17DTO = zwm3A17DTOS.stream()
.filter(zwm3A17DTO1 -> zwm3A17DTO1.getEbeln().equals(item.getPoNum()))
.findFirst()
.orElse(null);
if (Objects.isNull(zwm3A17DTO)) {
zwm3A17DTO = new ZWM3A17DTO()
.setEbeln(item.getPoNum())
.setUsnam(UserUtil.getUserName())
.setReceiveId(orderItemId)
.setItem1(new ArrayList<>())
.setItem2(new ArrayList<>());
zwm3A17DTOS.add(zwm3A17DTO);
}
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
for (PDAScanCodeQO code : item.getScanCodes()) {
// 处理条码
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
.one();
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "");
qrCodeMaster.setLastScanTime(LocalDateTime.now());
qrCodeMaster.setLastScanBy(UserUtil.getUserId());
qrCodeMaster.setLastScanByname(UserUtil.getUserName());
qrCodeMaster.setProcessStage(BarCodeProcessStage.InBound.getState());
qrCodeMaster.setReceiptItemId(orderItemId);
qrCodes.add(qrCodeMaster);
if (qrCodeMaster.getPackagingType().equals(1)) {
continue;
}
// 库存
InventoryDTO inventoryDTO = inventories.stream()
.filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode())
&& inventoriesDTO.getBatchNo().equals(code.getBatchNumber())
&& inventoriesDTO.getSerialNo().equals(code.getSerialNumbers())
&& inventoriesDTO.getFactoryNo().equals(wmsPoReceipt.getFactoryCode())
&& inventoriesDTO.getWarehouseNo().equals(item.getReceivedWarehouse())
).findFirst().orElse(null);
if (Objects.isNull(inventoryDTO)) {
inventoryDTO = new InventoryDTO()
.setMaterialNo(item.getItemCode())
.setFactoryNo(wmsPoReceipt.getFactoryCode())
.setWarehouseNo(item.getReceivedWarehouse())
.setBatchNo(code.getBatchNumber())
.setSerialNo(code.getSerialNumbers())
.setNum(code.getCodeNum());
inventories.add(inventoryDTO);
} else {
inventoryDTO.setNum(inventoryDTO.getNum().add(code.getCodeNum()));
}
ZWM3A17Item1DTO ietm1Dto = item1.stream()
.filter(dto1 ->
dto1.getEBELP().equals(item.getPoLineNumber())
&& dto1.getMATNR().equals(item.getItemCode())
&& dto1.getMeins().equals(item.getUomCode())
&& dto1.getCHARG().equals(code.getBatchNumber())
&& dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode())
&& dto1.getLGORT().equals(item.getReceivedWarehouse())
).findFirst().orElse(null);
if (Objects.isNull(ietm1Dto)) {
item1.add(new ZWM3A17Item1DTO()
.setEBELP(item.getPoLineNumber())
.setMATNR(item.getItemCode())
.setERFMG(code.getCodeNum())
.setMEINS(item.getUomCode())
.setCHARG(code.getBatchNumber())
.setWERKS(wmsPoReceipt.getFactoryCode())
.setLGORT(item.getReceivedWarehouse())
.setKZKRI("")
);
} else {
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum()));
}
item2.add(new ZWM3A17Item2DTO()
.setEBELP(item.getPoLineNumber())
.setFLAG("")
.setSERNR(code.getSerialNumbers()));
}
//...................
} else {
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
for (PDAScanCodeQO code : item.getScanCodes()) {
@ -383,41 +292,8 @@ public class NormalPGIController extends BaseController {
}
}
}
}
// 盘点条码是否重复
// Map<String, Long> duplicateCodes = srmMaterialReceiptScanCodes.stream()
// .collect(Collectors.groupingBy(
// SrmMaterialReceiptScanCodes::getCodeId,
// Collectors.counting()
// ))
// .entrySet()
// .stream()
// .filter(entry -> entry.getValue() > 1)
// .collect(Collectors.toMap(
// Map.Entry::getKey,
// Map.Entry::getValue
// ));
//
// VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(duplicateCodes)).throwMessage("存在重复条码");
// qrCodeMasterService.saveBatch(
// srmMaterialReceiptScanCodes
// .stream()
// .map(it -> new WmsQrCodeMaster()
// .setBarcodeCode(KeyUtil.next())
// .setProcessStage(BarCodeProcessStage.Received.getState())
// .setBarcodeType(BarCodeType.Disassemble.getState())
// .setMaterialCode(it.getCodeId())
// .setMaterialDescription("")
// .setPackagingType((short) 0)
// .setQuantity(it.getCodeNum())
// .setReceiptItemId(it.getReceiveItemId())
// .setCreateUserId(UserUtil.getUserId())
// .setCreateUserName(UserUtil.getUserName())
// .setCreateTime(LocalDateTime.now())
// )
// .toList()
// );
normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
// normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
List<GoodReceiptDTO> dtos = new ArrayList<>();
GoodReceiptDTO dto = new GoodReceiptDTO()
.setWmsPoReceipt(wmsPoReceipt)
@ -426,8 +302,6 @@ public class NormalPGIController extends BaseController {
.setWmsQcReceiveItems(wmsQcReceiveItems)
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
.setOrderId(order.getId())
// .setInventories(inventories)
// .setZwm3A17DTOS(zwm3A17DTOS)
.setQrCodes(qrCodes)
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
dtos.add(dto);
@ -1740,21 +1614,6 @@ public class NormalPGIController extends BaseController {
}
normalPGIControllerService.takeDeliveryByPackage(dtos, packageId);
List<WmsPackageItem> wmsPackageItems = wmsPackageItemService.lambdaQuery()
.eq(WmsPackageItem::getPackageId, packageId)
.eq(WmsPackageItem::getPackageStatus, 0)
.list();
if (CollectionUtil.isNotEmpty(wmsPackageItems)) {
wmsPackageService.lambdaUpdate()
.set(WmsPackage::getPackageStatus, 3)
.eq(WmsPackage::getId, packageId)
.update();
} else {
wmsPackageService.lambdaUpdate()
.set(WmsPackage::getPackageStatus, 2)
.eq(WmsPackage::getId, packageId)
.update();
}
}

View File

@ -600,6 +600,23 @@ public class NormalPGIControllerService {
.set(WmsPackageItem::getPackageStatus, (short) 2)
.in(WmsPackageItem::getId, dto.getPackItemIds())
.update();
List<WmsPackageItem> wmsPackageItems = wmsPackageItemService.lambdaQuery()
.eq(WmsPackageItem::getPackageId, packageId)
.eq(WmsPackageItem::getPackageStatus, 0)
.list();
if (CollectionUtil.isNotEmpty(wmsPackageItems)) {
wmsPackageService.lambdaUpdate()
.set(WmsPackage::getPackageStatus, 3)
.eq(WmsPackage::getId, packageId)
.update();
} else {
wmsPackageService.lambdaUpdate()
.set(WmsPackage::getPackageStatus, 2)
.eq(WmsPackage::getId, packageId)
.update();
}
}
//编码管理