|
|
|
@ -7,6 +7,7 @@ import com.fr.chartx.config.info.constant.ConfigType;
|
|
|
|
|
import com.fr.design.mainframe.burying.point.AbstractPointCollector; |
|
|
|
|
import com.fr.design.mainframe.template.info.TemplateProcessInfo; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.log.FineLoggerFactory; |
|
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
|
import com.fr.stable.xml.XMLPrintWriter; |
|
|
|
|
import com.fr.stable.xml.XMLableReader; |
|
|
|
@ -184,33 +185,44 @@ public class ChartInfoCollector extends AbstractPointCollector<ChartInfo> {
|
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void collectInfo(String templateId, String originID, TemplateProcessInfo processInfo, int timeConsume) { |
|
|
|
|
if (!shouldCollectInfo()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (StringUtils.isEmpty(originID)) { |
|
|
|
|
originID = templateId; |
|
|
|
|
} |
|
|
|
|
boolean testTemplate = isTestTemplate(processInfo); |
|
|
|
|
// 捕获RuntimeException,不中断保存模板核心逻辑,避免出现保存失败弹窗
|
|
|
|
|
try { |
|
|
|
|
if (!shouldCollectInfo()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (StringUtils.isEmpty(originID)) { |
|
|
|
|
originID = templateId; |
|
|
|
|
} |
|
|
|
|
boolean testTemplate = isTestTemplate(processInfo); |
|
|
|
|
|
|
|
|
|
for (ChartInfo chartInfo : pointInfoMap.values()) { |
|
|
|
|
if (originID.equals(chartInfo.getTemplateId())) { |
|
|
|
|
chartInfo.setTemplateId(templateId); |
|
|
|
|
chartInfo.setTestTemplate(testTemplate); |
|
|
|
|
for (ChartInfo chartInfo : pointInfoMap.values()) { |
|
|
|
|
if (chartInfo != null && originID.equals(chartInfo.getTemplateId())) { |
|
|
|
|
chartInfo.setTemplateId(templateId); |
|
|
|
|
chartInfo.setTestTemplate(testTemplate); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (ChartInfo chartInfo : chartInfoCacheMap.values()) { |
|
|
|
|
BaseBook book = chartInfo.getBook(); |
|
|
|
|
if ((book != null && templateId.equals(book.getTemplateID())) || |
|
|
|
|
originID.equals(chartInfo.getTemplateId())) { |
|
|
|
|
chartInfo.setTemplateId(templateId); |
|
|
|
|
chartInfo.setTestTemplate(testTemplate); |
|
|
|
|
pointInfoMap.put(chartInfo.getChartId(), chartInfo); |
|
|
|
|
for (ChartInfo chartInfo : chartInfoCacheMap.values()) { |
|
|
|
|
if (chartInfo == null) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
BaseBook book = chartInfo.getBook(); |
|
|
|
|
if (accept(templateId, originID, chartInfo, book)) { |
|
|
|
|
chartInfo.setTemplateId(templateId); |
|
|
|
|
chartInfo.setTestTemplate(testTemplate); |
|
|
|
|
pointInfoMap.put(chartInfo.getChartId(), chartInfo); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// 每次更新之后,都同步到暂存文件中
|
|
|
|
|
saveInfo(); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 每次更新之后,都同步到暂存文件中
|
|
|
|
|
saveInfo(); |
|
|
|
|
private static boolean accept(String templateId, String originID, ChartInfo chartInfo, BaseBook book) { |
|
|
|
|
return (book != null && templateId.equals(book.getTemplateID())) || |
|
|
|
|
originID.equals(chartInfo.getTemplateId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean isTestTemplate(TemplateProcessInfo processInfo) { |
|
|
|
|