From 8d900c2c2dfd20f6e09cedd98e86407a1d1b7a39 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 9 Oct 2026 14:47:39 +0800 Subject: [PATCH] =?UTF-8?q?2026-10-09=20IQC=E5=AE=A1=E6=A0=B8=E6=97=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B0=83=E7=94=A8=E5=AD=98=E5=82=A8=E8=BF=87?= =?UTF-8?q?=E7=A8=8Bnew=5FERPPOInspect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/service/Impl/QcServiceImpl.java | 56 ++++++++++++++++++- .../report/dao/impl/ProcedureDaoImpl.java | 6 ++ src/main/resources/mapper/pms/QcMapper.xml | 3 + 3 files changed, 63 insertions(+), 2 deletions(-) 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 80aefcd..3d205a6 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 @@ -4820,9 +4820,61 @@ public class QcServiceImpl implements QcService { if (triggerMachineInspect && shouldGenerateMachineInspectTask(recordData)) { generateIQCMachineInspectTask(recordData); - } else if (StringUtils.isNotBlank(recordData.getRefInfo1()) && StringUtils.isNotBlank(recordData.getRefInfo2())) { - inspectService.inspectForQMS(recordData.getSite(), recordData.getRefInfo1(), Integer.parseInt(recordData.getRefInfo2()), "submit", getQmsInspectResult(recordData), recordData.getInspectionRemark(), currentUser.getUsername()); + } else { + if (StringUtils.isNotBlank(recordData.getRefInfo1()) && StringUtils.isNotBlank(recordData.getRefInfo2())) { + inspectService.inspectForQMS(recordData.getSite(), recordData.getRefInfo1(), Integer.parseInt(recordData.getRefInfo2()), "submit", getQmsInspectResult(recordData), recordData.getInspectionRemark(), currentUser.getUsername()); + } + callNewERPPOInspect(recordData, currentUser); + } + } + } + + /** + * IQC审核最后调用ERP采购检验存储过程 new_ERPPOInspect + */ + private void callNewERPPOInspect(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()); + java.util.Date inspectDate = recordData.getInspectorDate() != null + ? recordData.getInspectorDate() : new java.util.Date(); + 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.getInspectionResult() == null ? "" : recordData.getInspectionResult()); + params.add(recordData.getReceiptNo()); + params.add(receiptItemNo); + params.add(new java.sql.Timestamp(inspectDate.getTime())); + params.add(recordData.getRollQty() == null ? BigDecimal.ZERO : recordData.getRollQty()); + params.add(recordData.getPassQty() == null ? BigDecimal.ZERO : recordData.getPassQty()); + params.add(recordData.getNotPassQty() == null ? BigDecimal.ZERO : recordData.getNotPassQty()); + params.add(recordData.getRollCount() == null ? BigDecimal.ZERO : recordData.getRollCount()); + params.add(recordData.getDisposalMeasures() == null ? "" : recordData.getDisposalMeasures()); + params.add(username); + params.add(username); + List> resultList = procedureDao.getProcedureData("new_ERPPOInspect", params); + if (resultList == null || resultList.isEmpty()) { + throw new XJException("ERP采购检验同步失败,未返回结果"); + } + String code = String.valueOf(resultList.get(0).get("resultCode")); + if (!"200".equalsIgnoreCase(code)) { + String msg = String.valueOf(resultList.get(0).get("resultMsg")); + int errorCode = 500; + try { + errorCode = Integer.parseInt(code); + } catch (NumberFormatException ignored) { } + throw new XJException(msg, errorCode); } } diff --git a/src/main/java/com/heai/modules/report/dao/impl/ProcedureDaoImpl.java b/src/main/java/com/heai/modules/report/dao/impl/ProcedureDaoImpl.java index 5b7b579..48d7110 100644 --- a/src/main/java/com/heai/modules/report/dao/impl/ProcedureDaoImpl.java +++ b/src/main/java/com/heai/modules/report/dao/impl/ProcedureDaoImpl.java @@ -59,8 +59,14 @@ public class ProcedureDaoImpl implements ProcedureDao { cs.setDouble(i, Double.parseDouble(String.valueOf(tempParam))); }else if(tempParam instanceof BigDecimal) { cs.setBigDecimal(i, (BigDecimal) tempParam); + }else if(tempParam instanceof Timestamp) { + cs.setTimestamp(i, (Timestamp) tempParam); }else if(tempParam instanceof Date) { cs.setDate(i, (Date) tempParam, Calendar.getInstance()); + }else if(tempParam instanceof java.util.Date) { + cs.setTimestamp(i, new Timestamp(((java.util.Date) tempParam).getTime())); + }else if(tempParam == null) { + cs.setObject(i, null); } } return cs; diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index dac2dc9..9921231 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -4563,6 +4563,9 @@ expiration_date, ref_info1, ref_info2, + receipt_no, + receipt_item_no, + inspector_date, submission_type, supplier_no, inspection_type_no,