提交 b840df8d 编写于 作者: O o2null

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

修正权限

See merge request o2oa/o2oa!1369
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);
}
}
......
......@@ -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;
}
......
......@@ -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);
}
/* 如果有输入新的路由决策覆盖原有决策 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册