Sfoglia il codice sorgente

Merge branch 'wrdp' into 'develop'

Wrdp

See merge request o2oa/o2oa!2352
o2null 5 anni fa
parent
commit
7aeb03a39b

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/ExternalDataSource.java

@@ -76,7 +76,7 @@ public class ExternalDataSource extends ConfigObject {
 	@FieldDescribe("空闲阈值,默认300秒.")
 	private Integer maxIdleTime;
 
-	public static final Integer DEFAULT_MAXTOTAL = 50;
+	public static final Integer DEFAULT_MAXTOTAL = 100;
 
 	public static final Integer DEFAULT_MAXIDLE = 0;
 

+ 25 - 24
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/ActionCreate.java

@@ -75,20 +75,20 @@ class ActionCreate extends BaseAction {
 				throw new ExceptionApplicationAccessDenied(effectivePerson.getDistinguishedName(), application.getId());
 			}
 			if (BooleanUtils.isTrue(wi.getLatest())) {
-				/* 判断是否是要直接打开之前创建的草稿,草稿的判断标准:有待办无任何已办 */
+				// 判断是否是要直接打开之前创建的草稿,草稿的判断标准:有待办无任何已办
 				lastestWorkId = this.latest(business, process, identity);
 				workId = lastestWorkId;
 			}
 		}
 		if (StringUtils.isEmpty(workId)) {
 			WoId woId = ThisApplication.context().applications().postQuery(x_processplatform_service_processing.class,
-					Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), process.getId())
+					Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), null)
 					.getData(WoId.class);
 			workId = woId.getId();
 		}
-		/* 设置Work信息 */
+		// 设置Work信息
 		if (BooleanUtils.isFalse(wi.getLatest()) || (StringUtils.isEmpty(lastestWorkId))) {
-			/* 如果不是草稿那么需要进行设置 */
+			// 如果不是草稿那么需要进行设置
 			try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 				Business business = new Business(emc);
 				Organization organization = business.organization();
@@ -111,21 +111,21 @@ class ActionCreate extends BaseAction {
 			ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
 					Applications.joinQueryUri("work", workId, "processing", "nonblocking"), null);
 		} else {
-			/* 如果是草稿,准备后面的直接打开 */
+			// 如果是草稿,准备后面的直接打开
 			workId = lastestWorkId;
 		}
-		/* 拼装返回结果 */
+		// 拼装返回结果
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			Business business = new Business(emc);
 			Work work = emc.find(workId, Work.class);
-			/* 如果work是从开始->执行任务->结束,这里work已经结束那么有可能这里已经没有work了. */
+			// 如果work是从开始->执行任务->结束,这里work已经结束那么有可能这里已经没有work了.
 			if (null != work) {
 				List<String> ids = business.workLog()
 						.listWithFromActivityTokenForwardNotConnected(work.getActivityToken());
-				/* 先取得没有结束的WorkLog */
+				// 先取得没有结束的WorkLog
 				List<WorkLog> list = emc.list(WorkLog.class, ids);
 				wos = this.refercenceWorkLog(business, list);
-				/* 标识当前用户的待办 */
+				// 标识当前用户的待办
 				for (Wo o : wos) {
 					o.setCurrentTaskIndex(-1);
 					for (int i = 0; i < o.getTaskList().size(); i++) {
@@ -368,21 +368,22 @@ class ActionCreate extends BaseAction {
 				return ObjectUtils.compare(o1.getCompletedTime(), o2.getCompletedTime(), true);
 			}
 		});
-		/* 补充召回 */
-		List<WoTaskCompleted> results = new ArrayList<>();
-		for (WoTaskCompleted o : list) {
-			results.add(o);
-			if (o.getProcessingType().equals(ProcessingType.retract)) {
-				WoTaskCompleted retract = new WoTaskCompleted();
-				o.copyTo(retract);
-				retract.setRouteName("撤回");
-				retract.setOpinion("撤回");
-				retract.setStartTime(retract.getRetractTime());
-				retract.setCompletedTime(retract.getRetractTime());
-				results.add(retract);
-			}
-		}
-		wo.setTaskCompletedList(results);
+		wo.setTaskCompletedList(list);
+//		/* 补充召回 */
+//		List<WoTaskCompleted> results = new ArrayList<>();
+//		for (WoTaskCompleted o : list) {
+//			results.add(o);
+//			if (o.getProcessingType().equals(ProcessingType.retract)) {
+//				WoTaskCompleted retract = new WoTaskCompleted();
+//				o.copyTo(retract);
+//				retract.setRouteName("撤回");
+//				retract.setOpinion("撤回");
+//				retract.setStartTime(retract.getRetractTime());
+//				retract.setCompletedTime(retract.getRetractTime());
+//				results.add(retract);
+//			}
+//		}
+//		wo.setTaskCompletedList(results);
 	}
 
 }

+ 31 - 30
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/ActionCreateForce.java

@@ -45,9 +45,9 @@ class ActionCreateForce extends BaseAction {
 	ActionResult<List<Wo>> execute(EffectivePerson effectivePerson, String processFlag, JsonElement jsonElement)
 			throws Exception {
 		Audit audit = logger.audit(effectivePerson);
-		/* 新建工作id */
+		// 新建工作id
 		String workId = "";
-		/* 已存在草稿id */
+		// 已存在草稿id
 		String lastestWorkId = "";
 		String identity = null;
 		Process process = null;
@@ -69,20 +69,20 @@ class ActionCreateForce extends BaseAction {
 				throw new ExceptionApplicationAccessDenied(effectivePerson.getDistinguishedName(), application.getId());
 			}
 			if (BooleanUtils.isTrue(wi.getLatest())) {
-				/* 判断是否是要直接打开之前创建的草稿,草稿的判断标准:有待办无任何已办 */
+				// 判断是否是要直接打开之前创建的草稿,草稿的判断标准:有待办无任何已办
 				lastestWorkId = this.latest(business, process, identity);
 				workId = lastestWorkId;
 			}
 		}
 		if (StringUtils.isEmpty(workId)) {
 			WoId woId = ThisApplication.context().applications().postQuery(x_processplatform_service_processing.class,
-					Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), process.getId())
+					Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), null)
 					.getData(WoId.class);
 			workId = woId.getId();
 		}
-		/* 设置Work信息 */
+		// 设置Work信息
 		if (BooleanUtils.isFalse(wi.getLatest()) || (StringUtils.isEmpty(lastestWorkId))) {
-			/* 如果不是草稿那么需要进行设置 */
+			// 如果不是草稿那么需要进行设置
 			try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 				Business business = new Business(emc);
 				Organization organization = business.organization();
@@ -101,25 +101,25 @@ class ActionCreateForce extends BaseAction {
 				}
 				emc.commit();
 			}
-			/* 驱动工作,使用非队列方式 */
+			// 驱动工作,使用非队列方式
 			ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
-					Applications.joinQueryUri("work", workId, "processing", "nonblocking"), null, processFlag);
+					Applications.joinQueryUri("work", workId, "processing", "nonblocking"), null, null);
 		} else {
-			/* 如果是草稿,准备后面的直接打开 */
+			// 如果是草稿,准备后面的直接打开
 			workId = lastestWorkId;
 		}
-		/* 拼装返回结果 */
+		// 拼装返回结果
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			Business business = new Business(emc);
 			Work work = emc.find(workId, Work.class);
-			/* 如果work是从开始->执行任务->结束,这里work已经结束那么有可能这里已经没有work了. */
+			// 如果work是从开始->执行任务->结束,这里work已经结束那么有可能这里已经没有work了.
 			if (null != work) {
 				List<String> ids = business.workLog()
 						.listWithFromActivityTokenForwardNotConnected(work.getActivityToken());
-				/* 先取得没有结束的WorkLog */
+				// 先取得没有结束的WorkLog
 				List<WorkLog> list = emc.list(WorkLog.class, ids);
 				wos = this.refercenceWorkLog(business, list);
-				/* 标识当前用户的待办 */
+				// 标识当前用户的待办
 				for (Wo o : wos) {
 					o.setCurrentTaskIndex(-1);
 					for (int i = 0; i < o.getTaskList().size(); i++) {
@@ -317,7 +317,7 @@ class ActionCreateForce extends BaseAction {
 			if (BooleanUtils.isNotTrue(o.getConnected())) {
 				this.referenceTask(business, wo);
 			} else {
-				/** 已经完成的不会有待办,返回一个空数组 */
+				// 已经完成的不会有待办,返回一个空数组
 				wo.setTaskList(new ArrayList<WoTask>());
 			}
 			this.referenceTaskCompleted(business, wo);
@@ -338,7 +338,7 @@ class ActionCreateForce extends BaseAction {
 			} else if (identities.size() == 1) {
 				return identities.get(0);
 			} else {
-				/* 有多个身份需要逐一判断是否包含. */
+				// 有多个身份需要逐一判断是否包含.
 				for (String o : identities) {
 					if (StringUtils.equals(o, wi.getIdentity())) {
 						return o;
@@ -371,21 +371,22 @@ class ActionCreateForce extends BaseAction {
 				return ObjectUtils.compare(o1.getCompletedTime(), o2.getCompletedTime(), true);
 			}
 		});
-		/* 补充召回 */
-		List<WoTaskCompleted> results = new ArrayList<>();
-		for (WoTaskCompleted o : list) {
-			results.add(o);
-			if (o.getProcessingType().equals(ProcessingType.retract)) {
-				WoTaskCompleted retract = new WoTaskCompleted();
-				o.copyTo(retract);
-				retract.setRouteName("撤回");
-				retract.setOpinion("撤回");
-				retract.setStartTime(retract.getRetractTime());
-				retract.setCompletedTime(retract.getRetractTime());
-				results.add(retract);
-			}
-		}
-		wo.setTaskCompletedList(results);
+		wo.setTaskCompletedList(list);
+//		/* 补充召回 */
+//		List<WoTaskCompleted> results = new ArrayList<>();
+//		for (WoTaskCompleted o : list) {
+//			results.add(o);
+//			if (o.getProcessingType().equals(ProcessingType.retract)) {
+//				WoTaskCompleted retract = new WoTaskCompleted();
+//				o.copyTo(retract);
+//				retract.setRouteName("撤回");
+//				retract.setOpinion("撤回");
+//				retract.setStartTime(retract.getRetractTime());
+//				retract.setCompletedTime(retract.getRetractTime());
+//				results.add(retract);
+//			}
+//		}
+//		wo.setTaskCompletedList(results);
 	}
 
 }

+ 23 - 25
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/ActionCreateWithApplicationProcess.java

@@ -1,11 +1,14 @@
 package com.x.processplatform.assemble.surface.jaxrs.work;
 
-import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.ObjectUtils;
+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;
@@ -24,14 +27,12 @@ import com.x.base.core.project.logger.Audit;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.organization.Unit;
-import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.ListTools;
 import com.x.base.core.project.tools.SortTools;
 import com.x.organization.core.express.Organization;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import com.x.processplatform.assemble.surface.WorkControl;
-import com.x.processplatform.core.entity.content.ProcessingType;
 import com.x.processplatform.core.entity.content.Task;
 import com.x.processplatform.core.entity.content.TaskCompleted;
 import com.x.processplatform.core.entity.content.Work;
@@ -39,10 +40,6 @@ import com.x.processplatform.core.entity.content.WorkLog;
 import com.x.processplatform.core.entity.element.Application;
 import com.x.processplatform.core.entity.element.Process;
 
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.ObjectUtils;
-import org.apache.commons.lang3.StringUtils;
-
 /*
  * 根据应用名称和流程名称进行创建,和直接用process创建基本相同
  * */
@@ -89,7 +86,7 @@ class ActionCreateWithApplicationProcess extends BaseAction {
 			if (StringUtils.isEmpty(workId)) {
 				WoId woId = ThisApplication.context().applications()
 						.postQuery(x_processplatform_service_processing.class,
-								"work/process/" + URLEncoder.encode(process.getId(), DefaultCharset.name), wi.getData())
+								Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), null)
 						.getData(WoId.class);
 				workId = woId.getId();
 			}
@@ -117,7 +114,7 @@ class ActionCreateWithApplicationProcess extends BaseAction {
 			}
 			/* 驱动工作,使用非队列方式 */
 			ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
-					Applications.joinQueryUri("work", workId, "processing", "nonblocking"), null,processFlag);
+					Applications.joinQueryUri("work", workId, "processing", "nonblocking"), null, null);
 		} else {
 			/* 如果是草稿,准备后面的直接打开 */
 			workId = lastestWorkId;
@@ -336,7 +333,7 @@ class ActionCreateWithApplicationProcess extends BaseAction {
 			} else if (identities.size() == 1) {
 				return identities.get(0);
 			} else {
-				/* 有多个身份需要逐一判断是否包含. */
+				// 有多个身份需要逐一判断是否包含.
 				for (String o : identities) {
 					if (StringUtils.equals(o, wi.getIdentity())) {
 						return o;
@@ -369,21 +366,22 @@ class ActionCreateWithApplicationProcess extends BaseAction {
 				return ObjectUtils.compare(o1.getCompletedTime(), o2.getCompletedTime(), true);
 			}
 		});
-		/* 补充召回 */
-		List<WoTaskCompleted> results = new ArrayList<>();
-		for (WoTaskCompleted o : list) {
-			results.add(o);
-			if (o.getProcessingType().equals(ProcessingType.retract)) {
-				WoTaskCompleted retract = new WoTaskCompleted();
-				o.copyTo(retract);
-				retract.setRouteName("撤回");
-				retract.setOpinion("撤回");
-				retract.setStartTime(retract.getRetractTime());
-				retract.setCompletedTime(retract.getRetractTime());
-				results.add(retract);
-			}
-		}
-		wo.setTaskCompletedList(results);
+		wo.setTaskCompletedList(list);
+//		/* 补充召回 */
+//		List<WoTaskCompleted> results = new ArrayList<>();
+//		for (WoTaskCompleted o : list) {
+//			results.add(o);
+//			if (o.getProcessingType().equals(ProcessingType.retract)) {
+//				WoTaskCompleted retract = new WoTaskCompleted();
+//				o.copyTo(retract);
+//				retract.setRouteName("撤回");
+//				retract.setOpinion("撤回");
+//				retract.setStartTime(retract.getRetractTime());
+//				retract.setCompletedTime(retract.getRetractTime());
+//				results.add(retract);
+//			}
+//		}
+//		wo.setTaskCompletedList(results);
 	}
 
 }

+ 18 - 16
o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/ActionCreateWithApplicationProcessForce.java

@@ -19,6 +19,7 @@ import com.x.base.core.project.organization.Unit;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.ListTools;
 import com.x.base.core.project.tools.SortTools;
+import com.x.base.core.project.Applications;
 import com.x.base.core.project.x_processplatform_service_processing;
 import com.x.organization.core.express.Organization;
 import com.x.processplatform.assemble.surface.Business;
@@ -80,7 +81,7 @@ class ActionCreateWithApplicationProcessForce extends BaseAction {
 			if (StringUtils.isEmpty(workId)) {
 				WoId woId = ThisApplication.context().applications()
 						.postQuery(x_processplatform_service_processing.class,
-								"work/process/" + URLEncoder.encode(process.getId(), DefaultCharset.name), wi.getData())
+								Applications.joinQueryUri("work", "process", process.getId()), wi.getData(), null)
 						.getData(WoId.class);
 				workId = woId.getId();
 			}
@@ -360,21 +361,22 @@ class ActionCreateWithApplicationProcessForce extends BaseAction {
 				return ObjectUtils.compare(o1.getCompletedTime(), o2.getCompletedTime(), true);
 			}
 		});
-		/* 补充召回 */
-		List<WoTaskCompleted> results = new ArrayList<>();
-		for (WoTaskCompleted o : list) {
-			results.add(o);
-			if (o.getProcessingType().equals(ProcessingType.retract)) {
-				WoTaskCompleted retract = new WoTaskCompleted();
-				o.copyTo(retract);
-				retract.setRouteName("撤回");
-				retract.setOpinion("撤回");
-				retract.setStartTime(retract.getRetractTime());
-				retract.setCompletedTime(retract.getRetractTime());
-				results.add(retract);
-			}
-		}
-		wo.setTaskCompletedList(results);
+		wo.setTaskCompletedList(list);
+//		/* 补充召回 */
+//		List<WoTaskCompleted> results = new ArrayList<>();
+//		for (WoTaskCompleted o : list) {
+//			results.add(o);
+//			if (o.getProcessingType().equals(ProcessingType.retract)) {
+//				WoTaskCompleted retract = new WoTaskCompleted();
+//				o.copyTo(retract);
+//				retract.setRouteName("撤回");
+//				retract.setOpinion("撤回");
+//				retract.setStartTime(retract.getRetractTime());
+//				retract.setCompletedTime(retract.getRetractTime());
+//				results.add(retract);
+//			}
+//		}
+//		wo.setTaskCompletedList(results);
 	}
 
 }

+ 1 - 2
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/test/TestAction.java

@@ -4,16 +4,15 @@ import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.container.AsyncResponse;
 import javax.ws.rs.container.Suspended;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 
+import com.x.base.core.project.Application;
 import com.x.base.core.project.annotation.JaxrsDescribe;
 import com.x.base.core.project.annotation.JaxrsMethodDescribe;
-import com.x.base.core.project.annotation.JaxrsParameterDescribe;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpMediaType;