64 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Java
		
	
	
	
package tqq9.lc123.cloud.app.plugin.form.ap;
 | 
						|
 | 
						|
import com.alibaba.nacos.common.utils.StringUtils;
 | 
						|
import kd.bos.dataentity.entity.DynamicObject;
 | 
						|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
 | 
						|
import kd.bos.entity.plugin.PreparePropertysEventArgs;
 | 
						|
import kd.bos.entity.plugin.args.BeforeOperationArgs;
 | 
						|
import kd.bos.orm.query.QCP;
 | 
						|
import kd.bos.orm.query.QFilter;
 | 
						|
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
						|
import kd.sdk.plugin.Plugin;
 | 
						|
 | 
						|
/**
 | 
						|
 * 处理api接收付款处理中 收款方:收款行号、收款人户名缺失问题
 | 
						|
 */
 | 
						|
public class PayBillFromApiSavePlugin extends AbstractOperationServicePlugIn implements Plugin {
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void onPreparePropertys(PreparePropertysEventArgs e) {
 | 
						|
        super.onPreparePropertys(e);
 | 
						|
        e.getFieldKeys().add("tqq9_srcbillno");
 | 
						|
        e.getFieldKeys().add("tqq9_srcsystem");
 | 
						|
        e.getFieldKeys().add("recaccbankname");
 | 
						|
        e.getFieldKeys().add("payeename");
 | 
						|
        e.getFieldKeys().add("payeebank");
 | 
						|
        e.getFieldKeys().add("recbanknumber");
 | 
						|
        e.getFieldKeys().add("recprovince");
 | 
						|
        e.getFieldKeys().add("reccity");
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
 | 
						|
        super.beforeExecuteOperationTransaction(e);
 | 
						|
        DynamicObject[] bills = e.getDataEntities();
 | 
						|
        for (DynamicObject bill : bills) {
 | 
						|
            String srcBillNo = bill.getString("tqq9_srcbillno");
 | 
						|
            String srcSysName = bill.getString("tqq9_srcsystem");
 | 
						|
            if (StringUtils.isBlank(srcSysName) || StringUtils.isBlank(srcBillNo)){
 | 
						|
                continue;
 | 
						|
            }
 | 
						|
            String recAccBankName = bill.getString("recaccbankname");//收款人户名(收款人实名)
 | 
						|
            String payeeName = bill.getString("payeename");//收款人名称
 | 
						|
            if(StringUtils.isBlank(recAccBankName) && StringUtils.isNotBlank(payeeName)){
 | 
						|
                bill.set("recaccbankname", payeeName);
 | 
						|
            }
 | 
						|
            DynamicObject payeeBank = bill.getDynamicObject("payeebank");//收款银行
 | 
						|
            payeeBank = BusinessDataServiceHelper.loadSingle("bd_bebank", new QFilter[]{new QFilter("number", QCP.equals, payeeBank.getString("number"))});
 | 
						|
            String recBankNumber = bill.getString("recbanknumber");//收款行号
 | 
						|
            if(payeeBank != null && StringUtils.isBlank(recBankNumber)){
 | 
						|
                bill.set("recbanknumber", payeeBank.getString("number"));
 | 
						|
            }
 | 
						|
            String provinceTxt = payeeBank.getString("provincetxt");//省份(银企)
 | 
						|
            String cityTxt = payeeBank.getString("citytxt");//城市(银企)
 | 
						|
            String recProvince = bill.getString("recprovince");
 | 
						|
            String recCity = bill.getString("reccity");
 | 
						|
            if (StringUtils.isBlank(recProvince) && StringUtils.isNotBlank(provinceTxt)){
 | 
						|
                bill.set("recprovince", provinceTxt);
 | 
						|
            }
 | 
						|
            if (StringUtils.isBlank(recCity) && StringUtils.isNotBlank(cityTxt)){
 | 
						|
                bill.set("reccity", cityTxt);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |