Browse Source

SRM接口
1、采购付款发票信息,增加多次报销的逻辑处理。

wanghaiwu 4 days ago
parent
commit
b7f3118e5b

+ 14 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/webapi/SRMSynPayApiPlugin.java

@@ -692,6 +692,11 @@ public class SRMSynPayApiPlugin implements Serializable {
             String serialNo = jsonData.getString("serialNo");//发票流水号
             String taxAmount = jsonData.getString("taxAmount");//税额
 
+            if(StringUtils.isEmpty(serialNo)){
+                returnMessage = "发票分录的第" + (i + 1) + "行的发票流水号不能为空";
+                return buildReturnData(code, srmBillNo, returnMessage, null, null, null);
+            }
+
             Long invoiceEntryId = DB.genLongId("er_publicreimbursebill.invoiceentry");
 
             DynamicObject entry = new DynamicObject(type);
@@ -781,6 +786,15 @@ public class SRMSynPayApiPlugin implements Serializable {
                     entry.set("poolreimburseamount", CommonHelperUtils.getBigDecimal(invoiceObj.getBigDecimal("totalAmount")));//本次报销金额
                     entry.set("transportnote", "0");//运输票据
 
+                    entry.set("ismutilreimburse", true);//多次报销
+                    QFilter qFilterSerialNo = new QFilter("serialno", QCP.equals, serialNo);
+                    DynamicObject billingPool = BusinessDataServiceHelper.loadSingle("er_billingpool", qFilterSerialNo.toArray());
+                    if(billingPool != null){
+                        entry.set("billingpoolid", billingPool.getLong("id"));//账单id
+                        entry.set("oribalanceamount", billingPool.getBigDecimal("oribalanceamount"));//可用余额
+                    }
+
+
                     String invoiceGoodsName = "";
 
                     List<String> invoiceGoodsCode = new ArrayList<>();