diff --git a/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar b/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar
index 5324cd9b..4b7d62da 100644
Binary files a/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar and b/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar differ
diff --git a/com.actionsoft.apps.coe.pal/method/control.kpi/diagram.schema.tpl b/com.actionsoft.apps.coe.pal/method/control.kpi/diagram.schema.tpl
index de6afcfb..03e17184 100644
--- a/com.actionsoft.apps.coe.pal/method/control.kpi/diagram.schema.tpl
+++ b/com.actionsoft.apps.coe.pal/method/control.kpi/diagram.schema.tpl
@@ -1,5 +1,5 @@
-Schema.addCategory({name:"control_kpi", text:"流程KPI图", dataAttributes:[]});
+Schema.addCategory({name:"control_kpi", text:"末级流程绩效", dataAttributes:[]});
/*Risk 菱形*/
-Schema.addShape({name:"kpi", title:"流程KPI",text:"流程KPI", category:"control_kpi", props:{w:110, h:50},lineStyle:{lineColor:"128,201,144"}, fillStyle:{type: "gradient",gradientType: "linear",beginColor: "242,255,245",endColor: "224,255,231",angle: Math.PI*0.5}, textBlock:{x:"10", y:"10", w:"w-20", h:"h-20"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
+Schema.addShape({name:"kpi", title:"末级流程绩效指标",text:"末级流程绩效指标", category:"control_kpi", props:{w:110, h:50},lineStyle:{lineColor:"128,201,144"}, fillStyle:{type: "gradient",gradientType: "linear",beginColor: "242,255,245",endColor: "224,255,231",angle: Math.PI*0.5}, textBlock:{x:"10", y:"10", w:"w-20", h:"h-20"},textBlockFinal:{x:"w/2-60", y:"h", w:"120", h:"30"}, path:[
{actions:{ref:"rectangle"}}
]});
diff --git a/com.actionsoft.apps.coe.pal/method/process.evc/diagram.attribute.custom.xml b/com.actionsoft.apps.coe.pal/method/process.evc/diagram.attribute.custom.xml
index 8f5eac2f..64414b1c 100644
--- a/com.actionsoft.apps.coe.pal/method/process.evc/diagram.attribute.custom.xml
+++ b/com.actionsoft.apps.coe.pal/method/process.evc/diagram.attribute.custom.xml
@@ -3,5 +3,6 @@
-
+
+
diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java
index 7896f111..9d3de3bb 100755
--- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java
+++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java
@@ -2002,7 +2002,98 @@ public class PALRepositoryQueryAPIManager {
data.add(1,uuid);
RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?",model.getId(),data.toString());
- if (rowMap != null || model.getName().equals("L1-L3流程绩效") || model.getName().equals("末级流程绩效")) {
+ if (rowMap != null ||model.getName().equals("末级流程绩效")) {
+ JSONObject object = new JSONObject();
+ object.put("id", model.getId().trim());
+ object.put("pid", model.getNewParentId().trim());
+ if (removeIds != null && removeIds.contains(model.getId().trim())) {
+ object.put("nocheck", true);
+ } else {
+ object.put("nocheck", false);
+ }
+ object.put("plNo", CoeProcessLevelUtil.getProcessLevelNoByUUId(model.getId(), model.getWsId()).trim());
+ object.put("name", I18nRes.findValue(CoEConstant.APP_ID, context.getLanguage(), model.getName()).trim());
+ object.put("wsId", model.getWsId());
+ PALMethodModel methodModel = PALMethodCache.getPALMethodModelById(model.getMethodId());
+ if (methodModel == null || methodModel.isFolder()) {// 没有该建模方法或者是文件夹类
+ object.put("title", object.get("name"));
+ } else {
+ object.put("title", object.get("name") + " " + VersionUtil.getVersionStrV(model.getVersion()).trim());
+ }
+ //三员管理文件密级校验
+ if (HighSecurityUtil.isON() && HighSecurityUtil.fileSecuritySwitch()){
+ ResponseObject responseObject = new CoeProcessLevelWeb(DispatcherRequest.getUserContext()).checkFilePemission(model.getId());
+ if (responseObject.isErr() && (methodModel != null && !methodModel.isFolder())){
+ object.put("nocheck", true);
+ }
+ }
+ object.put("drop", false);
+ object.put("isSystemFile", model.isSystemFile());
+ object.put("plMethodId", model.getMethodId().trim());
+ if (methodModel == null || methodModel.isFolder()) {// 没有该建模方法或者是文件夹类
+ object.put("iconFont", "");
+ } else {
+ object.put("iconFont", "");
+ }
+ List children = null;
+ if (isUsed) {
+ children = getUsedPalRepositoryModelsByPid(model.getWsId(), model.getId());
+ if (param != null && "designer".equals(param) && children != null && children.size() > 0) {// 过滤掉发布版本
+ List tempChildren = new ArrayList<>();
+ for (PALRepositoryModel model2 : children) {
+ if (!model2.isPublish()) {
+ tempChildren.add(model2);
+ }
+ }
+ children = tempChildren;
+ }
+ } else if (isPublished) {
+ children = getPublishedPalRepositoryModelsByPid(model.getWsId(), model.getId());
+ }
+ if (children == null || children.size() == 0) {
+ object.put("isParent", false);
+ //String icon = object.getString("icon");
+ object.put("leaf", true);// 叶子节点
+ // object.put("icon", icon.replace("16.png", "16.leaf.png"));
+ } else {
+ object.put("isParent", true);
+ object.put("open", false);
+ }
+
+ object.put("plLevel", model.getLevel());
+ object.put("plOrdexIndex", model.getOrderIndex());
+ object.put("plDiagramUrl", model.getDiagramUrl());
+ object.put("isDrops", model.isSystemFile());
+ object.put("isPublish", model.isPublish());
+ object.put("isStop", model.isStop());
+ object.put("isApproval", model.isApproval());
+ object.put("ext1", model.getExt1());
+ object.put("ext2", model.getExt2());
+ object.put("ext3", model.getExt3());
+ object.put("ext4", model.getExt4());
+ object.put("isUse", model.isUse());
+ object.put("url", "./w?sid=" + context.getSessionId() + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_portal_page&ruuid=" + model.getId() + "&type=1&wsid=" + model.getWsId());
+ object.put("plCategory", model.getMethodCategory());
+ object.put("versionId", model.getVersionId());
+ object.put("orderIndex", model.getOrderIndex());
+ object.put("isBottomLevel", model.isBottomLevel());
+ String dutyDeptId = model.getDutyDept();
+ object.put("dutyDeptId", dutyDeptId == null ? "" : dutyDeptId);
+ String plDutyDeptName = dutyDeptId;
+ if (!UtilString.isEmpty(dutyDeptId)) {
+ if (SDK.getORGAPI().getDepartmentById(dutyDeptId) != null) {
+ plDutyDeptName = SDK.getORGAPI().getDepartmentById(dutyDeptId).getName();
+ }
+ }
+ object.put("dutyDeptName", UtilString.isEmpty(dutyDeptId) ? "" : plDutyDeptName);
+ String plDutyPerson = model.getDutyUser();
+ object.put("dutyPersonId", model.getDutyUser() == null ? "" : model.getDutyUser());
+ object.put("dutyPersionName", UtilString.isEmpty(plDutyPerson) ? "" : SDK.getORGAPI().getUserAliasNames(plDutyPerson));
+ jsonArray.add(object);
+ }
+ }else if(attrId.equals("L1L3_Performance")){
+
+ if (model.getName().equals("L1-L3流程绩效") || model.getMethodId().equals("control.ma")) {
JSONObject object = new JSONObject();
object.put("id", model.getId().trim());
object.put("pid", model.getNewParentId().trim());
diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java
index 83a8abfc..ebb00627 100755
--- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java
+++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java
@@ -767,26 +767,7 @@ public class DesignerRelationShapeWeb extends ActionWeb {
JSONArray jsonArr_new = new JSONArray();
JSONArray objects = JSONArray.parseArray(treeJson);
//角色图属性代码是role/绩效图属性代码为Process_performance_metrics进行判断
- /*if (attrId.equals("Process_performance_metrics")) {
- *//*if (objects != null) {
- for (int i = 0; i < objects.size(); i++) {
- JSONObject jsonObject = objects.getJSONObject(i);
- String url = jsonObject.getString("url");
- String id = jsonObject.getString("id");
-
- if (UtilString.isNotEmpty(url)) {
- List data = new ArrayList();
- data.add(0, jsonObject.getString("plMethodId"));
- data.add(1, ruuid);
- RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?", id, data.toString());
- if (rowMap != null) {
- jsonArr_new.add(objects.getJSONObject(i));
- }
- } else {
- jsonArr_new.add(objects.getJSONObject(i));
- }
- }
- }*//*
+ if (attrId.equals("Process_performance_metrics")) {
if (objects != null) {
for (int i = 0; i < objects.size(); i++) {
JSONObject jsonObject = objects.getJSONObject(i);
@@ -795,17 +776,17 @@ public class DesignerRelationShapeWeb extends ActionWeb {
if (isParent != null) {
if (isParent.equals("true")) {
- String title=jsonObject.getString("title");
- if(title.equals("末级流程绩效") || title.equals("L1-L3流程绩效") ){
+ String title = jsonObject.getString("title");
+ if (title.equals("末级流程绩效")) {
jsonArr_new.add(objects.getJSONObject(i));
- }else{
+ } else {
List coeProcessLevelModels = CoeProcessLevelDaoFacotory.createCoeProcessLevel().getCoeProcessLevelByPid(id, wsId);
if (coeProcessLevelModels.size() > 0) {
for (int k = 0; k < coeProcessLevelModels.size(); k++) {
PALRepositoryModel coeProcessLevelModel = coeProcessLevelModels.get(k);
if (coeProcessLevelModel != null) {
List data = new ArrayList();
- data.add(0, jsonObject.getString("plMethodId"));
+ data.add(0, "control.kpi");
data.add(1, ruuid);
RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?", coeProcessLevelModel.getId(), data.toString());
if (rowMap != null) {
@@ -819,7 +800,7 @@ public class DesignerRelationShapeWeb extends ActionWeb {
} else {
List data = new ArrayList();
- data.add(0, jsonObject.getString("plMethodId"));
+ data.add(0, "control.kpi");
data.add(1, ruuid);
RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?", id, data.toString());
if (rowMap != null) {
@@ -833,7 +814,28 @@ public class DesignerRelationShapeWeb extends ActionWeb {
}
}
macroLibraries.put("treeData", jsonArr_new.toString());
- } else*/ if (attrId.equals("role")) {
+ }else if(attrId.equals("L1L3_Performance")){
+ if (objects != null) {
+ for (int i = 0; i < objects.size(); i++) {
+ JSONObject jsonObject = objects.getJSONObject(i);
+ String id = jsonObject.getString("id");
+ String isParent = jsonObject.getString("isParent");
+
+ if (isParent != null) {
+ if (isParent.equals("true")) {
+ String title = jsonObject.getString("title");
+ if (title.equals("L1-L3流程绩效")) {
+ jsonArr_new.add(objects.getJSONObject(i));
+ }
+ }
+ } else {
+ jsonArr_new.add(objects.getJSONObject(i));
+ }
+
+ }
+ }
+ macroLibraries.put("treeData", jsonArr_new.toString());
+ } else if (attrId.equals("role")) {
if (objects != null) {
for (int i = 0; i < objects.size(); i++) {
JSONObject jsonObject = objects.getJSONObject(i);
@@ -1292,7 +1294,7 @@ public class DesignerRelationShapeWeb extends ActionWeb {
*/
public String getTreeJson(String wsId, String pid,String attrId,String uuid) {
JSONArray list;
- if(attrId.equals("Process_performance_metrics") || attrId.equals("role") || attrId.equals("R_relevant_flies")){
+ if(attrId.equals("Process_performance_metrics") || attrId.equals("role") || attrId.equals("R_relevant_flies") || attrId.equals("L1L3_Performance")){
list= PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryTreeDataByPidAnduuid(_uc, wsId,pid,attrId,uuid);
}else{
list= PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryTreeDataByPid(_uc, wsId, pid);
diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java
index 24d12835..b0cc742a 100755
--- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java
+++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/CoeProcessLevelUtil.java
@@ -2314,7 +2314,10 @@ public class CoeProcessLevelUtil {
sb.append(appUrl).append(",");
}
- attribute.put("value", sb.substring(0, sb.length()-1));
+ if(sb.length()>0){
+ attribute.put("value", sb.substring(0, sb.length()-1));
+ }
+
}else{
diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java
index 08b1f426..390b6838 100755
--- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java
+++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java
@@ -8289,7 +8289,7 @@ public class CoeProcessLevelWeb extends ActionWeb {
if (defaultModels.size() == 0) {
String id = UUIDGener.getUUID();
- int orderIndex = coeProcessLevel.getChildrenMaxOrderIndexByPidAndWsId("org", wsId) + 1;
+ int orderIndex = coeProcessLevel.getChildrenMaxOrderIndexByPidAndWsId("control", wsId) + 1;
Timestamp nowTime = new Timestamp(System.currentTimeMillis());
PALRepositoryModelImpl defaultModel = CoeProcessLevelUtil.createPALRepositoryModel(id, UUIDGener.getUUID(), wsId, "末级流程绩效", "", orderIndex, "control", "control", true, 1,
id, false, "default", "0", 1, null, null, _uc.getUID(), _uc.getUID(), nowTime, null, null, null, null,
@@ -8319,7 +8319,7 @@ public class CoeProcessLevelWeb extends ActionWeb {
if (defaultModels.size() == 0) {
String id = UUIDGener.getUUID();
- int orderIndex = coeProcessLevel.getChildrenMaxOrderIndexByPidAndWsId("org", wsId) + 1;
+ int orderIndex = coeProcessLevel.getChildrenMaxOrderIndexByPidAndWsId("control", wsId) + 1;
Timestamp nowTime = new Timestamp(System.currentTimeMillis());
PALRepositoryModelImpl defaultModel = CoeProcessLevelUtil.createPALRepositoryModel(id, UUIDGener.getUUID(), wsId, "L1-L3流程绩效", "", orderIndex, "control", "control", true, 1,
id, false, "default", "0", 1, null, null, _uc.getUID(), _uc.getUID(), nowTime, null, null, null, null,