修改单个送货单收货的场景
This commit is contained in:
parent
820412f9fe
commit
2e4119cb4f
|
|
@ -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())
|
||||
|
|
@ -279,145 +275,25 @@ public class NormalPGIController extends BaseController {
|
|||
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()) {
|
||||
// 处理条码
|
||||
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.setStorageLocation(materialInfoInOrder.getWarehouseNo());
|
||||
qrCodeMaster.setProcessStage(BarCodeProcessStage.Received.getState());
|
||||
qrCodeMaster.setReceiptItemId(orderItemId);
|
||||
qrCodes.add(qrCodeMaster);
|
||||
}
|
||||
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
||||
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.setStorageLocation(materialInfoInOrder.getWarehouseNo());
|
||||
qrCodeMaster.setProcessStage(BarCodeProcessStage.Received.getState());
|
||||
qrCodeMaster.setReceiptItemId(orderItemId);
|
||||
qrCodes.add(qrCodeMaster);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 盘点条码是否重复
|
||||
// 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
//编码管理
|
||||
|
|
|
|||
Loading…
Reference in New Issue