From 99659e0273a7852893eea5efd547498d533af04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B4=B5=E5=BC=BA?= Date: Tue, 18 Feb 2025 16:01:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E5=AF=BC=E5=85=A5=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E6=8A=A5=E9=94=99bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractMaterialImportPlugin.java | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java index 7ce02ed..fbef665 100644 --- a/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java +++ b/main/java/shkd/repc/recon/formplugin/ContractMaterialImportPlugin.java @@ -4,10 +4,13 @@ import com.alibaba.dubbo.common.utils.CollectionUtils; import com.alibaba.fastjson.JSONObject; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.metadata.IDataEntityType; +import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.BasedataItem; import kd.bos.entity.datamodel.events.BeforeImportEntryEventArgs; import kd.bos.entity.datamodel.events.QueryImportBasedataEventArgs; import kd.bos.entity.plugin.ImportLogger; +import kd.bos.form.operate.webapi.RowMapper; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.form.plugin.importentry.resolving.ImportEntryData; import kd.bos.form.plugin.impt.BatchImportPlugin; @@ -35,19 +38,26 @@ public class ContractMaterialImportPlugin extends AbstractFormPlugin { @Override public void queryImportBasedata(QueryImportBasedataEventArgs e) { super.queryImportBasedata(e); - Map> searchResult = e.getSearchResult(); - for (Map.Entry> entry : searchResult.entrySet()) { - List basedata = entry.getValue(); - if (basedata.isEmpty()) { // 查不到基础资料数据 - Long materialId = newMaterial(entry.getKey().getSearchValue(),materialList); - basedata.add(materialId); - } else { - // 查到多个基础资料数据 - // 业务场景,应根据需求剔除不合法的基础资料数据(最终保留一个) - Iterator it = basedata.iterator(); - it.next(); - while (it.hasNext()) { - it.remove(); + DynamicObject targetObj = ((RowMapper) e.getSource()).getTargetObj(); + IDataEntityType dataEntityType = targetObj.getDataEntityType(); + if (null!=dataEntityType){ + String name = dataEntityType.getName(); + if (StringUtils.equals("qeug_orderformentry",name)){ + Map> searchResult = e.getSearchResult(); + for (Map.Entry> entry : searchResult.entrySet()) { + List basedata = entry.getValue(); + if (basedata.isEmpty()) { // 查不到基础资料数据 + Long materialId = newMaterial(entry.getKey().getSearchValue(),materialList); + basedata.add(materialId); + } else { + // 查到多个基础资料数据 + // 业务场景,应根据需求剔除不合法的基础资料数据(最终保留一个) + Iterator it = basedata.iterator(); + it.next(); + while (it.hasNext()) { + it.remove(); + } + } } } }