提交内容:抵质押物分录点击债权人弹出对应债权人类型基础资料

时间:2025-11-05 14:41
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-11-05 14:41:39 +08:00
parent 05909e6242
commit e92e41bf08
1 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,86 @@
package shkd.sys.sys.plugin.form;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.resource.ResManager;
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.tmc.cfm.common.helper.CfmBillCommonHelper;
import kd.tmc.cfm.formplugin.bill.AbstractMultCateTextF7Plugin;
import kd.tmc.fbp.common.enums.BankAcctStatusEnum;
import kd.tmc.fbp.common.helper.TmcAccountHelper;
import kd.tmc.fbp.common.util.EmptyUtil;
/**
* @Description 抵质押物分录点击债权人弹出对应债权人类型基础资料
* @Author Tao
* @Date 2025/10/22
*/
public class DzywBillPlugin extends AbstractMultCateTextF7Plugin implements BeforeF7SelectListener {
@Override
protected String getTypePropName() {
return "shkd_zqrlx";
}
@Override
protected String getTextPropName() {
return "shkd_zqr";
}
@Override
protected String getIdPropName() {
return "shkd_zqrid";
}
@Override
public void beforeF7Select(BeforeF7SelectEvent evt) {
switch (evt.getProperty().getName()) {
case "loaneracctbank":
this.creditorBankAcctF7Evt(evt);
break;
case "accountbank":
this.debtorBankAcctF7Evt(evt);
}
}
private void creditorBankAcctF7Evt(BeforeF7SelectEvent evt) {
this.bankAcctF7Evt(evt, "creditorg");
}
private void debtorBankAcctF7Evt(BeforeF7SelectEvent evt) {
this.bankAcctF7Evt(evt, "org");
}
private void bankAcctF7Evt(BeforeF7SelectEvent evt, String orgProp) {
if (this.isCurrencyInputYet(evt)) {
DynamicObject fundOrg = (DynamicObject)this.getModel().getValue(orgProp);
if (EmptyUtil.isEmpty(fundOrg)) {
evt.setCancel(true);
this.getView().showTipNotification(String.format(ResManager.loadKDString("请先选择%s。", "ContractCreditorDebtorEdit_3", "tmc-cfm-formplugin", new Object[0]), CfmBillCommonHelper.getPropLocalDisplayName(this.getView(), orgProp)));
} else {
QFilter qFilter = this.getBankAcctFilter(fundOrg);
ListShowParameter sp = (ListShowParameter)evt.getFormShowParameter();
sp.setUseOrgId((Long)fundOrg.getPkValue());
sp.setIsolationOrg(true);
sp.getListFilterParameter().setFilter(qFilter);
}
}
}
private boolean isCurrencyInputYet(BeforeF7SelectEvent evt) {
DynamicObject currency = (DynamicObject)this.getModel().getValue("currency");
if (EmptyUtil.isEmpty(currency)) {
evt.setCancel(true);
this.getView().showTipNotification(String.format(ResManager.loadKDString("请先选择%s。", "ContractCreditorDebtorEdit_3", "tmc-cfm-formplugin", new Object[0]), CfmBillCommonHelper.getPropLocalDisplayName(this.getView(), "currency")));
return false;
} else {
return true;
}
}
private QFilter getBankAcctFilter(DynamicObject fundOrg) {
long orgId = fundOrg == null ? 0L : Long.parseLong(fundOrg.getPkValue().toString());
return TmcAccountHelper.getAccountBankFilterByOrg(orgId).and("acctstatus", "=", BankAcctStatusEnum.NORMAL.getValue()).and(new QFilter("acctclassify", "!=", "I"));
}
}