From 91295e7ce46a9a7d33de50888c20ca8bb82cabeb Mon Sep 17 00:00:00 2001 From: 16358 <1635849544@qq.com> Date: Sat, 19 Apr 2025 15:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E5=88=98?= =?UTF-8?q?=E6=A3=AE=E6=BE=B3=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/4/19=2015?= =?UTF-8?q?=EF=BC=9A05=20=E5=86=85=E5=AE=B9=EF=BC=9A=E5=80=BA=E5=88=B8?= =?UTF-8?q?=E5=8F=91=E8=A1=8C=E3=80=81=E5=80=BA=E5=88=B8=E5=8F=91=E8=A1=8C?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E4=B8=BB=E4=BD=93=E8=AF=84=E7=BA=A7=EF=BC=8C?= =?UTF-8?q?=E9=9D=9E=E4=B8=BB=E4=BD=93=E8=AF=84=E7=BA=A7=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E6=97=B6=E8=BF=87=E6=BB=A4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/tmc/BdimbondBuildEntryPlugin.java | 98 +++++++++++++++++++ .../sys/plugin/tmc/BondSeletRatingPlugin.java | 57 +++-------- .../plugin/tmc/IssuerNotMandatoryPlugin.java | 28 ++++++ 3 files changed, 138 insertions(+), 45 deletions(-) create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BdimbondBuildEntryPlugin.java create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/IssuerNotMandatoryPlugin.java diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BdimbondBuildEntryPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BdimbondBuildEntryPlugin.java new file mode 100644 index 0000000..7d8395b --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BdimbondBuildEntryPlugin.java @@ -0,0 +1,98 @@ +package shkd.sys.sys.plugin.tmc; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.metadata.IDataEntityProperty; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; +import kd.bos.servicehelper.org.OrgViewType; +import kd.sdk.plugin.Plugin; + +import java.util.Collections; +import java.util.EventObject; +import java.util.List; + +/** + *债券发行单据 自动组装债券发行 银行借款合同分录数据 + * 动态表单插件 + */ +public class BdimbondBuildEntryPlugin extends AbstractFormPlugin implements Plugin { + + @Override + public void afterBindData(EventObject e) { + this.getView().setVisible(false, "shkd_bondissue","shkd_bankcontract"); + DynamicObject org = (DynamicObject)this.getModel().getValue("org"); + if (org != null) { + buildEntrys(org); + } + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + IDataEntityProperty property = e.getProperty(); + String name = property.getName(); + if("shkd_loanuse".equals(name)) { + //设置分录可见性false + this.getView().setVisible(false, "shkd_bondissue","shkd_bankcontract"); + DynamicObjectCollection loanuse = (DynamicObjectCollection )this.getModel().getValue("shkd_loanuse"); + if (loanuse == null) return; + for (DynamicObject dObj : loanuse) { + DynamicObject shkdLoanuse = (DynamicObject)dObj.getDynamicObject("fbasedataid"); + + if("0001".equals(shkdLoanuse.get("number"))) { + this.getView().setVisible(true, "shkd_bondissue"); + } + + if("0002".equals(shkdLoanuse.get("number"))) { + this.getView().setVisible(true, "shkd_bankcontract"); + } + } + } + } + + //组装组装债券发行 银行借款合同分录数据 + public void buildEntrys(DynamicObject org){ + Long orgId = (Long)org.getPkValue(); + IDataModel model = this.getModel(); + //债券发行分录 + DynamicObjectCollection shkdBondissueEntry = (DynamicObjectCollection)this.getModel().getValue("shkd_bondissue_entry"); + //银行贷款合同分录 + DynamicObjectCollection shkdBankcontractEntry = (DynamicObjectCollection)this.getModel().getValue("shkd_bankcontract_entry"); + + shkdBondissueEntry.clear(); + shkdBankcontractEntry.clear(); + + //查询范围内的债券发行 + QFilter orgidfilter = new QFilter("org","=",orgId); + DynamicObject[] loanbillBonList = BusinessDataServiceHelper.load("cfm_loanbill_bond","id,org.id,amount,drawamount,bizdate,expiredate", orgidfilter.toArray()); + for (DynamicObject demo : loanbillBonList) { + int index = model.createNewEntryRow("shkd_bankcontract_entry"); + model.setValue("shkd_entrybillno",demo.getPkValue(), index); + model.setValue("shkd_entryorg",demo.get("org.id"), index); + model.setValue("shkd_entrytotalmount",demo.get("amount"), index); + model.setValue("shkd_entryamount",demo.get("drawamount"), index); + model.setValue("shkd_entrystartdate",demo.get("bizdate"), index); + model.setValue("shkd_entryexpiredate",demo.get("expiredate"), index); + } + + //查询范围内的银行贷款合同 + List allSubordinateOrgs = OrgUnitServiceHelper.getAllSubordinateOrgs(OrgViewType.BDControl, Collections.singletonList(orgId), true); + QFilter orgidfilter2 = new QFilter("org","in",allSubordinateOrgs); + DynamicObject[] loanconTractbillList = BusinessDataServiceHelper.load("cfm_loancontractbill","id,org.id,amount,startdate,enddate", orgidfilter2.toArray()); + for (DynamicObject demo : loanconTractbillList) { + int index = model.createNewEntryRow("shkd_bankcontract_entry"); + model.setValue("shkd_entrycontractnum",demo.getPkValue(), index); + model.setValue("shkd_enryborrower",demo.get("org.id"), index); + model.setValue("shkd_borrowamount",demo.get("amount"), index); + model.setValue("shkd_contractstartdate",demo.get("startdate"), index); + model.setValue("shkd_contractenddate",demo.get("enddate"), index); + } + } + + +} \ No newline at end of file diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BondSeletRatingPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BondSeletRatingPlugin.java index 8b31622..4f21bc1 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BondSeletRatingPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/BondSeletRatingPlugin.java @@ -6,13 +6,9 @@ import kd.bos.dataentity.resource.ResManager; import kd.bos.form.CloseCallBack; import kd.bos.form.ShowFormHelper; import kd.bos.form.control.Control; -import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.TextEdit; -import kd.bos.form.field.events.BeforeF7SelectEvent; -import kd.bos.form.field.events.BeforeF7SelectListener; import kd.bos.list.ListShowParameter; import kd.bos.orm.query.QFilter; -import kd.sdk.plugin.Plugin; import kd.tmc.fbp.common.util.EmptyUtil; import java.util.EventObject; @@ -20,44 +16,30 @@ import java.util.EventObject; /** * 基础资料插件 */ -public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF7SelectListener { - - public void registerListener(EventObject e) { +public class BondSeletRatingPlugin extends AbstractBasePlugIn { + @Override + public void registerListener(EventObject e){ super.registerListener(e); - BasedataEdit control = (BasedataEdit)this.getControl("ratingagency"); - if (control != null) { - control.addBeforeF7SelectListener(this); - } - - BasedataEdit eUnderWriter = (BasedataEdit)this.getControl("e_underwriter"); - if (eUnderWriter != null) { - eUnderWriter.addBeforeF7SelectListener(this); - } - - } - - private void initRatingScale() { - TextEdit ratingText = (TextEdit)this.getControl("ratingscale"); + TextEdit ratingText = (TextEdit)this.getControl("shkd_ratingscale"); if (ratingText != null) { ratingText.addButtonClickListener(this); } - TextEdit debtRatingText = (TextEdit)this.getControl("debtratingscale"); + TextEdit debtRatingText = (TextEdit)this.getControl("shkd_debtratingscale"); if (debtRatingText != null) { debtRatingText.addButtonClickListener(this); } - } public void click(EventObject evt) { super.click(evt); Control src = (Control)evt.getSource(); switch (src.getKey()) { - case "ratingscale": - this.showRatingSelectForm("ratingscale"); + case "shkd_ratingscale": + this.showRatingSelectForm("shkd_ratingscale"); break; - case "debtratingscale": - this.showRatingSelectForm("debtratingscale"); + case "shkd_debtratingscale": + this.showRatingSelectForm("shkd_debtratingscale"); } } @@ -72,10 +54,10 @@ public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF showParameter.setCloseCallBack(new CloseCallBack(this, actionId)); QFilter qFilter = new QFilter("ratingagency.id", "=", ratingAgency.getPkValue()); QFilter qFilter_entryFilter; - if("ratingscale".equals(actionId)){ - qFilter_entryFilter = new QFilter("ratingagency.entrys.grade", "like", "%主体%"); + if("shkd_ratingscale".equals(actionId)){ + qFilter_entryFilter = new QFilter("entrys.grade", "like", "%主体%"); }else{ - qFilter_entryFilter = new QFilter("ratingagency.entrys.grade", "not like", "%主体%"); + qFilter_entryFilter = new QFilter("entrys.grade", "not like", "%主体%"); } QFilter qFilter_enable = new QFilter("enable", "=", "1"); @@ -83,19 +65,4 @@ public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF this.getView().showForm(showParameter); } } - - @Override - public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { - switch (((Control)beforeF7SelectEvent.getSource()).getKey()) { - case "ratingagency": - QFilter qFilter = new QFilter("orgtype", "=", "ratingagency"); - ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter(); - showParameter.getListFilterParameter().getQFilters().add(qFilter); - break; - case "e_underwriter": - QFilter orgTypeFilter = new QFilter("orgtype", "=", "underwriter"); - ListShowParameter parameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter(); - parameter.getListFilterParameter().getQFilters().add(orgTypeFilter); - } - } } \ No newline at end of file diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/IssuerNotMandatoryPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/IssuerNotMandatoryPlugin.java new file mode 100644 index 0000000..da782fa --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/tmc/IssuerNotMandatoryPlugin.java @@ -0,0 +1,28 @@ +package shkd.sys.sys.plugin.tmc; + +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.entity.property.BasedataProp; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.sdk.plugin.Plugin; + +/** + * 设置 债券发行计划界面 发行人账号非必填 + * 单据界面插件 + */ +public class IssuerNotMandatoryPlugin extends AbstractFormPlugin implements Plugin { + + @Override + public void propertyChanged(PropertyChangedArgs e) { + String fieldKey = e.getProperty().getName(); + if ("issyncdraw".equals(fieldKey)){ + //前端去掉星号,前端不一定会校验 + BasedataEdit attch= (BasedataEdit)this.getControl("accountbank"); + attch.setMustInput(false); + //后端去掉校验 + BasedataProp attchproperty = (BasedataProp) attch.getProperty(); + attchproperty.setMustInput(false); + } + } + +} \ No newline at end of file