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