lc/lc123/cloud/app/api/plugin/RecBillSavePlugin.java

58 lines
2.7 KiB
Java
Raw Normal View History

package tqq9.lc123.cloud.app.api.plugin;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.form.plugin.AbstractFormPlugin;
import kd.bos.openapi.api.plugin.ApiSavePlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 动态表单插件
*/
public class RecBillSavePlugin extends AbstractFormPlugin implements ApiSavePlugin {
@Override
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
for (Map<String, Object> reqDatum : reqData) {
String tqq9_salorder = (String) reqDatum.get("tqq9_salorder");//销售订单
BigDecimal actrecamt = (BigDecimal) reqDatum.get("actrecamt");//收款金额
HashMap receivingtype = (HashMap)reqDatum.get("receivingtype");//收款类型
if (reqDatum.get("payeebank") instanceof Map) {
HashMap<String, Object> map = new HashMap<>();
HashMap payeebank = (HashMap) reqDatum.get("payeebank");//收款银行
String payername = reqDatum.get("payername").toString();//付款人名称
String payertype = reqDatum.get("payertype").toString();//付款人类型
DynamicObject payer = BusinessDataServiceHelper.loadSingle(payertype, new QFilter[]{new QFilter("name", QCP.equals, payername)});
if(payer!=null){
reqDatum.put("payer", payer.getLong("id"));
}
String number = payeebank.get("number").toString();
DynamicObject bd_bebank = BusinessDataServiceHelper.loadSingle("bd_bebank", new QFilter[]{new QFilter("number", QCP.equals, number)});
if (bd_bebank != null) {
DynamicObject bd_finorginfo = BusinessDataServiceHelper.loadSingle("bd_finorginfo", new QFilter[]{new QFilter("bebank", QCP.equals, bd_bebank.getLong("id"))});
if (bd_finorginfo != null) {
map.put("number", bd_finorginfo.getString("number"));
reqDatum.put("payeebank", map);
}
}
}
ArrayList<HashMap<String, Object>> entries = new ArrayList<HashMap<String, Object>>();
HashMap<String, Object> map=new HashMap<>();
map.put("tqq9_salorder", tqq9_salorder);
map.put("e_receivableamt", actrecamt);
entries.add(map);
reqDatum.put("entry",entries);
map.put("e_receivingtype", receivingtype);
}
return ApiSavePlugin.super.preHandleRequestData(reqData);
}
}