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