diff --git a/JSD-8658配置使用文档v1.docx b/JSD-8658配置使用文档v1.docx
new file mode 100644
index 0000000..68dfeee
Binary files /dev/null and b/JSD-8658配置使用文档v1.docx differ
diff --git a/README.md b/README.md
index fd30623..1a59539 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
# open-JSD-8658
-JSD-8658 泛微E9消息推送
\ No newline at end of file
+JSD-8658 泛微E9消息推送\
+免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\
+仅作为开发者学习参考使用!禁止用于任何商业用途!\
+为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。
\ No newline at end of file
diff --git a/plugin.xml b/plugin.xml
new file mode 100644
index 0000000..d83cacd
--- /dev/null
+++ b/plugin.xml
@@ -0,0 +1,34 @@
+
+
+ com.fr.plugin.xxxx.swyy.message
+ com.fr.plugin.xxxx.swyy.message
+
+ yes
+ 1.9
+ 10.0
+ 2018-07-31
+ fr.open
+
+
+ [2021-12-17]【1.1】修改传递字段。
+ [2021-12-17]【1.2】代码修改。
+ [2021-12-17]【1.3】代码修改。
+ [2021-01-10]【1.4】乱码修改。
+ [2021-01-11]【1.5】接口传输修改。
+ [2021-01-11]【1.6】公式支持。
+ [2021-01-13]【1.7】公式支持。
+ [2022-02-22]【1.8】链接乱码解决。
+ [2022-02-25]【1.9】链接乱码解决。
+ ]]>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/fr/plugin/xxxx/swyy/message/LRGT.java b/src/main/java/com/fr/plugin/xxxx/swyy/message/LRGT.java
new file mode 100644
index 0000000..6b4441a
--- /dev/null
+++ b/src/main/java/com/fr/plugin/xxxx/swyy/message/LRGT.java
@@ -0,0 +1,37 @@
+package com.fr.plugin.xxxx.swyy.message;
+
+import com.fr.plugin.context.PluginContext;
+import com.fr.plugin.xxxx.swyy.message.conf.MessageConfig;
+import com.fr.plugin.xxxx.swyy.message.entity.EarlyMessageAction;
+import com.fr.plugin.xxxx.swyy.message.entity.EarlyMessageEntity;
+import com.fr.plugin.xxxx.swyy.message.handle.EarlyMessageHandle;
+import com.fr.plugin.observer.inner.AbstractPluginLifecycleMonitor;
+import com.fr.schedule.feature.ScheduleOutputActionEntityRegister;
+import com.fr.schedule.feature.output.OutputActionHandler;
+
+/**
+ * 配置信息初始化
+ */
+
+public class LRGT extends AbstractPluginLifecycleMonitor {
+ @Override
+ public void afterRun(PluginContext pluginContext) {
+ MessageConfig.getInstance();
+ OutputActionHandler.registerHandler(new EarlyMessageHandle(), EarlyMessageAction.class.getName());
+ ScheduleOutputActionEntityRegister.getInstance().addClass(EarlyMessageEntity.class);
+ }
+
+ @Override
+ public void beforeStop(PluginContext pluginContext) {
+ OutputActionHandler.removeOutputHandler(EarlyMessageAction.class.getName());
+ ScheduleOutputActionEntityRegister.getInstance().removeClass(EarlyMessageEntity.class);
+ }
+
+ @Override
+ public void beforeUninstall(PluginContext pluginContext) {
+ }
+
+ @Override
+ public void afterInstall(PluginContext var1) {
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/fr/plugin/xxxx/swyy/message/MessageFormula.java b/src/main/java/com/fr/plugin/xxxx/swyy/message/MessageFormula.java
new file mode 100644
index 0000000..7ef2fbe
--- /dev/null
+++ b/src/main/java/com/fr/plugin/xxxx/swyy/message/MessageFormula.java
@@ -0,0 +1,27 @@
+package com.fr.plugin.xxxx.swyy.message;
+
+import com.fr.main.workbook.ResultWorkBook;
+import com.fr.plugin.xxxx.swyy.message.entity.EarlyMessageAction;
+import com.fr.schedule.base.provider.impl.AbstractOutputFormulaProvider;
+import com.fr.schedule.extension.report.util.ScheduleParameterUtils;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author fr.open
+ * @Date 2021/3/24
+ * @Description
+ **/
+public class MessageFormula extends AbstractOutputFormulaProvider {
+ @Override
+ public void dealWithFormulaParam(EarlyMessageAction outputSms, ResultWorkBook resultWorkBook, List