diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java index b1ca729e..f1172fe8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java @@ -448,6 +448,8 @@ public class ComponentOutboundController extends BaseController { @Transactional @PostMapping("pda/confirmNoScanning") public ApiResult confirmPdaNoScanning(@Valid @RequestBody NoScanningRequest request) { + request.getItems().removeIf(it -> CollectionUtil.isEmpty(it.getDatas())); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("无效数据"); WmsComponentPacking packing = wmscomponentPackingService.lambdaQuery() .eq(Objects.nonNull(request.getId()), WmsComponentPacking::getId, request.getId()) .eq(StrUtil.isNotBlank(request.getNo()), WmsComponentPacking::getNo, request.getNo()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index 31f43297..081c9b6e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -99,9 +99,6 @@ public class NormalPGIController extends BaseController { @Resource private IWmsPackageItemService wmsPackageItemService; - @Resource - private IWmsQrCodeMasterService wmsQrCodeMasterService; - @Resource private IWmsQrCodeMasterService qrCodeMasterService; @@ -641,6 +638,7 @@ public class NormalPGIController extends BaseController { * @return */ //收货确认 + @Transactional @PostMapping("PDA/takeDelivery") @ApiMark(moduleName = "送货单管理", apiName = "收货确认") public ApiResult takeDelivery(@Valid @RequestBody List request) { @@ -679,7 +677,7 @@ public class NormalPGIController extends BaseController { for (SrmMaterialReceiptQO item : request) { - if (item.getReceiptNum().equals(BigDecimal.ZERO)) + if (item.getReceiptNum().compareTo(BigDecimal.ZERO)==0) continue; // 处理二维码 List autoFindChildCodes = Lists.newArrayList(); @@ -726,7 +724,7 @@ public class NormalPGIController extends BaseController { setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId); for (PDAScanCodeQO code : item.getScanCodes()) { // 处理条码 - WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery() + WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId()) .one(); VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】"); @@ -745,7 +743,7 @@ public class NormalPGIController extends BaseController { setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId); for (PDAScanCodeQO code : item.getScanCodes()) { // 处理条码 - WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery() + WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId()) .one(); VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】"); @@ -1656,7 +1654,7 @@ public class NormalPGIController extends BaseController { if (CollectionUtil.isNotEmpty(scanCode)) { scanCode.forEach(code -> { - WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.getByCode(code.getCodeId()); + WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.getByCode(code.getCodeId()); VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("条码不存在:" + code.getCodeId()); // 库存 InventoryInDTO inventoryDTO = inventories.stream() @@ -2016,7 +2014,7 @@ public class NormalPGIController extends BaseController { .map(WmsPackageItemDetailDTO::getBarcodeId).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(parentIds)) { - List childMasters = wmsQrCodeMasterService.lambdaQuery() + List childMasters = qrCodeMasterService.lambdaQuery() .in(WmsQrCodeMaster::getParentBarcodeId, parentIds).list(); childMasters.forEach(child -> { WmsPackageItemDetailDTO dto = new WmsPackageItemDetailDTO(); @@ -2136,7 +2134,7 @@ public class NormalPGIController extends BaseController { setQcMaterialSyncDto(qcMaterialSyncDTOS, item, order, codes, materialInfoInOrder, wmsQcReceiveItems, wmsQcReceive.getId(), orderItemId); for (PDAScanCodeQO code : item.getScanCodes()) { // 处理条码 - WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery() + WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId()) .one(); VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】"); @@ -2155,7 +2153,7 @@ public class NormalPGIController extends BaseController { setPoReceive(item, wmsPoReceiptItems, wmsPoReceipt.getId(), materialInfoInOrder, orderItemId); for (PDAScanCodeQO code : item.getScanCodes()) { // 处理条码 - WmsQrCodeMaster qrCodeMaster = wmsQrCodeMasterService.lambdaQuery() + WmsQrCodeMaster qrCodeMaster = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getBarcodeCode, code.getCodeId()) .one(); VUtil.trueThrowBusinessError(Objects.isNull(qrCodeMaster)).throwMessage("无效码【" + code.getCodeId() + "】"); diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java index b6ce7f15..a79732e9 100644 --- a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/QmsController.java @@ -70,14 +70,11 @@ public class QmsController extends BaseController { @Transactional @PostMapping("/iqc/incoming") public ApiResult iqcIncoming(@RequestBody @NotNull WmsIncomingInspectionTaskCallbackQO qo) { - log.info("质检单解析完成, 单号: {}, 物料: {}, 结果: {}", qo.getDeliveryOrderNo(), qo.getMaterialNo(), qo.getInspectionResult()); - List inspects = srmQualityInspectionService.lambdaQuery() + log.info("IQC检测回调, 单号: {}, 物料: {}, 结果: {}", qo.getDeliveryOrderNo(), qo.getMaterialNo(), qo.getInspectionResult()); + VUtil.trueThrowBusinessError(srmQualityInspectionService.lambdaQuery() .eq(WmsSrmQualityInspection::getInspectionNum, qo.getTaskNo()) - .list(); - if (CollectionUtil.isNotEmpty(inspects)) { - log.warn("质检单已存在, 跳过处理: {}", qo.getTaskNo()); - VUtil.trueThrowBusinessError(true).throwMessage("质检单已存在"); - } + .exists() + ).throwMessage("质检单已存在"); // 找到入库的明细 WmsQcReceiveItem receiveItem = qcReceiveItemService.lambdaQuery() @@ -174,12 +171,10 @@ public class QmsController extends BaseController { Pair returnDto = sapService.zwm3a18(zwm3A18DTO); log.info("SAP质检入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey(), returnDto.getValue()); // 更新收货明细的物料凭证和入库数量 - qcReceiveItemService.lambdaUpdate() - .eq(WmsQcReceiveItem::getId, receiveItem.getId()) - .set(WmsQcReceiveItem::getInQty, qo.getQualifiedQty()) - .set(WmsQcReceiveItem::getMaterialDoc, returnDto.getKey()) - .set(WmsQcReceiveItem::getMaterialDocYear, returnDto.getValue()) - .update(); + receiveItem.setInQty(BigDecimal.valueOf(qo.getQualifiedQty())); + receiveItem.setMaterialDoc(returnDto.getKey()); + receiveItem.setMaterialDocYear(returnDto.getValue()); + qcReceiveItemService.updateById(receiveItem); // 检查并更新收货单完成状态 List allItems = qcReceiveItemService.lambdaQuery() @@ -210,34 +205,34 @@ public class QmsController extends BaseController { .eq(WmsQcReceive::getOrderNo, inspect.getNoteNum()) .set(WmsQcReceive::getIsCheck, isCheck) .update(); - qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum()); + qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), receiveItem.getMaterialDoc()); //更新二维码数量 if (CollectionUtil.isNotEmpty(qo.getQrCodes())) { List qrCodeMasters = qrCodeMasterService.getByCodes(qo.getQrCodes().stream().map(MaterialQrCodeDTO::getQrCode).toList()); qrCodeMasters.forEach(qrCodeMaster -> { MaterialQrCodeDTO dto = qo.getQrCodes().stream() - .filter(qrCodeDTO -> StrUtil.equals(qrCodeDTO.getQrCode(), qrCodeMaster.getMaterialCode())) + .filter(qrCodeDTO -> StrUtil.equals(qrCodeDTO.getQrCode(), qrCodeMaster.getBarcodeCode())) .findFirst() .get(); qrCodeMaster.setQuantity(qrCodeMaster.getQuantity().subtract(BigDecimal.valueOf(dto.getUnqualifiedQty()))); VUtil.trueThrowBusinessError(qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) < 0) .throwMessage(dto.getQrCode() + "数据异常"); - if (qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) == 0 || qrCodeMaster.getParentBarcodeId() > 0) { + if (qrCodeMaster.getQuantity().compareTo(BigDecimal.ZERO) == 0 && qrCodeMaster.getParentBarcodeId() > 0) { qrCodeMaster.setParentBarcodeId(0L); } }); + qrCodeMasterService.updateBarCode(qrCodeMasters); } - log.info("质检单处理完成: {}, 结果: {}", qo.getTaskNo(), inspect.getInspectionResult()); + log.info("IQC检测回调处理完成: {}, 结果: {}", qo.getTaskNo(), inspect.getInspectionResult()); return ApiResult.success(); } /** * PDI检测回调 */ - @Transactional @PostMapping("/pdi") public ApiResult pdi(@RequestBody @NotNull PdiInspectionTaskCallbackQO qo) { - log.info("质检单解析完成, 单号: {}, 是否合格: {}", qo.getOrderNo(), qo.isPass()); + log.info("PDI检测回调, 单号: {}, 是否合格: {}", qo.getOrderNo(), qo.isPass()); WmsInProduceOrder order = produceOrderService.getByNo(qo.getOrderNo()); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsInProduceOrderItem item = produceOrderItemService.lambdaQuery()