diff --git a/o2server/x_message_assemble_communicate/src/main/webapp/describe/sources/com/x/message/assemble/communicate/jaxrs/message/ActionCustomCreate.java b/o2server/x_message_assemble_communicate/src/main/webapp/describe/sources/com/x/message/assemble/communicate/jaxrs/message/ActionCustomCreate.java index 1a414e6b2192b55841d7001bac90eeabeb3205cb..9d7f99910286e9c99fd7dc5124d03f8a4aa0a84e 100644 --- a/o2server/x_message_assemble_communicate/src/main/webapp/describe/sources/com/x/message/assemble/communicate/jaxrs/message/ActionCustomCreate.java +++ b/o2server/x_message_assemble_communicate/src/main/webapp/describe/sources/com/x/message/assemble/communicate/jaxrs/message/ActionCustomCreate.java @@ -1,7 +1,5 @@ package com.x.message.assemble.communicate.jaxrs.message; -import org.apache.commons.lang3.StringUtils; - import com.google.gson.JsonElement; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; @@ -14,13 +12,13 @@ import com.x.base.core.project.config.Config; import com.x.base.core.project.gson.GsonPropertyObject; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; -import com.x.base.core.project.jaxrs.WoId; import com.x.base.core.project.jaxrs.WrapBoolean; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.message.MessageConnector; import com.x.message.assemble.communicate.ThisApplication; -import com.x.message.core.entity.Message; + +import org.apache.commons.lang3.StringUtils; class ActionCustomCreate extends BaseAction { diff --git a/o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java b/o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java index 4e3f986c739c0ecb2a3beb2cafcbb53e0bf4bc8e..806ffe89d320f90d131733f946c3af8898efe18b 100644 --- a/o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java +++ b/o2server/x_organization_assemble_express/src/main/java/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java @@ -14,8 +14,6 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import org.apache.commons.lang3.StringUtils; - import com.google.gson.JsonElement; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; @@ -23,10 +21,8 @@ import com.x.base.core.entity.JpaObject; import com.x.base.core.project.Applications; import com.x.base.core.project.x_processplatform_assemble_surface; import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.connection.ActionResponse; import com.x.base.core.project.gson.GsonPropertyObject; -import com.x.base.core.project.gson.XGsonBuilder; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.logger.Logger; @@ -39,7 +35,7 @@ import com.x.organization.core.entity.accredit.Empower; import com.x.organization.core.entity.accredit.Empower_; import com.x.organization.core.entity.accredit.Filter; -import net.sf.ehcache.Element; +import org.apache.commons.lang3.StringUtils; class ActionListWithIdentityObject extends BaseAction { @@ -61,6 +57,9 @@ class ActionListWithIdentityObject extends BaseAction { @FieldDescribe("应用") private String application; + @FieldDescribe("流程版本") + private String edition; + @FieldDescribe("流程") private String process; @@ -102,6 +101,14 @@ class ActionListWithIdentityObject extends BaseAction { this.work = work; } + public String getEdition() { + return edition; + } + + public void setEdition(String edition) { + this.edition = edition; + } + } public static class Wo extends Empower { @@ -131,25 +138,7 @@ class ActionListWithIdentityObject extends BaseAction { List list = map.get(str); if (ListTools.isNotEmpty(list)) { - list.sort(new Comparator() { - public int compare(Empower o1, Empower o2) { - if (StringUtils.equals(Empower.TYPE_FILTER, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_FILTER, o2.getType())) { - return 1; - } else if (StringUtils.equals(Empower.TYPE_PROCESS, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_PROCESS, o2.getType())) { - return 1; - } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o2.getType())) { - return 1; - } else { - return 0; - } - } - }); + list.sort(new EmpowerComparator()); Empower empower = this.pick(business, list, wi.getWork()); if (null != empower) { Wo wo = new Wo(str, str); @@ -163,6 +152,7 @@ class ActionListWithIdentityObject extends BaseAction { private Empower pick(Business business, List list, String work) throws Exception { for (Empower empower : list) { + if (StringUtils.equals(Empower.TYPE_FILTER, empower.getType()) && StringUtils.isNotEmpty(empower.getFilterListData())) { List filters = gson.fromJson(empower.getFilterListData(), Filter.LISTTYPE); @@ -171,12 +161,8 @@ class ActionListWithIdentityObject extends BaseAction { x_processplatform_assemble_surface.class, Applications.joinQueryUri("data", "work", work) + "/" + StringUtils.replace(filter.path, ".", "/")); if (null != response.getData()) { - switch (Objects.toString(filter.formatType, "")) { - default: - if (StringUtils.equals(filter.value, response.getData().getAsString())) { - return empower; - } - break; + if (StringUtils.equals(filter.value, response.getData().getAsString())) { + return empower; } } else { return empower; @@ -186,6 +172,26 @@ class ActionListWithIdentityObject extends BaseAction { return list.get(0); } + private class EmpowerComparator implements Comparator { + public int compare(Empower o1, Empower o2) { + if (StringUtils.equals(Empower.TYPE_FILTER, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_FILTER, o2.getType())) { + return 1; + } else if (StringUtils.equals(Empower.TYPE_PROCESS, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_PROCESS, o2.getType())) { + return 1; + } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o2.getType())) { + return 1; + } else { + return 0; + } + } + } + private List list(Business business, Wi wi) throws Exception { List identities = business.identity().pick(wi.getIdentityList()); @@ -198,18 +204,19 @@ class ActionListWithIdentityObject extends BaseAction { Predicate p = cb.or(cb.equal(root.get(Empower_.type), Empower.TYPE_ALL), cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_APPLICATION), cb.equal(root.get(Empower_.application), wi.getApplication())), - cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_PROCESS), - cb.equal(root.get(Empower_.process), wi.getProcess())), - cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_FILTER), - cb.equal(root.get(Empower_.process), wi.getProcess()))); + cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_PROCESS), cb.or( + cb.and(cb.isNotNull(root.get(Empower_.edition)), cb.notEqual(root.get(Empower_.edition), ""), + cb.equal(root.get(Empower_.edition), wi.getEdition())), + cb.equal(root.get(Empower_.process), wi.getProcess()))), + cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_FILTER), cb.or( + cb.and(cb.isNotNull(root.get(Empower_.edition)), cb.notEqual(root.get(Empower_.edition), ""), + cb.equal(root.get(Empower_.edition), wi.getEdition())), + cb.equal(root.get(Empower_.process), wi.getProcess())))); p = cb.and(p, root.get(Empower_.fromIdentity).in(names)); - // p = cb.and(p, cb.isMember(root.get(Empower_.fromIdentity), - // cb.literal(names))); p = cb.and(p, cb.equal(root.get(Empower_.enable), true)); p = cb.and(p, cb.lessThan(root.get(Empower_.startTime), new Date()), cb.greaterThan(root.get(Empower_.completedTime), new Date())); return em.createQuery(cq.select(root).where(p).distinct(true)).getResultList(); - } } \ No newline at end of file diff --git a/o2server/x_organization_assemble_express/src/main/webapp/describe/describe.json b/o2server/x_organization_assemble_express/src/main/webapp/describe/describe.json index 959b8652f20da01a8ba844ffbe60e9d7fd764024..b6aa827daffd288ce3f0c3a146d81dd2e2086346 100644 --- a/o2server/x_organization_assemble_express/src/main/webapp/describe/describe.json +++ b/o2server/x_organization_assemble_express/src/main/webapp/describe/describe.json @@ -136,6 +136,13 @@ "description": "应用", "isBaseType": true }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本", + "isBaseType": true + }, { "name": "process", "type": "String", @@ -207,6 +214,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", diff --git a/o2server/x_organization_assemble_express/src/main/webapp/describe/sources/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java b/o2server/x_organization_assemble_express/src/main/webapp/describe/sources/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java index 4e3f986c739c0ecb2a3beb2cafcbb53e0bf4bc8e..806ffe89d320f90d131733f946c3af8898efe18b 100644 --- a/o2server/x_organization_assemble_express/src/main/webapp/describe/sources/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java +++ b/o2server/x_organization_assemble_express/src/main/webapp/describe/sources/com/x/organization/assemble/express/jaxrs/empower/ActionListWithIdentityObject.java @@ -14,8 +14,6 @@ import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; -import org.apache.commons.lang3.StringUtils; - import com.google.gson.JsonElement; import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; @@ -23,10 +21,8 @@ import com.x.base.core.entity.JpaObject; import com.x.base.core.project.Applications; import com.x.base.core.project.x_processplatform_assemble_surface; import com.x.base.core.project.annotation.FieldDescribe; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.connection.ActionResponse; import com.x.base.core.project.gson.GsonPropertyObject; -import com.x.base.core.project.gson.XGsonBuilder; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.base.core.project.logger.Logger; @@ -39,7 +35,7 @@ import com.x.organization.core.entity.accredit.Empower; import com.x.organization.core.entity.accredit.Empower_; import com.x.organization.core.entity.accredit.Filter; -import net.sf.ehcache.Element; +import org.apache.commons.lang3.StringUtils; class ActionListWithIdentityObject extends BaseAction { @@ -61,6 +57,9 @@ class ActionListWithIdentityObject extends BaseAction { @FieldDescribe("应用") private String application; + @FieldDescribe("流程版本") + private String edition; + @FieldDescribe("流程") private String process; @@ -102,6 +101,14 @@ class ActionListWithIdentityObject extends BaseAction { this.work = work; } + public String getEdition() { + return edition; + } + + public void setEdition(String edition) { + this.edition = edition; + } + } public static class Wo extends Empower { @@ -131,25 +138,7 @@ class ActionListWithIdentityObject extends BaseAction { List list = map.get(str); if (ListTools.isNotEmpty(list)) { - list.sort(new Comparator() { - public int compare(Empower o1, Empower o2) { - if (StringUtils.equals(Empower.TYPE_FILTER, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_FILTER, o2.getType())) { - return 1; - } else if (StringUtils.equals(Empower.TYPE_PROCESS, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_PROCESS, o2.getType())) { - return 1; - } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o1.getType())) { - return -1; - } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o2.getType())) { - return 1; - } else { - return 0; - } - } - }); + list.sort(new EmpowerComparator()); Empower empower = this.pick(business, list, wi.getWork()); if (null != empower) { Wo wo = new Wo(str, str); @@ -163,6 +152,7 @@ class ActionListWithIdentityObject extends BaseAction { private Empower pick(Business business, List list, String work) throws Exception { for (Empower empower : list) { + if (StringUtils.equals(Empower.TYPE_FILTER, empower.getType()) && StringUtils.isNotEmpty(empower.getFilterListData())) { List filters = gson.fromJson(empower.getFilterListData(), Filter.LISTTYPE); @@ -171,12 +161,8 @@ class ActionListWithIdentityObject extends BaseAction { x_processplatform_assemble_surface.class, Applications.joinQueryUri("data", "work", work) + "/" + StringUtils.replace(filter.path, ".", "/")); if (null != response.getData()) { - switch (Objects.toString(filter.formatType, "")) { - default: - if (StringUtils.equals(filter.value, response.getData().getAsString())) { - return empower; - } - break; + if (StringUtils.equals(filter.value, response.getData().getAsString())) { + return empower; } } else { return empower; @@ -186,6 +172,26 @@ class ActionListWithIdentityObject extends BaseAction { return list.get(0); } + private class EmpowerComparator implements Comparator { + public int compare(Empower o1, Empower o2) { + if (StringUtils.equals(Empower.TYPE_FILTER, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_FILTER, o2.getType())) { + return 1; + } else if (StringUtils.equals(Empower.TYPE_PROCESS, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_PROCESS, o2.getType())) { + return 1; + } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o1.getType())) { + return -1; + } else if (StringUtils.equals(Empower.TYPE_APPLICATION, o2.getType())) { + return 1; + } else { + return 0; + } + } + } + private List list(Business business, Wi wi) throws Exception { List identities = business.identity().pick(wi.getIdentityList()); @@ -198,18 +204,19 @@ class ActionListWithIdentityObject extends BaseAction { Predicate p = cb.or(cb.equal(root.get(Empower_.type), Empower.TYPE_ALL), cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_APPLICATION), cb.equal(root.get(Empower_.application), wi.getApplication())), - cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_PROCESS), - cb.equal(root.get(Empower_.process), wi.getProcess())), - cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_FILTER), - cb.equal(root.get(Empower_.process), wi.getProcess()))); + cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_PROCESS), cb.or( + cb.and(cb.isNotNull(root.get(Empower_.edition)), cb.notEqual(root.get(Empower_.edition), ""), + cb.equal(root.get(Empower_.edition), wi.getEdition())), + cb.equal(root.get(Empower_.process), wi.getProcess()))), + cb.and(cb.equal(root.get(Empower_.type), Empower.TYPE_FILTER), cb.or( + cb.and(cb.isNotNull(root.get(Empower_.edition)), cb.notEqual(root.get(Empower_.edition), ""), + cb.equal(root.get(Empower_.edition), wi.getEdition())), + cb.equal(root.get(Empower_.process), wi.getProcess())))); p = cb.and(p, root.get(Empower_.fromIdentity).in(names)); - // p = cb.and(p, cb.isMember(root.get(Empower_.fromIdentity), - // cb.literal(names))); p = cb.and(p, cb.equal(root.get(Empower_.enable), true)); p = cb.and(p, cb.lessThan(root.get(Empower_.startTime), new Date()), cb.greaterThan(root.get(Empower_.completedTime), new Date())); return em.createQuery(cq.select(root).where(p).distinct(true)).getResultList(); - } } \ No newline at end of file diff --git a/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java b/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java index cbe78f5f12dae314b0f35965319841abe34b108b..f55c55d76753426f2af419f9898f8e1ea4cdd334 100644 --- a/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java +++ b/o2server/x_organization_assemble_personal/src/main/java/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java @@ -7,14 +7,11 @@ import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.entity.JpaObject; import com.x.base.core.project.bean.WrapCopier; import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.organization.assemble.personal.Business; import com.x.organization.core.entity.accredit.Empower; -import net.sf.ehcache.Element; - class ActionListWithCurrentPersonEnable extends BaseAction { ActionResult> execute(EffectivePerson effectivePerson) throws Exception { diff --git a/o2server/x_organization_assemble_personal/src/main/webapp/describe/describe.json b/o2server/x_organization_assemble_personal/src/main/webapp/describe/describe.json index 768903bee4773a54f522491d3bc883885c845ad6..090475bac82d6b236d64a8184817fc1c24b60b70 100644 --- a/o2server/x_organization_assemble_personal/src/main/webapp/describe/describe.json +++ b/o2server/x_organization_assemble_personal/src/main/webapp/describe/describe.json @@ -386,6 +386,13 @@ "description": "应用别名.", "isBaseType": true }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本.", + "isBaseType": true + }, { "name": "process", "type": "String", @@ -579,6 +586,13 @@ "description": "应用别名.", "isBaseType": true }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本.", + "isBaseType": true + }, { "name": "process", "type": "String", @@ -743,6 +757,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -885,6 +905,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1021,6 +1047,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1140,6 +1172,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1277,6 +1315,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1414,6 +1458,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1551,6 +1601,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1694,6 +1750,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", @@ -1864,6 +1926,12 @@ "isCollection": false, "description": "应用别名." }, + { + "name": "edition", + "type": "String", + "isCollection": false, + "description": "流程版本." + }, { "name": "process", "type": "String", diff --git a/o2server/x_organization_assemble_personal/src/main/webapp/describe/sources/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java b/o2server/x_organization_assemble_personal/src/main/webapp/describe/sources/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java index cbe78f5f12dae314b0f35965319841abe34b108b..f55c55d76753426f2af419f9898f8e1ea4cdd334 100644 --- a/o2server/x_organization_assemble_personal/src/main/webapp/describe/sources/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java +++ b/o2server/x_organization_assemble_personal/src/main/webapp/describe/sources/com/x/organization/assemble/personal/jaxrs/empower/ActionListWithCurrentPersonEnable.java @@ -7,14 +7,11 @@ import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.entity.JpaObject; import com.x.base.core.project.bean.WrapCopier; import com.x.base.core.project.bean.WrapCopierFactory; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.http.ActionResult; import com.x.base.core.project.http.EffectivePerson; import com.x.organization.assemble.personal.Business; import com.x.organization.core.entity.accredit.Empower; -import net.sf.ehcache.Element; - class ActionListWithCurrentPersonEnable extends BaseAction { ActionResult> execute(EffectivePerson effectivePerson) throws Exception { diff --git a/o2server/x_organization_core_entity/src/main/java/com/x/organization/core/entity/accredit/Empower.java b/o2server/x_organization_core_entity/src/main/java/com/x/organization/core/entity/accredit/Empower.java index 8392b7a825c8233178b2690e989499601ffa87af..40a7300813baa9060c3c4d1f62660c053195399f 100644 --- a/o2server/x_organization_core_entity/src/main/java/com/x/organization/core/entity/accredit/Empower.java +++ b/o2server/x_organization_core_entity/src/main/java/com/x/organization/core/entity/accredit/Empower.java @@ -111,6 +111,13 @@ public class Empower extends SliceJpaObject { @CheckPersist(allowEmpty = true) private String applicationAlias; + public static final String edition_FIELDNAME = "edition"; + @FieldDescribe("流程版本.") + @Column(length = JpaObject.length_id, name = ColumnNamePrefix + edition_FIELDNAME) + @Index(name = TABLE + IndexNameMiddle + edition_FIELDNAME) + @CheckPersist(allowEmpty = true) + private String edition; + public static final String process_FIELDNAME = "process"; @FieldDescribe("流程ID.") @Column(length = JpaObject.length_id, name = ColumnNamePrefix + process_FIELDNAME) @@ -287,4 +294,12 @@ public class Empower extends SliceJpaObject { this.type = type; } + public String getEdition() { + return edition; + } + + public void setEdition(String edition) { + this.edition = edition; + } + } \ No newline at end of file diff --git a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/ActionListWithIdentityObject.java b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/ActionListWithIdentityObject.java index b5267803d7d6906fbcbb1e25829abc70e1c7e6a1..657d3c9fd5c19ef273e663ddbbfaae53d2ef667c 100644 --- a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/ActionListWithIdentityObject.java +++ b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/ActionListWithIdentityObject.java @@ -9,7 +9,7 @@ import com.x.base.core.project.organization.Empower; class ActionListWithIdentityObject extends BaseAction { - public static List execute(AbstractContext context, String application, String process, String work, + public static List execute(AbstractContext context, String application, String edition,String process, String work, Collection collection) throws Exception { Wi wi = new Wi(); List wos = new ArrayList<>(); @@ -17,6 +17,7 @@ class ActionListWithIdentityObject extends BaseAction { wi.getIdentityList().addAll(collection); wi.setApplication(application); wi.setProcess(process); + wi.setEdition(edition); wi.setWork(work); wos = context.applications().postQuery(applicationClass, "empower/list/identity/object", wi) .getDataAsList(Empower.class); diff --git a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/BaseAction.java b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/BaseAction.java index 6fac03a7d95512e9da23b406fc76115543a8713d..73e418dfb79aeda6ab187aeeaedfacc9a6603e5b 100644 --- a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/BaseAction.java +++ b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/BaseAction.java @@ -19,6 +19,9 @@ abstract class BaseAction { @FieldDescribe("应用") private String application; + @FieldDescribe("流程版本") + private String edition; + @FieldDescribe("流程") private String process; @@ -57,6 +60,14 @@ abstract class BaseAction { this.process = process; } + public String getEdition() { + return edition; + } + + public void setEdition(String edition) { + this.edition = edition; + } + } } diff --git a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/EmpowerFactory.java b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/EmpowerFactory.java index 9d6dc5dd7a2e18300305a6b9a25e22121e482787..a5720840ed529811575717c4907563e3d614794b 100644 --- a/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/EmpowerFactory.java +++ b/o2server/x_organization_core_express/src/main/java/com/x/organization/core/express/empower/EmpowerFactory.java @@ -16,15 +16,15 @@ public class EmpowerFactory { private AbstractContext context; /** 根据应用和流程获取指定身份是否有委托 */ - public List listWithIdentityObject(String application, String process, String work, String value) - throws Exception { - return ActionListWithIdentityObject.execute(context, application, process, work, Arrays.asList(value)); + public List listWithIdentityObject(String application, String edition, String process, String work, + String value) throws Exception { + return ActionListWithIdentityObject.execute(context, application, edition, process, work, Arrays.asList(value)); } /** 根据应用和流程获取指定身份是否有委托 */ - public List listWithIdentityObject(String application, String process, String work, + public List listWithIdentityObject(String application, String edition, String process, String work, Collection values) throws Exception { - return ActionListWithIdentityObject.execute(context, application, process, work, values); + return ActionListWithIdentityObject.execute(context, application, edition, process, work, values); } } diff --git a/o2server/x_processplatform_assemble_designer/src/main/webapp/describe/sources/com/x/processplatform/assemble/designer/jaxrs/output/ActionList.java b/o2server/x_processplatform_assemble_designer/src/main/webapp/describe/sources/com/x/processplatform/assemble/designer/jaxrs/output/ActionList.java index debbdbe508fbab2e45f9775cdde3db2a73e10ecf..6bd9ce50cfe880f6c83dd626cf09c89ad5e6e9aa 100644 --- a/o2server/x_processplatform_assemble_designer/src/main/webapp/describe/sources/com/x/processplatform/assemble/designer/jaxrs/output/ActionList.java +++ b/o2server/x_processplatform_assemble_designer/src/main/webapp/describe/sources/com/x/processplatform/assemble/designer/jaxrs/output/ActionList.java @@ -1,5 +1,6 @@ package com.x.processplatform.assemble.designer.jaxrs.output; +import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -25,6 +26,8 @@ import com.x.processplatform.core.entity.element.wrap.WrapForm; import com.x.processplatform.core.entity.element.wrap.WrapProcess; import com.x.processplatform.core.entity.element.wrap.WrapProcessPlatform; import com.x.processplatform.core.entity.element.wrap.WrapScript; +import org.apache.commons.lang3.BooleanUtils; +import org.apache.commons.lang3.StringUtils; class ActionList extends BaseAction { @@ -36,6 +39,15 @@ class ActionList extends BaseAction { List wos = emc.fetchAll(Application.class, Wo.copier); List processList = emc.fetchAll(Process.class, processCopier); + processList.stream().forEach( o -> { + if(StringUtils.isEmpty(o.getEdition())){ + o.setName(o.getName() + "_V1.0"); + }else{ + o.setName(o.getEditionName()); + } + }); + processList = processList.stream().sorted(Comparator.comparing(WrapProcess::getName, Comparator.nullsLast(String::compareTo))) + .collect(Collectors.toList()); List formList = emc.fetchAll(Form.class, formCopier); diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/manual/ManualProcessor.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/manual/ManualProcessor.java index 38b44c8043bd0153d2cbc1567c34c6006106f501..ed2cf528d8c71dc82101a2d8f6312422862ef0eb 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/manual/ManualProcessor.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/manual/ManualProcessor.java @@ -330,8 +330,8 @@ public class ManualProcessor extends AbstractManualProcessor { List values = taskIdentities.identities(); values = ListUtils.subtract(values, aeiObjects.getProcessingAttributes().getIgnoreEmpowerIdentityList()); taskIdentities.empower(aeiObjects.business().organization().empower().listWithIdentityObject( - aeiObjects.getWork().getApplication(), aeiObjects.getWork().getProcess(), - aeiObjects.getWork().getId(), values)); + aeiObjects.getWork().getApplication(), aeiObjects.getProcess().getEdition(), + aeiObjects.getWork().getProcess(), aeiObjects.getWork().getId(), values)); for (TaskIdentity taskIdentity : taskIdentities) { if (StringUtils.isNotEmpty(taskIdentity.getFromIdentity())) { aeiObjects.getWork().getProperties().getManualEmpowerMap().put(taskIdentity.getIdentity(),