diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/PayBillApiSavePlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/PayBillApiSavePlugin.java index 976e223..c73829c 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/PayBillApiSavePlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/PayBillApiSavePlugin.java @@ -17,6 +17,7 @@ import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,7 +34,7 @@ public class PayBillApiSavePlugin implements ApiSavePlugin, ApiSerializerPlugin @Override public List> preHandleRequestData(List> reqData) { - logger.info("接口调用接口参数:{}", reqData); + logger.info("接口调用接口参数:{}\n数据长度:{}", reqData, reqData.size()); //付款处理 → 收款人ID payee → 付款银行.编码 payerbank_number payeetype 收款人类型 → payeenumber 收款人编码 //payeracctbank_number 付款银行账号.number @@ -47,7 +48,7 @@ public class PayBillApiSavePlugin implements ApiSavePlugin, ApiSerializerPlugin String objectNumber;//对象编码(收/付人编码) String fieldName1;//字段名称(收/付人ID) - String bankNumber;//(收/付款银行账号.number) + String bankNumber = null;//(收/付款银行账号.number) String fieldName2;//字段名称(收/付款银行.number) for (Map map : reqData) { @@ -55,18 +56,30 @@ public class PayBillApiSavePlugin implements ApiSavePlugin, ApiSerializerPlugin Object payertype = map.get("payertype");//如果是付款人类型 则为收款处理保存接口 if (payeetype != null) { logger.info("进入付款处理单API"); + //收款人类型 objectType = payeetype.toString(); + //收款人编码 objectNumber = map.get("payeenumber").toString(); + //收款人ID fieldName1 = "payee"; - bankNumber = map.get("payeracctbank_number").toString(); - fieldName2 = "payerbank_number"; + + Object payeebankObj = map.get("payeebank"); + Map payeebankMap = (Map) payeebankObj; + bankNumber = (String) payeebankMap.get("number"); + + + fieldName2 = "payerbank"; DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(objectType, "id", new QFilter("billno", QCP.equals, objectNumber).toArray()); logger.info("objectType:{},objectNumber:{}", objectType, objectNumber); DynamicObject amAccountbank = BusinessDataServiceHelper.loadSingle("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray()); logger.info("amAccountbank:{}", amAccountbank); map.put(fieldName1, dynamicObject.getString("id")); - map.put(fieldName2, amAccountbank.getDynamicObject("bank").getString("number")); + + + Map payerbank = new HashMap<>(); + payerbank.put("number", amAccountbank.getDynamicObject("bank").getString("number")); + map.put(fieldName2, payerbank); } if (payertype != null) { @@ -74,14 +87,21 @@ public class PayBillApiSavePlugin implements ApiSavePlugin, ApiSerializerPlugin objectNumber = map.get("payernumber").toString(); fieldName1 = "payer"; - bankNumber = map.get("accountbank_number").toString(); - fieldName2 = "payeebank_number"; + + Object accountbank = map.get("accountbank"); + Map accountbankMap = (Map) accountbank; + bankNumber = (String) accountbankMap.get("number"); + + fieldName2 = "payeebank"; DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(objectType, "id", new QFilter("billno", QCP.equals, objectNumber).toArray()); logger.info("objectType:{},objectNumber:{}", objectType, objectNumber); DynamicObject amAccountbank = BusinessDataServiceHelper.loadSingle("am_accountbank", "id,bank,bank.number", new QFilter("number", QCP.equals, bankNumber).toArray()); logger.info("amAccountbank:{}", amAccountbank); map.put(fieldName1, dynamicObject.getString("id")); - map.put(fieldName2, amAccountbank.getDynamicObject("bank").getString("number")); + + Map payeebank = new HashMap<>(); + payeebank.put("number", amAccountbank.getDynamicObject("bank").getString("number")); + map.put(fieldName2, payeebank); } shkd_businessid = map.get("shkd_businessid").toString(); shkd_businessnumber = map.get("shkd_businessnumber").toString();