diff --git a/main/java/shkd/repc/resm/formplugin/TycQzSupplierUSAFormPlugin.java b/main/java/shkd/repc/resm/formplugin/TycQzSupplierUSAFormPlugin.java index 0964239..66cc2e2 100644 --- a/main/java/shkd/repc/resm/formplugin/TycQzSupplierUSAFormPlugin.java +++ b/main/java/shkd/repc/resm/formplugin/TycQzSupplierUSAFormPlugin.java @@ -2,13 +2,87 @@ package shkd.repc.resm.formplugin; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; +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.common.util.resm.SupplierStrategyUtil; import kd.repc.resm.formplugin.supplier.RegSupplierEdit; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; public class TycQzSupplierUSAFormPlugin extends RegSupplierEdit { + + @Override + protected void beforeBindData_serviceOrgAndGroup() { + DynamicObject dataEntity = this.getModel().getDataEntity(); + boolean multipleServiceFlag = SupplierStrategyUtil.isMultipleserviceflag(); + boolean visibleFlag = true; + DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("group_entry"); + Iterator var5 = collection.iterator(); + + while(var5.hasNext()) { + DynamicObject item = (DynamicObject)var5.next(); + String status = item.getString("groupstatus"); + if (RegSupplierStatusEnum.OFFICIAL_SUPPLIER.getValue().equals(status)) { + visibleFlag = false; + } + } + + this.getView().setVisible(multipleServiceFlag && visibleFlag, new String[]{"newentry_serviceorg", "deleteentry_serviceorg"}); + if (dataEntity.getPkValue() == null || dataEntity.getLong("id") == 0L) { + DynamicObject belongOrgEntry = dataEntity.getDynamicObject("serviceorg"); + DynamicObject[] groupArr = SupplierAptUtils.getDefaultGroup(belongOrgEntry.getPkValue()); + DynamicObjectCollection serviceOrgColl = dataEntity.getDynamicObjectCollection("entry_serviceorg"); + Iterator var8 = serviceOrgColl.iterator(); + + while(var8.hasNext()) { + DynamicObject serviceOrg = (DynamicObject)var8.next(); + serviceOrg.set("orgarea", belongOrgEntry); + DynamicObjectCollection supGroupColl = serviceOrg.getDynamicObjectCollection("supgroup"); + DynamicObject supGroup = supGroupColl.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]); + }else{ + Object value = groupArr.length > 0 ? groupArr[0] : null; + supGroup.set("fbasedataid", value); + } + serviceOrg.set("supgroup", supGroupColl); + } + + dataEntity.set("entry_serviceorg", serviceOrgColl); + } + + this.lockServiceAreaAndGroupEntry(dataEntity); + + + +// +// DynamicObjectCollection usersForDisplay = new DynamicObjectCollection(); +// +// DynamicObjectCollection entry_serviceorg = (DynamicObjectCollection)this.getModel().getValue("entry_serviceorg"); +// DynamicObject entry = entry_serviceorg.get(0); +// DynamicObjectType dynamicObjectType = entry.getDynamicObjectCollection("supgroup").getDynamicObjectType(); +// if (load!=null) { +// for (DynamicObject obj : load) { +// DynamicObject dynamicObject = new DynamicObject(dynamicObjectType); +// dynamicObject.set("fbasedataid", obj); +// usersForDisplay.add(dynamicObject); +// } +// //usersForDisplay.addAll(Arrays.asList(load)); +// } +// +// entry.set("supgroup",usersForDisplay); +// this.getModel().setValue("entry_serviceorg", entry_serviceorg); + } + @Override protected void lockServiceAreaAndGroupEntry(DynamicObject dataEntity) { DynamicObjectCollection serviceOrgColl = dataEntity.getDynamicObjectCollection("entry_serviceorg");