修改xml解析时图形转换对应错误的问题及解决不允许pal应用调用子应用代码类的问题

This commit is contained in:
shangguochao 2022-07-02 00:13:00 +08:00
parent 511e676030
commit ab16ca6c91
3 changed files with 43 additions and 7 deletions

View File

@ -675,13 +675,15 @@ public class ArisXmlImportWeb extends ActionWeb {
String method = shapeMethodId;
String shapeName = shapeType;
// fun
if ("OT_FUNC".equals(symbolNum) && "ST_FUNC".equals(typeNum)) {
// if ("OT_FUNC".equals(symbolNum) && "ST_FUNC".equals(typeNum)) {
if ("ST_FUNC".equals(symbolNum) && "OT_FUNC".equals(typeNum)) {
if (arisShapeName.contains("审批") || arisShapeName.contains("审核")) {
shapeName = "method_service_node";
} else {
shapeName = "method_service_node4";
}
} else if ("OT_FUNC".equals(symbolNum) && "ST_SYS_FUNC_ACT".equals(typeNum)) {// sys_fun
// } else if ("OT_FUNC".equals(symbolNum) && "ST_SYS_FUNC_ACT".equals(typeNum)) {// sys_fun
} else if ("ST_SYS_FUNC_ACT".equals(symbolNum) && "OT_FUNC".equals(typeNum)) {// sys_fun
if (arisShapeName.contains("审批") || arisShapeName.contains("审核")) {
shapeName = "method_approval_node";
} else {

View File

@ -5,6 +5,7 @@ import com.actionsoft.apps.coe.pal.datamigration.aris.mapping.ModelMappingAPIMan
import com.actionsoft.apps.coe.pal.datamigration.aris.model.*;
import com.actionsoft.apps.coe.pal.datamigration.aris.util.XMLUtil;
import com.actionsoft.apps.coe.pal.datamigration.aris.web.ArisXmlHandleWeb;
import com.actionsoft.apps.coe.pal.datamigration.aris.web.ArisXmlImportWeb;
import com.actionsoft.apps.coe.pal.datamigration.constant.Constant;
import com.actionsoft.apps.coe.pal.datamigration.model.po.AwsOrgInfo;
import com.actionsoft.apps.coe.pal.datamigration.model.po.WordField;
@ -621,6 +622,6 @@ public class DataMigrationWeb extends ActionWeb {
* @return
*/
public String dataMigrate(String wsId, String groupValue, String fileValue, String fileName) {
return new DataMigrationWeb(_uc).dataMigrate(wsId, groupValue, fileValue, fileName);
return new ArisXmlImportWeb(_uc).dataMigrate(wsId, groupValue, fileValue, fileName);
}
}

View File

@ -1,9 +1,14 @@
package com.actionsoft.apps.coe.pal.pal.repository.util;
import com.actionsoft.apps.coe.pal.datamigration.util.ProcessUtil;
import com.actionsoft.apps.AppsConst;
//import com.actionsoft.apps.coe.pal.datamigration.util.ProcessUtil;
import com.actionsoft.apps.coe.pal.pal.method.PALMethodManager;
import com.actionsoft.apps.coe.pal.pal.method.model.PALMethodAttributeModel;
import com.actionsoft.apps.coe.pal.pal.method.model.PALMethodModel;
import com.actionsoft.apps.coe.pal.pal.repository.designer.CoeDesignerShapeAPIManager;
import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil;
import com.actionsoft.apps.lifecycle.api.AppsAPIManager;
import com.actionsoft.apps.resource.AppContext;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@ -47,8 +52,36 @@ public class ShapeUtil {
// list.add("textAnnotation");// 注释
return list;
}
/**
* 获取流程下文件分类
* @return
*/
public static List<String> getProcessCategoryCategoryMehtodList() {
List<String> list = new ArrayList<String>();
List<PALMethodModel> methodModels = PALMethodManager.getInstance().getPALMethodModelListByMethod("process");
List<AppContext> listApps = AppsAPIManager.getInstance().getInstalledApps();
int size = listApps.size();
Map<String, String> map1 = new HashMap<String, String>();
for (int i = 0; i < size; i++) {
map1.put(listApps.get(i).getId(), listApps.get(i).getRuntimeState());
}
for (int i = 0, methodSize = methodModels.size(); i < methodSize; i++) {
PALMethodModel palMethodModel = methodModels.get(i);
String appId = palMethodModel.getId();
if (map1.containsKey("com.actionsoft.apps.coe.method." + appId)) {
String methodId1 = map1.get("com.actionsoft.apps.coe.method." + appId);
if (methodId1.equals(AppsConst.RUNTIME_STATE_STOPPED) || methodId1.equals(AppsConst.RUNTIME_STATE_FAILED) || methodId1.equals(AppsConst.RUNTIME_STATE_READY) || methodId1.equals(AppsConst.RUNTIME_STATE_STARTING) || methodId1.equals(AppsConst.RUNTIME_STATE_STOPPING) || methodId1.equals(AppsConst.RUNTIME_STATE_UNINSTALLED) || methodId1.equals(AppsConst.RUNTIME_STATE_UNINSTALLING) || methodId1.equals(AppsConst.RUNTIME_STATE_FAILED))
continue;
}
list.add(palMethodModel.getId());
}
return list;
}
/**
* 获取流程类别下所有模型的形状title
* @return
@ -56,7 +89,7 @@ public class ShapeUtil {
public static Map<String, List<String>> getProcessShapeTitles() {
Map<String, List<String>> result = new HashMap<>();
// 获取流程类别下所有的模型分类
List<String> methods = ProcessUtil.getProcessCategoryCategoryMehtodList();
List<String> methods = getProcessCategoryCategoryMehtodList();
for (String methodId : methods) {
List<String> list = new ArrayList<>();
JSONArray shapes = CoeDesignerUtil.getShapeDefinition(methodId);