瀏覽代碼

凭证同步 现金流量 重写

wangjun 1 月之前
父節點
當前提交
d8040dd8be

+ 11 - 3
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/mservice/impl/SynSapFIServiceImpl.java

@@ -53,6 +53,17 @@ public class SynSapFIServiceImpl implements SynSapService {
             //现金流量项目编码 不在现金科目行上,需要单独处理下
             String maincfitemNumber = "";
             String voucherInfo = "";
+            /**
+             * 先循环凭证,取出现金流量项目编码,因为不知道他在哪一行,所以先循环凭证表头,取现金流量项目编码
+             * SAP 现金流量项目编码 在现金科目行上,苍穹的不在
+             */
+            for (DynamicObject voucherRow : voucherDyns) {
+                Map<String, String> auxpropertiesMap = SyncSapFIUtils.getAssGrp(voucherRow);
+
+                if (StringUtils.isNotEmpty(auxpropertiesMap.get("maincfitemNumber"))) {
+                    maincfitemNumber = auxpropertiesMap.get("maincfitemNumber");
+                }
+            }
 
             //voucherDyns 凭证表头与分录平铺
             for (DynamicObject voucherRow : voucherDyns) {
@@ -62,9 +73,6 @@ public class SynSapFIServiceImpl implements SynSapService {
                 voucherInfo = companyCode + "|" + voucherRow.getString("vouchertype.name") + "|" + voucherRow.getString("billno");
                 Map<String, String> auxpropertiesMap = SyncSapFIUtils.getAssGrp(voucherRow);
 
-                if (StringUtils.isNotEmpty(auxpropertiesMap.get("maincfitemNumber"))) {
-                    maincfitemNumber = auxpropertiesMap.get("maincfitemNumber");
-                }
                 ////处理凭证表头
                 HEADERITEMINFO = SyncSapFIUtils.convertCosmicVoucherToSAPForHead(voucherRow);
                 JSONObject entry = SyncSapFIUtils.convertCosmicVoucherToSAPForEntry(voucherRow, maincfitemNumber, auxpropertiesMap);