diff --git a/main/java/shkd/repc/resp/formplugin/supplierRegisteredNewFormPlugin.java b/main/java/shkd/repc/resp/formplugin/supplierRegisteredNewFormPlugin.java index e119a57..0393a66 100644 --- a/main/java/shkd/repc/resp/formplugin/supplierRegisteredNewFormPlugin.java +++ b/main/java/shkd/repc/resp/formplugin/supplierRegisteredNewFormPlugin.java @@ -2,13 +2,19 @@ package shkd.repc.resp.formplugin; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.form.plugin.AbstractFormPlugin; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.repc.common.enums.resm.RegSupplierStatusEnum; import kd.repc.common.util.resm.SupplierAptUtils; +import kd.repc.resp.formplugin.registered.SupplierRegisteredThirdEdit; import java.util.EventObject; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 外网注册表单插件,给服务区域设置默认值 @@ -20,15 +26,17 @@ public class supplierRegisteredNewFormPlugin extends AbstractFormPlugin { DynamicObject dataEntity = this.getModel().getDataEntity(); DynamicObjectCollection entry_serviceorg = dataEntity.getDynamicObjectCollection("entry_serviceorg"); DynamicObject dynamicObject = entry_serviceorg.get(0); -// DynamicObjectCollection supgroupList = dynamicObject.getDynamicObjectCollection("supgroup"); -// DynamicObject supgroup = supgroupList.addNew(); -// QFilter number = new QFilter("number", QCP.equals, "GYSFL-202411-002"); -// DynamicObject[] load = BusinessDataServiceHelper.load("bd_suppliergroup", "id", number.toArray()); -// if (load!=null&&load.length>0) { -// supgroup.set("fbasedataid", load[0]); -// } -// dynamicObject.set("supgroup", supgroupList); -// dynamicObject.getDynamicObject("orgarea"); + DynamicObjectCollection supgroupList = dynamicObject.getDynamicObjectCollection("supgroup"); + if(supgroupList!=null&&supgroupList.size()==0){ + DynamicObject supgroup = supgroupList.addNew(); + QFilter number = new QFilter("number", QCP.equals, "GYSFL-202411-002"); + DynamicObject[] load = BusinessDataServiceHelper.load("bd_suppliergroup", "id", number.toArray()); + if (load!=null&&load.length>0) { + supgroup.set("fbasedataid", load[0]); + } + dynamicObject.set("supgroup", supgroupList); + } + dynamicObject.getDynamicObject("orgarea"); QFilter qFilter = new QFilter("number", QCP.equals, "dobe"); DynamicObject[] load1 = BusinessDataServiceHelper.load("bos_org", "id", qFilter.toArray()); if (load1!=null&&load1.length>0) { @@ -38,5 +46,43 @@ public class supplierRegisteredNewFormPlugin extends AbstractFormPlugin { } // dynamicObject.set("orgareanew", dynamicObject.getDynamicObject("orgarea")); // dynamicObject.getString("orgareanew"); + + DynamicObject orgArea = dynamicObject.getDynamicObject("orgarea"); + DynamicObject serviceOrg = dataEntity.getDynamicObject("serviceorg"); + if (serviceOrg.getPkValue().equals(orgArea.getPkValue())) { + DynamicObjectCollection supGroupList = dynamicObject.getDynamicObjectCollection("supgroup"); + List groupIdList = (List)supGroupList.stream().map((item) -> { + return item.getDynamicObject("fbasedataid").getPkValue(); + }).collect(Collectors.toList()); + SupplierAptUtils.createCusAptitude(this.getModel(), this.getView(), groupIdList, serviceOrg.getPkValue()); + DynamicObjectCollection groupStatusEntry = dataEntity.getDynamicObjectCollection("entry_group_status"); + Map groupStatusMap = (Map)groupStatusEntry.stream().filter((item) -> { + return item.getDynamicObject("group") != null; + }).collect(Collectors.toMap((item) -> { + return item.getDynamicObject("group").getPkValue(); + }, (item) -> { + return item; + })); + Map supGroupMap = (Map)supGroupList.stream().filter((item) -> { + return item.getDynamicObject("fbasedataid") != null; + }).collect(Collectors.toMap((item) -> { + return item.getDynamicObject("fbasedataid").getPkValue(); + }, (item) -> { + return item.getDynamicObject("fbasedataid"); + })); + supGroupMap.keySet().forEach((item) -> { + if (!groupStatusMap.keySet().contains(item)) { + DynamicObject groupStatusEntryRow = groupStatusEntry.addNew(); + groupStatusEntryRow.set("group", supGroupMap.get(item)); + groupStatusEntryRow.set("groupstatus", RegSupplierStatusEnum.TO_PREAUDIT.getValue()); + } + + }); + groupStatusEntry.removeIf((item) -> { + DynamicObject group = item.getDynamicObject("group"); + return group == null || !supGroupMap.keySet().contains(group.getPkValue()); + }); + } } + }