修改单个送货单收货的场景
This commit is contained in:
parent
820412f9fe
commit
2e4119cb4f
|
|
@ -213,8 +213,6 @@ public class NormalPGIController extends BaseController {
|
||||||
|
|
||||||
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
List<SrmMaterialReceiptScanCodes> srmMaterialReceiptScanCodes = new ArrayList<>();
|
||||||
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
|
List<QCMaterialSyncDTO> qcMaterialSyncDTOS = new ArrayList<>();
|
||||||
List<InventoryDTO> inventories = new ArrayList<>();
|
|
||||||
List<ZWM3A17DTO> zwm3A17DTOS = new ArrayList<>();
|
|
||||||
List<WmsQrCodeMaster> qrCodes = new ArrayList<>();
|
List<WmsQrCodeMaster> qrCodes = new ArrayList<>();
|
||||||
|
|
||||||
for (SrmMaterialReceiptQO item : request) {
|
for (SrmMaterialReceiptQO item : request) {
|
||||||
|
|
@ -244,8 +242,6 @@ public class NormalPGIController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SAPSyncParamsDTO materialInfoInOrder = sapSyncParamsDTOS.stream()
|
SAPSyncParamsDTO materialInfoInOrder = sapSyncParamsDTOS.stream()
|
||||||
.filter(sapSyncParamsDTO ->
|
.filter(sapSyncParamsDTO ->
|
||||||
sapSyncParamsDTO.getEbeln().equals(item.getPoNum())
|
sapSyncParamsDTO.getEbeln().equals(item.getPoNum())
|
||||||
|
|
@ -278,93 +274,6 @@ public class NormalPGIController extends BaseController {
|
||||||
qrCodeMaster.setReceiptItemId(orderItemId);
|
qrCodeMaster.setReceiptItemId(orderItemId);
|
||||||
qrCodes.add(qrCodeMaster);
|
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 {
|
} else {
|
||||||
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
|
|
@ -383,41 +292,8 @@ public class NormalPGIController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// 盘点条码是否重复
|
// normalPGIControllerService.takeDelivery(wmsPoReceipt, wmsQcReceive, wmsPoReceiptItems, wmsQcReceiveItems, srmMaterialReceiptScanCodes, qcMaterialSyncDTOS, order.getId());
|
||||||
// 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());
|
|
||||||
List<GoodReceiptDTO> dtos = new ArrayList<>();
|
List<GoodReceiptDTO> dtos = new ArrayList<>();
|
||||||
GoodReceiptDTO dto = new GoodReceiptDTO()
|
GoodReceiptDTO dto = new GoodReceiptDTO()
|
||||||
.setWmsPoReceipt(wmsPoReceipt)
|
.setWmsPoReceipt(wmsPoReceipt)
|
||||||
|
|
@ -426,8 +302,6 @@ public class NormalPGIController extends BaseController {
|
||||||
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
||||||
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
||||||
.setOrderId(order.getId())
|
.setOrderId(order.getId())
|
||||||
// .setInventories(inventories)
|
|
||||||
// .setZwm3A17DTOS(zwm3A17DTOS)
|
|
||||||
.setQrCodes(qrCodes)
|
.setQrCodes(qrCodes)
|
||||||
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
||||||
dtos.add(dto);
|
dtos.add(dto);
|
||||||
|
|
@ -1740,21 +1614,6 @@ public class NormalPGIController extends BaseController {
|
||||||
}
|
}
|
||||||
normalPGIControllerService.takeDeliveryByPackage(dtos, packageId);
|
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -600,6 +600,23 @@ public class NormalPGIControllerService {
|
||||||
.set(WmsPackageItem::getPackageStatus, (short) 2)
|
.set(WmsPackageItem::getPackageStatus, (short) 2)
|
||||||
.in(WmsPackageItem::getId, dto.getPackItemIds())
|
.in(WmsPackageItem::getId, dto.getPackItemIds())
|
||||||
.update();
|
.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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//编码管理
|
//编码管理
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue