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

Merge branch 'wrdp' into 'release'

Wrdp

See merge request o2oa/o2oa!2257
胡起 5 лет назад
Родитель
Сommit
538b3fec51
34 измененных файлов с 151 добавлено и 434 удалено
  1. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_general_assemble_control.java
  2. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_assemble_control.java
  3. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_processplatform_assemble_surface.java
  4. 1 1
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/ActionApplication.java
  5. 0 54
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/ActionGeneralFile.java
  6. 0 13
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/ExceptionInputFileObject.java
  7. 0 7
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/BaseAction.java
  8. 0 43
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/FileAction.java
  9. 6 7
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/ActionGet.java
  10. 1 1
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/BaseAction.java
  11. 1 1
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/ExceptionInputFileObject.java
  12. 15 12
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/GeneralFileAction.java
  13. 14 12
      o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/schedule/Clean.java
  14. 5 5
      o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/GeneralFile.java
  15. 3 6
      o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/PersistenceProperties.java
  16. 0 207
      o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/general/File.java
  17. 1 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/inputperson/ActionGetResult.java
  18. 2 1
      o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/inputperson/ActionInputAll.java
  19. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompleted.java
  20. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionBatchDownloadWithWorkOrWorkCompletedStream.java
  21. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDownloadTransfer.java
  22. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionDownloadWorkInfo.java
  23. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionHtmlToPdf.java
  24. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionPreviewImage.java
  25. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionPreviewImageResult.java
  26. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionPreviewPdf.java
  27. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionPreviewPdfResult.java
  28. 1 1
      o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/attachment/ActionUploadWorkInfo.java
  29. 17 0
      o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/ActivityType.java
  30. 5 0
      o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/jaxrs/work/ActionAssignCreate.java
  31. 5 2
      o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java
  32. 36 30
      o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java
  33. 10 4
      o2web/source/x_component_Template/MTooltips.js
  34. 16 14
      o2web/source/x_component_process_Xform/Form.js

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

@@ -6,7 +6,7 @@ import com.x.base.core.project.annotation.ModuleCategory;
 import com.x.base.core.project.annotation.ModuleType;
 
 @Module(type = ModuleType.ASSEMBLE, category = ModuleCategory.OFFICIAL, name = "公共模块", packageName = "com.x.general.assemble.control", containerEntities = {
-		"com.x.general.core.entity.area.District", "com.x.general.core.entity.file.GeneralFile" }, storageTypes = {
+		"com.x.general.core.entity.area.District", "com.x.general.core.entity.GeneralFile" }, storageTypes = {
 				StorageType.file, StorageType.general }, storeJars = { "x_general_core_entity" })
 public class x_general_assemble_control extends Deployable {
 }

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

@@ -11,6 +11,6 @@ import com.x.base.core.project.annotation.ModuleType;
 		"com.x.organization.core.entity.Identity", "com.x.organization.core.entity.PersonAttribute",
 		"com.x.organization.core.entity.Unit", "com.x.organization.core.entity.UnitAttribute",
 		"com.x.organization.core.entity.PersonCard","com.x.organization.core.entity.PermissionSetting",
-		"com.x.organization.core.entity.UnitDuty", "com.x.general.core.entity.file.GeneralFile" },storageTypes = { StorageType.general},  storeJars = { "x_organization_core_entity" ,"x_general_core_entity"})
+		"com.x.organization.core.entity.UnitDuty", "com.x.general.core.entity.GeneralFile" },storageTypes = { StorageType.general},  storeJars = { "x_organization_core_entity" ,"x_general_core_entity"})
 public class x_organization_assemble_control extends Deployable {
 }

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

@@ -30,7 +30,7 @@ import com.x.base.core.project.annotation.ModuleType;
 		"com.x.processplatform.core.entity.element.Split", "com.x.processplatform.core.entity.element.QueryView",
 		"com.x.processplatform.core.entity.element.QueryStat", "com.x.processplatform.core.entity.element.Mapping",
 		"com.x.query.core.entity.Item", "com.x.cms.core.entity.element.Script",
-		"com.x.portal.core.entity.Script", "com.x.general.core.entity.file.GeneralFile" },
+		"com.x.portal.core.entity.Script", "com.x.general.core.entity.GeneralFile" },
 		storageTypes = { StorageType.processPlatform, StorageType.general}, storeJars = {
 				"x_organization_core_entity", "x_organization_core_express", "x_processplatform_core_entity",
 				"x_processplatform_core_express", "x_query_core_entity", "x_cms_core_entity", "x_portal_core_entity",

+ 1 - 1
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/ActionApplication.java

@@ -7,8 +7,8 @@ import javax.ws.rs.ApplicationPath;
 import com.x.base.core.project.jaxrs.AbstractActionApplication;
 import com.x.general.assemble.control.jaxrs.area.AreaAction;
 import com.x.general.assemble.control.jaxrs.ecnet.EcnetAction;
+import com.x.general.assemble.control.jaxrs.generalfile.GeneralFileAction;
 import com.x.general.assemble.control.jaxrs.office.OfficeAction;
-import com.x.general.assemble.control.jaxrs.file.GeneralFileAction;
 import com.x.general.assemble.control.jaxrs.worktime.WorkTimeAction;
 
 @ApplicationPath("jaxrs")

+ 0 - 54
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/ActionGeneralFile.java

@@ -1,54 +0,0 @@
-package com.x.general.assemble.control.jaxrs.file;
-
-import com.x.base.core.container.EntityManagerContainer;
-import com.x.base.core.container.factory.EntityManagerContainerFactory;
-import com.x.base.core.project.config.StorageMapping;
-import com.x.base.core.project.http.ActionResult;
-import com.x.base.core.project.http.EffectivePerson;
-import com.x.base.core.project.jaxrs.WoFile;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-import com.x.general.assemble.control.ThisApplication;
-import com.x.general.core.entity.file.GeneralFile;
-
-
-public class ActionGeneralFile extends BaseAction {
-
-    private static Logger logger = LoggerFactory.getLogger(ActionGeneralFile.class);
-
-    protected ActionResult<Wo> execute(EffectivePerson effectivePerson, String flag) throws Exception {
-        logger.debug(effectivePerson, "flag:{}.", flag);
-        ActionResult<Wo> result = new ActionResult<>();
-        Wo wo = null;
-        try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-            GeneralFile generalFile = emc.find(flag, GeneralFile.class);
-            if(generalFile!=null){
-                StorageMapping gfMapping = ThisApplication.context().storageMappings().get(GeneralFile.class,
-                        generalFile.getStorage());
-                wo = new Wo(generalFile.readContent(gfMapping), this.contentType(false, generalFile.getName()),
-                        this.contentDisposition(false, generalFile.getName()));
-                result.setData(wo);
-
-                generalFile.deleteContent(gfMapping);
-                emc.beginTransaction(GeneralFile.class);
-                emc.delete(GeneralFile.class, generalFile.getId());
-                emc.commit();
-            } else {
-                throw new ExceptionInputFileObject(flag);
-            }
-
-        }
-        result.setData(wo);
-        return result;
-
-    }
-
-    public static class Wo extends WoFile {
-
-        public Wo(byte[] bytes, String contentType, String contentDisposition) {
-            super(bytes, contentType, contentDisposition);
-        }
-
-    }
-
-}

+ 0 - 13
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/ExceptionInputFileObject.java

@@ -1,13 +0,0 @@
-package com.x.general.assemble.control.jaxrs.file;
-
-import com.x.base.core.project.exception.PromptException;
-
-public class ExceptionInputFileObject extends PromptException {
-
-    private static final long serialVersionUID = 9085364457175859374L;
-
-    ExceptionInputFileObject(String flag) {
-        super("对象不存在:{}.", flag);
-    }
-
-}

+ 0 - 7
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/BaseAction.java

@@ -1,7 +0,0 @@
-package com.x.general.assemble.control.jaxrs.general;
-
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-
-abstract class BaseAction extends StandardJaxrsAction {
-
-}

+ 0 - 43
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/FileAction.java

@@ -1,43 +0,0 @@
-package com.x.general.assemble.control.jaxrs.general;
-
-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.jaxrs.ResponseFactory;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
-import com.x.base.core.project.logger.Logger;
-import com.x.base.core.project.logger.LoggerFactory;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
-@Path("generalfile")
-@JaxrsDescribe("获取附件")
-public class FileAction extends StandardJaxrsAction {
-
-	private static Logger logger = LoggerFactory.getLogger(FileAction.class);
-
-	@JaxrsMethodDescribe(value = "获取附件.", action = ActionGet.class)
-	@GET
-	@Path("flag/{flag}")
-	@Consumes(MediaType.APPLICATION_JSON)
-	public void getResult(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
-						  @JaxrsParameterDescribe("附件标记") @PathParam("flag") String flag) {
-		ActionResult<ActionGet.Wo> result = new ActionResult<>();
-		EffectivePerson effectivePerson = this.effectivePerson(request);
-		try {
-			result = new ActionGet().execute(effectivePerson, flag);
-		} catch (Exception e) {
-			logger.error(e, effectivePerson, request, null);
-			result.error(e);
-		}
-		asyncResponse.resume(ResponseFactory.getEntityTagActionResultResponse(request, result));
-	}
-
-}

+ 6 - 7
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/ActionGet.java → o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/ActionGet.java

@@ -1,4 +1,4 @@
-package com.x.general.assemble.control.jaxrs.general;
+package com.x.general.assemble.control.jaxrs.generalfile;
 
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
@@ -9,7 +9,7 @@ import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.general.assemble.control.ThisApplication;
-import com.x.general.core.entity.general.File;
+import com.x.general.core.entity.GeneralFile;
 
 
 public class ActionGet extends BaseAction {
@@ -21,17 +21,17 @@ public class ActionGet extends BaseAction {
         ActionResult<Wo> result = new ActionResult<>();
         Wo wo = null;
         try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
-            File generalFile = emc.find(flag, File.class);
+            GeneralFile generalFile = emc.find(flag, GeneralFile.class);
             if(generalFile!=null){
-                StorageMapping gfMapping = ThisApplication.context().storageMappings().get(File.class,
+                StorageMapping gfMapping = ThisApplication.context().storageMappings().get(GeneralFile.class,
                         generalFile.getStorage());
                 wo = new Wo(generalFile.readContent(gfMapping), this.contentType(false, generalFile.getName()),
                         this.contentDisposition(false, generalFile.getName()));
                 result.setData(wo);
 
                 generalFile.deleteContent(gfMapping);
-                emc.beginTransaction(File.class);
-                emc.delete(File.class, generalFile.getId());
+                emc.beginTransaction(GeneralFile.class);
+                emc.delete(GeneralFile.class, generalFile.getId());
                 emc.commit();
             } else {
                 throw new ExceptionInputFileObject(flag);
@@ -40,7 +40,6 @@ public class ActionGet extends BaseAction {
         }
         result.setData(wo);
         return result;
-
     }
 
     public static class Wo extends WoFile {

+ 1 - 1
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/BaseAction.java → o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/BaseAction.java

@@ -1,4 +1,4 @@
-package com.x.general.assemble.control.jaxrs.file;
+package com.x.general.assemble.control.jaxrs.generalfile;
 
 import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 

+ 1 - 1
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/general/ExceptionInputFileObject.java → o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/ExceptionInputFileObject.java

@@ -1,4 +1,4 @@
-package com.x.general.assemble.control.jaxrs.general;
+package com.x.general.assemble.control.jaxrs.generalfile;
 
 import com.x.base.core.project.exception.PromptException;
 

+ 15 - 12
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/file/GeneralFileAction.java → o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/jaxrs/generalfile/GeneralFileAction.java

@@ -1,4 +1,14 @@
-package com.x.general.assemble.control.jaxrs.file;
+package com.x.general.assemble.control.jaxrs.generalfile;
+
+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.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.annotation.JaxrsDescribe;
 import com.x.base.core.project.annotation.JaxrsMethodDescribe;
@@ -10,29 +20,22 @@ import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.*;
-import javax.ws.rs.container.AsyncResponse;
-import javax.ws.rs.container.Suspended;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-
 @Path("generalfile")
 @JaxrsDescribe("获取附件")
 public class GeneralFileAction extends StandardJaxrsAction {
 
 	private static Logger logger = LoggerFactory.getLogger(GeneralFileAction.class);
 
-	@JaxrsMethodDescribe(value = "获取附件.", action = ActionGeneralFile.class)
+	@JaxrsMethodDescribe(value = "获取附件.", action = ActionGet.class)
 	@GET
 	@Path("flag/{flag}")
 	@Consumes(MediaType.APPLICATION_JSON)
-	public void getResult(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
+	public void get(@Suspended final AsyncResponse asyncResponse, @Context HttpServletRequest request,
 						  @JaxrsParameterDescribe("附件标记") @PathParam("flag") String flag) {
-		ActionResult<ActionGeneralFile.Wo> result = new ActionResult<>();
+		ActionResult<ActionGet.Wo> result = new ActionResult<>();
 		EffectivePerson effectivePerson = this.effectivePerson(request);
 		try {
-			result = new ActionGeneralFile().execute(effectivePerson, flag);
+			result = new ActionGet().execute(effectivePerson, flag);
 		} catch (Exception e) {
 			logger.error(e, effectivePerson, request, null);
 			result.error(e);

+ 14 - 12
o2server/x_general_assemble_control/src/main/java/com/x/general/assemble/control/schedule/Clean.java

@@ -1,5 +1,17 @@
 package com.x.general.assemble.control.schedule;
 
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.project.config.StorageMapping;
@@ -10,18 +22,8 @@ import com.x.base.core.project.tools.DateTools;
 import com.x.base.core.project.tools.ListTools;
 import com.x.base.core.project.utils.time.TimeStamp;
 import com.x.general.assemble.control.ThisApplication;
-import com.x.general.core.entity.file.GeneralFile;
-import com.x.general.core.entity.file.GeneralFile_;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.Date;
-import java.util.List;
+import com.x.general.core.entity.GeneralFile;
+import com.x.general.core.entity.GeneralFile_;
 
 public class Clean extends AbstractJob {
 

+ 5 - 5
o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/file/GeneralFile.java → o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/GeneralFile.java

@@ -1,4 +1,4 @@
-package com.x.general.core.entity.file;
+package com.x.general.core.entity;
 
 import com.x.base.core.entity.JpaObject;
 import com.x.base.core.entity.Storage;
@@ -8,7 +8,7 @@ import com.x.base.core.entity.annotation.CheckPersist;
 import com.x.base.core.entity.annotation.ContainerEntity;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.tools.DateTools;
-import com.x.general.core.entity.PersistenceProperties;
+
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -19,8 +19,8 @@ import java.util.Date;
 
 @ContainerEntity(dumpSize = 10, type = ContainerEntity.Type.content, reference = ContainerEntity.Reference.strong)
 @Entity
-@Table(name = PersistenceProperties.General.File.table, uniqueConstraints = {
-		@UniqueConstraint(name = PersistenceProperties.General.File.table + JpaObject.IndexNameMiddle
+@Table(name = PersistenceProperties.GeneralFile.table, uniqueConstraints = {
+		@UniqueConstraint(name = PersistenceProperties.GeneralFile.table + JpaObject.IndexNameMiddle
 				+ JpaObject.DefaultUniqueConstraintSuffix, columnNames = { JpaObject.IDCOLUMN,
 						JpaObject.CREATETIMECOLUMN, JpaObject.UPDATETIMECOLUMN, JpaObject.SEQUENCECOLUMN }) })
 @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@@ -29,7 +29,7 @@ public class GeneralFile extends StorageObject {
 
 	private static final long serialVersionUID = -8883987079043800355L;
 
-	private static final String TABLE = PersistenceProperties.General.File.table;
+	private static final String TABLE = PersistenceProperties.GeneralFile.table;
 
 	public String getId() {
 		return id;

+ 3 - 6
o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/PersistenceProperties.java

@@ -7,16 +7,13 @@ public final class PersistenceProperties extends AbstractPersistenceProperties {
 	public static class Area {
 
 		public static class District {
-			public static final String table = "ARA_DISTRICT";
+			public static final String table = "GEN_ARA_DISTRICT";
 		}
 
 	}
 
-	public static class General {
-
-		public static class File {
-			public static final String table = "GENERAL_FILE";
-		}
+	public static class GeneralFile {
+		public static final String table = "GEN_GENERAL_FILE";
 
 	}
 }

+ 0 - 207
o2server/x_general_core_entity/src/main/java/com/x/general/core/entity/general/File.java

@@ -1,207 +0,0 @@
-package com.x.general.core.entity.general;
-
-import com.x.base.core.entity.JpaObject;
-import com.x.base.core.entity.Storage;
-import com.x.base.core.entity.StorageObject;
-import com.x.base.core.entity.StorageType;
-import com.x.base.core.entity.annotation.CheckPersist;
-import com.x.base.core.entity.annotation.ContainerEntity;
-import com.x.base.core.project.annotation.FieldDescribe;
-import com.x.base.core.project.tools.DateTools;
-import com.x.general.core.entity.PersistenceProperties;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.openjpa.persistence.jdbc.Index;
-
-import javax.persistence.*;
-import java.util.Date;
-
-@ContainerEntity(dumpSize = 10, type = ContainerEntity.Type.content, reference = ContainerEntity.Reference.strong)
-@Entity
-@Table(name = PersistenceProperties.General.File.table, uniqueConstraints = {
-		@UniqueConstraint(name = PersistenceProperties.General.File.table + JpaObject.IndexNameMiddle
-				+ JpaObject.DefaultUniqueConstraintSuffix, columnNames = { JpaObject.IDCOLUMN,
-						JpaObject.CREATETIMECOLUMN, JpaObject.UPDATETIMECOLUMN, JpaObject.SEQUENCECOLUMN }) })
-@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-@Storage(type = StorageType.general)
-public class File extends StorageObject {
-
-	private static final long serialVersionUID = -8883987079043800355L;
-
-	private static final String TABLE = PersistenceProperties.General.File.table;
-
-	public String getId() {
-		return id;
-	}
-
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	@FieldDescribe("数据库主键,自动生成.")
-	@Id
-	@Column(length = length_id, name = ColumnNamePrefix + id_FIELDNAME)
-	private String id = createId();
-
-	/* 以上为 JpaObject 默认字段 */
-
-	public void onPersist() throws Exception {
-		this.lastUpdateTime = new Date();
-		/* 如果扩展名为空去掉null */
-		this.extension = StringUtils.trimToEmpty(extension);
-	}
-
-	/* 更新运行方法 */
-
-	public File() {
-
-	}
-
-	public File(String storage, String name, String person) throws Exception {
-		if (StringUtils.isEmpty(storage)) {
-			throw new Exception("storage can not be empty.");
-		}
-		if (StringUtils.isEmpty(name)) {
-			throw new Exception("name can not be empty.");
-		}
-		if (StringUtils.isEmpty(person)) {
-			throw new Exception("person can not be empty.");
-		}
-		this.storage = storage;
-		Date now = new Date();
-		this.setCreateTime(now);
-		this.lastUpdateTime = now;
-		this.name = name;
-		this.extension = StringUtils.lowerCase(FilenameUtils.getExtension(name));
-		this.person = person;
-		if (null == this.extension) {
-			throw new Exception("extension can not be null.");
-		}
-	}
-
-	@Override
-	public String path() throws Exception {
-		if (StringUtils.isEmpty(id)) {
-			throw new Exception("id can not be empty.");
-		}
-		String str = DateTools.compactDate(this.getCreateTime());
-		str += PATHSEPARATOR;
-		str += this.id;
-		str += StringUtils.isEmpty(this.extension) ? "" : ("." + this.extension);
-		return str;
-	}
-
-	@Override
-	public String getStorage() {
-		return storage;
-	}
-
-	@Override
-	public void setStorage(String storage) {
-		this.storage = storage;
-	}
-
-	@Override
-	public Long getLength() {
-		return length;
-	}
-
-	@Override
-	public void setLength(Long length) {
-		this.length = length;
-	}
-
-	@Override
-	public String getName() {
-		return name;
-	}
-
-	@Override
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	@Override
-	public String getExtension() {
-		return extension;
-	}
-
-	@Override
-	public void setExtension(String extension) {
-		this.extension = extension;
-	}
-
-	@Override
-	public Date getLastUpdateTime() {
-		return lastUpdateTime;
-	}
-
-	@Override
-	public void setLastUpdateTime(Date lastUpdateTime) {
-		this.lastUpdateTime = lastUpdateTime;
-	}
-
-	@Override
-	public Boolean getDeepPath() {
-		return BooleanUtils.isTrue(this.deepPath);
-	}
-
-	@Override
-	public void setDeepPath(Boolean deepPath) {
-		this.deepPath = deepPath;
-	}
-
-	public static final String person_FIELDNAME = "person";
-	@FieldDescribe("上传用户.")
-	@Column(length = length_255B, name = ColumnNamePrefix + person_FIELDNAME)
-	@Index(name = TABLE + IndexNameMiddle + person_FIELDNAME)
-	@CheckPersist(allowEmpty = true)
-	private String person;
-
-	public static final String name_FIELDNAME = "name";
-	@FieldDescribe("文件名称.")
-	@Column(length = length_255B, name = ColumnNamePrefix + name_FIELDNAME)
-	@Index(name = TABLE + IndexNameMiddle + name_FIELDNAME)
-	@CheckPersist(allowEmpty = false)
-	private String name;
-
-	public static final String extension_FIELDNAME = "extension";
-	@FieldDescribe("扩展名,必须要有扩展名的文件才允许上传.")
-	@Column(length = JpaObject.length_64B, name = ColumnNamePrefix + extension_FIELDNAME)
-	@CheckPersist(allowEmpty = false, fileNameString = true)
-	private String extension;
-
-	public static final String storage_FIELDNAME = "storage";
-	@FieldDescribe("存储器的名称,也就是多个存放节点的名字.")
-	@Column(length = JpaObject.length_64B, name = ColumnNamePrefix + storage_FIELDNAME)
-	@CheckPersist(allowEmpty = false, simplyString = true)
-	private String storage;
-
-	public static final String length_FIELDNAME = "length";
-	@FieldDescribe("文件大小.")
-	@Column(name = ColumnNamePrefix + length_FIELDNAME)
-	@CheckPersist(allowEmpty = true)
-	private Long length;
-
-	public static final String lastUpdateTime_FIELDNAME = "lastUpdateTime";
-	@FieldDescribe("最后更新时间")
-	@Column(name = ColumnNamePrefix + lastUpdateTime_FIELDNAME)
-	@Index(name = TABLE + IndexNameMiddle + lastUpdateTime_FIELDNAME)
-	@CheckPersist(allowEmpty = false)
-	private Date lastUpdateTime;
-
-	public static final String deepPath_FIELDNAME = "deepPath";
-	@FieldDescribe("是否使用更深的路径.")
-	@CheckPersist(allowEmpty = true)
-	@Column(name = ColumnNamePrefix + deepPath_FIELDNAME)
-	private Boolean deepPath;
-
-	public String getPerson() {
-		return person;
-	}
-
-	public void setPerson(String person) {
-		this.person = person;
-	}
-}

+ 1 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/inputperson/ActionGetResult.java

@@ -9,9 +9,9 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
+import com.x.general.core.entity.GeneralFile;
 import com.x.base.core.project.cache.Cache.CacheKey;
 import com.x.base.core.project.cache.CacheManager;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.organization.assemble.control.ThisApplication;
 import org.apache.commons.lang3.StringUtils;
 

+ 2 - 1
o2server/x_organization_assemble_control/src/main/java/com/x/organization/assemble/control/jaxrs/inputperson/ActionInputAll.java

@@ -25,7 +25,7 @@ import javax.script.SimpleScriptContext;
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.cache.CacheManager;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
+
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.text.StringEscapeUtils;
@@ -54,6 +54,7 @@ import com.x.base.core.project.tools.Crypto;
 import com.x.base.core.project.tools.DateTools;
 import com.x.base.core.project.tools.ListTools;
 import com.x.base.core.project.tools.StringTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.organization.assemble.control.Business;
 import com.x.organization.assemble.control.ThisApplication;
 import com.x.organization.core.entity.Group;

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

@@ -9,7 +9,6 @@ import java.util.List;
 import java.util.Map;
 
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -23,6 +22,7 @@ import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DateTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Work;

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

@@ -9,7 +9,6 @@ import java.util.List;
 import java.util.Map;
 
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -23,6 +22,7 @@ import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DateTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.core.entity.content.Attachment;
 import com.x.processplatform.core.entity.content.Work;

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

@@ -8,7 +8,7 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
-import com.x.general.core.entity.file.GeneralFile;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 
 class ActionDownloadTransfer extends BaseAction {

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

@@ -9,7 +9,7 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
-import com.x.general.core.entity.file.GeneralFile;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import com.x.processplatform.core.entity.content.Work;

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

@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
 
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.lang3.StringUtils;
@@ -27,6 +26,7 @@ import com.x.base.core.project.jaxrs.WoId;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DateTools;
+import com.x.general.core.entity.GeneralFile;
 
 class ActionHtmlToPdf extends BaseAction {
 

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

@@ -2,7 +2,6 @@ package com.x.processplatform.assemble.surface.jaxrs.attachment;
 
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.io.FilenameUtils;
 
@@ -17,6 +16,7 @@ import com.x.base.core.project.jaxrs.WoId;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DocumentTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.core.entity.content.Attachment;
 

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

@@ -3,7 +3,6 @@ package com.x.processplatform.assemble.surface.jaxrs.attachment;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.lang3.StringUtils;
 
@@ -13,6 +12,7 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
+import com.x.general.core.entity.GeneralFile;
 
 class ActionPreviewImageResult extends BaseAction {
 

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

@@ -2,7 +2,6 @@ package com.x.processplatform.assemble.surface.jaxrs.attachment;
 
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.io.FilenameUtils;
 
@@ -20,6 +19,7 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DocumentTools;
 import com.x.base.core.project.tools.StringTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.core.entity.content.Attachment;
 

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

@@ -3,7 +3,6 @@ package com.x.processplatform.assemble.surface.jaxrs.attachment;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.commons.lang3.StringUtils;
 
@@ -14,6 +13,7 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoFile;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
+import com.x.general.core.entity.GeneralFile;
 
 class ActionPreviewPdfResult extends BaseAction {
 

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

@@ -9,7 +9,6 @@ import java.io.InputStream;
 
 import com.x.base.core.entity.annotation.CheckPersistType;
 import com.x.base.core.project.config.StorageMapping;
-import com.x.general.core.entity.file.GeneralFile;
 import com.x.processplatform.assemble.surface.ThisApplication;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 
@@ -36,6 +35,7 @@ import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DefaultCharset;
 import com.x.base.core.project.tools.StringTools;
+import com.x.general.core.entity.GeneralFile;
 import com.x.processplatform.assemble.surface.Business;
 import com.x.processplatform.core.entity.content.Work;
 import com.x.processplatform.core.entity.content.WorkCompleted;

+ 17 - 0
o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/ActivityType.java

@@ -2,6 +2,23 @@ package com.x.processplatform.core.entity.element;
 
 import com.x.base.core.entity.JpaObject;
 
+/**
+ * 流程节点枚举类型
+ * agent:脚本节点
+ * begin:开始节点
+ * cancel:取消节点
+ * choice:选择活动节点
+ * delay:定时活动节点
+ * end:结束节点
+ * embed:流程调用节点
+ * invoke:服务调用节点
+ * manual:人工节点
+ * merge:合并活动节点
+ * message:
+ * parallel:并行活动节点
+ * service:服务节点
+ * split:拆分节点
+ */
 public enum ActivityType {
 	agent, begin, cancel, choice, delay, end, embed, invoke, manual, merge, message, parallel, service, split;
 

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

@@ -27,6 +27,7 @@ import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WoId;
 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.ListTools;
 import com.x.base.core.project.tools.StringTools;
 import com.x.processplatform.core.entity.content.Attachment;
@@ -86,6 +87,10 @@ class ActionAssignCreate extends BaseAction {
 			work.setCreatorIdentity(identityDn);
 			work.setCreatorPerson(business.organization().person().getWithIdentity(identityDn));
 			work.setCreatorUnit(business.organization().unit().getWithIdentity(identityDn));
+			if (StringUtils.isNotEmpty(work.getCreatorUnit())) {
+				Unit unit = business.organization().unit().getObject(work.getCreatorUnit());
+				work.setCreatorUnitLevelName(unit.getLevelName());
+			}
 			/* 通过赋值调用的是不能被作为草稿删除的 */
 			work.setDataChanged(true);
 			if (ListTools.isNotEmpty(wi.getAttachmentList())) {

+ 5 - 2
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeExecutor.java

@@ -68,9 +68,11 @@ public class InvokeExecutor {
 	}
 
 	private String jaxrsHttpPut(JaxrsObject jaxrsObject) throws Exception {
+		String value = "";
 		if (jaxrsObject.getInternal()) {
-			return CipherConnectionAction.post(true, jaxrsObject.getAddress(), jaxrsObject.getBody()).getData()
+			value =  CipherConnectionAction.post(true, jaxrsObject.getAddress(), jaxrsObject.getBody()).getData()
 					.toString();
+		
 		} else {
 			List<NameValuePair> heads = new ArrayList<>();
 			heads.add(new NameValuePair(HttpConnection.Content_Type, jaxrsObject.getContentType()));
@@ -79,8 +81,9 @@ public class InvokeExecutor {
 					heads.add(new NameValuePair(entry.getKey(), entry.getValue()));
 				}
 			}
-			return HttpConnection.postAsString(jaxrsObject.getAddress(), heads, jaxrsObject.getBody());
+			value =  HttpConnection.postAsString(jaxrsObject.getAddress(), heads, jaxrsObject.getBody());
 		}
+		return value;
 	}
 
 	private String jaxrsHttpGet(JaxrsObject jaxrsObject) throws Exception {

+ 36 - 30
o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/processor/invoke/InvokeProcessor.java

@@ -102,13 +102,13 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 			if ((StringUtils.isNotEmpty(invoke.getJaxwsResponseScript()))
 					|| (StringUtils.isNotEmpty(invoke.getJaxwsResponseScriptText()))) {
 				ScriptContext scriptContext = aeiObjects.scriptContext();
-				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXWSRESPONSE,
-						response);
-				/* 重新注入对象需要重新运行 */
-				ScriptFactory.initialScriptText().eval(scriptContext);
 				CompiledScript cs = aeiObjects.business().element().getCompiledScript(
 						aeiObjects.getWork().getApplication(), aeiObjects.getActivity(),
 						Business.EVENT_INVOKEJAXWSRESPONSE);
+				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXWSRESPONSE,
+						response);
+//				/* 重新注入对象需要重新运行 */
+//				ScriptFactory.initialScriptText().eval(scriptContext);
 				cs.eval(scriptContext);
 			}
 		}
@@ -119,12 +119,12 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 		if ((StringUtils.isNotEmpty(invoke.getJaxwsParameterScript()))
 				|| (StringUtils.isNotEmpty(invoke.getJaxwsParameterScriptText()))) {
 			ScriptContext scriptContext = aeiObjects.scriptContext();
-			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_PARAMETERS,
-					parameters);
-			/* 重新注入对象需要重新运行 */
-			ScriptFactory.initialScriptText().eval(scriptContext);
 			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
 					aeiObjects.getActivity(), Business.EVENT_INVOKEJAXWSPARAMETER);
+			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_PARAMETERS,
+					parameters);
+//			/* 重新注入对象需要重新运行 */
+//			ScriptFactory.initialScriptText().eval(scriptContext);
 			cs.eval(scriptContext);
 		}
 		return parameters.toArray();
@@ -225,15 +225,14 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 			jaxrsResponse.set(gson.toJson(resp.getData()));
 			if ((StringUtils.isNotEmpty(invoke.getJaxrsResponseScript()))
 					|| (StringUtils.isNotEmpty(invoke.getJaxrsResponseScriptText()))) {
-
 				ScriptContext scriptContext = aeiObjects.scriptContext();
-				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSRESPONSE,
-						jaxrsResponse);
-				/* 重新注入对象需要重新运行 */
-				ScriptFactory.initialScriptText().eval(scriptContext);
 				CompiledScript cs = aeiObjects.business().element().getCompiledScript(
 						aeiObjects.getWork().getApplication(), aeiObjects.getActivity(),
 						Business.EVENT_INVOKEJAXRSRESPONSE);
+				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSRESPONSE,
+						jaxrsResponse);
+//				/* 重新注入对象需要重新运行 */
+//				ScriptFactory.initialScriptText().eval(scriptContext);
 				cs.eval(scriptContext);
 			}
 		}
@@ -315,13 +314,13 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 			if ((StringUtils.isNotEmpty(invoke.getJaxrsResponseScript()))
 					|| (StringUtils.isNotEmpty(invoke.getJaxrsResponseScriptText()))) {
 				ScriptContext scriptContext = aeiObjects.scriptContext();
-				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSRESPONSE,
-						jaxrsResponse);
-				/* 重新注入对象需要重新运行 */
-				ScriptFactory.initialScriptText().eval(scriptContext);
 				CompiledScript cs = aeiObjects.business().element().getCompiledScript(
 						aeiObjects.getWork().getApplication(), aeiObjects.getActivity(),
 						Business.EVENT_INVOKEJAXRSRESPONSE);
+				scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSRESPONSE,
+						jaxrsResponse);
+//				/* 重新注入对象需要重新运行 */
+//				ScriptFactory.initialScriptText().eval(scriptContext);
 				cs.eval(scriptContext);
 			}
 		}
@@ -334,12 +333,12 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 				|| (StringUtils.isNotEmpty(invoke.getJaxrsParameterScriptText()))) {
 
 			ScriptContext scriptContext = aeiObjects.scriptContext();
-			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_PARAMETERS,
-					parameters);
-			/* 重新注入对象需要重新运行 */
-			ScriptFactory.initialScriptText().eval(scriptContext);
 			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
 					aeiObjects.getActivity(), Business.EVENT_INVOKEJAXRSPARAMETER);
+			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_PARAMETERS,
+					parameters);
+//			/* 重新注入对象需要重新运行 */
+//			ScriptFactory.initialScriptText().eval(scriptContext);
 			cs.eval(scriptContext);
 		}
 		for (Entry<String, String> entry : parameters.entrySet()) {
@@ -352,14 +351,17 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 		JaxrsBody jaxrsBody = new JaxrsBody();
 		if ((StringUtils.isNotEmpty(invoke.getJaxrsBodyScript()))
 				|| (StringUtils.isNotEmpty(invoke.getJaxrsBodyScriptText()))) {
-
 			ScriptContext scriptContext = aeiObjects.scriptContext();
-			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSBODY, jaxrsBody);
-			/* 重新注入对象需要重新运行 */
-			ScriptFactory.initialScriptText().eval(scriptContext);
-			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
+			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getApplication().getId(),
 					aeiObjects.getActivity(), Business.EVENT_INVOKEJAXRSBODY);
+			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSBODY, jaxrsBody);
 			cs.eval(scriptContext);
+//			ScriptContext scriptContext = aeiObjects.scriptContext();
+//			/* 重新注入对象需要重新运行 */
+//			ScriptFactory.initialScriptText().eval(scriptContext);
+//			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
+//					aeiObjects.getActivity(), Business.);
+//			cs.eval(scriptContext);
 		}
 		return jaxrsBody.get();
 	}
@@ -368,14 +370,18 @@ public class InvokeProcessor extends AbstractInvokeProcessor {
 		Map<String, String> map = new LinkedHashMap<>();
 		if ((StringUtils.isNotEmpty(invoke.getJaxrsHeadScript()))
 				|| (StringUtils.isNotEmpty(invoke.getJaxrsHeadScriptText()))) {
-
 			ScriptContext scriptContext = aeiObjects.scriptContext();
-			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSHEAD, map);
-			/* 重新注入对象需要重新运行 */
-			ScriptFactory.initialScriptText().eval(scriptContext);
 			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
 					aeiObjects.getActivity(), Business.EVENT_INVOKEJAXRSHEAD);
+			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSHEAD, map);
 			cs.eval(scriptContext);
+//			ScriptContext scriptContext = aeiObjects.scriptContext();
+//			scriptContext.getBindings(ScriptContext.ENGINE_SCOPE).put(ScriptFactory.BINDING_NAME_JAXRSHEAD, map);
+//			/* 重新注入对象需要重新运行 */
+//			ScriptFactory.initialScriptText().eval(scriptContext);
+//			CompiledScript cs = aeiObjects.business().element().getCompiledScript(aeiObjects.getWork().getApplication(),
+//					aeiObjects.getActivity(), Business.EVENT_INVOKEJAXRSHEAD);
+//			cs.eval(scriptContext);
 
 		}
 		return map;

+ 10 - 4
o2web/source/x_component_Template/MTooltips.js

@@ -129,7 +129,10 @@ var MTooltips = new Class({
                             }
                             e.stopPropagation();
                         }.bind(this);
-                        this.container.addEvent("mousedown", this.containerMousedownFun )
+                        this.container.addEvent("mousedown", this.containerMousedownFun );
+                        this.node.addEvent("mousedown", function (e) {
+                            e.stopPropagation();
+                        })
                     }
                 }
                 if( this.options.hideByClickBody ){
@@ -139,7 +142,10 @@ var MTooltips = new Class({
                         }
                         e.stopPropagation();
                     }.bind(this);
-                    $(document.body).addEvent("mousedown", this.bodyMousedownFun )
+                    $(document.body).addEvent("mousedown", this.bodyMousedownFun );
+                    this.node.addEvent("mousedown", function (e) {
+                        e.stopPropagation();
+                    })
                 }
             }
         }
@@ -828,9 +834,9 @@ var MTooltips = new Class({
         }
 
         if( this.positionX === "left" ){
-            left = targetCoondinates.left - nodeSize.x;
+            left = targetCoondinates.right - nodeSize.x;
         }else if( this.positionX === "right" ){
-            left = targetCoondinates.right;
+            left = targetCoondinates.left;
         }else if( this.positionX === "center" ){
             left = targetCoondinates.left + (targetCoondinates.width/2) - ( nodeSize.x / 2 )
         }

+ 16 - 14
o2web/source/x_component_process_Xform/Form.js

@@ -1332,21 +1332,23 @@ MWF.xApplication.process.Xform.Form = MWF.APPForm = new Class({
         }
         if (!this.options.readonly) {
             if (this.businessData.work && this.businessData.work.id) {
-                if (this.app.inBrowser && navigator.sendBeacon) {
-
-                    var obj = this.workAction.action.actions["checkDraft"];
-                    var url = this.workAction.action.address + obj.uri;
-                    url = url.replace("{id}", this.businessData.work.id);
-                    navigator.sendBeacon(url);
-                } else {
-                    this.workAction.checkDraft(this.businessData.work.id, function () {
-                        if (layout.desktop.apps) {
-                            if (layout.desktop.apps["TaskCenter"] && layout.desktop.apps["TaskCenter"].window) {
-                                layout.desktop.apps["TaskCenter"].content.unmask();
-                                layout.desktop.apps["TaskCenter"].refreshAll();
+                if (!this.isSendBeacon) {
+                    if (this.app.inBrowser && navigator.sendBeacon) {
+                        var obj = this.workAction.action.actions["checkDraft"];
+                        var url = this.workAction.action.address + obj.uri;
+                        url = url.replace("{id}", this.businessData.work.id);
+                        navigator.sendBeacon(url);
+                    } else {
+                        this.workAction.checkDraft(this.businessData.work.id, function () {
+                            if (layout.desktop.apps) {
+                                if (layout.desktop.apps["TaskCenter"] && layout.desktop.apps["TaskCenter"].window) {
+                                    layout.desktop.apps["TaskCenter"].content.unmask();
+                                    layout.desktop.apps["TaskCenter"].refreshAll();
+                                }
                             }
-                        }
-                    }.bind(this), null, false);
+                        }.bind(this), null, false);
+                    }
+                    this.isSendBeacon = true;
                 }
             }
         } else {