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); + } + } } } }