Browse Source

修改方法名

research/11.0
fly.li 3 years ago
parent
commit
21d62272f7
  1. 24
      designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java
  2. 2
      designer-base/src/main/java/com/fr/nx/app/designer/utils/CptCompileUtil.java

24
designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java

@ -1465,10 +1465,13 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
public abstract String route(); public abstract String route();
public String getTemplateName() { public String getTemplateName() {
return getEditingFILE().getName() + getSuffix(); return getEditingFILE().getName() + compatibilityTip();
} }
private String getSuffix() { /**
* 设置新引擎后有不支持的功能时设计器中模板的标题需要加上兼容模式或者不支持分页引擎来提示用户
* */
private String compatibilityTip() {
if (!CptCompileUtil.isNewEngine(this.getTarget(), getEditingFILE().getPath())){ if (!CptCompileUtil.isNewEngine(this.getTarget(), getEditingFILE().getPath())){
return StringUtils.EMPTY; return StringUtils.EMPTY;
} }
@ -1617,13 +1620,11 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
worker.addSuccessCallback(new Runnable() { worker.addSuccessCallback(new Runnable() {
@Override @Override
public void run() { public void run() {
boolean isChangedFile = !JTemplate.this.isSaved() && !DesignModeContext.isVcsMode(); boolean isChangedFile = !JTemplate.this.saved;
if (isChangedFile){ if (isChangedFile){
callBackForSave();
CptCompileUtil.compile(JTemplate.this); CptCompileUtil.compile(JTemplate.this);
} else{
callBackForSave();
} }
callBackForSave();
// 当前打开的是正在保存的模板才刷新 // 当前打开的是正在保存的模板才刷新
if (ComparatorUtils.equals(JTemplate.this.template.getTemplateID(), if (ComparatorUtils.equals(JTemplate.this.template.getTemplateID(),
HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().template.getTemplateID())) { HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().template.getTemplateID())) {
@ -1682,10 +1683,13 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
result = result || provider.saveToNewFile(this.editingFILE.getPath(), this); result = result || provider.saveToNewFile(this.editingFILE.getPath(), this);
} }
if (!result) { if (!result) {
//在这里改变报表引擎属性 /*
boolean ischanged = CptCompileUtil.haveChanged(oldName, this); * 1.在CptCompileUtil::haveChanged改变报表引擎属性
if (ischanged){ * 2.如果cptx文件另存为cpt文件/cptx另存为cptx文件/设置了新引擎的cpt文件另存为cpt文件
//如果cptx另存为cpt/cptx的另存为/cpt另存为,则需要重新预编译,因此设置jTemplate的保存状态为false。 * 因为编译目录改变了需要重新预编译因此设置jTemplate的保存状态为false
* */
boolean hasChanged = CptCompileUtil.hasChanged(oldName, this);
if (hasChanged){
this.saved = false; this.saved = false;
} }
result = this.saveRealFile(); result = this.saveRealFile();

2
designer-base/src/main/java/com/fr/nx/app/designer/utils/CptCompileUtil.java

@ -143,7 +143,7 @@ public class CptCompileUtil {
/* /*
* 该另存为流程会改变文件内容现在作为兼容的流程以后可以随时删除该流程 * 该另存为流程会改变文件内容现在作为兼容的流程以后可以随时删除该流程
* */ * */
public static boolean haveChanged(String oldName, JTemplate jTemplate){ public static boolean hasChanged(String oldName, JTemplate jTemplate){
FILE editingFILE = jTemplate.getEditingFILE(); FILE editingFILE = jTemplate.getEditingFILE();
String path = editingFILE.getPath(); String path = editingFILE.getPath();
//只有在旧文件是cptx文件并且新文件是cpt文件时才会改变报表引擎属性 //只有在旧文件是cptx文件并且新文件是cpt文件时才会改变报表引擎属性

Loading…
Cancel
Save