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(); + } + } } } }