You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
678 lines
20 KiB
Plaintext
678 lines
20 KiB
Plaintext
using System;
|
|
using System.Collections;
|
|
using BP.DA;
|
|
using BP.Difference;
|
|
using BP.En;
|
|
|
|
namespace BP.Sys
|
|
{
|
|
/// <summary>
|
|
/// 附件数据存储 - 属性
|
|
/// </summary>
|
|
public class FrmAttachmentDBAttr : EntityMyPKAttr
|
|
{
|
|
/// <summary>
|
|
/// 附件
|
|
/// </summary>
|
|
public const string FK_FrmAttachment = "FK_FrmAttachment";
|
|
/// <summary>
|
|
/// 附件标识
|
|
/// </summary>
|
|
public const string NoOfObj = "NoOfObj";
|
|
/// <summary>
|
|
/// 主表
|
|
/// </summary>
|
|
public const string FK_MapData = "FK_MapData";
|
|
/// <summary>
|
|
/// RefPKVal
|
|
/// </summary>
|
|
public const string RefPKVal = "RefPKVal";
|
|
/// <summary>
|
|
/// 流程ID
|
|
/// </summary>
|
|
public const string FID = "FID";
|
|
/// <summary>
|
|
/// 文件名称
|
|
/// </summary>
|
|
public const string FileName = "FileName";
|
|
/// <summary>
|
|
/// 文件扩展
|
|
/// </summary>
|
|
public const string FileExts = "FileExts";
|
|
/// <summary>
|
|
/// 文件大小
|
|
/// </summary>
|
|
public const string FileSize = "FileSize";
|
|
/// <summary>
|
|
/// 保存到
|
|
/// </summary>
|
|
public const string FileFullName = "FileFullName";
|
|
/// <summary>
|
|
/// 记录日期
|
|
/// </summary>
|
|
public const string RDT = "RDT";
|
|
/// <summary>
|
|
/// 记录人
|
|
/// </summary>
|
|
public const string Rec = "Rec";
|
|
/// <summary>
|
|
/// 记录人名字
|
|
/// </summary>
|
|
public const string RecName = "RecName";
|
|
/// <summary>
|
|
/// 所在部门
|
|
/// </summary>
|
|
public const string FK_Dept = "FK_Dept";
|
|
/// <summary>
|
|
/// 所在部门名称
|
|
/// </summary>
|
|
public const string FK_DeptName = "FK_DeptName";
|
|
/// <summary>
|
|
/// 类别
|
|
/// </summary>
|
|
public const string Sort = "Sort";
|
|
/// <summary>
|
|
/// 备注
|
|
/// </summary>
|
|
public const string MyNote = "MyNote";
|
|
/// <summary>
|
|
/// 节点ID
|
|
/// </summary>
|
|
public const string NodeID = "NodeID";
|
|
/// <summary>
|
|
/// 是否锁定行
|
|
/// </summary>
|
|
public const string IsRowLock = "IsRowLock";
|
|
/// <summary>
|
|
/// 上传的GUID
|
|
/// </summary>
|
|
public const string UploadGUID = "UploadGUID";
|
|
/// <summary>
|
|
/// Idx
|
|
/// </summary>
|
|
public const string Idx = "Idx";
|
|
/// <summary>
|
|
/// 保存方式
|
|
/// </summary>
|
|
public const string AthSaveWay = "AthSaveWay";
|
|
}
|
|
/// <summary>
|
|
/// 附件数据存储
|
|
/// </summary>
|
|
public class FrmAttachmentDB : EntityMyPK
|
|
{
|
|
#region 属性
|
|
/// <summary>
|
|
/// 类别
|
|
/// </summary>
|
|
public string Sort
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.Sort);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.Sort, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 记录日期
|
|
/// </summary>
|
|
public string RDT
|
|
{
|
|
get
|
|
{
|
|
string str = this.GetValStringByKey(FrmAttachmentDBAttr.RDT);
|
|
return str.Substring(5, 11);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.RDT, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 文件
|
|
/// </summary>
|
|
public string FileFullName
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FileFullName);
|
|
}
|
|
set
|
|
{
|
|
string str = value;
|
|
str = str.Replace("~", "-");
|
|
str = str.Replace("'", "-");
|
|
str = str.Replace("*", "-");
|
|
this.SetValByKey(FrmAttachmentDBAttr.FileFullName, str);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 上传GUID
|
|
/// </summary>
|
|
public string UploadGUID
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.UploadGUID);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.UploadGUID, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件路径
|
|
/// </summary>
|
|
public string FilePathName
|
|
{
|
|
get
|
|
{
|
|
|
|
return this.FileFullName.Substring(this.FileFullName.LastIndexOf('/') + 1);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件名称
|
|
/// </summary>
|
|
public string FileName
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FileName);
|
|
}
|
|
set
|
|
{
|
|
string str = value;
|
|
str = str.Replace("~", "-");
|
|
str = str.Replace("'", "-");
|
|
str = str.Replace("*", "-");
|
|
|
|
this.SetValByKey(FrmAttachmentDBAttr.FileName, str);
|
|
|
|
string fileExt = str.Substring(str.LastIndexOf('.') + 1);
|
|
//后缀名.
|
|
this.SetValByKey(FrmAttachmentDBAttr.FileExts, fileExt);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件扩展名
|
|
/// </summary>
|
|
public string FileExts
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FileExts);
|
|
}
|
|
set
|
|
{
|
|
string val = value.Replace(".", "");
|
|
string[] words = { "asp", "jsp", "do", "php", "msi", "bat", "exe", "sql" };
|
|
val = val.ToLower();
|
|
foreach (var item in words)
|
|
{
|
|
if (val.Contains(item) && val.Length == item.Length)
|
|
throw new Exception("err@非法的文件格式.");
|
|
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 相关附件
|
|
/// </summary>
|
|
public string FK_FrmAttachment
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FK_FrmAttachment);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FK_FrmAttachment, value);
|
|
|
|
|
|
if (DataType.IsNullOrEmpty(this.FK_MapData) == true)
|
|
throw new Exception("err@错误:请首先给FK_MapData赋值..");
|
|
|
|
//获取最后"_"的位置
|
|
string val = value.Replace(this.FK_MapData + "_", "");
|
|
this.SetValByKey(FrmAttachmentDBAttr.NoOfObj, val);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 主键值
|
|
/// </summary>
|
|
public string RefPKVal
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.RefPKVal);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.RefPKVal, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 工作ID.
|
|
/// </summary>
|
|
public Int64 FID
|
|
{
|
|
get
|
|
{
|
|
return this.GetValInt64ByKey(FrmAttachmentDBAttr.FID);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FID, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// MyNote
|
|
/// </summary>
|
|
public string MyNote
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.MyNote);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.MyNote, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 记录人
|
|
/// </summary>
|
|
public string Rec
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.Rec);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.Rec, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 记录人名称
|
|
/// </summary>
|
|
public string RecName
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.RecName);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.RecName, value);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 所在部门
|
|
/// </summary>
|
|
public string FK_Dept
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FK_Dept);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FK_Dept, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 所在部门名称
|
|
/// </summary>
|
|
public string FK_DeptName
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FK_DeptName);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FK_DeptName, value);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 附件编号
|
|
/// </summary>
|
|
public string FK_MapData
|
|
{
|
|
get
|
|
{
|
|
return this.GetValStringByKey(FrmAttachmentDBAttr.FK_MapData);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FK_MapData, value);
|
|
}
|
|
}
|
|
public void setFK_MapData(string val)
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FK_MapData, val);
|
|
}
|
|
/// <summary>
|
|
/// 文件大小
|
|
/// </summary>
|
|
public float FileSize
|
|
{
|
|
get
|
|
{
|
|
return this.GetValFloatByKey(FrmAttachmentDBAttr.FileSize);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.FileSize, value / 1024);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 是否锁定行?
|
|
/// </summary>
|
|
public bool IsRowLock
|
|
{
|
|
get
|
|
{
|
|
return this.GetValBooleanByKey(FrmAttachmentDBAttr.IsRowLock);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.IsRowLock, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 显示顺序
|
|
/// </summary>
|
|
public int Idx
|
|
{
|
|
get
|
|
{
|
|
return this.GetValIntByKey(FrmAttachmentDBAttr.Idx);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.Idx, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件扩展名
|
|
/// </summary>
|
|
public int NodeID
|
|
{
|
|
get
|
|
{
|
|
return this.GetValIntByKey(FrmAttachmentDBAttr.NodeID);
|
|
}
|
|
set
|
|
{
|
|
this.SetValByKey(FrmAttachmentDBAttr.NodeID, value);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件类型
|
|
/// </summary>
|
|
public AttachmentUploadType HisAttachmentUploadType
|
|
{
|
|
get
|
|
{
|
|
if (this.MyPK.Contains("_") && this.MyPK.Length < 32)
|
|
return AttachmentUploadType.Single;
|
|
else
|
|
return AttachmentUploadType.Multi;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 构造方法
|
|
/// <summary>
|
|
/// 附件数据存储
|
|
/// </summary>
|
|
public FrmAttachmentDB()
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// 附件数据存储
|
|
/// </summary>
|
|
/// <param name="mypk"></param>
|
|
public FrmAttachmentDB(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_FrmAttachmentDB", "附件数据存储");
|
|
|
|
map.IndexField = FrmAttachmentDBAttr.RefPKVal;
|
|
|
|
map.AddMyPK();
|
|
|
|
map.AddTBString(FrmAttachmentDBAttr.FK_MapData, null, "FK_MapData", true, false, 1, 100, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FK_FrmAttachment, null, "附件主键", true, false, 1, 500, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.NoOfObj, null, "附件标识", true, false, 0, 50, 20);
|
|
|
|
map.AddTBString(FrmAttachmentDBAttr.RefPKVal, null, "实体主键", true, false, 0, 50, 20);
|
|
map.AddTBInt(FrmAttachmentDBAttr.FID, 0, "FID", true, false);
|
|
map.AddTBInt(FrmAttachmentDBAttr.NodeID, 0, "节点ID", true, false);
|
|
|
|
|
|
map.AddTBString(FrmAttachmentDBAttr.Sort, null, "类别", true, false, 0, 200, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FileFullName, null, "文件路径", true, false, 0, 700, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FileName, null, "名称", true, false, 0, 500, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FileExts, null, "扩展", true, false, 0, 50, 20);
|
|
map.AddTBFloat(FrmAttachmentDBAttr.FileSize, 0, "文件大小", true, false);
|
|
|
|
map.AddTBDateTime(FrmAttachmentDBAttr.RDT, null, "记录日期", true, false);
|
|
map.AddTBString(FrmAttachmentDBAttr.Rec, null, "记录人", true, false, 0, 50, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.RecName, null, "记录人名字", true, false, 0, 50, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FK_Dept, null, "所在部门", true, false, 0, 50, 20);
|
|
map.AddTBString(FrmAttachmentDBAttr.FK_DeptName, null, "所在部门名称", true, false, 0, 50, 20);
|
|
map.AddTBStringDoc(FrmAttachmentDBAttr.MyNote, null, "备注", true, false);
|
|
|
|
map.AddTBInt(FrmAttachmentDBAttr.IsRowLock, 0, "是否锁定行", true, false);
|
|
|
|
//顺序.
|
|
map.AddTBInt(FrmAttachmentDBAttr.Idx, 0, "排序", true, false);
|
|
|
|
//这个值在上传时候产生.
|
|
map.AddTBString(FrmAttachmentDBAttr.UploadGUID, null, "上传GUID", true, false, 0, 500, 20);
|
|
|
|
map.AddTBAtParas(3000); //增加参数属性.
|
|
|
|
this._enMap = map;
|
|
return this._enMap;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成文件.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private string MakeFullFileFromFtp()
|
|
{
|
|
string pathOfTemp = BP.Difference.SystemConfig.PathOfTemp;
|
|
if (System.IO.Directory.Exists(pathOfTemp) == false)
|
|
System.IO.Directory.CreateDirectory(pathOfTemp);
|
|
|
|
string tempFile = pathOfTemp + System.Guid.NewGuid() + "." + this.FileExts;
|
|
|
|
|
|
// string tempFile = BP.Difference.SystemConfig.PathOfTemp + + this.FileName;
|
|
try
|
|
{
|
|
if (System.IO.File.Exists(tempFile) == true)
|
|
System.IO.File.Delete(tempFile);
|
|
}
|
|
catch
|
|
{
|
|
// tempFile = BP.Difference.SystemConfig.PathOfTemp + System.Guid.NewGuid() + this.FileName;
|
|
}
|
|
|
|
FtpConnection conn = new FtpConnection(BP.Difference.SystemConfig.FTPServerIP, BP.Difference.SystemConfig.FTPServerPort,
|
|
SystemConfig.FTPUserNo, BP.Difference.SystemConfig.FTPUserPassword);
|
|
|
|
conn.GetFile(this.FileFullName, tempFile, false, System.IO.FileAttributes.Archive);
|
|
|
|
return tempFile;
|
|
}
|
|
public string DoDown()
|
|
{
|
|
|
|
return "执行成功.";
|
|
}
|
|
|
|
/// <summary>
|
|
/// 重写
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
protected override bool beforeInsert()
|
|
{
|
|
return base.beforeInsert();
|
|
}
|
|
|
|
protected override void afterDelete()
|
|
{
|
|
//判断删除excel数据提取的数据
|
|
if (string.IsNullOrWhiteSpace(this.FK_FrmAttachment))
|
|
return;
|
|
|
|
FrmAttachment ath = new FrmAttachment(this.FK_FrmAttachment);
|
|
try
|
|
{
|
|
// @于庆海需要翻译.
|
|
if (ath.AthSaveWay == BP.Sys.AthSaveWay.IISServer)
|
|
System.IO.File.Delete(this.FileFullName);
|
|
|
|
if (ath.AthSaveWay == BP.Sys.AthSaveWay.FTPServer)
|
|
{
|
|
FtpConnection ftpconn = new FtpConnection(BP.Difference.SystemConfig.FTPServerIP, BP.Difference.SystemConfig.FTPServerPort,
|
|
SystemConfig.FTPUserNo, BP.Difference.SystemConfig.FTPUserPassword);
|
|
|
|
string fullName = this.FileFullName;
|
|
ftpconn.DeleteFile(fullName);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
BP.DA.Log.DebugWriteError(ex.Message);
|
|
}
|
|
|
|
base.afterDelete();
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 获得临时文件
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string GenerTempFile(AthSaveWay saveWay = BP.Sys.AthSaveWay.IISServer)
|
|
{
|
|
if (saveWay == BP.Sys.AthSaveWay.IISServer)
|
|
return this.FileFullName;
|
|
|
|
if (saveWay == BP.Sys.AthSaveWay.FTPServer)
|
|
return this.MakeFullFileFromFtp();
|
|
|
|
if (saveWay == BP.Sys.AthSaveWay.DB)
|
|
throw new Exception("@尚未处理存储到db里面的文件.");
|
|
|
|
throw new Exception("@尚未处理存储到db里面的文件.");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 向下移動
|
|
/// </summary>
|
|
public void DoDownTabIdx()
|
|
{
|
|
this.DoOrderDown(FrmAttachmentDBAttr.RefPKVal, this.RefPKVal,
|
|
FrmAttachmentDBAttr.FK_FrmAttachment, this.FK_FrmAttachment, FrmAttachmentDBAttr.Idx);
|
|
}
|
|
/// <summary>
|
|
/// 向上移動
|
|
/// </summary>
|
|
public void DoUpTabIdx()
|
|
{
|
|
this.DoOrderUp(FrmAttachmentDBAttr.RefPKVal, this.RefPKVal,
|
|
FrmAttachmentDBAttr.FK_FrmAttachment, this.FK_FrmAttachment, FrmAttachmentDBAttr.Idx);
|
|
|
|
// this.DoOrderUp(FrmAttachmentDBAttr.FK_MapData, this.FK_MapData, FrmAttachmentDBAttr.Idx);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 附件数据存储s
|
|
/// </summary>
|
|
public class FrmAttachmentDBs : EntitiesMyPK
|
|
{
|
|
#region 构造
|
|
/// <summary>
|
|
/// 附件数据存储s
|
|
/// </summary>
|
|
public FrmAttachmentDBs()
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// 附件数据存储s
|
|
/// </summary>
|
|
/// <param name="fk_mapdata">s</param>
|
|
public FrmAttachmentDBs(string fk_mapdata, string pkval)
|
|
{
|
|
this.Retrieve(FrmAttachmentDBAttr.FK_MapData, fk_mapdata,
|
|
FrmAttachmentDBAttr.RefPKVal, pkval);
|
|
}
|
|
/// <summary>
|
|
/// 得到它的 Entity
|
|
/// </summary>
|
|
public override Entity GetNewEntity
|
|
{
|
|
get
|
|
{
|
|
return new FrmAttachmentDB();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 为了适应自动翻译成java的需要,把实体转换成List.
|
|
/// <summary>
|
|
/// 转化成 java list,C#不能调用.
|
|
/// </summary>
|
|
/// <returns>List</returns>
|
|
public System.Collections.Generic.IList<FrmAttachmentDB> ToJavaList()
|
|
{
|
|
return (System.Collections.Generic.IList<FrmAttachmentDB>)this;
|
|
}
|
|
/// <summary>
|
|
/// 转化成list
|
|
/// </summary>
|
|
/// <returns>List</returns>
|
|
public System.Collections.Generic.List<FrmAttachmentDB> Tolist()
|
|
{
|
|
System.Collections.Generic.List<FrmAttachmentDB> list = new System.Collections.Generic.List<FrmAttachmentDB>();
|
|
for (int i = 0; i < this.Count; i++)
|
|
{
|
|
list.Add((FrmAttachmentDB)this[i]);
|
|
}
|
|
return list;
|
|
}
|
|
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
|
|
}
|
|
}
|