提交内容:账户管理优化功能代码

时间:2025-09-01 10:58
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-09-01 10:58:49 +08:00
parent d15a64781e
commit 686df0fcaf
2 changed files with 103 additions and 7 deletions

View File

@ -16,6 +16,7 @@ import kd.tmc.am.common.errorcode.ErrorCodeUtils;
import kd.tmc.am.common.exception.AmException;
import java.util.ArrayList;
import java.util.EventObject;
/**
* 开户申请单据插件
@ -23,6 +24,14 @@ import java.util.ArrayList;
public class AccountApplicationBillPlugin extends AbstractBillPlugIn implements Plugin {
private static final Log logger = LogFactory.getLog(AccountApplicationBillPlugin.class);
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
logger.info("afterBindData");
this.getView().setVisible(true, "fs_manageinfo");
this.getView().setEnable(true, "fs_manageinfo");
}
@Override
public void propertyChanged(PropertyChangedArgs args) {
super.propertyChanged(args);

View File

@ -1,21 +1,30 @@
package shkd.sys.sys.plugin.form;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.tmc.am.common.errorcode.ErrorCodeUtils;
import kd.tmc.am.common.exception.AmException;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
/**
* 银行账户界面插件
*/
public class AccountbanksFormPlugin extends AbstractFormPlugin {
private static final Log logger = LogFactory.getLog(AccountbanksFormPlugin.class);
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
String propName = e.getProperty().getName();
if (name.equals("acctstyle")){
if (propName.equals("acctstyle")){
String newValue = (String) e.getChangeSet()[0].getNewValue();
switch (newValue) {
case "basic"://基本存款账户
@ -50,7 +59,7 @@ public class AccountbanksFormPlugin extends AbstractFormPlugin {
break;
}
}
if (name.equals("acctproperty")){
if (propName.equals("acctproperty")){
DynamicObject newValue = (DynamicObject) e.getChangeSet()[0].getNewValue();
String acctstyle = (String) this.getView().getModel().getValue("acctstyle");
switch (acctstyle) {
@ -85,6 +94,84 @@ public class AccountbanksFormPlugin extends AbstractFormPlugin {
break;
}
}
if ("bank".equals(propName) || "openorg".equals(propName) || "issetbankinterface".equals(propName)) {
try {
DynamicObject dataEntity = this.getModel().getDataEntity(true);
boolean issetbankinterface = dataEntity.getBoolean("issetbankinterface");
if (!issetbankinterface) {
return;
}
// 开户公司
DynamicObject openorg = dataEntity.getDynamicObject("openorg");
// 开户行
DynamicObject bank = dataEntity.getDynamicObject("bank");
logger.info("获取开户行信息:{}", bank);
if (openorg == null || bank == null) {
logger.info("开发的前置条件不满足,无需触发逻辑");
return;
}
// 查询银企接口下拉列表赋值情况
// EBGetLoginListResult loginListResult = BankServiceHelper.getLoginListResult(this.getModel().getDataEntity());
// Map<String, String> bankVersionMap = loginListResult.getLoginMap();
// logger.info("获取银行版本列表成功:{}", bankVersionMap);
// ArrayList<ComboItem> bankVersionItems = new ArrayList<>(bankVersionMap.size());
// bankVersionMap.forEach((key, value) ->
// bankVersionItems.add(
// new ComboItem(new LocaleString(value + " " + key), key)
// )
// );
// 获取开户公司
Long openorg_id = (Long)openorg.getPkValue();
logger.info("获取开户公司ID{}", openorg_id);
// 银行类型
DynamicObject bank_cate = bank.getDynamicObject("bank_cate");
String bank_cate_name = bank_cate.getString("name");
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("shkd_bankorg",
"id,billno,shkd_name,shkd_hforg,shkd_frontendprotype",
new QFilter("billno", QCP.not_equals, "").toArray());
// 前置机类型
String qzjlx = "";
for (DynamicObject dynamicObject : dynamicObjects) {
// 获取多选基础资料业务单元推送组织
ArrayList<Long> orgArray = new ArrayList<>();
DynamicObjectCollection orgArr = dynamicObject.getDynamicObjectCollection("shkd_hforg");
for (DynamicObject orgData : orgArr) {
orgArray.add(orgData.getLong("fbasedataid_Id"));
}
if (orgArray.contains(openorg_id)) {
qzjlx = dynamicObject.getString("shkd_frontendprotype");
break;
}
}
String configureAliases = qzjlx + "_" + bank_cate_name;
logger.info("获取前置机类型_银行类型{}", configureAliases);
DynamicObject[] aqap_bank_logins = BusinessDataServiceHelper.load("aqap_bank_login", "id,number,name,alias", new QFilter("alias", QCP.equals, configureAliases).toArray());
if (aqap_bank_logins.length > 0) {
DynamicObject aqap_bank_login = aqap_bank_logins[0];
this.getModel().setValue("bankinterface", aqap_bank_login.getString("number"));
} else {
this.getModel().setValue("bankinterface", "");
}
} catch (Exception exception) {
throw new AmException(ErrorCodeUtils.create("errorCode", exception.getMessage()));
}
}
}
}