From d1431ad3795b6a00c5795397668accf68b86c488 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 5 Nov 2025 08:49:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A8=E9=80=81=E7=AE=B1=E5=8F=98qms?= =?UTF-8?q?=E8=B4=A8=E6=A3=80=E6=8A=A5=E5=91=8A=E4=BC=98=E5=8C=96=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/pu/arrival/action/QCAction.java | 15 ++++++++---- .../action/QCRptDataPushtoQmsAction.java | 13 +++++++---- .../pu/arrival/action/QualityCheckAction.java | 16 +++++++------ .../arrivalqc/action/QualityCheckAction.java | 23 +++++++++++-------- .../maintain/rule/SyncDeleteQcQmsRule.java | 8 +++++++ .../qc/c003/maintain/rule/SyncQcQmsRule.java | 10 +++++++- 6 files changed, 58 insertions(+), 27 deletions(-) diff --git a/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java b/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java index ae50531b..6619b621 100644 --- a/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java +++ b/pu/src/client/nccloud/web/pu/arrival/action/QCAction.java @@ -5,10 +5,7 @@ package nccloud.web.pu.arrival.action; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -263,7 +260,6 @@ public class QCAction implements ICommonAction { private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { String cghth = ""; String pkPupsndoc = hvo.getPk_pupsndoc(); - // 查询采购员名称 String name = ""; if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, @@ -271,11 +267,19 @@ public class QCAction implements ICommonAction { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } @@ -289,6 +293,7 @@ public class QCAction implements ICommonAction { return cghth; } + /** * 推送同步数据 */ diff --git a/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java b/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java index d0f77696..620a0c29 100644 --- a/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java +++ b/pu/src/client/nccloud/web/pu/arrival/action/QCRptDataPushtoQmsAction.java @@ -39,9 +39,7 @@ import nccloud.framework.web.action.itf.ICommonAction; import nccloud.framework.web.container.IRequest; import nccloud.framework.web.json.JsonFactory; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; public class QCRptDataPushtoQmsAction implements ICommonAction { @@ -205,7 +203,6 @@ public class QCRptDataPushtoQmsAction implements ICommonAction { private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { String cghth = ""; String pkPupsndoc = hvo.getPk_pupsndoc(); - // 查询采购员名称 String name = ""; if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, @@ -213,11 +210,19 @@ public class QCRptDataPushtoQmsAction implements ICommonAction { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } diff --git a/pu/src/client/nccloud/web/pu/arrival/action/QualityCheckAction.java b/pu/src/client/nccloud/web/pu/arrival/action/QualityCheckAction.java index ab0f5377..89d9e864 100644 --- a/pu/src/client/nccloud/web/pu/arrival/action/QualityCheckAction.java +++ b/pu/src/client/nccloud/web/pu/arrival/action/QualityCheckAction.java @@ -47,12 +47,7 @@ import nccloud.framework.web.processor.template.GridConvertProcessor; import nccloud.pubitf.pu.arrival.service.IArrivalQueryService; import nccloud.web.pu.arrivalqc.entity.QualityCheckInfo; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** @@ -399,7 +394,6 @@ public class QualityCheckAction implements ICommonAction { private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { String cghth = ""; String pkPupsndoc = hvo.getPk_pupsndoc(); - // 查询采购员名称 String name = ""; if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, @@ -407,11 +401,19 @@ public class QualityCheckAction implements ICommonAction { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } diff --git a/pu/src/client/nccloud/web/pu/arrivalqc/action/QualityCheckAction.java b/pu/src/client/nccloud/web/pu/arrivalqc/action/QualityCheckAction.java index ee2bf0bc..a77f8a0e 100644 --- a/pu/src/client/nccloud/web/pu/arrivalqc/action/QualityCheckAction.java +++ b/pu/src/client/nccloud/web/pu/arrivalqc/action/QualityCheckAction.java @@ -47,12 +47,7 @@ import nccloud.framework.web.processor.template.GridConvertProcessor; import nccloud.pubitf.pu.arrival.service.IArrivalQueryService; import nccloud.web.pu.arrivalqc.entity.QualityCheckInfo; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** @@ -411,7 +406,6 @@ public class QualityCheckAction implements ICommonAction { private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { String cghth = ""; String pkPupsndoc = hvo.getPk_pupsndoc(); - // 查询采购员名称 String name = ""; if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, @@ -419,11 +413,19 @@ public class QualityCheckAction implements ICommonAction { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } @@ -437,9 +439,10 @@ public class QualityCheckAction implements ICommonAction { return cghth; } - /** - * 推送同步数据 - */ + + /** + * 推送同步数据 + */ private void pushData(JSONObject param) throws BusinessException { // String jsonString = param.toJSONString(); // 转json字符串的时候保留null值 diff --git a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java index 5225bcf1..7f28203d 100644 --- a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java +++ b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncDeleteQcQmsRule.java @@ -209,11 +209,19 @@ public class SyncDeleteQcQmsRule implements IRule { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } diff --git a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncQcQmsRule.java b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncQcQmsRule.java index 77102749..1769a093 100644 --- a/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncQcQmsRule.java +++ b/qc/src/private/nc/bs/qc/c003/maintain/rule/SyncQcQmsRule.java @@ -171,7 +171,6 @@ public class SyncQcQmsRule implements IRule { private String getCghthVal(ArriveHeaderVO hvo, ArriveItemVO[] bvo) throws BusinessException { String cghth = ""; String pkPupsndoc = hvo.getPk_pupsndoc(); - // 查询采购员名称 String name = ""; if (pkPupsndoc != null && !pkPupsndoc.isEmpty() && !"~".equals(pkPupsndoc)) { name = MyHelper.getStrValByCondition(PsndocVO.getDefaultTableName(), PsndocVO.NAME, @@ -179,11 +178,19 @@ public class SyncQcQmsRule implements IRule { } if (bvo != null && bvo.length > 0) { StringBuilder cghthBuilder = new StringBuilder(); + // 添加Set用于去重 + Set processedCodes = new HashSet<>(); for (int i = 0; i < bvo.length; i++) { String vsourcecode = bvo[i].getVsourcecode(); if (vsourcecode == null || vsourcecode.isEmpty() || "~".equals(vsourcecode)) { continue; } + // 检查是否已处理过,避免重复 + if (processedCodes.contains(vsourcecode)) { + continue; + } + processedCodes.add(vsourcecode); + if (i > 0) { cghthBuilder.append(","); } @@ -198,6 +205,7 @@ public class SyncQcQmsRule implements IRule { } + /** * 推送同步数据 */