供应商外网注册时,服务分类设置默认值,并带出供应商分类

This commit is contained in:
ptt 2025-05-09 13:45:13 +08:00
parent 5222ec2cad
commit b9e013755a
1 changed files with 55 additions and 9 deletions

View File

@ -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<Object> 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<Object, DynamicObject> groupStatusMap = (Map)groupStatusEntry.stream().filter((item) -> {
return item.getDynamicObject("group") != null;
}).collect(Collectors.toMap((item) -> {
return item.getDynamicObject("group").getPkValue();
}, (item) -> {
return item;
}));
Map<Object, DynamicObject> 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());
});
}
}
}