From 7b9acc162785201e671a3238d1df41e993f8d3ec Mon Sep 17 00:00:00 2001 From: ptt <2403326863@qq.com> Date: Wed, 16 Apr 2025 11:48:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BD=9C=E5=9C=A8=E4=BE=9B=E5=BA=94=E5=95=86,?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=88=86=E7=B1=BB=E9=BB=98=E8=AE=A4=E9=9B=86?= =?UTF-8?q?=E5=9B=A2=E5=A4=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TycQzSupplierUSAFormPlugin.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) 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");