diff --git a/JSD-8977-配置使用文档.pdf b/JSD-8977-配置使用文档.pdf
new file mode 100644
index 0000000..f3d61c5
Binary files /dev/null and b/JSD-8977-配置使用文档.pdf differ
diff --git a/JSD-8977-需求确认书V1.docx b/JSD-8977-需求确认书V1.docx
new file mode 100644
index 0000000..fa59837
Binary files /dev/null and b/JSD-8977-需求确认书V1.docx differ
diff --git a/README.md b/README.md
index 73e1941..85d8ee2 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
# open-JSD-8977
-JSD-8977 定时调度通过决策平台目录选择对应的模板
\ No newline at end of file
+JSD-8977 定时调度通过决策平台目录选择对应的模板\
+免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\
+仅作为开发者学习参考使用!禁止用于任何商业用途!\
+为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。
\ No newline at end of file
diff --git a/lib/finekit-10.0.jar b/lib/finekit-10.0.jar
new file mode 100644
index 0000000..f4482fc
Binary files /dev/null and b/lib/finekit-10.0.jar differ
diff --git a/plugin.xml b/plugin.xml
new file mode 100644
index 0000000..4bac6ef
--- /dev/null
+++ b/plugin.xml
@@ -0,0 +1,20 @@
+
+
+ com.fr.plugin.higq.entry
+
+ yes
+ 1.1
+ 10.0
+ 2018-07-31
+ fr.open
+
+
+ com.fr.plugin.higq
+
+ com.fanruan.api
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java b/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java
new file mode 100644
index 0000000..3f60b75
--- /dev/null
+++ b/src/main/java/com/fr/plugin/higq/request/TemplatesFilter.java
@@ -0,0 +1,137 @@
+ /*
+ * Copyright (C), 2018-2021
+ * Project: starter
+ * FileName: OAuthLogin
+ * Author: Louis
+ * Date: 2021/3/30 22:09
+ */
+ package com.fr.plugin.higq.request;
+
+ import com.fanruan.api.i18n.I18nKit;
+ import com.fanruan.api.log.LogKit;
+ import com.fanruan.api.net.NetworkKit;
+ import com.fanruan.api.util.StringKit;
+ import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider;
+ import com.fr.decision.webservice.bean.entry.EntryBean;
+ import com.fr.decision.webservice.bean.entry.FileNodeBean;
+ import com.fr.decision.webservice.v10.entry.EntryService;
+ import com.fr.decision.webservice.v10.entry.ReportEntryService;
+ import com.fr.decision.webservice.v10.user.UserService;
+ import com.fr.intelli.record.Focus;
+ import com.fr.intelli.record.Original;
+ import com.fr.json.JSONArray;
+ import com.fr.json.JSONObject;
+ import com.fr.record.analyzer.EnableMetrics;
+ import com.fr.stable.fun.Authorize;
+ import com.fr.web.utils.WebUtils;
+
+ import javax.servlet.FilterChain;
+ import javax.servlet.FilterConfig;
+ import javax.servlet.http.HttpServletRequest;
+ import javax.servlet.http.HttpServletResponse;
+ import java.util.List;
+
+ /**
+ *
+ *
+ *
+ * @author fr.open
+ * @since 1.0.0
+ */
+ @Authorize(callSignKey = TemplatesFilter.PLUGIN_ID)
+ @EnableMetrics
+ public class TemplatesFilter extends AbstractGlobalRequestFilterProvider {
+
+ public static final String PLUGIN_ID = "com.fr.plugin.higq.entry";
+
+ /**
+ * 过滤器名称
+ *
+ * @return
+ */
+ @Override
+ public String filterName() {
+ return "higqFilter";
+ }
+
+ /**
+ * 过滤规则
+ *
+ * @return
+ */
+ @Override
+ public String[] urlPatterns() {
+ return new String[]{"/decision/v10/templates/all"};
+ }
+
+ /**
+ * 过滤器初始化
+ *
+ * @param filterConfig
+ */
+ @Override
+ public void init(FilterConfig filterConfig) {
+ super.init(filterConfig);
+ }
+
+ /**
+ * 过滤器处理
+ *
+ * @param request
+ * @param response
+ * @param filterChain
+ */
+ @Override
+ public void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
+ try {
+ operation(request, response);
+ } catch (Exception e) {
+ LogKit.error(e.getMessage(), e);
+ }
+ }
+
+ /**
+ * 数据处理操作
+ *
+ * @param req
+ * @param res
+ * @throws Exception
+ */
+ @Focus(id = PLUGIN_ID, text = "Plugin-hrjf", source = Original.PLUGIN)
+ private void operation(HttpServletRequest req, HttpServletResponse res) throws Exception {
+ String keyword = NetworkKit.getHTTPRequestParameter(req, "keyword");
+ List entryBeanList = EntryService.getInstance().getEntryTree(req);
+ List fileNodeBeanList = ReportEntryService.getInstance().getReportTemplateTree(UserService.getInstance().getCurrentUserId(req), keyword);
+ FileNodeBean fileNodeBean;
+ for (EntryBean entryBean : entryBeanList) {
+ if (entryBean.isIsParent()) {
+ fileNodeBean = new FileNodeBean();
+ fileNodeBean.setId(entryBean.getId());
+ if (StringKit.isBlank(entryBean.getpId())) {
+ fileNodeBean.setpId("reportlets");
+ fileNodeBean.setText(I18nKit.getLocText("Dec-Entry_Management"));
+ } else {
+ fileNodeBean.setpId(entryBean.getpId());
+ fileNodeBean.setText(entryBean.getText());
+ }
+ fileNodeBean.setPath(entryBean.getId());
+ fileNodeBean.setIsParent(entryBean.isIsParent());
+ fileNodeBean.setOpen(entryBean.isOpen());
+ fileNodeBean.setPrivilege(true);
+
+ fileNodeBeanList.add(fileNodeBean);
+ } else {
+ for (FileNodeBean fileNode : fileNodeBeanList) {
+ if (StringKit.equals(fileNode.getPath(), entryBean.getPath())) {
+ fileNode.setpId(entryBean.getpId());
+ fileNode.setText(entryBean.getText());
+ }
+ }
+ }
+ }
+
+ JSONObject result = JSONObject.create();
+ result.put("data", JSONArray.create(fileNodeBeanList));
+ WebUtils.printAsJSON(res, result);
+ }
+ }
\ No newline at end of file