|
|
@@ -368,6 +368,7 @@ public class NonPoServerImpl implements NonPoServer {
|
|
|
sapJson.put("ZINVOICE_AMT", dataForm.get("numberField_mejfoook_value").equals("") ? "0" : dataForm.get("numberField_mejfoook_value"));//发票总额
|
|
|
}
|
|
|
|
|
|
+
|
|
|
sapJson.put("BANKA", dataForm.get("textField_mejfoon9")); //开户行
|
|
|
sapJson.put("BLDAT", CusutUtil.getFormatDate((Long) dataForm.get("dateField_l9nsavm3"))); //凭证日期ƒ Date / 申请日期
|
|
|
String uid = "TEST-CN001";
|
|
|
@@ -491,7 +492,7 @@ public class NonPoServerImpl implements NonPoServer {
|
|
|
|
|
|
}
|
|
|
sapJson.put("ITEM", itemArray);
|
|
|
- } else if (dataForm.get("selectField_mejfoona").equals("100%清预付款") || dataForm.get("selectField_mejfoona").equals("100%清收据") ) {
|
|
|
+ } else if (dataForm.get("selectField_mejfoona").equals("100%清预付款")) {
|
|
|
String XREF1 = "";
|
|
|
String XREF2 = "";
|
|
|
/***
|
|
|
@@ -554,14 +555,77 @@ public class NonPoServerImpl implements NonPoServer {
|
|
|
itemObj.put("MWSKZ", String.valueOf(row.get("textField_l7a6bzpv")));///税码
|
|
|
itemObj.put("ZTAX_AMT", String.valueOf(row.get("numberField_memejxqp")).equals("") ? "0" : String.valueOf(row.get("numberField_memejxqp"))); //税额
|
|
|
itemObj.put("SGTXT", String.valueOf(row.get("textField_mejfoonz"))); //行项目文本
|
|
|
-
|
|
|
-
|
|
|
itemArray.put(itemObj);
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
+ sapJson.put("ITEM", itemArray);
|
|
|
+ } else if (dataForm.get("selectField_mejfoona").equals("100%清收据")) {
|
|
|
+ String XREF1 = "";
|
|
|
+ String XREF2 = "";
|
|
|
+ /***
|
|
|
+ * 获取参考代码1 2
|
|
|
+ */
|
|
|
+
|
|
|
+ List<Map<String, Object>> XREFlist = (List<Map<String, Object>>) dataForm.get("tableField_mi8q495e");
|
|
|
+
|
|
|
+ if (XREFlist != null && !XREFlist.isEmpty()) {
|
|
|
+ if (XREFlist.size() == 1) {
|
|
|
+ Map<String, Object> row = XREFlist.get(0);
|
|
|
+ XREF1 = row.get("textField_mi8q495f") != null ? row.get("textField_mi8q495f").toString() : "";
|
|
|
+ } else {
|
|
|
+ // 多于一条,按时间戳降序排序
|
|
|
+ XREFlist.sort((a, b) -> {
|
|
|
+ Long timeA = a.get("dateField_mj13wpls") instanceof Number
|
|
|
+ ? ((Number) a.get("dateField_mj13wpls")).longValue()
|
|
|
+ : 0L;
|
|
|
+ Long timeB = b.get("dateField_mj13wpls") instanceof Number
|
|
|
+ ? ((Number) b.get("dateField_mj13wpls")).longValue()
|
|
|
+ : 0L;
|
|
|
+ return Long.compare(timeB, timeA); // 降序:最新在前
|
|
|
+ });
|
|
|
+
|
|
|
+ // 取前两条
|
|
|
+ XREF1 = XREFlist.get(0).get("textField_mi8q495f") != null
|
|
|
+ ? XREFlist.get(0).get("textField_mi8q495f").toString() : "";
|
|
|
+ XREF2 = XREFlist.get(1).get("textField_mi8q495f") != null
|
|
|
+ ? XREFlist.get(1).get("textField_mi8q495f").toString() : "";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sapJson.put("BLART", "Z2");//凭证类型
|
|
|
+ JSONArray itemArray = new JSONArray();
|
|
|
+ int x = 1;//OA单据行号累计用
|
|
|
+ List<Map<String, Object>> tableFils = (List<Map<String, Object>>) dataForm.get("tableField_mi7c3wl9");
|
|
|
+ if (tableFils != null && tableFils.size() > 0) {
|
|
|
+ for (int n = 0; n < tableFils.size(); n++) {
|
|
|
+ Map<String, Object> row = new HashMap(tableFils.get(n));
|
|
|
+ JSONObject itemObj = new JSONObject();
|
|
|
+ itemObj.put("KOSTL", String.valueOf(row.get("textField_mi7c3wku"))); //成本中心
|
|
|
+ itemObj.put("DMBTR", String.valueOf(row.get("numberField_mi7c3wky_value"))); //不含税金额
|
|
|
+ itemObj.put("XREF1", XREF1);//参考码1
|
|
|
+ itemObj.put("XREF2", XREF2);//参考码2
|
|
|
+ String sjItemNo = "";
|
|
|
+ if (x < 10) {
|
|
|
+ sjItemNo += "00" + x;
|
|
|
+ } else if (x < 100) {
|
|
|
+ sjItemNo += "0" + x;
|
|
|
+ } else {
|
|
|
+ sjItemNo += x;
|
|
|
+ }
|
|
|
+ x++;
|
|
|
+ itemObj.put("ZOA_ITEMNO", sjItemNo);//OA单据行号
|
|
|
+ itemObj.put("HKONT", String.valueOf(row.get("textField_mi7c3wl5"))); //会计科目
|
|
|
+ itemObj.put("ZTAXOUT_AMT", "0");//进项税转出金额 、、、 String.valueOf(row.get("numberField_l6bx7hqk_value"))
|
|
|
+ itemObj.put("MWSKZ", "");///税码
|
|
|
+ itemObj.put("ZTAX_AMT", "0"); //税额
|
|
|
+ itemObj.put("SGTXT", String.valueOf(row.get("textField_mi7c3wkn"))); //行项目文本
|
|
|
+ itemArray.put(itemObj);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
sapJson.put("ITEM", itemArray);
|
|
|
}
|
|
|
|
|
|
@@ -601,7 +665,7 @@ public class NonPoServerImpl implements NonPoServer {
|
|
|
/**
|
|
|
* 执行勾选发票
|
|
|
*/
|
|
|
- if (dataForm.get("selectField_mejfoona").equals("发票支付") || dataForm.get("selectField_mejfoona").equals("100%清预付款") ||dataForm.get("selectField_mejfoona").equals("100%清收据")) {
|
|
|
+ if (dataForm.get("selectField_mejfoona").equals("发票支付") || dataForm.get("selectField_mejfoona").equals("100%清预付款")) {
|
|
|
FPGX(InstanceId, voucherNumber, (String) dataForm.get("textField_mi73dy3n"));
|
|
|
}
|
|
|
} else {
|