From be01aaa9902836ec6d763bf3e59b3476cc8f45c9 Mon Sep 17 00:00:00 2001 From: yiwenpeng <ywp303@163.com> Date: Tue, 5 Nov 2024 19:04:42 +0800 Subject: [PATCH] 1、入库单和出库单的明细,如果创建人是MOM就不能新增。 2、完善入库回传接口。 --- src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java | 3 +++ src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java | 3 +++ src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java | 66 +++++++++++++++++++++++++++++++++++++++++++----------------------- src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html | 22 ++++++++++++---------- src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html | 21 +++++++++++---------- 5 files changed, 72 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java index 4c84f78..b0848f4 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java @@ -270,6 +270,9 @@ public class ReceiptDetailController extends BaseController { @PostMapping("/add") @ResponseBody public AjaxResult addSave(ReceiptDetail receiptDetail) { + if (receiptDetail.getCreatedBy().equals("MOM")) { + AjaxResult.error("MOM下发的单据不能新增"); + } return receiptDetailService.saveReceiptDetaial(receiptDetail); } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java index acbd3ad..630d698 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java @@ -149,6 +149,9 @@ public class ShipmentDetailController extends BaseController { @PostMapping("/add") @ResponseBody public AjaxResult addSave(ShipmentDetail shipmentDetail) { + if (shipmentDetail.getCreatedBy().equals("MOM")) { + AjaxResult.error("MOM下发的单据不能新增"); + } return shipmentDetailService.insertDetail(shipmentDetail); } diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java index 784008b..0af139f 100644 --- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java +++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java @@ -680,46 +680,66 @@ public class ReceiptTaskService { taskHeaderService.updateById(taskHeader); return AjaxResult.success("回传成功"); } + + boolean allSuccessful = true; + BigDecimal pushQty = BigDecimal.ZERO; + ReceiptHeader receiptHeader = null; // 在循环外部初始化 + for (TaskDetail taskDetail : taskDetailList) { - /*查询入库单明细*/ + // 查询入库单明细 ReceiptDetail receiptDetail = receiptDetailService.getById(taskDetail.getBillDetailId()); if ("MOM".equals(receiptDetail.getCreatedBy())) { receiptDetail.setTaskQty(taskDetail.getQty()); - ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); + receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId()); // 更新receiptHeader + + // 特殊条件处理 if ("199".equals(receiptHeader.getReceiptType()) && !"MOM".equals(receiptHeader.getCreatedBy())) { - taskHeader.setBackMoM(1);//1回传成功 + taskHeader.setBackMoM(1); // 1回传成功 taskHeaderService.updateById(taskHeader); continue; } + + // 调用接口进行回传 ReturnInfo returnInfo = mesReceiptController.postE_Rd_In(receiptDetail); receiptHeader.setPushErrorCount(receiptHeader.getPushErrorCount() + 1); + if (returnInfo == null) { - receiptHeader.setErrorMsg("入库回传错误:接口地址错误,或接口超时,或MOM报错,请用入库单号到接口日志查询具体错误!"); - receiptHeader.setPushSuccessStatus(2);//单据回传失败 - taskHeader.setBackMoM(3);//3回传失败 + receiptHeader.setErrorMsg("入库回传错误:接口地址错误,可能是接口超时,或MOM报错,请用入库单号到接口日志查询具体错误!"); + receiptHeader.setPushSuccessStatus(2); // 回传失败 + taskHeader.setBackMoM(3); // 3回传失败 taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); + allSuccessful = false; + } else if (returnInfo.noError()) { + // 累加已回传数量 + pushQty = pushQty.add(taskDetail.getQty()); + receiptHeader.setPushQty(pushQty); + receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN); + receiptHeader.setPushSuccessStatus(3); // 部分回传 } else { - if (returnInfo.noError()) { - BigDecimal pushQty = receiptHeader.getPushQty().add(taskDetail.getQty()); - receiptHeader.setPushQty(pushQty); - receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN); - receiptHeader.setPushSuccessStatus(3);//3回传了部分 - if (receiptHeader.getPushQty().compareTo(receiptHeader.getTotalQty()) == 0) { - receiptHeader.setPushSuccessStatus(1);//1成功 - receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN); - } - taskHeader.setBackMoM(1);//1回传成功 - } else { - taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); - taskHeader.setBackMoM(3);//3回传失败 - receiptHeader.setErrorMsg(returnInfo.getMsg()); - receiptHeader.setPushSuccessStatus(2);//2失败 - } + taskHeader.setPushErrorCount(taskHeader.getPushErrorCount() + 1); + taskHeader.setBackMoM(3); // 3回传失败 + receiptHeader.setErrorMsg(returnInfo.getMsg()); + receiptHeader.setPushSuccessStatus(2); // 失败 + allSuccessful = false; } + receiptHeaderService.updateById(receiptHeader); } - taskHeaderService.updateById(taskHeader); } + + // 确保在所有TaskDetail处理完后更新最终状态 + if (receiptHeader != null && pushQty.compareTo(receiptHeader.getTotalQty()) == 0) { + receiptHeader.setPushSuccessStatus(1); // 1成功 + receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN); + taskHeader.setBackMoM(1); // 1回传成功 + } else if (!allSuccessful) { + taskHeader.setBackMoM(3); // 3回传失败 + } + + taskHeaderService.updateById(taskHeader); + return AjaxResult.success("回传成功"); } + + } diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html index 18a9b95..1bafcb7 100644 --- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html +++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html @@ -546,13 +546,10 @@ return ''; // 若无值则返回空字符串 } }, + { - field: 'transferWarehouseName', - title: '调入仓库名称', - }, - { - field: 'shipmentNote', - title: '备注', + field: 'superiorName', + title: '母件名称', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -563,8 +560,8 @@ } }, { - field: 'superiorName', - title: '母件名称', + field: 'superiorCode', + title: '母件编码', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -575,8 +572,12 @@ } }, { - field: 'superiorCode', - title: '母件编码', + field: 'transferWarehouseName', + title: '调入仓库名称', + }, + { + field: 'shipmentNote', + title: '备注', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -587,6 +588,7 @@ } }, + { field: 'warehouseCode', title: '仓库', diff --git a/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html b/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html index 2e4dd69..5e6d471 100644 --- a/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html +++ b/src/main/resources/templates/shipment/shipmentHeaderHistory/shipmentHeaderHistory.html @@ -477,12 +477,8 @@ } }, { - field: 'transferWarehouseName', - title: '调入仓库名称', - }, - { - field: 'shipmentNote', - title: '备注', + field: 'superiorName', + title: '母件名称', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -493,8 +489,8 @@ } }, { - field: 'superiorName', - title: '母件名称', + field: 'superiorCode', + title: '母件编码', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -505,8 +501,12 @@ } }, { - field: 'superiorCode', - title: '母件编码', + field: 'transferWarehouseName', + title: '调入仓库名称', + }, + { + field: 'shipmentNote', + title: '备注', formatter: function (value, row, index) { var actions = []; if (value == undefined || value == '') @@ -517,6 +517,7 @@ } }, + { field: 'warehouseCode', title: '仓库', -- libgit2 0.22.2