整包收货的bug
This commit is contained in:
parent
b024a8757b
commit
820412f9fe
|
|
@ -426,8 +426,8 @@ public class NormalPGIController extends BaseController {
|
||||||
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
||||||
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
||||||
.setOrderId(order.getId())
|
.setOrderId(order.getId())
|
||||||
.setInventories(inventories)
|
// .setInventories(inventories)
|
||||||
.setZwm3A17DTOS(zwm3A17DTOS)
|
// .setZwm3A17DTOS(zwm3A17DTOS)
|
||||||
.setQrCodes(qrCodes)
|
.setQrCodes(qrCodes)
|
||||||
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
||||||
dtos.add(dto);
|
dtos.add(dto);
|
||||||
|
|
@ -1537,7 +1537,6 @@ public class NormalPGIController extends BaseController {
|
||||||
VUtil.trueThrowBusinessError(ObjectUtil.isNull(pacageScanVO)).throwMessage("打包码不存在");
|
VUtil.trueThrowBusinessError(ObjectUtil.isNull(pacageScanVO)).throwMessage("打包码不存在");
|
||||||
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 0).throwMessage("此打包码尚未打包");
|
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 0).throwMessage("此打包码尚未打包");
|
||||||
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 2).throwMessage("此打包码已完成收货");
|
VUtil.trueThrowBusinessError(pacageScanVO.getPackageStatus() == 2).throwMessage("此打包码已完成收货");
|
||||||
|
|
||||||
List<PDAOrderItemVO> pdaOrderVO = normalPGIControllerService.getPackageContents(request.getPackageCode());
|
List<PDAOrderItemVO> pdaOrderVO = normalPGIControllerService.getPackageContents(request.getPackageCode());
|
||||||
return ApiResult.success(pdaOrderVO);
|
return ApiResult.success(pdaOrderVO);
|
||||||
}
|
}
|
||||||
|
|
@ -1565,13 +1564,14 @@ public class NormalPGIController extends BaseController {
|
||||||
.list();
|
.list();
|
||||||
if (CollectionUtil.isNotEmpty(warehouseList)) {
|
if (CollectionUtil.isNotEmpty(warehouseList)) {
|
||||||
List<String> warehouseNoList = warehouseList.stream().map(WmsWarehouse::getName).collect(Collectors.toList());
|
List<String> warehouseNoList = warehouseList.stream().map(WmsWarehouse::getName).collect(Collectors.toList());
|
||||||
VUtil.trueThrowBusinessError(true).throwMessage("仓库[" + warehouseNoList.stream().collect(Collectors.joining(";")) + "]");
|
VUtil.trueThrowBusinessError(true).throwMessage("仓库[" + warehouseNoList.stream().collect(Collectors.joining(";")) + "]不允许免扫码收货");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<WmsPackageItemDetailDTO> dtos = wmsPackageService.getPackageItemDetails(request.getPackageCode());
|
List<WmsPackageItemDetailDTO> dtos = wmsPackageService.getPackageItemDetails(request.getPackageCode());
|
||||||
|
List<Long> packItemId = dtos.stream().map(WmsPackageItemDetailDTO::getPackageItemId).distinct().collect(Collectors.toList());
|
||||||
//对中码进行一个操作
|
//对中码进行一个操作
|
||||||
List<Long> parentIds = dtos.stream().filter(dto -> dto.getPackagingType() == 0)
|
List<Long> parentIds = dtos.stream().filter(dto -> dto.getPackagingType() == 1)
|
||||||
.map(WmsPackageItemDetailDTO::getBarcodeId).collect(Collectors.toList());
|
.map(WmsPackageItemDetailDTO::getBarcodeId).collect(Collectors.toList());
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(parentIds)) {
|
if (CollectionUtil.isNotEmpty(parentIds)) {
|
||||||
|
|
@ -1628,16 +1628,17 @@ public class NormalPGIController extends BaseController {
|
||||||
}
|
}
|
||||||
qoItem.setScanCodes(scanCodes);
|
qoItem.setScanCodes(scanCodes);
|
||||||
receiptQOS.add(qoItem);
|
receiptQOS.add(qoItem);
|
||||||
|
qo.setReceiptQOS(receiptQOS);
|
||||||
}
|
}
|
||||||
qo.setReceiptQOS(receiptQOS);
|
receipts.add(qo);
|
||||||
}
|
}
|
||||||
//开始收货
|
//开始收货
|
||||||
GoodReceipt(receipts, pacageScanVO.getId());
|
GoodReceipt(receipts, pacageScanVO.getId(), packItemId);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void GoodReceipt(List<SrmReceiptQO> receipts, Long packageId) {
|
private void GoodReceipt(List<SrmReceiptQO> receipts, Long packageId, List<Long> packItemId) {
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(receipts)).throwMessage("收货参数为空");
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(receipts)).throwMessage("收货参数为空");
|
||||||
List<GoodReceiptDTO> dtos = new ArrayList<>();
|
List<GoodReceiptDTO> dtos = new ArrayList<>();
|
||||||
for (SrmReceiptQO request : receipts) {
|
for (SrmReceiptQO request : receipts) {
|
||||||
|
|
@ -1645,8 +1646,6 @@ public class NormalPGIController extends BaseController {
|
||||||
List<WmsQcReceiveItem> wmsQcReceiveItems = new ArrayList<>();
|
List<WmsQcReceiveItem> wmsQcReceiveItems = new ArrayList<>();
|
||||||
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<>();
|
||||||
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getDeliveryNo()).one();
|
WmsSrmOrder order = wmsSrmOrderService.lambdaQuery().eq(WmsSrmOrder::getNoteNum, request.getDeliveryNo()).one();
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在");
|
||||||
|
|
@ -1670,6 +1669,7 @@ public class NormalPGIController extends BaseController {
|
||||||
.setIsCheck((short) 0)
|
.setIsCheck((short) 0)
|
||||||
.setSourceType(0)
|
.setSourceType(0)
|
||||||
.setCreateUserId(UserUtil.getUserId());
|
.setCreateUserId(UserUtil.getUserId());
|
||||||
|
//TODO
|
||||||
for (SrmMaterialReceiptQO item : request.getReceiptQOS()) {
|
for (SrmMaterialReceiptQO item : request.getReceiptQOS()) {
|
||||||
if (item.getReceiptNum().equals(BigDecimal.ZERO)) {
|
if (item.getReceiptNum().equals(BigDecimal.ZERO)) {
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -1705,108 +1705,22 @@ public class NormalPGIController extends BaseController {
|
||||||
qrCodes.add(qrCodeMaster);
|
qrCodes.add(qrCodeMaster);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
WmsWarehouse warehouse = wmsWarehouseService.lambdaQuery().eq(WmsWarehouse::getNo, item.getReceivedWarehouse()).one();
|
setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
||||||
if (!warehouse.getIsDisableLocation()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
//设置收货明细项
|
// 处理条码
|
||||||
setPoReceiveByIn(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId);
|
WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery()
|
||||||
//设置SAP过账接口
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
ZWM3A17DTO zwm3A17DTO = zwm3A17DTOS.stream()
|
.one();
|
||||||
.filter(zwm3A17DTO1 -> zwm3A17DTO1.getEbeln().equals(item.getPoNum()))
|
VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
.findFirst()
|
qrCodeMaster.setLastScanTime(LocalDateTime.now());
|
||||||
.orElse(null);
|
qrCodeMaster.setLastScanBy(UserUtil.getUserId());
|
||||||
if (Objects.isNull(zwm3A17DTO)) {
|
qrCodeMaster.setLastScanByname(UserUtil.getUserName());
|
||||||
zwm3A17DTO = new ZWM3A17DTO()
|
qrCodeMaster.setStorageLocation(materialInfoInOrder.getWarehouseNo());
|
||||||
.setEbeln(item.getPoNum())
|
qrCodeMaster.setProcessStage(BarCodeProcessStage.Received.getState());
|
||||||
.setUsnam(UserUtil.getUserName())
|
qrCodeMaster.setReceiptItemId(orderItemId);
|
||||||
.setReceiveId(orderItemId)
|
qrCodes.add(qrCodeMaster);
|
||||||
.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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
//=========
|
//=========
|
||||||
}
|
}
|
||||||
|
|
@ -1817,13 +1731,31 @@ public class NormalPGIController extends BaseController {
|
||||||
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
.setWmsQcReceiveItems(wmsQcReceiveItems)
|
||||||
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
.setSrmMaterialReceiptScanCodes(srmMaterialReceiptScanCodes)
|
||||||
.setOrderId(order.getId())
|
.setOrderId(order.getId())
|
||||||
.setInventories(inventories)
|
// .setInventories(inventories)
|
||||||
.setZwm3A17DTOS(zwm3A17DTOS)
|
// .setZwm3A17DTOS(zwm3A17DTOS)
|
||||||
|
.setPackItemIds(packItemId)
|
||||||
.setQrCodes(qrCodes)
|
.setQrCodes(qrCodes)
|
||||||
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
.setQcMaterialSyncDTOS(qcMaterialSyncDTOS);
|
||||||
dtos.add(dto);
|
dtos.add(dto);
|
||||||
}
|
}
|
||||||
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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1843,6 +1775,7 @@ public class NormalPGIController extends BaseController {
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("没有收货的物料信息");
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("没有收货的物料信息");
|
||||||
List<SrmReceiptQO> receipts = new ArrayList<>();
|
List<SrmReceiptQO> receipts = new ArrayList<>();
|
||||||
List<String> orderNos = request.getItems().stream().map(it -> it.getNoteNum()).distinct().toList();
|
List<String> orderNos = request.getItems().stream().map(it -> it.getNoteNum()).distinct().toList();
|
||||||
|
List<Long> packItemId = new ArrayList<>();
|
||||||
for (String orderNo : orderNos) {
|
for (String orderNo : orderNos) {
|
||||||
SrmReceiptQO receipt = new SrmReceiptQO();
|
SrmReceiptQO receipt = new SrmReceiptQO();
|
||||||
receipt.setDeliveryNo(orderNo);
|
receipt.setDeliveryNo(orderNo);
|
||||||
|
|
@ -1852,6 +1785,14 @@ public class NormalPGIController extends BaseController {
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes())).throwMessage("[" + item.getItemCode() + "]没有码信息");
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(item.getScanCodes())).throwMessage("[" + item.getItemCode() + "]没有码信息");
|
||||||
//对项目进行处理
|
//对项目进行处理
|
||||||
for (PDAScanCodeQO code : item.getScanCodes()) {
|
for (PDAScanCodeQO code : item.getScanCodes()) {
|
||||||
|
WmsPackageItem packItem = wmsPackageItemService.lambdaQuery()
|
||||||
|
.eq(WmsPackageItem::getPackageId, pacageScanVO.getId())
|
||||||
|
.eq(WmsPackageItem::getBarcodeCode, code.getCodeId())
|
||||||
|
.one();
|
||||||
|
VUtil.trueThrowBusinessError(Objects.isNull(packItem)).throwMessage("无效码【" + code.getCodeId() + "】");
|
||||||
|
VUtil.trueThrowBusinessError(packItem.getPackageStatus() == 2).throwMessage("此码【" + code.getCodeId() + "】已完成收货");
|
||||||
|
packItemId.add(packItem.getId());
|
||||||
|
|
||||||
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery()
|
||||||
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
.eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId())
|
||||||
.one();
|
.one();
|
||||||
|
|
@ -1877,7 +1818,7 @@ public class NormalPGIController extends BaseController {
|
||||||
receipt.setReceiptQOS(items);
|
receipt.setReceiptQOS(items);
|
||||||
receipts.add(receipt);
|
receipts.add(receipt);
|
||||||
}
|
}
|
||||||
GoodReceipt(receipts, pacageScanVO.getId());
|
GoodReceipt(receipts, pacageScanVO.getId(), packItemId);
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,17 +47,22 @@ public class GoodReceiptDTO {
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 库存数据
|
* 包装项ID
|
||||||
*/
|
*/
|
||||||
private List<InventoryDTO> inventories;
|
private List<Long> packItemIds;
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
*同步库存到SAP的数据
|
// * 库存数据
|
||||||
*/
|
// */
|
||||||
private List<ZWM3A17DTO> zwm3A17DTOS;
|
// private List<InventoryDTO> inventories;
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// *同步库存到SAP的数据
|
||||||
|
// */
|
||||||
|
// private List<ZWM3A17DTO> zwm3A17DTOS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 条码数据
|
* 条码数据
|
||||||
*/
|
*/
|
||||||
private List<WmsQrCodeMaster> qrCodes;
|
private List<WmsQrCodeMaster> qrCodes;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -552,13 +552,13 @@ public class NormalPGIControllerService {
|
||||||
|
|
||||||
public List<PDAOrderItemVO> getPackageContents(@NotNull @NotBlank String packageCode) {
|
public List<PDAOrderItemVO> getPackageContents(@NotNull @NotBlank String packageCode) {
|
||||||
List<PackagePOItemDTO> packagePOItems = wmsPackageService.getPackagePOItems(packageCode);
|
List<PackagePOItemDTO> packagePOItems = wmsPackageService.getPackagePOItems(packageCode);
|
||||||
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(packagePOItems)).throwMessage("此大包中的物料已完成收货");
|
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(packagePOItems)).throwMessage("此大包中的物料已完成收货");
|
||||||
|
|
||||||
List<PDAOrderItemVO> orderItemVOList = new ArrayList<>();
|
List<PDAOrderItemVO> orderItemVOList = new ArrayList<>();
|
||||||
// 遍历订单行项目,填充详细信息并从 SAP 获取补充数据
|
// 遍历订单行项目,填充详细信息并从 SAP 获取补充数据
|
||||||
for (PackagePOItemDTO item : packagePOItems) {
|
for (PackagePOItemDTO item : packagePOItems) {
|
||||||
PDAOrderItemVO itemVO = new PDAOrderItemVO();
|
PDAOrderItemVO itemVO = new PDAOrderItemVO();
|
||||||
itemVO.setId(item.getSrmOrderId());
|
itemVO.setId(item.getSrmOrderItemId());
|
||||||
itemVO.setPoLineNumber(item.getPoLineNumber());
|
itemVO.setPoLineNumber(item.getPoLineNumber());
|
||||||
itemVO.setPoNum(item.getPoNumber());
|
itemVO.setPoNum(item.getPoNumber());
|
||||||
itemVO.setItemCode(item.getMaterialCode());
|
itemVO.setItemCode(item.getMaterialCode());
|
||||||
|
|
@ -595,33 +595,16 @@ public class NormalPGIControllerService {
|
||||||
takeDelivery(dto.getWmsPoReceipt(), dto.getWmsQcReceive(), dto.getWmsPoReceiptItems(), dto.getWmsQcReceiveItems()
|
takeDelivery(dto.getWmsPoReceipt(), dto.getWmsQcReceive(), dto.getWmsPoReceiptItems(), dto.getWmsQcReceiveItems()
|
||||||
, dto.getSrmMaterialReceiptScanCodes(), dto.getQcMaterialSyncDTOS(), dto.getOrderId()
|
, dto.getSrmMaterialReceiptScanCodes(), dto.getQcMaterialSyncDTOS(), dto.getOrderId()
|
||||||
);
|
);
|
||||||
//入库
|
if (CollectionUtil.isNotEmpty(dto.getPackItemIds())) {
|
||||||
if (CollectionUtil.isNotEmpty(dto.getInventories())) {
|
wmsPackageItemService.lambdaUpdate()
|
||||||
inventoryService.in(dto.getInventories());
|
.set(WmsPackageItem::getPackageStatus, (short) 2)
|
||||||
}
|
.in(WmsPackageItem::getId, dto.getPackItemIds())
|
||||||
//过账SAP
|
.update();
|
||||||
if (CollectionUtil.isNotEmpty(dto.getZwm3A17DTOS())) {
|
|
||||||
for (ZWM3A17DTO zwm3A17DTO : dto.getZwm3A17DTOS()) {
|
|
||||||
Pair<Pair<String, String>, Pair<String, String>> returnDto = sapService.zwm3a17(zwm3A17DTO);
|
|
||||||
wmsPoReceiptItemService.lambdaUpdate()
|
|
||||||
.eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln())
|
|
||||||
.eq(WmsPoReceiptItem::getReceiveId, zwm3A17DTO.getReceiveId())
|
|
||||||
.set(WmsPoReceiptItem::getMaterialDoc, returnDto.getKey().getKey())
|
|
||||||
.set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue())
|
|
||||||
.update();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//编码管理
|
//编码管理
|
||||||
if (CollectionUtil.isNotEmpty(dto.getQrCodes())) {
|
if (CollectionUtil.isNotEmpty(dto.getQrCodes())) {
|
||||||
qrCodeMasterService.updateBarCode(dto.getQrCodes());
|
qrCodeMasterService.updateBarCode(dto.getQrCodes());
|
||||||
// 修改包装项的收货状态
|
|
||||||
if (Objects.nonNull(packageId) && packageId > 0) {
|
|
||||||
List<String> codeIds = dto.getQrCodes().stream().map(WmsQrCodeMaster::getBarcodeCode).toList();
|
|
||||||
wmsPackageItemService.lambdaUpdate()
|
|
||||||
.eq(WmsPackageItem::getPackageId, packageId)
|
|
||||||
.in(WmsPackageItem::getBarcodeCode, codeIds)
|
|
||||||
.set(WmsPackageItem::getPackageStatus, (short) 2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ public class SAPCommonService {
|
||||||
syncParams.setWerks(materialInfoInOrder.getWerks());
|
syncParams.setWerks(materialInfoInOrder.getWerks());
|
||||||
syncParams.setLbprt(materialInfoInOrder.getLbprt());
|
syncParams.setLbprt(materialInfoInOrder.getLbprt());
|
||||||
syncParams.setKzkri(materialInfoInOrder.getKzkri());
|
syncParams.setKzkri(materialInfoInOrder.getKzkri());
|
||||||
|
syncParams.setWarehouseNo(materialInfoInOrder.getWarehouseNo());
|
||||||
|
|
||||||
//获取仓库信息
|
//获取仓库信息
|
||||||
// List<String> warehouseNos = new ArrayList<>();
|
// List<String> warehouseNos = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ public class PackagePOItemDTO {
|
||||||
/**
|
/**
|
||||||
* 送货单项ID
|
* 送货单项ID
|
||||||
*/
|
*/
|
||||||
private Long srmOrderId;
|
private Long srmOrderItemId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商编号
|
* 供应商编号
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,9 @@ public class WmsWarehouseServiceImpl extends ServiceImpl<WmsWarehouseMapper, Wms
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void add(WmsWarehouse wmsWarehouse) {
|
public void add(WmsWarehouse wmsWarehouse) {
|
||||||
VUtil.trueThrowBusinessError(lambdaQuery().eq(WmsWarehouse::getNo, wmsWarehouse.getNo()).exists())
|
VUtil.trueThrowBusinessError(lambdaQuery().eq(WmsWarehouse::getNo, wmsWarehouse.getNo())
|
||||||
|
.eq(WmsWarehouse::getFactoryId, wmsWarehouse.getFactoryId())
|
||||||
|
.exists())
|
||||||
.throwMessage("仓库编码已存在");
|
.throwMessage("仓库编码已存在");
|
||||||
save(wmsWarehouse);
|
save(wmsWarehouse);
|
||||||
auditLogService.addInsert(WmsWarehouse.class, wmsWarehouse, wmsWarehouse.getCreateBy());
|
auditLogService.addInsert(WmsWarehouse.class, wmsWarehouse, wmsWarehouse.getCreateBy());
|
||||||
|
|
@ -52,7 +54,9 @@ public class WmsWarehouseServiceImpl extends ServiceImpl<WmsWarehouseMapper, Wms
|
||||||
@Transactional
|
@Transactional
|
||||||
@Override
|
@Override
|
||||||
public void update(WmsWarehouse wmsWarehouse) {
|
public void update(WmsWarehouse wmsWarehouse) {
|
||||||
VUtil.trueThrowBusinessError(lambdaQuery().eq(WmsWarehouse::getNo, wmsWarehouse.getNo()).ne(WmsWarehouse::getId, wmsWarehouse.getId()).exists())
|
VUtil.trueThrowBusinessError(lambdaQuery().eq(WmsWarehouse::getNo, wmsWarehouse.getNo())
|
||||||
|
.eq(WmsWarehouse::getFactoryId, wmsWarehouse.getFactoryId())
|
||||||
|
.ne(WmsWarehouse::getId, wmsWarehouse.getId()).exists())
|
||||||
.throwMessage("仓库编码已存在");
|
.throwMessage("仓库编码已存在");
|
||||||
WmsWarehouse old = getById(wmsWarehouse.getId());
|
WmsWarehouse old = getById(wmsWarehouse.getId());
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("仓库不存在");
|
VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("仓库不存在");
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@
|
||||||
left join wms_qr_code_master c on b.barcode_code = c.barcode_code
|
left join wms_qr_code_master c on b.barcode_code = c.barcode_code
|
||||||
left join wms_qr_code_master d on c.id = d.parent_barcode_id and d.process_stage = 1
|
left join wms_qr_code_master d on c.id = d.parent_barcode_id and d.process_stage = 1
|
||||||
left join wms_srm_order_item e on b.srm_order_item_id = e.id
|
left join wms_srm_order_item e on b.srm_order_item_id = e.id
|
||||||
left join user_supplier f on a.supplier_id = f."id"
|
left join user_supplier f on a.supplier_id = f.user_id
|
||||||
where a.package_code = #{packageCode} and b.package_status = 0
|
where a.package_code = #{packageCode} and b.package_status = 0
|
||||||
group by c.material_code,
|
group by c.material_code,
|
||||||
c.material_description,
|
c.material_description,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue