|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using BP.DA;
|
|
|
|
|
using BP.En;
|
|
|
|
|
using BP.Sys;
|
|
|
|
|
|
|
|
|
|
namespace BP.Sys.FrmUI
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FrmAttachmentSingle : EntityMyPK
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 访问权限.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override UAC HisUAC
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
UAC uac = new UAC();
|
|
|
|
|
uac.IsView = true;
|
|
|
|
|
uac.IsInsert = false;
|
|
|
|
|
if (BP.Web.WebUser.No.Equals("admin")
|
|
|
|
|
|| BP.Web.WebUser.IsAdmin == true)
|
|
|
|
|
{
|
|
|
|
|
uac.IsUpdate = true;
|
|
|
|
|
uac.IsDelete = true;
|
|
|
|
|
return uac;
|
|
|
|
|
}
|
|
|
|
|
return uac;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region 参数属性.
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否可见?
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsVisable
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetParaBoolen(FrmAttachmentAttr.IsVisable, true);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.IsVisable, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件类型
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int FileType
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetParaInt(FrmAttachmentAttr.FileType);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.FileType, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 使用上传字段单附件的 - 控件类型
|
|
|
|
|
/// 0=批量.
|
|
|
|
|
/// 1=单个。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int UploadCtrl
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetParaInt(FrmAttachmentAttr.UploadCtrl);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.UploadCtrl, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上传校验
|
|
|
|
|
/// 0=不校验.
|
|
|
|
|
/// 1=不能为空.
|
|
|
|
|
/// 2=每个类别下不能为空.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public UploadFileNumCheck UploadFileNumCheck
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (UploadFileNumCheck)this.GetValIntByKey(FrmAttachmentAttr.UploadFileNumCheck);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.UploadFileNumCheck, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int AthSingleRole
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValIntByKey(FrmAttachmentAttr.AthSingleRole);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int AthEditModel
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValIntByKey(FrmAttachmentAttr.AthEditModel);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string SaveTo
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return BP.Difference.SystemConfig.PathOfDataUser + "UploadFile/" + this.FrmID + "/";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion 参数属性.
|
|
|
|
|
|
|
|
|
|
#region 属性
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 节点编号
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int NodeID
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValIntByKey(FrmAttachmentAttr.FK_Node);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.FK_Node, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上传类型(单个的,多个,指定的)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public AttachmentUploadType UploadType
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (AttachmentUploadType)this.GetValIntByKey(FrmAttachmentAttr.UploadType);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.UploadType, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 类型名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string UploadTypeT
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (this.UploadType == AttachmentUploadType.Multi)
|
|
|
|
|
return "多字段单附件";
|
|
|
|
|
if (this.UploadType == AttachmentUploadType.Single)
|
|
|
|
|
return "单字段单附件";
|
|
|
|
|
if (this.UploadType == AttachmentUploadType.Specifically)
|
|
|
|
|
return "指定的";
|
|
|
|
|
return "XXXXX";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否可以上传
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsUpload
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsUpload);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsUpload, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否可以下载
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsDownload
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsDownload);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsDownload, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件删除方式
|
|
|
|
|
/// </summary>
|
|
|
|
|
public AthDeleteWay HisDeleteWay
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (AthDeleteWay)this.GetValIntByKey(FrmAttachmentAttr.DeleteWay);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.DeleteWay, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 自动控制大小
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsAutoSize
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsAutoSize);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsAutoSize, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// IsShowTitle
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsShowTitle
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsShowTitle);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsShowTitle, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否是节点表单.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsNodeSheet
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (this.FrmID.StartsWith("ND") == true)
|
|
|
|
|
return true;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 备注列
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsNote
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsNote);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsNote, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
string str = this.GetValStringByKey(FrmAttachmentAttr.Name);
|
|
|
|
|
if (DataType.IsNullOrEmpty(str) == true)
|
|
|
|
|
str = "未命名";
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.Name, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 类别
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Sort
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValStringByKey(FrmAttachmentAttr.Sort);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.Sort, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 要求的格式
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Exts
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValStringByKey(FrmAttachmentAttr.Exts);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.Exts, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件标识
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string NoOfObj
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValStringByKey(FrmAttachmentAttr.NoOfObj);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// H
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float H
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValFloatByKey(FrmAttachmentAttr.H);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.H, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 数据控制方式
|
|
|
|
|
/// </summary>
|
|
|
|
|
public AthCtrlWay HisCtrlWay
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (AthCtrlWay)this.GetValIntByKey(FrmAttachmentAttr.CtrlWay);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.CtrlWay, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否是合流汇总多字段单附件?
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsHeLiuHuiZong
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsHeLiuHuiZong);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsHeLiuHuiZong, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 该字段单附件是否汇总到合流节点上去?
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsToHeLiuHZ
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsToHeLiuHZ);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsToHeLiuHZ, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 文件展现方式
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FileShowWay FileShowWay
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (FileShowWay)this.GetParaInt(FrmAttachmentAttr.FileShowWay);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.FileShowWay, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上传方式(对于父子流程有效)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public AthUploadWay AthUploadWay
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return (AthUploadWay)this.GetValIntByKey(FrmAttachmentAttr.AthUploadWay);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.AthUploadWay, (int)value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// FK_MapData
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string FrmID
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValStrByKey(FrmAttachmentAttr.FK_MapData);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.FK_MapData, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否要转换成html
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool ItIsTurn2Html
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetValBooleanByKey(FrmAttachmentAttr.IsTurn2Html);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 快捷键
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 是否启用快捷键
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool FastKeyIsEnable
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetParaBoolen(FrmAttachmentAttr.FastKeyIsEnable);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.FastKeyIsEnable, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 启用规则
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string FastKeyGenerRole
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return this.GetParaString(FrmAttachmentAttr.FastKeyGenerRole);
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.SetPara(FrmAttachmentAttr.FastKeyGenerRole, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion 快捷键
|
|
|
|
|
|
|
|
|
|
#region 构造方法
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FrmAttachmentSingle()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="mypk">主键</param>
|
|
|
|
|
public FrmAttachmentSingle(string mypk)
|
|
|
|
|
{
|
|
|
|
|
this.setMyPK(mypk);
|
|
|
|
|
this.Retrieve();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// EnMap
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override Map EnMap
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if (this._enMap != null)
|
|
|
|
|
return this._enMap;
|
|
|
|
|
|
|
|
|
|
Map map = new Map("Sys_FrmAttachment", "字段单附件");
|
|
|
|
|
map.IndexField = MapAttrAttr.FK_MapData;
|
|
|
|
|
|
|
|
|
|
map.AddMyPK();
|
|
|
|
|
|
|
|
|
|
#region 基本属性。
|
|
|
|
|
map.AddTBString(FrmAttachmentAttr.FK_MapData, null, "表单ID", true, true, 1, 100, 20);
|
|
|
|
|
map.AddTBString(FrmAttachmentAttr.NoOfObj, null, "附件标识", true, true, 0, 50, 20);
|
|
|
|
|
map.AddTBInt(FrmAttachmentAttr.FK_Node, 0, "节点控制(对sln有效)", false, false);
|
|
|
|
|
|
|
|
|
|
map.AddTBString(FrmAttachmentAttr.Name, null, "附件名称", true, false, 0, 50, 20, false);
|
|
|
|
|
|
|
|
|
|
map.AddTBString(FrmAttachmentAttr.Exts, null, "文件格式", true, false, 0, 50, 20, false, null);
|
|
|
|
|
map.SetHelperAlert(FrmAttachmentAttr.Exts, "上传要求,设置模式为: *.*, *.doc, *.docx, *.png,多个中间用逗号分开.\t\n表示仅仅允许上传指定的后缀的文件.");
|
|
|
|
|
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.NumOfUpload, false, "是否必填?", true, true);
|
|
|
|
|
// map.SetHelperAlert("NumOfUpload", "如果为0则标识必须上传. \t\n用户上传的字段单附件数量低于指定的数量就不让保存.");
|
|
|
|
|
|
|
|
|
|
map.AddTBInt(FrmAttachmentAttr.FileMaxSize, 10240, "附件最大限制(KB)", true, false);
|
|
|
|
|
|
|
|
|
|
//for oppein欧派 BP.Difference.SystemConfig.AthSaveWayDefault
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.AthSaveWay, BP.Difference.SystemConfig.AthSaveWayDefault, "保存方式", true, true, FrmAttachmentAttr.AthSaveWay,
|
|
|
|
|
"@0=保存到web服务器@1=保存到数据库@2=ftp服务器@3=保存到对象存储OSS");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.AthSingleRole, 0, "模板规则", true, true, FrmAttachmentAttr.AthSingleRole,
|
|
|
|
|
"@0=不使用模板@1=使用上传模板@2=使用上传模板自动加载数据标签");
|
|
|
|
|
map.SetHelperAlert(FrmAttachmentAttr.AthSingleRole, "单附件模板使用规则,如果启用,您需要上传wps/word模板。");
|
|
|
|
|
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.AthEditModel, 0, "在线编辑模式", true, true, FrmAttachmentAttr.AthEditModel,
|
|
|
|
|
"@0=只读@1=可编辑全部区域@2=可编辑非数据标签区域");
|
|
|
|
|
map.SetHelperAlert(FrmAttachmentAttr.AthEditModel, "用于控制附件的在线编辑模式");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion 基本属性。
|
|
|
|
|
|
|
|
|
|
#region 权限控制。
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.DeleteWay, true, "是否可以删除?", true, true);
|
|
|
|
|
|
|
|
|
|
//map.AddDDLSysEnum(FrmAttachmentAttr.DeleteWay, 1, "删除规则", true, true, FrmAttachmentAttr.DeleteWay,
|
|
|
|
|
// "@0=不能删除@1=删除所有@2=只能删除自己上传的");
|
|
|
|
|
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsUpload, true, "是否可以上传", true, true);
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsDownload, true, "是否可以下载", true, true);
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsNote, true, "是否增加备注", true, true);
|
|
|
|
|
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.AthUploadWay, 0, "控制上传控制方式", true, true, FrmAttachmentAttr.AthUploadWay, "@0=继承模式@1=协作模式");
|
|
|
|
|
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.CtrlWay, 4, "控制呈现控制方式", true, true, "Ath" + FrmAttachmentAttr.CtrlWay,
|
|
|
|
|
"@0=PK-主键@1=FID-干流程ID@2=PWorkID-父流程ID@3=仅能查看自己上传的字段单附件@4=WorkID-按照WorkID计算(对流程节点表单有效)@5=P2WorkID@6=P3WorkID");
|
|
|
|
|
#endregion 权限控制。
|
|
|
|
|
|
|
|
|
|
#region 节点相关
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsToHeLiuHZ, true, "该字段单附件是否要汇总到合流节点上去?(对子线程节点有效)", true, true, true);
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsHeLiuHuiZong, true, "是否是合流节点的汇总字段单附件组件?(对合流节点有效)", true, true, true);
|
|
|
|
|
map.AddTBString(FrmAttachmentAttr.DataRefNoOfObj, "AttachM1", "对应字段单附件标识", true, false, 0, 150, 20);
|
|
|
|
|
map.SetHelperAlert("DataRefNoOfObj", "对WorkID权限模式有效,用于查询贯穿整个流程的字段单附件标识,与从表的标识一样.");
|
|
|
|
|
map.AddDDLSysEnum(FrmAttachmentAttr.ReadRole, 0, "阅读规则", true, true, FrmAttachmentAttr.ReadRole,
|
|
|
|
|
"@0=不控制@1=未阅读阻止发送@2=未阅读做记录");
|
|
|
|
|
#endregion 节点相关
|
|
|
|
|
|
|
|
|
|
#region 其他属性。
|
|
|
|
|
// map.AddBoolean(FrmAttachmentAttr.IsIdx, false, "是否排序?", true, true);
|
|
|
|
|
map.AddBoolean(FrmAttachmentAttr.IsTurn2Html, false, "是否转换成html(方便手机浏览)", true, true, true);
|
|
|
|
|
|
|
|
|
|
//参数属性.
|
|
|
|
|
map.AddTBAtParas(3000);
|
|
|
|
|
//隐藏字段.
|
|
|
|
|
map.AddTBInt(FrmAttachmentAttr.UploadType, 0, "0单附件1多附件", false, false);
|
|
|
|
|
map.AddTBInt(FrmAttachmentAttr.IsVisable, 0, "是否可见?", false, false);
|
|
|
|
|
|
|
|
|
|
#endregion 其他属性。
|
|
|
|
|
|
|
|
|
|
#region 基本配置.
|
|
|
|
|
RefMethod rm = new RefMethod();
|
|
|
|
|
|
|
|
|
|
rm = new RefMethod();
|
|
|
|
|
rm.Title = "上传wps模板";
|
|
|
|
|
rm.ClassMethodName = this.ToString() + ".DoUploadTemplateWPS";
|
|
|
|
|
rm.RefMethodType = RefMethodType.RightFrameOpen;
|
|
|
|
|
rm.Icon = "icon-fire";
|
|
|
|
|
map.AddRefMethod(rm);
|
|
|
|
|
|
|
|
|
|
rm = new RefMethod();
|
|
|
|
|
rm.Title = "上传word模板";
|
|
|
|
|
rm.ClassMethodName = this.ToString() + ".DoUploadTemplateWord";
|
|
|
|
|
rm.RefMethodType = RefMethodType.RightFrameOpen;
|
|
|
|
|
rm.Icon = "icon-fire";
|
|
|
|
|
map.AddRefMethod(rm);
|
|
|
|
|
|
|
|
|
|
rm = new RefMethod();
|
|
|
|
|
rm.Title = "测试FTP服务器";
|
|
|
|
|
rm.ClassMethodName = this.ToString() + ".DoTestFTPHost";
|
|
|
|
|
rm.RefMethodType = RefMethodType.Func;
|
|
|
|
|
rm.Icon = "icon-fire";
|
|
|
|
|
map.AddRefMethod(rm);
|
|
|
|
|
#endregion 基本配置.
|
|
|
|
|
|
|
|
|
|
this._enMap = map;
|
|
|
|
|
return this._enMap;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 基本方法.
|
|
|
|
|
public string DoUploadTemplateWPS()
|
|
|
|
|
{
|
|
|
|
|
return "../../Admin/FoolFormDesigner/Template/FrmAttachmentSingle/UploadAthTemplateWPS.htm?FrmID=" + this.FrmID + "&MyPK=" + this.MyPK;
|
|
|
|
|
}
|
|
|
|
|
public string DoUploadTemplateWord()
|
|
|
|
|
{
|
|
|
|
|
return "../../Admin/FoolFormDesigner/Template/FrmAttachmentSingle/UploadAthTemplateWord.htm?FrmID=" + this.FrmID + "&MyPK=" + this.MyPK;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 测试连接
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public string DoTestFTPHost()
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
FtpConnection conn = new FtpConnection();
|
|
|
|
|
conn.Connect(BP.Difference.SystemConfig.FTPServerIP, BP.Difference.SystemConfig.FTPServerPort, BP.Difference.SystemConfig.FTPUserNo, BP.Difference.SystemConfig.FTPUserPassword);
|
|
|
|
|
return "连接成功.";
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
return "err@连接失败:" + ex.Message + " ,配置信息请参考,系统配置文件.";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool ItIsUse = false;
|
|
|
|
|
#endregion 基本方法.
|
|
|
|
|
|
|
|
|
|
#region 重写的方法.
|
|
|
|
|
|
|
|
|
|
protected override bool beforeUpdateInsertAction()
|
|
|
|
|
{
|
|
|
|
|
if (this.NodeID == 0)
|
|
|
|
|
{
|
|
|
|
|
//适应设计器新的规则 by dgq
|
|
|
|
|
if (!DataType.IsNullOrEmpty(this.NoOfObj) && this.NoOfObj.Contains(this.FrmID))
|
|
|
|
|
this.setMyPK(this.NoOfObj);
|
|
|
|
|
else
|
|
|
|
|
this.setMyPK(this.FrmID + "_" + this.NoOfObj);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.NodeID != 0)
|
|
|
|
|
{
|
|
|
|
|
/*工作流程模式.*/
|
|
|
|
|
if (this.HisCtrlWay == AthCtrlWay.PK)
|
|
|
|
|
this.HisCtrlWay = AthCtrlWay.WorkID;
|
|
|
|
|
this.setMyPK(this.FrmID + "_" + this.NoOfObj + "_" + this.NodeID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.HisCtrlWay != AthCtrlWay.WorkID)
|
|
|
|
|
this.AthUploadWay = AthUploadWay.Interwork;
|
|
|
|
|
|
|
|
|
|
//如果是pworkid. 就不让其删除或者上传.
|
|
|
|
|
if (this.HisCtrlWay == AthCtrlWay.PWorkID
|
|
|
|
|
|| this.HisCtrlWay == AthCtrlWay.PWorkID
|
|
|
|
|
|| this.HisCtrlWay == AthCtrlWay.P2WorkID
|
|
|
|
|
|| this.HisCtrlWay == AthCtrlWay.P3WorkID
|
|
|
|
|
|| this.HisCtrlWay == AthCtrlWay.RootFlowWorkID
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.DeleteWay, 0);
|
|
|
|
|
this.SetValByKey(FrmAttachmentAttr.IsUpload, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GroupField gf = new GroupField();
|
|
|
|
|
gf.Delete(GroupFieldAttr.FrmID, this.FrmID, GroupFieldAttr.CtrlID, this.MyPK);
|
|
|
|
|
|
|
|
|
|
return base.beforeUpdateInsertAction();
|
|
|
|
|
}
|
|
|
|
|
protected override bool beforeInsert()
|
|
|
|
|
{
|
|
|
|
|
//在属性实体集合插入前,clear父实体的缓存.
|
|
|
|
|
BP.Sys.Base.Glo.ClearMapDataAutoNum(this.FrmID);
|
|
|
|
|
|
|
|
|
|
if (this.NodeID == 0)
|
|
|
|
|
this.setMyPK(this.FrmID + "_" + this.NoOfObj);
|
|
|
|
|
else
|
|
|
|
|
this.setMyPK(this.FrmID + "_" + this.NoOfObj + "_" + this.NodeID);
|
|
|
|
|
|
|
|
|
|
return base.beforeInsert();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 插入之后
|
|
|
|
|
/// </summary>
|
|
|
|
|
protected override void afterInsert()
|
|
|
|
|
{
|
|
|
|
|
base.afterInsert();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void afterInsertUpdateAction()
|
|
|
|
|
{
|
|
|
|
|
FrmAttachment ath = new FrmAttachment();
|
|
|
|
|
ath.setMyPK(this.MyPK);
|
|
|
|
|
ath.RetrieveFromDBSources();
|
|
|
|
|
ath.ItIsToHeLiuHZ = this.ItIsToHeLiuHZ;
|
|
|
|
|
ath.ItIsHeLiuHuiZong = this.ItIsHeLiuHuiZong;
|
|
|
|
|
|
|
|
|
|
//强制设置,保存到ftp服务器上.
|
|
|
|
|
if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.SAAS)
|
|
|
|
|
ath.AthSaveWay = AthSaveWay.FTPServer;
|
|
|
|
|
|
|
|
|
|
ath.Update();
|
|
|
|
|
|
|
|
|
|
//判断是否是字段字段单附件
|
|
|
|
|
MapAttr mapAttr = new MapAttr();
|
|
|
|
|
mapAttr.setMyPK(this.MyPK);
|
|
|
|
|
if (mapAttr.RetrieveFromDBSources() != 0 && mapAttr.Name.Equals(this.Name) == false)
|
|
|
|
|
{
|
|
|
|
|
mapAttr.Name = this.Name;
|
|
|
|
|
mapAttr.Update();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//调用frmEditAction, 完成其他的操作.
|
|
|
|
|
BP.Sys.CCFormAPI.AfterFrmEditAction(this.FrmID);
|
|
|
|
|
base.afterInsertUpdateAction();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 删除之后.
|
|
|
|
|
/// </summary>
|
|
|
|
|
protected override void afterDelete()
|
|
|
|
|
{
|
|
|
|
|
//删除.
|
|
|
|
|
MapAttr attr = new MapAttr();
|
|
|
|
|
attr.setMyPK(this.MyPK);
|
|
|
|
|
attr.Delete();
|
|
|
|
|
|
|
|
|
|
//调用frmEditAction, 完成其他的操作.
|
|
|
|
|
BP.Sys.CCFormAPI.AfterFrmEditAction(this.FrmID);
|
|
|
|
|
base.afterDelete();
|
|
|
|
|
}
|
|
|
|
|
#endregion 重写的方法.
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件s
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class FrmAttachmentSingles : EntitiesMyPK
|
|
|
|
|
{
|
|
|
|
|
#region 构造
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 字段单附件s
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FrmAttachmentSingles()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 得到它的 Entity
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override Entity GetNewEntity
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return new FrmAttachmentSingle();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 为了适应自动翻译成java的需要,把实体转换成List.
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 转化成 java list,C#不能调用.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>List</returns>
|
|
|
|
|
public System.Collections.Generic.IList<FrmAttachmentSingle> ToJavaList()
|
|
|
|
|
{
|
|
|
|
|
return (System.Collections.Generic.IList<FrmAttachmentSingle>)this;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 转化成list
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>List</returns>
|
|
|
|
|
public System.Collections.Generic.List<FrmAttachmentSingle> Tolist()
|
|
|
|
|
{
|
|
|
|
|
System.Collections.Generic.List<FrmAttachmentSingle> list = new System.Collections.Generic.List<FrmAttachmentSingle>();
|
|
|
|
|
for (int i = 0; i < this.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
list.Add((FrmAttachmentSingle)this[i]);
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
|
|
|
|
|
}
|
|
|
|
|
}
|