using System; using BP.DA; using BP.Web; using BP.En; using BP.Sys; using Org.BouncyCastle.Asn1.Mozilla; using System.IO; namespace BP.CCOA.CCInfo { /// /// 信息 属性 /// public class InfoAttr : EntityNoNameAttr { /// /// 信息内容 /// public const string Docs = "Docs"; /// /// 组织编号 /// public const string OrgNo = "OrgNo"; /// /// 记录人 /// public const string Rec = "Rec"; /// /// 记录人名称 /// public const string RecName = "RecName"; public const string RecDeptNo = "RecDeptNo"; public const string RecDeptName = "RecDeptName"; /// /// 记录日期 /// public const string RDT = "RDT"; /// /// 年月 /// public const string NianYue = "NianYue"; /// /// 读取人数 /// public const string ReadTimes = "ReadTimes"; /// /// 读取人 /// public const string Reader = "Reader"; /// /// 状态 /// public const string InfoSta = "InfoSta"; public const string RelerName = "RelerName"; public const string RelDeptName = "RelDeptName"; public const string InfoType = "InfoType"; public const string InfoPRI = "InfoPRI"; } /// /// 信息 /// public class Info : EntityNoName { #region 基本属性 public string Docs { get { return this.GetValStrByKey(InfoAttr.Docs); } set { this.SetValByKey(InfoAttr.Docs, value); } } public string Rec { get { return this.GetValStrByKey(InfoAttr.Rec); } set { this.SetValByKey(InfoAttr.Rec, value); } } public string RecName { get { return this.GetValStrByKey(InfoAttr.RecName); } set { this.SetValByKey(InfoAttr.RecName, value); } } public string RecDeptNo { get { return this.GetValStrByKey(InfoAttr.RecDeptNo); } set { this.SetValByKey(InfoAttr.RecDeptNo, value); } } public string RecDeptName { get { return this.GetValStrByKey(InfoAttr.RecDeptName); } set { this.SetValByKey(InfoAttr.RecDeptName, value); } } #endregion #region 构造方法 /// /// 权限控制 /// public override UAC HisUAC { get { UAC uac = new UAC(); uac.IsUpdate = true; uac.IsInsert = true; return uac; ////if (WebUser.IsAdmin) ////{ //// uac.IsUpdate = true; //// return uac; ////} //return base.HisUAC; } } /// /// 信息 /// public Info() { } public Info(string no) { this.SetValByKey(InfoAttr.No, no); this.Retrieve(); } /// /// 重写基类方法 /// public override Map EnMap { get { if (this._enMap != null) return this._enMap; Map map = new Map("OA_Info", "信息"); map.AddTBStringPK(InfoAttr.No, null, "编号", false, true, 1, 59, 59); map.AddTBString(InfoAttr.Name, null, "标题", true, false, 0, 300, 10, true); map.AddTBStringDoc("Docs", "Docs", null, "内容", true, false, 0, 5000, 20, true, true); map.AddDDLSysEnum(InfoAttr.InfoPRI, 0, "重要性", true, true, "InfoPRI", "@0=普通@1=紧急@2=火急"); map.AddDDLEntities(InfoAttr.InfoType, null, "类型", new InfoTypes(), true); map.AddDDLSysEnum(InfoAttr.InfoSta, 0, "状态", true, true, InfoAttr.InfoSta, "@0=发布中@1=禁用"); map.AddTBString(InfoAttr.Rec, null, "记录人", false, false, 0, 100, 10); map.AddTBString(InfoAttr.RecName, null, "记录人", true, true, 0, 100, 10, false); map.AddTBString(InfoAttr.RecDeptNo, null, "记录人部门", false, false, 0, 100, 10, false); map.AddTBString(InfoAttr.RelerName, null, "发布人", true, false, 0, 100, 10, false); map.AddTBString(InfoAttr.RelDeptName, null, "发布单位", true, false, 0, 100, 10, false); map.AddTBDateTime(InfoAttr.RDT, null, "发布日期", true, true); map.AddTBString(InfoAttr.NianYue, null, "隶属年月", false, false, 0, 10, 10); map.AddTBInt(InfoAttr.ReadTimes, 0, "读取次数", true, true); map.AddTBStringDoc(InfoAttr.Reader, null, "读取人", false, false, false); if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single) map.AddTBString(InfoAttr.OrgNo, null, "组织", true, true, 0, 100, 10); //增加附件. map.AddMyFile(); #region 设置查询条件. map.DTSearchKey = InfoAttr.RDT; map.DTSearchWay = DTSearchWay.ByDate; map.DTSearchLabel = "发布日期"; if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single) map.AddHidden("OrgNo", "=", BP.Web.WebUser.OrgNo); map.AddSearchAttr(InfoAttr.InfoSta); map.AddSearchAttr(InfoAttr.InfoType); #endregion 设置查询条件. this._enMap = map; return this._enMap; } } #endregion #region 执行方法. public string DoRead() { string reader = this.GetValStrByKey("Reader"); if (reader.Contains(WebUser.No + ",") == false) return ""; reader += "@" + WebUser.Name + ","; this.SetValByKey("Reader", reader); int t = this.GetValIntByKey(InfoAttr.ReadTimes); this.SetValByKey("ReadTimes", t + 1); try { this.Update(); } catch (Exception ex) { BP.DA.Log.DebugWriteInfo("读取人数太多." + ex.Message); } return ""; } protected override bool beforeInsert() { this.SetValByKey(InfoAttr.No, DBAccess.GenerGUID()); this.SetValByKey(InfoAttr.Rec, BP.Web.WebUser.No); this.SetValByKey(InfoAttr.RecName, BP.Web.WebUser.Name); this.SetValByKey(InfoAttr.RecDeptNo, BP.Web.WebUser.FK_Dept); this.SetValByKey(InfoAttr.RDT, DataType.CurrentDateTime); //记录日期. this.SetValByKey(InfoAttr.NianYue, DataType.CurrentYearMonth);//隶属年月. this.SetValByKey(InfoAttr.RelerName, BP.Web.WebUser.Name); this.SetValByKey(InfoAttr.RelDeptName, BP.Web.WebUser.FK_DeptName); if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single) this.SetValByKey(InfoAttr.OrgNo, BP.Web.WebUser.OrgNo); this.No = DBAccess.GenerGUID(); return base.beforeInsert(); } #endregion 执行方法. } /// /// 信息 s /// public class Infos : EntitiesNoName { #region 构造函数. /// /// 信息 /// public Infos() { } /// /// 得到它的 Entity /// public override Entity GetNewEntity { get { return new Info(); } } #endregion 构造函数. public override int RetrieveAll() { return base.RetrieveAll(); } public string Init_Data() { string path = @"C:\\Users\\zhoup\\Documents\\WXWork\\1688851964626505\\WeDrive\\济南泉亿信息技术有限公司\\软文"; string[] strs = System.IO.Directory.GetDirectories(path); foreach (string dirPath in strs) { string[] files = System.IO.Directory.GetFiles(dirPath); foreach (string filePath in files) { System.IO.FileInfo finfo = new FileInfo(filePath); if (finfo.Name.Contains("WeDrive") == true) continue; BP.CCOA.CCInfo.Info en = new BP.CCOA.CCInfo.Info(); en.Name = finfo.Name; en.No = DBAccess.GenerGUID(); if (en.IsExit("Name", en.Name) == true) continue; en.Docs = finfo.Name; en.SetValByKey("MyFileName", en.Name); en.SetValByKey("MyFileExt", finfo.Extension.Replace(".", "")); string file = "/DataUser/TS.CCOA.CCInfo.Info/" + en.No + "" + finfo.Extension; en.SetValByKey("WebPath", file); en.SetValByKey("MyFileSize", finfo.Length.ToString()); en.SetValByKey("InfoSrcType", 1); if (DataType.IsImgExt(finfo.Extension) == true) { string html = "

"; html += "" + en.Name + ""; html += "

"; en.Docs = html; } //复制文件. System.IO.File.Copy(filePath, BP.Difference.SystemConfig.PathOfDataUser + "/TS.CCOA.CCInfo.Info/" + en.No + "" + finfo.Extension); en.Insert(); } } return "info@执行成功."; } #region 为了适应自动翻译成java的需要,把实体转换成List. /// /// 转化成 java list,C#不能调用. /// /// List public System.Collections.Generic.IList ToJavaList() { return (System.Collections.Generic.IList)this; } /// /// 转化成list /// /// List public System.Collections.Generic.List Tolist() { System.Collections.Generic.List list = new System.Collections.Generic.List(); for (int i = 0; i < this.Count; i++) { list.Add((Info)this[i]); } return list; } #endregion 为了适应自动翻译成java的需要,把实体转换成List. } }