package tqq9.lc123.cloud.app.api.plugin; import kd.bos.dataentity.entity.DynamicObject; 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 PaySaveApiPlugin implements ApiSavePlugin { @Override public List> preHandleRequestData(List> reqData) { for (Map reqDatum : reqData) { BigDecimal actpayamt = (BigDecimal) reqDatum.get("actpayamt");//实付金额 HashMap paymenttype = (HashMap)reqDatum.get("paymenttype");//付款类型 if (reqDatum.get("payerbank") instanceof Map) { HashMap map = new HashMap<>(); HashMap payerbank = (HashMap) reqDatum.get("payerbank");//付款银行 String payeename = reqDatum.get("payeename").toString();//收款人名称 String payeetype = reqDatum.get("payeetype").toString();//收款人类型 DynamicObject payee = BusinessDataServiceHelper.loadSingle(payeetype, new QFilter[]{new QFilter("name", QCP.equals, payeename)}); if(payee!=null){ reqDatum.put("payee", payee.getLong("id")); } String number = payerbank.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("payerbank", map); } } } ArrayList> entries = new ArrayList>(); HashMap map = new HashMap<>(); map.put("e_payableamt", actpayamt); map.put("e_paymenttype", paymenttype); entries.add(map); reqDatum.put("entry", entries); } return ApiSavePlugin.super.preHandleRequestData(reqData); } }