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.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");//收款银行 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); } } } }