Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
陈绍鑫 2025-04-21 15:43:32 +08:00
commit 98a8462017
3 changed files with 138 additions and 45 deletions

View File

@ -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<Long> 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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}