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> preHandleRequestData(List> reqData) { for (Map 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 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> entries = new ArrayList>(); HashMap 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); } }