Explorar o código

线程执行修复

Zhou Rui %!s(int64=5) %!d(string=hai) anos
pai
achega
43aaefde4d

+ 2 - 2
.gitignore

@@ -25,8 +25,7 @@
 /o2web/ftpconfig.js
 **/.DS_Store
 .DS_Store
-**/.idea
-/.idea/
+**/.idea/
 # Windows thumbnail cache files
 Thumbs.db
 Thumbs.db:encryptable
@@ -151,3 +150,4 @@ typings/
 #vscode
 **/.factorypath
 **/.vscode/
+*.swp

+ 1 - 1
README.md

@@ -92,7 +92,7 @@ AIX : http://download.o2oa.net/download/o2server_20200316073520_aix.zip
 
 银河麒麟(飞腾):http://download.o2oa.net/download/o2server_20200316073520_kylinos_phytium.zip
 
-raspberrypi(树莓派):http://download.o2oa.net/download/o2server_20200316073520_raspberrypi.zip
+raspberrypi(树莓派):http://download.o2oa.net/download/o2server_20200316073520_raspberrypi.zip
 
 
 

+ 0 - 4
o2server/x_console/pom.xml

@@ -36,10 +36,6 @@
 			<groupId>o2oa</groupId>
 			<artifactId>x_query_core_entity</artifactId>
 		</dependency>
-		<dependency>
-			<groupId>o2oa</groupId>
-			<artifactId>x_query_core_entity</artifactId>
-		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>slf4j-simple</artifactId>

+ 3 - 0
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionCreate.java

@@ -55,6 +55,9 @@ class ActionCreate extends BaseAction {
 			if (this.duplicateUniqueWhenNotEmpty(business, unit)) {
 				throw new ExceptionDuplicateUnique(unit.getName(), unit.getUnique());
 			}
+			if (this.checkNameInvalid(business,unit)){
+				throw new ExceptionNameInvalid(unit.getName());
+			}
 			/** 判断同一级别下name不重复 */
 			if (this.duplicateName(business, unit)) {
 				throw new ExceptionDuplicateName(unit.getName());

+ 5 - 9
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ActionEdit.java

@@ -9,20 +9,15 @@ 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.Gson;
 import com.google.gson.JsonElement;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_message_assemble_communicate;
 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.connection.ActionResponse;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoId;
@@ -30,16 +25,14 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.ListTools;
 import com.x.organization.assemble.control.Business;
-import com.x.organization.assemble.control.ThisApplication;
-import com.x.organization.assemble.control.message.OrgBodyMessage;
-import com.x.organization.assemble.control.message.OrgMessage;
 import com.x.organization.assemble.control.message.OrgMessageFactory;
 import com.x.organization.core.entity.Identity;
 import com.x.organization.core.entity.Identity_;
-import com.x.organization.core.entity.Person;
 import com.x.organization.core.entity.Unit;
 import com.x.organization.core.entity.Unit_;
 
+import org.apache.commons.lang3.StringUtils;
+
 class ActionEdit extends BaseAction {
 
 	@SuppressWarnings("unused")
@@ -75,6 +68,9 @@ class ActionEdit extends BaseAction {
 			if (this.duplicateUniqueWhenNotEmpty(business, unit)) {
 				throw new ExceptionDuplicateUnique(unit.getName(), unit.getUnique());
 			}
+			if (this.checkNameInvalid(business,unit)){
+				throw new ExceptionNameInvalid(unit.getName());
+			}
 			/** 判断同一级别下name不重复 */
 			if (this.duplicateName(business, unit)) {
 				throw new ExceptionDuplicateName(unit.getName());

+ 8 - 0
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/BaseAction.java

@@ -45,6 +45,14 @@ abstract class BaseAction extends StandardJaxrsAction {
 		return count > 0;
 	}
 
+	protected boolean checkNameInvalid(Business business, Unit unit) throws Exception {
+		if (StringUtils.containsAny(unit.getName(), new String[] { "\\","/"})) {
+			return true;
+		}
+		return false;
+
+	}
+
 	public static class Control extends GsonPropertyObject {
 
 		private Boolean allowEdit = false;

+ 12 - 0
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/unit/ExceptionNameInvalid.java

@@ -0,0 +1,12 @@
+package com.x.organization.assemble.control.jaxrs.unit;
+
+import com.x.base.core.project.exception.PromptException;
+
+class ExceptionNameInvalid extends PromptException {
+
+	private static final long serialVersionUID = 4132300948670472899L;
+
+	ExceptionNameInvalid(String name) {
+		super("组织 {} 名称不符合要求.", name);
+	}
+}

+ 3 - 0
o2server/x_organization_assemble_control/src/main/webapp/describe/sources/com/x/organization/assemble/control/jaxrs/unit/ActionCreate.java

@@ -55,6 +55,9 @@ class ActionCreate extends BaseAction {
 			if (this.duplicateUniqueWhenNotEmpty(business, unit)) {
 				throw new ExceptionDuplicateUnique(unit.getName(), unit.getUnique());
 			}
+			if (this.checkNameInvalid(business,unit)){
+				throw new ExceptionNameInvalid(unit.getName());
+			}
 			/** 判断同一级别下name不重复 */
 			if (this.duplicateName(business, unit)) {
 				throw new ExceptionDuplicateName(unit.getName());

+ 5 - 9
o2server/x_organization_assemble_control/src/main/webapp/describe/sources/com/x/organization/assemble/control/jaxrs/unit/ActionEdit.java

@@ -9,20 +9,15 @@ 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.Gson;
 import com.google.gson.JsonElement;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.annotation.CheckPersistType;
-import com.x.base.core.project.Applications;
-import com.x.base.core.project.x_message_assemble_communicate;
 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.connection.ActionResponse;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoId;
@@ -30,16 +25,14 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.ListTools;
 import com.x.organization.assemble.control.Business;
-import com.x.organization.assemble.control.ThisApplication;
-import com.x.organization.assemble.control.message.OrgBodyMessage;
-import com.x.organization.assemble.control.message.OrgMessage;
 import com.x.organization.assemble.control.message.OrgMessageFactory;
 import com.x.organization.core.entity.Identity;
 import com.x.organization.core.entity.Identity_;
-import com.x.organization.core.entity.Person;
 import com.x.organization.core.entity.Unit;
 import com.x.organization.core.entity.Unit_;
 
+import org.apache.commons.lang3.StringUtils;
+
 class ActionEdit extends BaseAction {
 
 	@SuppressWarnings("unused")
@@ -75,6 +68,9 @@ class ActionEdit extends BaseAction {
 			if (this.duplicateUniqueWhenNotEmpty(business, unit)) {
 				throw new ExceptionDuplicateUnique(unit.getName(), unit.getUnique());
 			}
+			if (this.checkNameInvalid(business,unit)){
+				throw new ExceptionNameInvalid(unit.getName());
+			}
 			/** 判断同一级别下name不重复 */
 			if (this.duplicateName(business, unit)) {
 				throw new ExceptionDuplicateName(unit.getName());

+ 8 - 0
o2server/x_organization_assemble_control/src/main/webapp/describe/sources/com/x/organization/assemble/control/jaxrs/unit/BaseAction.java

@@ -45,6 +45,14 @@ abstract class BaseAction extends StandardJaxrsAction {
 		return count > 0;
 	}
 
+	protected boolean checkNameInvalid(Business business, Unit unit) throws Exception {
+		if (StringUtils.containsAny(unit.getName(), new String[] { "\\","/"})) {
+			return true;
+		}
+		return false;
+
+	}
+
 	public static class Control extends GsonPropertyObject {
 
 		private Boolean allowEdit = false;

+ 11 - 4
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/ActionAssignCreate.java

@@ -41,8 +41,10 @@ import com.x.processplatform.core.entity.element.Application_;
 import com.x.processplatform.core.entity.element.Begin;
 import com.x.processplatform.core.entity.element.Process;
 import com.x.processplatform.core.entity.element.Process_;
+import com.x.processplatform.core.express.ProcessingAttributes;
 import com.x.processplatform.service.processing.Business;
 import com.x.processplatform.service.processing.MessageFactory;
+import com.x.processplatform.service.processing.Processing;
 import com.x.processplatform.service.processing.ThisApplication;
 import com.x.processplatform.service.processing.WorkDataHelper;
 
@@ -54,7 +56,7 @@ import org.apache.commons.lang3.StringUtils;
  * 
  * @author Rui
  *
- * 此方法不需要推入线程池运行
+ *         此方法不需要推入线程池运行
  */
 class ActionAssignCreate extends BaseAction {
 
@@ -68,7 +70,6 @@ class ActionAssignCreate extends BaseAction {
 		Boolean processing = wi.getProcessing();
 
 		Work work = null;
-
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			Business business = new Business(emc);
 			List<String> applicationIds = listApplication(business, wi.getApplication());
@@ -121,9 +122,15 @@ class ActionAssignCreate extends BaseAction {
 			emc.commit();
 		}
 		MessageFactory.work_create(work);
+		// if (BooleanUtils.isTrue(processing)) {
+		// ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
+		// Applications.joinQueryUri("work", work.getId(), "processing"), null,
+		// work.getJob());
+		// }
 		if (BooleanUtils.isTrue(processing)) {
-			ThisApplication.context().applications().putQuery(x_processplatform_service_processing.class,
-					Applications.joinQueryUri("work", work.getId(), "processing"), null, work.getJob());
+			ProcessingAttributes processingAttributes = new ProcessingAttributes();
+			Processing p = new Processing(processingAttributes);
+			p.processing(work.getId());
 		}
 		wo.setId(work.getId());
 		result.setData(wo);

+ 0 - 1
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/ActionCreate.java

@@ -40,7 +40,6 @@ class ActionCreate extends BaseAction {
 			Process process = business.element().get(processId, Process.class);
 			Application application = business.element().get(process.getApplication(), Application.class);
 			Begin begin = business.element().getBeginWithProcess(process.getId());
-
 			work = create(application, process, begin);
 			emc.beginTransaction(Work.class);
 			if ((null != jsonElement) && jsonElement.isJsonObject()) {