Просмотр исходного кода

Merge branch 'fix/#309' into 'develop'

修正权限

See merge request o2oa/o2oa!1369
o2null 5 лет назад
Родитель
Сommit
99fa3d0495

+ 3 - 1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageDelete.java

@@ -1,5 +1,7 @@
 package com.x.processplatform.assemble.surface.jaxrs.task;
 
+import org.apache.commons.lang3.BooleanUtils;
+
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.project.Applications;
@@ -29,7 +31,7 @@ class ActionManageDelete extends BaseAction {
 			Application application = business.application().pick(task.getApplication());
 			Process process = business.process().pick(task.getProcess());
 			// 需要对这个应用的管理权限
-			if (!business.canManageApplicationOrProcess(effectivePerson, application, process)) {
+			if (BooleanUtils.isFalse(business.canManageApplicationOrProcess(effectivePerson, application, process))) {
 				throw new ExceptionAccessDenied(effectivePerson);
 			}
 		}

+ 153 - 87
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageListFilterPaging.java

@@ -34,7 +34,7 @@ class ActionManageListFilterPaging extends BaseAction {
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			Business business = new Business(emc);
 			ActionResult<List<Wo>> result = new ActionResult<>();
-			if (business.canManageApplication(effectivePerson, null)) {
+			if (BooleanUtils.isTrue(business.canManageApplication(effectivePerson, null))) {
 				Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
 				if (wi == null) {
 					wi = new Wi();
@@ -45,7 +45,7 @@ class ActionManageListFilterPaging extends BaseAction {
 				List<Wo> wos = Wo.copier.copy(os);
 				result.setData(wos);
 				result.setCount(this.count(effectivePerson, business, wi));
-			}else{
+			} else {
 				result.setData(new ArrayList<Wo>());
 				result.setCount(0L);
 			}
@@ -54,7 +54,7 @@ class ActionManageListFilterPaging extends BaseAction {
 	}
 
 	private List<Task> list(EffectivePerson effectivePerson, Business business, Integer adjustPage,
-							Integer adjustPageSize, Wi wi) throws Exception {
+			Integer adjustPageSize, Wi wi) throws Exception {
 		EntityManager em = business.entityManagerContainer().get(Task.class);
 		List<String> person_ids = business.organization().person().list(wi.getCredentialList());
 		CriteriaBuilder cb = em.getCriteriaBuilder();
@@ -64,51 +64,51 @@ class ActionManageListFilterPaging extends BaseAction {
 		if (ListTools.isNotEmpty(wi.getApplicationList())) {
 			p = cb.and(p, root.get(Task_.application).in(wi.getApplicationList()));
 		}
-		if (StringUtils.isNotBlank(wi.getPerson())){
-			p = cb.and(p,cb.equal(root.get(Task_.person), wi.getPerson()));
+		if (StringUtils.isNotBlank(wi.getPerson())) {
+			p = cb.and(p, cb.equal(root.get(Task_.person), wi.getPerson()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue01())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue01), wi.getStringValue01()));
+		if (StringUtils.isNotBlank(wi.getStringValue01())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue01), wi.getStringValue01()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue02())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue02), wi.getStringValue02()));
+		if (StringUtils.isNotBlank(wi.getStringValue02())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue02), wi.getStringValue02()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue03())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue03), wi.getStringValue03()));
+		if (StringUtils.isNotBlank(wi.getStringValue03())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue03), wi.getStringValue03()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue04())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue04), wi.getStringValue04()));
+		if (StringUtils.isNotBlank(wi.getStringValue04())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue04), wi.getStringValue04()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue05())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue05), wi.getStringValue05()));
+		if (StringUtils.isNotBlank(wi.getStringValue05())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue05), wi.getStringValue05()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue06())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue06), wi.getStringValue06()));
+		if (StringUtils.isNotBlank(wi.getStringValue06())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue06), wi.getStringValue06()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue07())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue07), wi.getStringValue07()));
+		if (StringUtils.isNotBlank(wi.getStringValue07())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue07), wi.getStringValue07()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue08())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue08), wi.getStringValue08()));
+		if (StringUtils.isNotBlank(wi.getStringValue08())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue08), wi.getStringValue08()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue09())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue09), wi.getStringValue09()));
+		if (StringUtils.isNotBlank(wi.getStringValue09())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue09), wi.getStringValue09()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue10())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue10), wi.getStringValue10()));
+		if (StringUtils.isNotBlank(wi.getStringValue10())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue10), wi.getStringValue10()));
 		}
 
 		if (ListTools.isNotEmpty(wi.getProcessList())) {
-			if(BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
+			if (BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
 				p = cb.and(p, root.get(Task_.process).in(wi.getProcessList()));
-			}else{
+			} else {
 				p = cb.and(p, root.get(Task_.process).in(business.process().listEditionProcess(wi.getProcessList())));
 			}
 		}
-		if(DateTools.isDateTimeOrDate(wi.getStartTime())){
+		if (DateTools.isDateTimeOrDate(wi.getStartTime())) {
 			p = cb.and(p, cb.greaterThan(root.get(Task_.startTime), DateTools.parse(wi.getStartTime())));
 		}
-		if(DateTools.isDateTimeOrDate(wi.getEndTime())){
+		if (DateTools.isDateTimeOrDate(wi.getEndTime())) {
 			p = cb.and(p, cb.lessThan(root.get(Task_.startTime), DateTools.parse(wi.getEndTime())));
 		}
 		if (ListTools.isNotEmpty(person_ids)) {
@@ -129,25 +129,27 @@ class ActionManageListFilterPaging extends BaseAction {
 		if (ListTools.isNotEmpty(wi.getActivityNameList())) {
 			p = cb.and(p, root.get(Task_.activityName).in(wi.getActivityNameList()));
 		}
-		if(StringUtils.isNotBlank(wi.getExpireTime())){
+		if (StringUtils.isNotBlank(wi.getExpireTime())) {
 			int expireTime = 0;
 			try {
 				expireTime = Integer.parseInt(wi.getExpireTime());
 			} catch (NumberFormatException e) {
 			}
-			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.expireTime), DateTools.getAdjustTimeDay(null, 0, -expireTime, 0, 0)));
+			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.expireTime),
+					DateTools.getAdjustTimeDay(null, 0, -expireTime, 0, 0)));
 		}
-		if(StringUtils.isNotBlank(wi.getUrgeTime())){
+		if (StringUtils.isNotBlank(wi.getUrgeTime())) {
 			int urgeTime = 0;
 			try {
 				urgeTime = Integer.parseInt(wi.getUrgeTime());
 			} catch (NumberFormatException e) {
 			}
-			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.urgeTime), DateTools.getAdjustTimeDay(null, 0, -urgeTime, 0, 0)));
+			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.urgeTime),
+					DateTools.getAdjustTimeDay(null, 0, -urgeTime, 0, 0)));
 		}
 		if (StringUtils.isNoneBlank(wi.getKey())) {
 			String key = StringTools.escapeSqlLikeKey(wi.getKey());
-			p = cb.and(p,cb.like(root.get(Task_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
+			p = cb.and(p, cb.like(root.get(Task_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
 		}
 		cq.select(root).where(p).orderBy(cb.desc(root.get(Task_.startTime)));
 		return em.createQuery(cq).setFirstResult((adjustPage - 1) * adjustPageSize).setMaxResults(adjustPageSize)
@@ -164,51 +166,51 @@ class ActionManageListFilterPaging extends BaseAction {
 		if (ListTools.isNotEmpty(wi.getApplicationList())) {
 			p = cb.and(p, root.get(Task_.application).in(wi.getApplicationList()));
 		}
-		if (StringUtils.isNotBlank(wi.getPerson())){
-			p = cb.and(p,cb.equal(root.get(Task_.person), wi.getPerson()));
+		if (StringUtils.isNotBlank(wi.getPerson())) {
+			p = cb.and(p, cb.equal(root.get(Task_.person), wi.getPerson()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue01())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue01), wi.getStringValue01()));
+		if (StringUtils.isNotBlank(wi.getStringValue01())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue01), wi.getStringValue01()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue02())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue02), wi.getStringValue02()));
+		if (StringUtils.isNotBlank(wi.getStringValue02())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue02), wi.getStringValue02()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue03())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue03), wi.getStringValue03()));
+		if (StringUtils.isNotBlank(wi.getStringValue03())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue03), wi.getStringValue03()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue04())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue04), wi.getStringValue04()));
+		if (StringUtils.isNotBlank(wi.getStringValue04())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue04), wi.getStringValue04()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue05())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue05), wi.getStringValue05()));
+		if (StringUtils.isNotBlank(wi.getStringValue05())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue05), wi.getStringValue05()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue06())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue06), wi.getStringValue06()));
+		if (StringUtils.isNotBlank(wi.getStringValue06())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue06), wi.getStringValue06()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue07())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue07), wi.getStringValue07()));
+		if (StringUtils.isNotBlank(wi.getStringValue07())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue07), wi.getStringValue07()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue08())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue08), wi.getStringValue08()));
+		if (StringUtils.isNotBlank(wi.getStringValue08())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue08), wi.getStringValue08()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue09())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue09), wi.getStringValue09()));
+		if (StringUtils.isNotBlank(wi.getStringValue09())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue09), wi.getStringValue09()));
 		}
-		if (StringUtils.isNotBlank(wi.getStringValue10())){
-			p = cb.and(p,cb.equal(root.get(Task_.stringValue10), wi.getStringValue10()));
+		if (StringUtils.isNotBlank(wi.getStringValue10())) {
+			p = cb.and(p, cb.equal(root.get(Task_.stringValue10), wi.getStringValue10()));
 		}
 
 		if (ListTools.isNotEmpty(wi.getProcessList())) {
-			if(BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
+			if (BooleanUtils.isFalse(wi.getRelateEditionProcess())) {
 				p = cb.and(p, root.get(Task_.process).in(wi.getProcessList()));
-			}else{
+			} else {
 				p = cb.and(p, root.get(Task_.process).in(business.process().listEditionProcess(wi.getProcessList())));
 			}
 		}
-		if(DateTools.isDateTimeOrDate(wi.getStartTime())){
+		if (DateTools.isDateTimeOrDate(wi.getStartTime())) {
 			p = cb.and(p, cb.greaterThan(root.get(Task_.startTime), DateTools.parse(wi.getStartTime())));
 		}
-		if(DateTools.isDateTimeOrDate(wi.getEndTime())){
+		if (DateTools.isDateTimeOrDate(wi.getEndTime())) {
 			p = cb.and(p, cb.lessThan(root.get(Task_.startTime), DateTools.parse(wi.getEndTime())));
 		}
 		if (ListTools.isNotEmpty(person_ids)) {
@@ -229,25 +231,27 @@ class ActionManageListFilterPaging extends BaseAction {
 		if (ListTools.isNotEmpty(wi.getActivityNameList())) {
 			p = cb.and(p, root.get(Task_.activityName).in(wi.getActivityNameList()));
 		}
-		if(StringUtils.isNotBlank(wi.getExpireTime())){
+		if (StringUtils.isNotBlank(wi.getExpireTime())) {
 			int expireTime = 0;
 			try {
 				expireTime = Integer.parseInt(wi.getExpireTime());
 			} catch (NumberFormatException e) {
 			}
-			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.expireTime), DateTools.getAdjustTimeDay(null, 0, -expireTime, 0, 0)));
+			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.expireTime),
+					DateTools.getAdjustTimeDay(null, 0, -expireTime, 0, 0)));
 		}
-		if(StringUtils.isNotBlank(wi.getUrgeTime())){
+		if (StringUtils.isNotBlank(wi.getUrgeTime())) {
 			int urgeTime = 0;
 			try {
 				urgeTime = Integer.parseInt(wi.getUrgeTime());
 			} catch (NumberFormatException e) {
 			}
-			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.urgeTime), DateTools.getAdjustTimeDay(null, 0, -urgeTime, 0, 0)));
+			p = cb.and(p, cb.lessThanOrEqualTo(root.get(Task_.urgeTime),
+					DateTools.getAdjustTimeDay(null, 0, -urgeTime, 0, 0)));
 		}
 		if (StringUtils.isNoneBlank(wi.getKey())) {
 			String key = StringTools.escapeSqlLikeKey(wi.getKey());
-			p = cb.and(p,cb.like(root.get(Task_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
+			p = cb.and(p, cb.like(root.get(Task_.title), "%" + key + "%", StringTools.SQL_ESCAPE_CHAR));
 		}
 		return em.createQuery(cq.select(cb.count(root)).where(p)).getSingleResult();
 	}
@@ -296,7 +300,6 @@ class ActionManageListFilterPaging extends BaseAction {
 		@FieldDescribe("匹配关键字")
 		private String key;
 
-
 		@FieldDescribe("当前待办人")
 		private String person;
 		@FieldDescribe("业务数据String值01")
@@ -324,27 +327,90 @@ class ActionManageListFilterPaging extends BaseAction {
 			return applicationList;
 		}
 
-		public String getPerson() { return person; }
-		public String getStringValue01() { return stringValue01; }
-		public String getStringValue02() { return stringValue02; }
-		public String getStringValue03() { return stringValue03; }
-		public String getStringValue04() { return stringValue04; }
-		public String getStringValue05() { return stringValue05; }
-		public String getStringValue06() { return stringValue06; }
-		public String getStringValue07() { return stringValue07; }
-		public String getStringValue08() { return stringValue08; }
-		public String getStringValue09() { return stringValue09; }
-		public String getStringValue10() { return stringValue10; }
-		public void setStringValue01(String stringValue01) { this.stringValue01 = stringValue01; }
-		public void setStringValue02(String stringValue02) { this.stringValue02 = stringValue02; }
-		public void setStringValue03(String stringValue03) { this.stringValue03 = stringValue03; }
-		public void setStringValue04(String stringValue04) { this.stringValue04 = stringValue04; }
-		public void setStringValue05(String stringValue05) { this.stringValue05 = stringValue05; }
-		public void setStringValue06(String stringValue06) { this.stringValue06 = stringValue06; }
-		public void setStringValue07(String stringValue07) { this.stringValue07 = stringValue07; }
-		public void setStringValue08(String stringValue08) { this.stringValue08 = stringValue08; }
-		public void setStringValue09(String stringValue09) { this.stringValue09 = stringValue09; }
-		public void setStringValue10(String stringValue10) { this.stringValue10 = stringValue10; }
+		public String getPerson() {
+			return person;
+		}
+
+		public String getStringValue01() {
+			return stringValue01;
+		}
+
+		public String getStringValue02() {
+			return stringValue02;
+		}
+
+		public String getStringValue03() {
+			return stringValue03;
+		}
+
+		public String getStringValue04() {
+			return stringValue04;
+		}
+
+		public String getStringValue05() {
+			return stringValue05;
+		}
+
+		public String getStringValue06() {
+			return stringValue06;
+		}
+
+		public String getStringValue07() {
+			return stringValue07;
+		}
+
+		public String getStringValue08() {
+			return stringValue08;
+		}
+
+		public String getStringValue09() {
+			return stringValue09;
+		}
+
+		public String getStringValue10() {
+			return stringValue10;
+		}
+
+		public void setStringValue01(String stringValue01) {
+			this.stringValue01 = stringValue01;
+		}
+
+		public void setStringValue02(String stringValue02) {
+			this.stringValue02 = stringValue02;
+		}
+
+		public void setStringValue03(String stringValue03) {
+			this.stringValue03 = stringValue03;
+		}
+
+		public void setStringValue04(String stringValue04) {
+			this.stringValue04 = stringValue04;
+		}
+
+		public void setStringValue05(String stringValue05) {
+			this.stringValue05 = stringValue05;
+		}
+
+		public void setStringValue06(String stringValue06) {
+			this.stringValue06 = stringValue06;
+		}
+
+		public void setStringValue07(String stringValue07) {
+			this.stringValue07 = stringValue07;
+		}
+
+		public void setStringValue08(String stringValue08) {
+			this.stringValue08 = stringValue08;
+		}
+
+		public void setStringValue09(String stringValue09) {
+			this.stringValue09 = stringValue09;
+		}
+
+		public void setStringValue10(String stringValue10) {
+			this.stringValue10 = stringValue10;
+		}
+
 		public void setPerson(String person) {
 			this.person = person;
 		}

+ 1 - 1
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/task/ActionManageProcessing.java

@@ -37,7 +37,7 @@ class ActionManageProcessing extends BaseAction {
 			}
 			Process process = business.process().pick(task.getProcess());
 			// 需要对这个应用的管理权限
-			if (BooleanUtils.isTrue(business.canManageApplicationOrProcess(effectivePerson, application, process))) {
+			if (BooleanUtils.isFalse(business.canManageApplicationOrProcess(effectivePerson, application, process))) {
 				throw new ExceptionAccessDenied(effectivePerson);
 			}
 			/* 如果有输入新的路由决策覆盖原有决策 */