1、票据管理、用信管理、列表过滤、表单默认
2、合作金融机构在用信管理、票据管理、担保管理、授信管理应用模块列表过滤
This commit is contained in:
parent
a30a93851d
commit
02f572883c
|
|
@ -0,0 +1,59 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.HashSet;
|
||||
|
||||
/**
|
||||
* 用信管理、票据管理、担保管理、授信管理合作金融机构过滤插件
|
||||
*/
|
||||
public class FinOrgInfoFiltrationListPlugin extends AbstractListPlugin implements Plugin {
|
||||
private static final String CONFIG_KEY = "kdsz_finorginfoconfig";
|
||||
private static HashSet<String> appFilterArea = new HashSet<>();
|
||||
static {
|
||||
appFilterArea.add("kdsz_factoringm");//保理管理(用信管理)
|
||||
appFilterArea.add("kdsz_guaranteem");//保函管理(担保管理)
|
||||
appFilterArea.add("kdsz_lcm");//信用证管理(票据管理)
|
||||
appFilterArea.add("kdsz_scmf");//供应链金融(票据管理)
|
||||
appFilterArea.add("cfm");//用信管理
|
||||
appFilterArea.add("cdm");//票据管理
|
||||
appFilterArea.add("creditm");//授信管理
|
||||
appFilterArea.add("gm");//担保管理
|
||||
}
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
if (appFilterArea.contains(appId)){
|
||||
//读取最新可用配置
|
||||
QFilter filter = new QFilter("enable", QCP.equals, "1");
|
||||
DynamicObject[] configs = BusinessDataServiceHelper.load(CONFIG_KEY, "id,createtime,kdsz_entryentity.kdsz_finorginfo",
|
||||
new QFilter[]{filter}, "createtime desc", 1);
|
||||
if (configs != null && configs.length > 0){
|
||||
DynamicObject config = configs[0];
|
||||
DynamicObjectCollection entries = config.getDynamicObjectCollection("kdsz_entryentity");
|
||||
HashSet<Object> finOrgInfoIds = new HashSet<>();
|
||||
for (DynamicObject entry : entries) {
|
||||
DynamicObject finOrgInfo = entry.getDynamicObject("kdsz_finorginfo");
|
||||
if (finOrgInfo == null){
|
||||
continue;
|
||||
}
|
||||
finOrgInfoIds.add(finOrgInfo.getPkValue());
|
||||
}
|
||||
if (finOrgInfoIds.size() > 0){
|
||||
e.getQFilters().add(new QFilter("id", QCP.in,finOrgInfoIds));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form.cdm;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
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.sdk.plugin.Plugin;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* 票据管理:开票/收票登记、开票申请,票据类型根据单据发布应用决定票据类型过滤、默认票据类型
|
||||
*/
|
||||
public class CdmBillTypeBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||
private static final String XZY_NUM = "CDMT-8D5DCE08";//票据类型:信用证编码
|
||||
private static final String GYL_NUM = "CDMT-25826125";//票据类型:供应链金融编码
|
||||
@Override
|
||||
public void afterCreateNewData(EventObject e) {
|
||||
super.afterCreateNewData(e);
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
//信用证、供应链金融 票据类型赋默认值
|
||||
String billTypeNum = "";
|
||||
switch (appId){
|
||||
//信用证
|
||||
case "kdsz_lcm":
|
||||
billTypeNum = XZY_NUM;
|
||||
break;
|
||||
//供应链金融
|
||||
case "kdsz_scmf":
|
||||
billTypeNum = GYL_NUM;
|
||||
break;
|
||||
}
|
||||
if (StringUtils.isNotBlank(billTypeNum)){
|
||||
DynamicObject billType = BusinessDataServiceHelper.loadSingle("cdm_billtype", "id",
|
||||
new QFilter[]{new QFilter("number", QCP.equals, billTypeNum)});
|
||||
if (billType != null) {
|
||||
this.getModel().setValue("draftbilltype", billType);
|
||||
}else {
|
||||
this.getView().showMessage("编码为:"+billTypeNum+"的票据类型不存在");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||
if ("draftbilltype".equals(propertyName)) {
|
||||
QFilter filter = null;
|
||||
if ("kdsz_lcm".equals(appId)){
|
||||
filter = new QFilter("number", QCP.equals, XZY_NUM);
|
||||
} else if ("kdsz_scmf".equals(appId)) {
|
||||
filter = new QFilter("number", QCP.equals, GYL_NUM);
|
||||
} else if ("cdm".equals(appId)) {
|
||||
filter = new QFilter("number", QCP.not_equals, GYL_NUM)
|
||||
.and("number", QCP.not_equals, XZY_NUM);
|
||||
}
|
||||
if (filter != null){
|
||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
formShowParameter.getListFilterParameter().getQFilters().add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
// 侦听票据类型
|
||||
BasedataEdit fieldEdit = this.getView().getControl("draftbilltype");
|
||||
fieldEdit.addBeforeF7SelectListener(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form.cdm;
|
||||
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
/**
|
||||
* 票据管理:开票/收票登记、开票申请,票据类型根据单据发布应用决定票据类型过滤、默认票据类型
|
||||
*/
|
||||
public class CdmBillTypeFilterListPlugin extends AbstractListPlugin implements Plugin {
|
||||
private static final String XZY_NUM = "CDMT-8D5DCE08";//票据类型:信用证编码
|
||||
private static final String GYL_NUM = "CDMT-25826125";//票据类型:供应链金融编码
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
QFilter filter = null;
|
||||
if ("kdsz_lcm".equals(appId)){
|
||||
filter = new QFilter("draftbilltype.number", QCP.equals, XZY_NUM);
|
||||
} else if ("kdsz_scmf".equals(appId)) {
|
||||
filter = new QFilter("draftbilltype.number", QCP.equals, GYL_NUM);
|
||||
} else if ("cdm".equals(appId)) {
|
||||
filter = new QFilter("draftbilltype.number", QCP.not_equals, GYL_NUM)
|
||||
.and("draftbilltype.number", QCP.not_equals, XZY_NUM);
|
||||
}
|
||||
if (filter != null){
|
||||
e.getQFilters().add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form.cfm;
|
||||
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.events.SetFilterEvent;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
/**
|
||||
* 用信管理—银行借款下涉及融资品种的进行非银保理过滤
|
||||
*/
|
||||
public class BankLoanFilterListPlugin extends AbstractListPlugin implements Plugin {
|
||||
private static final String FYBL_NUM= "RZPZ-031";//非银保理编码
|
||||
|
||||
@Override
|
||||
public void setFilter(SetFilterEvent e) {
|
||||
super.setFilter(e);
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
String formId = showParameter.getFormId();
|
||||
String financingKey = "";//融资品种过滤key
|
||||
if ("cfm_rateadjustbill".equals(formId)){
|
||||
financingKey = "loancontractbill.finproduct.number";
|
||||
}else {
|
||||
financingKey = "finproduct.number";
|
||||
}
|
||||
QFilter filter = null;
|
||||
//非银保理管理
|
||||
if ("kdsz_factoringm".equals(appId)){
|
||||
filter = new QFilter(financingKey, QCP.equals, FYBL_NUM);
|
||||
} else if ("cfm".equals(appId)) {
|
||||
filter = new QFilter(financingKey, QCP.not_equals, FYBL_NUM);
|
||||
}
|
||||
if (filter != null){
|
||||
e.getQFilters().add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form.cfm;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.form.FormShowParameter;
|
||||
import kd.bos.form.field.BasedataEdit;
|
||||
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.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* 用信申请表单插件(控制融资品种、债权人类型)
|
||||
*/
|
||||
public class BankLoanFinancingBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
|
||||
private static final String FYBL_NUM= "RZPZ-031";//非银保理编码
|
||||
@Override
|
||||
public void afterCreateNewData(EventObject e) {
|
||||
super.afterCreateNewData(e);
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
QFilter filter = null;
|
||||
//非银保理管理
|
||||
if ("kdsz_factoringm".equals(appId)){
|
||||
filter = new QFilter("number", QCP.not_equals, FYBL_NUM).and("enable", QCP.equals, "1");
|
||||
DynamicObject fybl = BusinessDataServiceHelper.loadSingle("cfm_financingvarieties", "id", new QFilter[]{filter});
|
||||
if (fybl != null) {
|
||||
this.getModel().setValue("finproduct", fybl);
|
||||
}else {
|
||||
this.getView().showMessage("编码为:"+ FYBL_NUM +"且状态为:可用的融资品种不存在");
|
||||
}
|
||||
this.getModel().setValue("creditortype","finorg");//债权人类型默认:非银金融机构
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerListener(EventObject e) {
|
||||
super.registerListener(e);
|
||||
// 侦听票据类型
|
||||
BasedataEdit fieldEdit = this.getView().getControl("finproduct");
|
||||
fieldEdit.addBeforeF7SelectListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||
FormShowParameter showParameter = this.getView().getFormShowParameter();
|
||||
String appId = showParameter.getAppId();
|
||||
String propertyName = beforeF7SelectEvent.getProperty().getName();
|
||||
QFilter filter = null;
|
||||
if ("finproduct".equals(propertyName)){
|
||||
//非银保理管理
|
||||
if ("kdsz_factoringm".equals(appId)){
|
||||
filter = new QFilter("number", QCP.equals, FYBL_NUM);
|
||||
} else if ("cfm".equals(appId)) {
|
||||
filter = new QFilter("number", QCP.not_equals, FYBL_NUM);
|
||||
}
|
||||
if (filter != null){
|
||||
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||
formShowParameter.getListFilterParameter().getQFilters().add(filter);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
package kdsz.zyf25.tmc.cfm.plugin.form;
|
||||
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
/**
|
||||
* 动态表单插件
|
||||
*/
|
||||
public class finOrgInfoFiltrationListPlugin extends AbstractFormPlugin implements Plugin {
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue