From 81c21032eb3c2c25f2e3ef260708da772305bc4b Mon Sep 17 00:00:00 2001 From: Tao Date: Tue, 2 Dec 2025 15:18:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A?= =?UTF-8?q?=E9=82=B9=E6=B1=9F=E6=B6=9B=20=E6=97=B6=E9=97=B4=EF=BC=9A2025-1?= =?UTF-8?q?1-24=2016=EF=BC=9A52=20=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9?= =?UTF-8?q?=EF=BC=9A=E4=BC=9A=E8=AE=A1=E7=A7=91=E7=9B=AEAPI=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/api/KjkmApiSavePlugin.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java new file mode 100644 index 0000000..cb43c26 --- /dev/null +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java @@ -0,0 +1,33 @@ +package shkd.sys.sys.plugin.api; + +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; +import kd.bos.openapi.api.plugin.ApiSavePlugin; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +public class KjkmApiSavePlugin implements Serializable, ApiSavePlugin { + private static final long serialVersionUID = -5789692225841588799L; + private static final Log logger = LogFactory.getLog(RyApiSavePlugin.class); + /** + * 人员API保存插件 + */ + @Override + public List> preHandleRequestData(List> reqData) { + logger.info("API起始推送数据 → 会计科目 → " + reqData); + for (Map oneLevel : reqData) { + Map parent = (Map) oneLevel.get("parent");//浪潮部门 + Object shkdLcid = parent.get("shkd_lcid"); + if (shkdLcid != null) { + String shkdLcidString = shkdLcid.toString(); + if ("".equals(shkdLcidString)) { + oneLevel.remove("parent"); + } + } + } + logger.info("API最终推送数据 → 会计科目 → " + reqData); + return reqData; + } +} From 8dc203106f9c0646f184ad0592c5a9bb7f8c96aa Mon Sep 17 00:00:00 2001 From: Tao Date: Tue, 2 Dec 2025 17:50:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A?= =?UTF-8?q?=E9=82=B9=E6=B1=9F=E6=B6=9B=20=E6=97=B6=E9=97=B4=EF=BC=9A2025-1?= =?UTF-8?q?1-24=2016=EF=BC=9A52=20=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9?= =?UTF-8?q?=EF=BC=9A=E4=BC=9A=E8=AE=A1=E7=A7=91=E7=9B=AEAPI=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/sys/plugin/api/KjkmApiSavePlugin.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java index cb43c26..1b68f0b 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/KjkmApiSavePlugin.java @@ -1,10 +1,15 @@ package shkd.sys.sys.plugin.api; +import kd.bos.dataentity.entity.DynamicObject; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.openapi.api.plugin.ApiSavePlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; import java.io.Serializable; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -19,11 +24,20 @@ public class KjkmApiSavePlugin implements Serializable, ApiSavePlugin { logger.info("API起始推送数据 → 会计科目 → " + reqData); for (Map oneLevel : reqData) { Map parent = (Map) oneLevel.get("parent");//浪潮部门 - Object shkdLcid = parent.get("shkd_lcid"); - if (shkdLcid != null) { - String shkdLcidString = shkdLcid.toString(); - if ("".equals(shkdLcidString)) { - oneLevel.remove("parent"); + if (parent != null) { + Object shkdLcid = parent.get("shkd_lcid"); + if (shkdLcid != null) { + String shkdLcidString = shkdLcid.toString(); + if ("".equals(shkdLcidString)) { + oneLevel.remove("parent"); + } else { + DynamicObject[] bdAccountviews = BusinessDataServiceHelper.load("bd_accountview", "id,number,name,shkd_lcid", new QFilter("shkd_lcid", QCP.equals, shkdLcidString).toArray()); + if (bdAccountviews.length == 1) { + Map parentObj = new HashMap<>(); + parentObj.put("number", bdAccountviews[0].get("number")); + oneLevel.put("parent", parentObj); + } + } } } }