diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index d8e299c3b..29861255f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -878,7 +878,10 @@ public abstract class JTemplate> return saveAsTemplate(isShowLoc); } collectInfo(); - return this.saveFile(); + TemplateSaveInfoContext.getInstance().startCollect(template); + boolean result = this.saveFile(); + TemplateSaveInfoContext.getInstance().stopCollect(result); + return result; } private boolean isCancelOperation(int operation) { @@ -967,7 +970,9 @@ public abstract class JTemplate> generateNewTemplateIdForSaveAs(); this.editingFILE = editingFILE; + TemplateSaveInfoContext.getInstance().startCollect(template); boolean result = this.saveToNewFile(oldName); + TemplateSaveInfoContext.getInstance().stopCollect(result); if (result) { DesignerFrameFileDealerPane.getInstance().refresh(); collectInfoWhenSaveAs(originID); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java index cc096bbf7..03e369481 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/messagecollect/StartErrorMessageCollector.java @@ -25,6 +25,7 @@ public class StartErrorMessageCollector { private String uuid; private String activeKey; + private boolean extraJudgeStart = false; public static StartErrorMessageCollector getInstance() { return INSTANCE; @@ -42,7 +43,7 @@ public class StartErrorMessageCollector { errorInfo.setLogid(id); errorInfo.setLog(msg); errorInfo.setStackTrace(detail); - errorInfo.setStarting(DesignerStartupContext.getInstance().isOnStartup()); + errorInfo.setStarting(DesignerStartupContext.getInstance().isOnStartup() || extraJudgeStart); errorInfo.setRemote(!WorkContext.getCurrent().isLocal()); errorInfo.saveAsJSON(); } @@ -51,10 +52,20 @@ public class StartErrorMessageCollector { * 异步记录 */ public void asyncRecord(String id, String msg, String detail) { - executorService.submit(() -> record(id, msg, detail)); + executorService.submit(() -> { + record(id, msg, detail); + StartErrorMessageCollector.getInstance().setExtraJudgeStart(false); + }); } public void record(String id, String msg) { record(id, msg, StringUtils.EMPTY); } + + public void setExtraJudgeStart(boolean extraJudgeStart) { + this.extraJudgeStart = extraJudgeStart; + } + + + } diff --git a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java index 156b1b3e1..a2d9965e5 100644 --- a/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java +++ b/designer-base/src/main/java/com/fr/startup/ui/StartupPageWindow.java @@ -258,6 +258,7 @@ public class StartupPageWindow extends JFrame { try { Void result = get(); setVisible(false); + StartErrorMessageCollector.getInstance().setExtraJudgeStart(false); } catch (Exception e) { // 处理错误 UIUtil.invokeLaterIfNeeded(() -> { diff --git a/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java b/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java index d861fa052..836abb631 100644 --- a/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/optimized/DesignerStartupPageActivator.java @@ -2,6 +2,7 @@ package com.fr.start.module.optimized; import com.fr.design.DesignerEnvManager; import com.fr.design.mainframe.DesignerContext; +import com.fr.design.mainframe.messagecollect.StartErrorMessageCollector; import com.fr.design.ui.util.UIUtil; import com.fr.log.FineLoggerFactory; import com.fr.module.Activator; @@ -164,6 +165,7 @@ public class DesignerStartupPageActivator extends Activator { UIUtil.invokeLaterIfNeeded(() -> { // 换到 awt 线程中关闭,不然异步会出现问题。 DesignerStartupContext.getInstance().setOnStartup(false); + StartErrorMessageCollector.getInstance().setExtraJudgeStart(true); recordStartupEnd(stopWatch); }); markComplete();