diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java index 4ab51b2..dabe1d5 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java @@ -30,6 +30,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; +import static shjh.jhzj7.fi.fi.utils.SapUtils.getAsstacttypeMap; import static shjh.jhzj7.fi.fi.utils.SapUtils.sap_accounVoucher; /** @@ -94,13 +95,7 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl //抬头 JSONObject isHeader = getIS_HEADER(bill); //组装核算维度map - Map sapMap = new HashMap<>(); - QFilter filter1 = new QFilter("enable", QCP.equals, "1"); - QFilter filter2 = new QFilter("shjh_sap", QCP.not_equals, ""); - DynamicObject[] bdAsstacttypes = BusinessDataServiceHelper.load("bd_asstacttype", "id,shjh_sap,enable,flexfield", new QFilter[]{filter1, filter2}); - for (DynamicObject bdAsstacttype : bdAsstacttypes) { - sapMap.put(bdAsstacttype.getString("flexfield"), bdAsstacttype.getString("shjh_sap")); - } + Map sapMap = getAsstacttypeMap(); // 时间问题代码未优化提取公共方法 // 前提:若无凭证,校验 // 票: diff --git a/main/java/shjh/jhzj7/fi/fi/utils/SapUtils.java b/main/java/shjh/jhzj7/fi/fi/utils/SapUtils.java index cc9c21a..854363a 100644 --- a/main/java/shjh/jhzj7/fi/fi/utils/SapUtils.java +++ b/main/java/shjh/jhzj7/fi/fi/utils/SapUtils.java @@ -2,8 +2,12 @@ package shjh.jhzj7.fi.fi.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import kd.bos.dataentity.entity.DynamicObject; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; @@ -666,4 +670,19 @@ public class SapUtils { } return null; } + + /** + * 获取核算维度map(SAP) + */ + public static Map getAsstacttypeMap(){ + //组装核算维度map + Map sapMap = new HashMap<>(); + QFilter filter1 = new QFilter("enable", QCP.equals, "1"); + QFilter filter2 = new QFilter("shjh_sap", QCP.not_equals, ""); + DynamicObject[] bdAsstacttypes = BusinessDataServiceHelper.load("bd_asstacttype", "id,shjh_sap,enable,flexfield", new QFilter[]{filter1, filter2}); + for (DynamicObject bdAsstacttype : bdAsstacttypes) { + sapMap.put(bdAsstacttype.getString("flexfield"), bdAsstacttype.getString("shjh_sap")); + } + return sapMap; + } }