|
@@ -18,9 +18,7 @@ import kd.bos.openapi.common.result.CustomApiResult;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
-import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
-import kd.imc.bdm.common.constant.BotpCallBackLogConstant;
|
|
|
|
import nckd.base.helper.CommonHelperUtils;
|
|
import nckd.base.helper.CommonHelperUtils;
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
import java.io.Serializable;
|
|
import java.io.Serializable;
|
|
@@ -320,6 +318,10 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
bizAcctOutBill.set("expenseentryentity", expenseEntry);
|
|
bizAcctOutBill.set("expenseentryentity", expenseEntry);
|
|
|
|
|
|
//收款明细
|
|
//收款明细
|
|
|
|
+ //支付方式:默认为 银企直连
|
|
|
|
+ qFilter = new QFilter("number", QCP.equals, "BANK");
|
|
|
|
+
|
|
|
|
+ DynamicObject settleType = BusinessDataServiceHelper.loadSingle("bd_settlementtype", qFilter.toArray());
|
|
DynamicObjectCollection accountEntry = bizAcctOutBill.getDynamicObjectCollection("accountentry");
|
|
DynamicObjectCollection accountEntry = bizAcctOutBill.getDynamicObjectCollection("accountentry");
|
|
type = accountEntry.getDynamicObjectType();
|
|
type = accountEntry.getDynamicObjectType();
|
|
JSONArray bizAccountOutBillAccountEntry = inputData.getJSONArray("bizAccountOutBillAccountEntry");
|
|
JSONArray bizAccountOutBillAccountEntry = inputData.getJSONArray("bizAccountOutBillAccountEntry");
|
|
@@ -347,6 +349,9 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //供应商银行账号信息
|
|
|
|
+ DynamicObjectCollection entryBanks = supplier.getDynamicObjectCollection("entry_bank");
|
|
|
|
+
|
|
DynamicObject currency = CommonHelperUtils.queryBaseDynamicObject("bd_currency", "number", currencyType);
|
|
DynamicObject currency = CommonHelperUtils.queryBaseDynamicObject("bd_currency", "number", currencyType);
|
|
if(currency == null){
|
|
if(currency == null){
|
|
returnMessage = "币别(" + orgUnit + ")在星瀚系统中未匹配到数据!";
|
|
returnMessage = "币别(" + orgUnit + ")在星瀚系统中未匹配到数据!";
|
|
@@ -360,9 +365,24 @@ public class SRMSynPayApiPlugin implements Serializable {
|
|
BigDecimal amountOriLocal = amountOri.multiply(exchangeRate).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
BigDecimal amountOriLocal = amountOri.multiply(exchangeRate).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
DynamicObject entry = new DynamicObject(type);
|
|
DynamicObject entry = new DynamicObject(type);
|
|
|
|
+
|
|
|
|
+ entry.set("paymode", settleType);//支付方式
|
|
entry.set("payerType", "bd_supplier");//收款人类型
|
|
entry.set("payerType", "bd_supplier");//收款人类型
|
|
entry.set("supplier", supplier);//收款人
|
|
entry.set("supplier", supplier);//收款人
|
|
entry.set("payername", supplier.getString("name"));//收款人名称
|
|
entry.set("payername", supplier.getString("name"));//收款人名称
|
|
|
|
+
|
|
|
|
+ if(entryBanks.size() > 0){
|
|
|
|
+ for(DynamicObject entryBank : entryBanks){
|
|
|
|
+ if(entryBank.getBoolean("isdefault_bank")){
|
|
|
|
+ entry.set("payeraccount", entryBank.getString("payeraccount"));//银行账号
|
|
|
|
+ entry.set("payeraccountname", entryBank.getString("accountname"));//账户名称
|
|
|
|
+ entry.set("payerbank", entryBank.getDynamicObject("bank"));//开户银行
|
|
|
|
+
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
entry.set("accountcurrency", currency);//币别
|
|
entry.set("accountcurrency", currency);//币别
|
|
entry.set("orireceiveamount", amountOri);//收款金额
|
|
entry.set("orireceiveamount", amountOri);//收款金额
|
|
entry.set("receiveamount", amountOriLocal);//收款金额本位币
|
|
entry.set("receiveamount", amountOriLocal);//收款金额本位币
|