|
@@ -17,6 +17,7 @@ import nckd.jimin.jyyy.fi.mservice.SynSapService;
|
|
import nckd.jimin.jyyy.fi.mservice.SyncSapFIUtils;
|
|
import nckd.jimin.jyyy.fi.mservice.SyncSapFIUtils;
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -57,7 +58,8 @@ public class SynSapFIServiceImpl implements SynSapService {
|
|
String maincfitemNumber = "";
|
|
String maincfitemNumber = "";
|
|
String projectNumber = "";
|
|
String projectNumber = "";
|
|
String voucherInfo = "";
|
|
String voucherInfo = "";
|
|
- //List<String> cashBillIDs = new ArrayList<>();
|
|
|
|
|
|
+ List<String> accuntNumberList = new ArrayList<>();
|
|
|
|
+ boolean isBankAccount = false;
|
|
/**
|
|
/**
|
|
* 先循环凭证,取出现金流量项目编码,因为不知道他在哪一行,所以先循环凭证表头,取现金流量项目编码
|
|
* 先循环凭证,取出现金流量项目编码,因为不知道他在哪一行,所以先循环凭证表头,取现金流量项目编码
|
|
* SAP 现金流量项目编码 在现金科目行上,苍穹的不在现金科目行上
|
|
* SAP 现金流量项目编码 在现金科目行上,苍穹的不在现金科目行上
|
|
@@ -71,11 +73,26 @@ public class SynSapFIServiceImpl implements SynSapService {
|
|
if (StringUtils.isNotEmpty(auxpropertiesMap.get("bd_project"))) {
|
|
if (StringUtils.isNotEmpty(auxpropertiesMap.get("bd_project"))) {
|
|
projectNumber = auxpropertiesMap.get("bd_project");
|
|
projectNumber = auxpropertiesMap.get("bd_project");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ accuntNumberList.add(voucherRow.getString("entries.account.number"));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 当借方和贷方全部都是银行科目,星瀚是不用填写现金流量项目的
|
|
|
|
+ * 此处需要增加现金流量项目编码的默认值 999
|
|
|
|
+ */
|
|
|
|
+ if (StringUtils.isEmpty(maincfitemNumber)) {
|
|
|
|
+ // 检查每个字符串的前四位字符是否都等于指定的前缀
|
|
|
|
+ long count1 = accuntNumberList.stream().filter(s -> s.startsWith("1002")).count();
|
|
|
|
+
|
|
|
|
+ if (count1 == accuntNumberList.size()) {
|
|
|
|
+ maincfitemNumber = "999";
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
//voucherDyns 凭证表头与分录平铺
|
|
//voucherDyns 凭证表头与分录平铺
|
|
for (DynamicObject voucherRow : voucherDyns) {
|
|
for (DynamicObject voucherRow : voucherDyns) {
|
|
- String billid = voucherRow.getString("id");
|
|
|
|
|
|
+ //String billid = voucherRow.getString("id");
|
|
String companyCode = voucherRow.getString("org.number");
|
|
String companyCode = voucherRow.getString("org.number");
|
|
|
|
|
|
voucherInfo = companyCode + "|" + voucherRow.getString("vouchertype.name") + "|" + voucherRow.getString("billno");
|
|
voucherInfo = companyCode + "|" + voucherRow.getString("vouchertype.name") + "|" + voucherRow.getString("billno");
|