parent
3162c8d934
commit
582c19fd76
|
@ -0,0 +1,145 @@
|
||||||
|
package shkd.sys.sys.plugin.list;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.entity.datamodel.ListSelectedRow;
|
||||||
|
import kd.bos.entity.datamodel.ListSelectedRowCollection;
|
||||||
|
import kd.bos.form.control.events.ItemClickEvent;
|
||||||
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||||
|
import kd.bos.list.BillList;
|
||||||
|
import kd.bos.list.plugin.AbstractListPlugin;
|
||||||
|
import kd.bos.logging.Log;
|
||||||
|
import kd.bos.logging.LogFactory;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
import kd.bos.util.CollectionUtils;
|
||||||
|
import kd.bos.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class AccountbankListPlugin extends AbstractListPlugin {
|
||||||
|
|
||||||
|
private static final Log logger = LogFactory.getLog(AccountbankListPlugin.class);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void itemClick(ItemClickEvent evt) {
|
||||||
|
super.itemClick(evt);
|
||||||
|
String itemKey = evt.getItemKey();
|
||||||
|
if ("shkd_lishiref".equals(itemKey)){
|
||||||
|
// 获取勾选的单据ID
|
||||||
|
BillList billList = (BillList)this.getControl("billlistap");
|
||||||
|
ListSelectedRowCollection selectedRows = billList.getSelectedRows();
|
||||||
|
List<Long> setIds = new ArrayList<>();
|
||||||
|
if (CollectionUtils.isNotEmpty(selectedRows)) {
|
||||||
|
if (selectedRows.size()>1000){
|
||||||
|
this.getView().showSuccessNotification("选择数据不能超过1000行");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (ListSelectedRow selectedRow : selectedRows) {
|
||||||
|
setIds.add(toLong(selectedRow.getPrimaryKeyValue()));
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
this.getView().showSuccessNotification("请选择数据");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Long setId : setIds) {
|
||||||
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(setId, "bd_accountbanks");
|
||||||
|
try {
|
||||||
|
String uniformsocialcreditcode = dynamicObject.getString("openorg.uniformsocialcreditcode");//信用代码
|
||||||
|
String finorgtype = dynamicObject.getString("finorgtype");//金融机构类别
|
||||||
|
DynamicObject bank_org = dynamicObject.getDynamicObject("bank.org");//开户行
|
||||||
|
String bank_number = dynamicObject.getString("bank.number");//开户行
|
||||||
|
String bank_name = dynamicObject.getString("bank.name");//开户行
|
||||||
|
String bank_bd_country_name = dynamicObject.getString("bank.country.name");//开户行
|
||||||
|
String bank_parent_name = dynamicObject.getString("bank.parent.name");//开户行
|
||||||
|
String acctstyle = dynamicObject.getString("acctstyle");//账户类型
|
||||||
|
String acctproperty_name = dynamicObject.getString("acctproperty.name");//账户用途
|
||||||
|
Date shkd_direct_time1 = dynamicObject.getDate("shkd_direct_time1");//开通银企直联时间
|
||||||
|
boolean issetbankinterface = dynamicObject.getBoolean("issetbankinterface");//开通银企直联时间
|
||||||
|
|
||||||
|
dynamicObject.set("shkd_openunitcode",uniformsocialcreditcode);//开户单位编码
|
||||||
|
if ("3".equals(finorgtype)&&bank_org!=null){
|
||||||
|
dynamicObject.set("shkd_subcompany","T01");//是否为内部单位账户
|
||||||
|
}else {
|
||||||
|
dynamicObject.set("shkd_subcompany","T00");//是否为内部单位账户
|
||||||
|
}
|
||||||
|
dynamicObject.set("shkd_bankcodenumber",bank_number);//开户机构联行号
|
||||||
|
dynamicObject.set("shkd_country",bank_bd_country_name);//开户银行所在国所在地区
|
||||||
|
if ("0".equals(finorgtype)){
|
||||||
|
dynamicObject.set("shkd_bank_head_office",bank_parent_name);//开户银行总行
|
||||||
|
}else {
|
||||||
|
dynamicObject.set("shkd_bank_head_office",bank_name);//开户银行总行
|
||||||
|
}
|
||||||
|
switch (acctstyle) {
|
||||||
|
case "basic"://基本存款账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D01");//账户用途
|
||||||
|
break;
|
||||||
|
case "normal"://一般存款账户
|
||||||
|
if ("保证金".equals(acctproperty_name)){
|
||||||
|
dynamicObject.set("shkd_accounttype","D06");//账户用途
|
||||||
|
}else {
|
||||||
|
dynamicObject.set("shkd_accounttype","D02");//账户用途
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "temp"://临时存款账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D04");//账户用途
|
||||||
|
break;
|
||||||
|
case "spcl"://专用存款账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D03");//账户用途
|
||||||
|
break;
|
||||||
|
case "fgn_curr"://经常项目外汇账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D05");//账户用途
|
||||||
|
break;
|
||||||
|
case "fng_fin"://资本项目外汇账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D05");//账户用途
|
||||||
|
break;
|
||||||
|
case "non-settlement"://非结算账户
|
||||||
|
dynamicObject.set("shkd_accounttype","D05");//账户用途
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dynamicObject.set("shkd_accounttype","D05");//账户用途
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (issetbankinterface&&shkd_direct_time1==null){
|
||||||
|
dynamicObject.set("shkd_direct_time1",dynamicObject.getDate("opendate"));//账户用途
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.info("银行账号"+dynamicObject.getString("bankaccountnumber")+"赋值失败原因:"+e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
||||||
|
super.beforeDoOperation(args);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Long toLong(Object o) {
|
||||||
|
if (o == null) {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
String s = String.valueOf(o);
|
||||||
|
if (StringUtils.isEmpty(s)) {
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
int index = s.indexOf(".");
|
||||||
|
index = index > -1 ? index : s.length();
|
||||||
|
return Long.parseLong(s.substring(0, index));
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
logger.error("数字转化错误", e);
|
||||||
|
}
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue