From aa52f90c5a754e70d9de58a0b3b63a547be69b76 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Thu, 22 Oct 2026 13:53:54 +0800 Subject: [PATCH] =?UTF-8?q?2026-10-22=20iqc=E5=8F=96=E6=B6=88=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/service/Impl/QcServiceImpl.java | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/heai/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/heai/modules/pms/service/Impl/QcServiceImpl.java index 1b091b3..5341748 100644 --- a/src/main/java/com/heai/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/heai/modules/pms/service/Impl/QcServiceImpl.java @@ -5231,8 +5231,39 @@ public class QcServiceImpl implements QcService { params.add(username); params.add(username); List> resultList = procedureDao.getProcedureData("new_ERPPOInspect", params); + assertErpProcedureSuccess(resultList, "ERP采购检验同步失败,未返回结果"); + } + + /** + * IQC取消审核最后调用ERP采购检验冲销存储过程 Reverse_ERPPOInspect + */ + private void callReverseERPPOInspect(QcFAIRecordData recordData, SysUserEntity currentUser) { + if (StringUtils.isBlank(recordData.getReceiptNo()) || StringUtils.isBlank(recordData.getReceiptItemNo())) { + return; + } + int receiptItemNo; + try { + receiptItemNo = Integer.parseInt(recordData.getReceiptItemNo().trim()); + } catch (NumberFormatException e) { + throw new XJException("ERP接收单序号无效:" + recordData.getReceiptItemNo()); + } + String username = currentUser != null && StringUtils.isNotBlank(currentUser.getUsername()) + ? currentUser.getUsername() + : (recordData.getUpdateBy() == null ? "" : recordData.getUpdateBy()); + List params = new ArrayList<>(); + params.add(recordData.getSite() == null ? "" : recordData.getSite()); + params.add(recordData.getInspectionNo() == null ? "" : recordData.getInspectionNo()); + params.add(recordData.getBuNo() == null ? "" : recordData.getBuNo()); + params.add(recordData.getReceiptNo()); + params.add(receiptItemNo); + params.add(username); + List> resultList = procedureDao.getProcedureData("Reverse_ERPPOInspect", params); + assertErpProcedureSuccess(resultList, "ERP采购检验撤销失败,未返回结果"); + } + + private void assertErpProcedureSuccess(List> resultList, String emptyMessage) { if (resultList == null || resultList.isEmpty()) { - throw new XJException("ERP采购检验同步失败,未返回结果"); + throw new XJException(emptyMessage); } String code = String.valueOf(resultList.get(0).get("resultCode")); if (!"200".equalsIgnoreCase(code)) { @@ -5400,6 +5431,7 @@ public class QcServiceImpl implements QcService { if (StringUtils.isNotBlank(qcData.getRefInfo1()) && StringUtils.isNotBlank(qcData.getRefInfo2())){ inspectService.inspectForQMS(qcData.getSite(), qcData.getRefInfo1(), Integer.parseInt(qcData.getRefInfo2()), "cancel", qcData.getInspectionResult(), qcData.getInspectionRemark(), currentUser.getUsername()); } + callReverseERPPOInspect(qcData, currentUser); } }