lc/lc123/cloud/app/plugin/form/ap/PayBillFromApiSavePlugin.java

60 lines
2.7 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.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);
}
}
}
}