diff --git a/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java b/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java index c95e644..9d1db8c 100644 --- a/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java +++ b/lc123/cloud/app/plugin/form/pm/PurSuggestRptFromPlugin.java @@ -21,7 +21,6 @@ import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; -import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; @@ -101,10 +100,17 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi } DynamicObjectCollection tqq9_queryorg = dataEntity.getDynamicObjectCollection("tqq9_queryorg"); DynamicObjectCollection tqq9_querysku = dataEntity.getDynamicObjectCollection("tqq9_querysku"); + DynamicObjectCollection tqq9_querypurchaser = dataEntity.getDynamicObjectCollection("tqq9_querypurchaser"); + DynamicObjectCollection tqq9_querybrand = dataEntity.getDynamicObjectCollection("tqq9_querybrand"); List org = new ArrayList<>(); List sku = new ArrayList<>(); StringBuilder orgBuilder = new StringBuilder(); StringBuilder skuBuilder = new StringBuilder(); + Set purchaserSet = new HashSet<>(); +// StringBuilder purchaserBuilder = new StringBuilder(); + StringBuilder brandBuilder = new StringBuilder(); + List brandList = new ArrayList<>(); + for (DynamicObject dynamicObject : tqq9_queryorg) { String id = dynamicObject.getString("fbasedataid.id"); org.add(id); @@ -115,6 +121,22 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi sku.add(id); skuBuilder.append(",").append(id); } + for (DynamicObject dynamicObject : tqq9_querypurchaser) { + String name = dynamicObject.getString("fbasedataid.operatorname"); + purchaserSet.add(name); + } +// StringBuilder purchaserCondition = new StringBuilder(); +// for (int i = 0; i < purchaserList.size(); i++) { +// if (i > 0) { +// purchaserCondition.append(" OR "); // 每个条件之间用 OR 连接 +// } +// String name = purchaserList.get(i); +// purchaserCondition.append("tqq9_purchasertext LIKE '%").append(name).append("%'"); // 使用 LIKE 进行匹配 +// } + for (DynamicObject dynamicObject : tqq9_querybrand) { + Long id = dynamicObject.getLong("fbasedataid.id"); + brandList.add(id); + } //物料Map DynamicObject[] materials = BusinessDataServiceHelper.load("bd_material", "id,number,name,tqq9_brand,baseunit", null); HashMap materialMap = new HashMap(); @@ -295,8 +317,7 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi DataSet copy1 = materialpackageDataSet.copy(); DynamicObjectCollection dynamicObjects = ORM.create().toPlainDynamicObjectCollection(copy1); - int size = dynamicObjects.size(); - String sizeStr = String.valueOf(size); + Iterator iterator = dynamicObjects.iterator(); while (iterator.hasNext()) { @@ -306,6 +327,11 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi DynamicObject tqq9_org = adminorgMap.get(next.getLong("tqq9_org")); entry.set("tqq9_material", tqq9_material);//物料 entry.set("tqq9_skuname", tqq9_material.getString("name"));//名称 + DynamicObject tqq9_brand = tqq9_material.getDynamicObject("tqq9_brand"); + long brandId = tqq9_brand.getLong("id"); + if (!brandList.contains(brandId) && !brandList.isEmpty()) { + continue; + } entry.set("tqq9_skubrand", tqq9_material.getDynamicObject("tqq9_brand"));//品牌 entry.set("tqq9_unit", tqq9_material.getDynamicObject("baseunit"));//基本单位 entry.set("tqq9_org", tqq9_org);//业务归属(组织) @@ -328,6 +354,10 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi } else if (StringUtils.equals("CDLC", tqq9_org.getString("number"))) { entry.set("tqq9_warename", "成都仓库");//仓库名称 } + String nameString = entry.getString("tqq9_purchasertext"); + if ((!Arrays.stream(nameString.split(";")).anyMatch(purchaserSet::contains)&&StringUtils.isNotBlank(nameString)&&purchaserSet.size()>0)|| (purchaserSet.size()>0&&StringUtils.isBlank(nameString))) { + continue; + } entry.set("tqq9_totalinventory", next.get("tqq9_totalinventory"));//总仓库存 entry.set("tqq9_permonthsales_sh", next.get("tqq9_permonthsales_sh"));//上海月平均销量 entry.set("tqq9_permonthsales_bj", next.get("tqq9_permonthsales_bj"));//北京月平均销量 @@ -368,9 +398,11 @@ public class PurSuggestRptFromPlugin extends AbstractFormPlugin implements Plugi entry.set("tqq9_ranking", next.get("tqq9_ranking"));// 排名 entryentity.add(entry); } + int size = entryentity.size(); + String sizeStr = String.valueOf(size); getModel().setValue("tqq9_pursuggestrptentry", entryentity); getModel().setValue("tqq9_queryqty", sizeStr); - SaveServiceHelper.save(new DynamicObject[]{dataEntity}); +// SaveServiceHelper.save(new DynamicObject[]{dataEntity}); this.getView().updateView(); } else if (StringUtils.equals("tqq9_purapply", itemKey)) { DynamicObjectCollection tqq9_pursuggestrptentry = dataEntity.getDynamicObjectCollection("tqq9_pursuggestrptentry");