From e6dae28bf9a81a7e42f551d5f9c07e53e5f8e46d Mon Sep 17 00:00:00 2001 From: yuxueliang0813 <407010292@qq.com> Date: Thu, 10 Jul 2025 17:29:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=8B=89=E5=8F=96sap?= =?UTF-8?q?=E5=BA=94=E4=BB=98=E5=87=AD=E8=AF=81=E5=A2=9E=E5=8A=A0=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E5=95=86=E8=B4=A6=E6=88=B7=E7=BB=84=E7=9A=84=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=9D=A1=E4=BB=B6=EF=BC=8C=E5=89=94=E9=99=A4=E8=BF=99?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E9=80=89=E9=A1=B9=20D200=20D201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fi/fi/plugin/form/SappzFormPlugin.java | 1 + .../task/QuerySapCreatePayApplyTask.java | 23 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java b/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java index 1283756..d6b159f 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/form/SappzFormPlugin.java @@ -114,6 +114,7 @@ public class SappzFormPlugin extends AbstractFormPlugin { for (DynamicObject shjh_gyss : shjh_gys) { addFilterDumpCondition(IT_LIST, "LIFNR", shjh_gyss.getString("fbasedataid.number"), shjh_gyss.getString("fbasedataid.number")); } + DynamicObjectCollection shjhEntryentity = this.getModel().getEntryEntity("shjh_entryentity"); shjhEntryentity.clear(); //根据查询条件,调用SAP查询凭证接口,生成分录行 diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java index dc6b7f6..89bd515 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/QuerySapCreatePayApplyTask.java @@ -63,7 +63,7 @@ public class QuerySapCreatePayApplyTask extends AbstractTask { LocalDate startDate = currentDate.minusDays(daysBefore); // 计算结束日期(临期_后表示今天之后的天数) LocalDate endDate = currentDate.plusDays(daysAfter); - JSONArray IT_LIST = new JSONArray(1); + JSONArray IT_LIST = new JSONArray(3); JSONObject result;//sap应付凭证接口返回值 JSONObject sapdata;//sap应付凭证接口返回值data String formatStartDate; // 开始日期-文本 @@ -83,6 +83,8 @@ public class QuerySapCreatePayApplyTask extends AbstractTask { IT_LIST.clear();//使用之前先清空 // 添加SAP应付凭到期日过滤条件 addFilterCondition(IT_LIST, "FAEDT", formatStartDate, formatEndDate); + //供应商账户组作为筛选条件,此时需要剔除D200 D201两个选项 + removeSupplierGroupFilter(IT_LIST); record = formatStartDate+"临期第"+i+"次"+formatEndDate; logger.info(record); result = vouchers_payable(IT_LIST,record); @@ -129,6 +131,25 @@ public class QuerySapCreatePayApplyTask extends AbstractTask { } } + //增加供应商账户组的过滤条件,剔除这两个选项 D200 D201 + private void removeSupplierGroupFilter(JSONArray IT_LIST){ + JSONObject jsonObject0 = new JSONObject(); + jsonObject0.put("FIELD", "KTOKK"); // 字段名称 + jsonObject0.put("SIGN", "E"); // I:包含 E:排除 + jsonObject0.put("LOW", "D200"); // LOW ,枚举字段所代表值的区间开始值 + jsonObject0.put("HIGH", "D200"); // HIGH,枚举字段所代表值的区间结束值 + jsonObject0.put("OPTION", "EQ"); // 默认BT:单条 + IT_LIST.add(jsonObject0); + + JSONObject jsonObject1 = new JSONObject(); + jsonObject1.put("FIELD", "KTOKK"); // 字段名称 + jsonObject1.put("SIGN", "E"); // I:包含 E:排除 + jsonObject1.put("LOW", "D201"); // LOW ,枚举字段所代表值的区间开始值 + jsonObject1.put("HIGH", "D201"); // HIGH,枚举字段所代表值的区间结束值 + jsonObject1.put("OPTION", "EQ"); // 默认BT:单条 + IT_LIST.add(jsonObject1); + } + /** * 通过SAP接口查询应付凭证数据,并生成应付付款申请单 */