parent
f4c909ef15
commit
739498083f
|
@ -5,21 +5,19 @@ 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.entity.property.AmountProp;
|
||||
import kd.bos.entity.property.BasedataProp;
|
||||
import kd.bos.entity.property.DecimalProp;
|
||||
import kd.bos.form.field.AmountEdit;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.RefBillEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
import kd.bos.form.field.DecimalEdit;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.list.ListShowParameter;
|
||||
import kd.bos.orm.query.QCP;
|
||||
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.fi.bcm.common.util.CollectionUtil;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.EventObject;
|
||||
import java.util.List;
|
||||
|
@ -33,10 +31,20 @@ public class BdimbondBuildEntryPlugin extends AbstractFormPlugin implements Plug
|
|||
@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);
|
||||
}
|
||||
//前端去掉星号,前端不一定会校验
|
||||
DecimalEdit attch= (DecimalEdit)this.getControl("e_underwriteratio");
|
||||
AmountEdit attch2= (AmountEdit)this.getControl("e_underwriteamount");
|
||||
attch.setMustInput(false);
|
||||
attch2.setMustInput(false);
|
||||
//后端去掉校验
|
||||
DecimalProp attchproperty = (DecimalProp) attch.getProperty();
|
||||
AmountProp attchproperty2 = (AmountProp) attch2.getProperty();
|
||||
attchproperty.setMustInput(false);
|
||||
attchproperty2.setMustInput(false);
|
||||
// DynamicObject org = (DynamicObject)this.getModel().getValue("org");
|
||||
// if (org != null) {
|
||||
// buildEntrys(org);
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,18 +2,16 @@ package shkd.sys.sys.plugin.tmc;
|
|||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||
import kd.bos.form.field.OrgEdit;
|
||||
import kd.bos.form.field.RefBillEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
import kd.bos.list.ListShowParameter;
|
||||
import kd.bos.orm.query.QCP;
|
||||
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.fi.bcm.common.util.CollectionUtil;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -22,42 +20,58 @@ import java.util.EventObject;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 单据界面插件
|
||||
* 债券发行/发行计划单据 债券发行,银行借款合同分录 选择F7时过滤
|
||||
*/
|
||||
public class BondSelectEntryOrgPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
//债券发行编码
|
||||
RefBillEdit edit = this.getView().getControl("shkd_entrybillno");
|
||||
edit.addBeforeF7SelectListener(this);
|
||||
|
||||
//借款合同单据编码
|
||||
RefBillEdit edit2 = this.getView().getControl("shkd_entrycontractnum");
|
||||
edit2.addBeforeF7SelectListener(this);
|
||||
//借款人
|
||||
OrgEdit edit3 = this.getView().getControl("shkd_enryborrower");
|
||||
edit3.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent evt) {
|
||||
ListShowParameter formShowParameter = (ListShowParameter) evt.getFormShowParameter();
|
||||
String formId = this.getView().getFormShowParameter().getFormId();
|
||||
// String formId = this.getView().getFormShowParameter().getFormId();
|
||||
//获取当前选择的债券注册额度
|
||||
DynamicObject org;
|
||||
DynamicObject org= (DynamicObject)this.getModel().getValue("org");
|
||||
if(org == null){
|
||||
this.getView().showTipNotification("请先选择发行人。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
Long orgId = (Long)org.get("id");
|
||||
IDataEntityProperty property = evt.getProperty();
|
||||
String name = property.getName();
|
||||
List<QFilter> dataFilter = new ArrayList<>();
|
||||
if("shkd_entrycontractnum".equals(name) || "shkd_entrybillno".equals(name)){
|
||||
org= (DynamicObject)this.getModel().getValue("org");
|
||||
if(org == null) return;
|
||||
Long orgId = (Long)org.get("id");
|
||||
ArrayList<String> filterArr = new ArrayList<>();
|
||||
if("shkd_entrycontractnum".equals(name)){
|
||||
List<Long> allSubordinateOrgs = OrgUnitServiceHelper.getAllSubordinateOrgs(OrgViewType.BDControl, Collections.singletonList(orgId), true);
|
||||
QFilter accountQFilter = new QFilter("org.id", QCP.in, allSubordinateOrgs);
|
||||
dataFilter.add(accountQFilter);
|
||||
}else{
|
||||
QFilter accountQFilter = new QFilter("org.id", QCP.equals, orgId);
|
||||
dataFilter.add(accountQFilter);
|
||||
if("shkd_entrycontractnum".equals(name)){
|
||||
DynamicObject shkdEnryborrower = (DynamicObject)this.getView().getModel().getValue("shkd_enryborrower");
|
||||
if(shkdEnryborrower == null){
|
||||
this.getView().showTipNotification("请先选择借款人。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
QFilter accountQFilter = new QFilter("org.id", QCP.equals, shkdEnryborrower.getPkValue());
|
||||
dataFilter.add(accountQFilter);
|
||||
formShowParameter.getListFilterParameter().getQFilters().addAll(dataFilter);
|
||||
}
|
||||
if("shkd_entrybillno".equals(name)){
|
||||
QFilter accountQFilter = new QFilter("org.id", QCP.equals, orgId);
|
||||
QFilter accountQFilter2 = new QFilter("loantype", QCP.equals, "bond");
|
||||
dataFilter.add(accountQFilter.and(accountQFilter2));
|
||||
}
|
||||
if("shkd_enryborrower".equals(name)){
|
||||
List<Long> allSubordinateOrgs = OrgUnitServiceHelper.getAllSubordinateOrgs(OrgViewType.BDControl, Collections.singletonList(orgId), true);
|
||||
QFilter accountQFilter = new QFilter("id", QCP.in, allSubordinateOrgs);
|
||||
dataFilter.add(accountQFilter);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,28 +1,52 @@
|
|||
package shkd.sys.sys.plugin.tmc;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.entity.property.BasedataProp;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.control.Control;
|
||||
import kd.bos.form.control.events.ItemClickEvent;
|
||||
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||
import kd.bos.form.operate.EntryGridOperate;
|
||||
import kd.bos.form.operate.formop.NewEntry;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* 设置 债券发行计划界面 发行人账号非必填
|
||||
* 单据界面插件
|
||||
*/
|
||||
public class IssuerNotMandatoryPlugin extends AbstractFormPlugin implements Plugin {
|
||||
public class IssuerNotMandatoryPlugin extends AbstractBillPlugIn implements Plugin {
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
String fieldKey = e.getProperty().getName();
|
||||
if ("issyncdraw".equals(fieldKey) || "amount".equals(fieldKey)){
|
||||
//前端去掉星号,前端不一定会校验
|
||||
BasedataEdit attch= (BasedataEdit)this.getControl("accountbank");
|
||||
attch.setMustInput(false);
|
||||
//后端去掉校验
|
||||
BasedataProp attchproperty = (BasedataProp) attch.getProperty();
|
||||
attchproperty.setMustInput(false);
|
||||
// //前端去掉星号,前端不一定会校验
|
||||
// BasedataEdit attch= (BasedataEdit)this.getControl("accountbank");
|
||||
// attch.setMustInput(false);
|
||||
// //后端去掉校验
|
||||
// BasedataProp attchproperty = (BasedataProp) attch.getProperty();
|
||||
// attchproperty.setMustInput(false);
|
||||
imputAccountBank();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterDoOperation(AfterDoOperationEventArgs arg) {
|
||||
if(arg.getSource() instanceof EntryGridOperate) {
|
||||
EntryGridOperate source = (EntryGridOperate) arg.getSource();
|
||||
String key = source.getOperateKey();
|
||||
if ("deleteentryacnumber".equals(key)){
|
||||
imputAccountBank();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void imputAccountBank() {
|
||||
DynamicObjectCollection shkdIssueraccountEntry = this.getView().getModel().getEntryEntity("shkd_issueraccount_entry");
|
||||
if (shkdIssueraccountEntry == null || shkdIssueraccountEntry.isEmpty()) return;
|
||||
DynamicObject tempOrg = shkdIssueraccountEntry.get(0);
|
||||
Long orgID = (Long)tempOrg.get("shkd_accountbank.id");
|
||||
this.getView().getModel().setValue("accountbank", orgID);
|
||||
}
|
||||
}
|
|
@ -5,7 +5,10 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.dataentity.entity.OrmLocaleValue;
|
||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||
import kd.bos.dataentity.resource.ResManager;
|
||||
import kd.bos.entity.MainEntityType;
|
||||
import kd.bos.form.IFormView;
|
||||
import kd.bos.form.control.Control;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||
|
@ -19,7 +22,7 @@ import kd.sdk.plugin.Plugin;
|
|||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 债券发行/债券发行计划 关联注册额度,实现承销商过滤
|
||||
* 债券发行/债券发行计划 关联注册额度,实现注册额度过滤/评级只能选择注册额度中关联的中介机构招标遴选里面的中标单位过滤/同时实现承销商过滤
|
||||
* 单据界面插件
|
||||
*/
|
||||
public class LoancontractF7Plugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||
|
@ -28,33 +31,48 @@ public class LoancontractF7Plugin extends AbstractBillPlugIn implements Plugin,
|
|||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
IFormView view = this.getView();
|
||||
//监听债券F7数据选择
|
||||
BasedataEdit affiliation = view.getControl("e_underwriter");
|
||||
affiliation.addBeforeF7SelectListener(this);
|
||||
//监听承销商F7数据选择
|
||||
BasedataEdit e_underwriter = view.getControl("e_underwriter");
|
||||
e_underwriter.addBeforeF7SelectListener(this);
|
||||
//监听占用注册额度F7数据选择
|
||||
BasedataEdit shkd_occupybondlimit;
|
||||
shkd_occupybondlimit = view.getControl("shkd_occupybondlimit");
|
||||
if(shkd_occupybondlimit == null){
|
||||
shkd_occupybondlimit = view.getControl("occupybondlimit");
|
||||
}
|
||||
shkd_occupybondlimit.addBeforeF7SelectListener(this);
|
||||
//监听评级机构F7数据选择
|
||||
BasedataEdit ratingagency = view.getControl("ratingagency");
|
||||
ratingagency.addBeforeF7SelectListener(this);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent evt) {
|
||||
ListShowParameter formShowParameter = (ListShowParameter) evt.getFormShowParameter();
|
||||
String formId = this.getView().getFormShowParameter().getFormId();
|
||||
//获取当前选择的债券注册额度
|
||||
DynamicObject shkd_bondlimit;
|
||||
IDataEntityProperty property = evt.getProperty();
|
||||
String name = property.getName();
|
||||
List<QFilter> dataFilter = new ArrayList<>();
|
||||
if("e_underwriter".equals(name)){
|
||||
//shkd_cfm_loancontrac_ext2 : 债券发行计划 其他 : 债券发行
|
||||
if("cfm_loancontract_bo".equals(formId)){
|
||||
shkd_bondlimit= (DynamicObject)this.getModel().getValue("syncoccupybondlimit");
|
||||
if(shkd_bondlimit == null) return;
|
||||
}else{
|
||||
//债券发行:occupybondlimit 债券发行计划:shkd_occupybondlimit
|
||||
try {
|
||||
shkd_bondlimit= (DynamicObject)this.getModel().getValue("occupybondlimit");
|
||||
if(shkd_bondlimit == null) return;
|
||||
}catch(Exception e){
|
||||
shkd_bondlimit= (DynamicObject)this.getModel().getValue("shkd_occupybondlimit");
|
||||
if(shkd_bondlimit == null){
|
||||
evt.setCancel(true);
|
||||
this.getView().showTipNotification("请先选择占用注册额度。");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
DynamicObject bdim_bond_limit = BusinessDataServiceHelper.loadSingle(shkd_bondlimit.get("id"), "bdim_bond_limit");
|
||||
DynamicObjectCollection shkd_underwriterentry = bdim_bond_limit.getDynamicObjectCollection("shkd_underwriterentry");
|
||||
if (CollectionUtil.isEmpty(shkd_underwriterentry)) {
|
||||
evt.setCancel(true);
|
||||
this.getView().showTipNotification("当前占用注册额度没有承销商数据。");
|
||||
return;
|
||||
}
|
||||
ArrayList<String> filterArr = new ArrayList<>();
|
||||
|
@ -65,6 +83,75 @@ public class LoancontractF7Plugin extends AbstractBillPlugIn implements Plugin,
|
|||
QFilter accountQFilter = new QFilter("number", QCP.in, filterArr);
|
||||
dataFilter.add(accountQFilter);
|
||||
}
|
||||
if("shkd_occupybondlimit".equals(name) || "occupybondlimit".equals(name)){
|
||||
//债券类型
|
||||
DynamicObject finproduct = (DynamicObject)this.getModel().getValue("finproduct");
|
||||
if(finproduct == null){
|
||||
this.getView().showTipNotification("请先选择债券类型。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
Long finproductID = (Long)finproduct.get("id");
|
||||
//发行日期
|
||||
Date startdate = (Date)this.getModel().getValue("startdate");
|
||||
if(startdate == null){
|
||||
this.getView().showTipNotification("请先选择发行日期。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
//结束日期
|
||||
Date enddate = (Date)this.getModel().getValue("enddate");
|
||||
if(enddate == null){
|
||||
this.getView().showTipNotification("请先选择结束日期。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
//发行人
|
||||
DynamicObject org = (DynamicObject)this.getModel().getValue("org");
|
||||
if(org == null){
|
||||
this.getView().showTipNotification("请先选择发行人。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
Long orgId = (Long)org.getPkValue();
|
||||
|
||||
//债券类型
|
||||
QFilter accountQFilter = new QFilter("finproducts.fbasedataid", QCP.equals, finproductID);
|
||||
dataFilter.add(accountQFilter);
|
||||
|
||||
//发行人
|
||||
QFilter accountQFilter2 = new QFilter("org.id", QCP.equals, orgId);
|
||||
dataFilter.add(accountQFilter2);
|
||||
|
||||
//发行日期与结束日期要在注册额度的生效日期和失效日期之间
|
||||
QFilter accountQFilter3 = new QFilter("expirydate", QCP.large_equals,enddate).and(new QFilter("effectdate", QCP.less_equals,startdate));
|
||||
dataFilter.add(accountQFilter3);
|
||||
|
||||
|
||||
}
|
||||
if("ratingagency".equals(name)){
|
||||
//注册额度
|
||||
DynamicObject occupybondlimit = (DynamicObject)this.getModel().getValue("shkd_occupybondlimit");
|
||||
if(occupybondlimit == null){
|
||||
this.getView().showTipNotification("请先选择占用注册额度。");
|
||||
evt.setCancel(true);
|
||||
return;
|
||||
}
|
||||
Long occupybondlimitId = (Long) occupybondlimit.getPkValue();
|
||||
//找到注册额度中的招标遴选ID
|
||||
DynamicObject intermediaryselectID = BusinessDataServiceHelper.loadSingle(occupybondlimitId,"bdim_bond_limit", "shkd_intermediaryselect");
|
||||
QFilter qFilter = new QFilter("billno", QCP.equals, intermediaryselectID.getString("shkd_intermediaryselect"));
|
||||
DynamicObject intermediaryselect = BusinessDataServiceHelper.loadSingle("bdim_intermediaryselect",qFilter.toArray());
|
||||
//招标遴选 中标单位分录
|
||||
DynamicObjectCollection winningbidderentry = intermediaryselect.getDynamicObjectCollection("winningbidderentry");
|
||||
ArrayList<String> dataFilterArr = new ArrayList<>();
|
||||
winningbidderentry.forEach((temp)->{
|
||||
dataFilterArr.add(temp.getString("e_midorgname.number"));
|
||||
});
|
||||
//将set转换成数组
|
||||
QFilter accountQFilter = new QFilter("number", QCP.in, dataFilterArr);
|
||||
dataFilter.add(accountQFilter);
|
||||
}
|
||||
//formShowParameter.getListFilterParameter().setQFilters(dataFilter);
|
||||
formShowParameter.getListFilterParameter().getQFilters().addAll(dataFilter);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue