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

Merge branch 'wrdp' into 'develop'

Wrdp

See merge request o2oa/o2oa!2256
胡起 5 лет назад
Родитель
Сommit
c748b70079

+ 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",

+ 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;
-	}
-}

+ 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 {