using System.Data; using BP.DA; using BP.Web; using BP.En; using BP.Port; using BP.Sys; namespace BP.CCOA { /// /// 任务 属性 /// public class TaskAttr : EntityMyPKAttr { /// /// 模式 /// public const string TaskPRI = "TaskPRI"; /// /// 内容1 /// public const string Docs = "Docs"; public const string Title = "Title"; /// /// 内容2 /// public const string TaskSta = "TaskSta"; /// /// 内容3 /// public const string ManagerEmpNo = "ManagerEmpNo"; /// /// 负责人 /// public const string ManagerEmpName = "ManagerEmpName"; public const string RefLabelNo = "RefLabelNo"; public const string RefLabelName = "RefLabelName"; /// /// 组织编号 /// public const string OrgNo = "OrgNo"; /// /// 记录人 /// public const string Rec = "Rec"; /// /// 记录人名称 /// public const string RecName = "RecName"; /// /// 记录日期 /// public const string RDT = "RDT"; /// /// 隶属日期 /// public const string RiQi = "RiQi"; /// /// 年月 /// public const string DTFrom = "DTFrom"; /// /// 项目数 /// public const string RefEmpsNo = "RefEmpsNo"; /// /// 第几周 /// public const string RefEmpsName = "RefEmpsName"; /// /// 年度 /// public const string DTTo = "DTTo"; /// /// 负责人. /// public const string Manager = "Manager"; public const string ParentNo = "ParentNo"; public const string IsSubTask = "IsSubTask"; } /// /// 任务 /// public class Task : EntityMyPK { #region 基本属性 /// /// 组织编号 /// public string OrgNo { get { return this.GetValStrByKey(TaskAttr.OrgNo); } set { this.SetValByKey(TaskAttr.OrgNo, value); } } public string Rec { get { return this.GetValStrByKey(TaskAttr.Rec); } set { this.SetValByKey(TaskAttr.Rec, value); } } public string RecName { get { return this.GetValStrByKey(TaskAttr.RecName); } set { this.SetValByKey(TaskAttr.RecName, value); } } public string RDT { get { return this.GetValStrByKey(TaskAttr.RDT); } set { this.SetValByKey(TaskAttr.RDT, value); } } /// /// 日期 /// public string RiQi { get { return this.GetValStrByKey(TaskAttr.RiQi); } set { this.SetValByKey(TaskAttr.RiQi, value); } } /// /// 年月 /// public string DTFrom { get { return this.GetValStrByKey(TaskAttr.DTFrom); } set { this.SetValByKey(TaskAttr.DTFrom, value); } } public string DTTo { get { return this.GetValStrByKey(TaskAttr.DTTo); } set { this.SetValByKey(TaskAttr.DTTo, value); } } /// /// 项目数 /// public int RefEmpsNo { get { return this.GetValIntByKey(TaskAttr.RefEmpsNo); } set { this.SetValByKey(TaskAttr.RefEmpsNo, value); } } /// /// 第几周? /// public int RefEmpsName { get { return this.GetValIntByKey(TaskAttr.RefEmpsName); } set { this.SetValByKey(TaskAttr.RefEmpsName, value); } } /// /// 负责人 /// public float Manager { get { return this.GetValFloatByKey(TaskAttr.Manager); } set { this.SetValByKey(TaskAttr.Manager, value); } } #endregion #region 构造方法 /// /// 权限控制 /// public override UAC HisUAC { get { UAC uac = new UAC(); if (WebUser.IsAdmin) { uac.IsUpdate = true; return uac; } return base.HisUAC; } } /// /// 任务 /// public Task() { } public Task(string mypk) { this.setMyPK(mypk); this.Retrieve(); } /// /// 重写基类方法 /// public override Map EnMap { get { if (this._enMap != null) return this._enMap; Map map = new Map("OA_Task", "任务"); map.AddMyPK(); map.AddTBString(TaskAttr.Title, null, "标题", false, false, 0, 500, 10); map.AddTBString(TaskAttr.Docs, null, "内容", false, false, 0, 4000, 10); map.AddTBString(TaskAttr.ParentNo, null, "父节点ID", false, false, 0, 50, 10); map.AddTBInt(TaskAttr.IsSubTask, 0, "是否是子任务", true, false); map.AddDDLSysEnum(TaskAttr.TaskPRI, 0, "优先级", true, false, "TaskPRI", "@0=高@1=中@2=低"); map.AddDDLSysEnum(TaskAttr.TaskSta, 0, "状态", true, false, "TaskSta", "@0=未完成@1=已完成"); map.AddTBDateTime(TaskAttr.DTFrom, null, "日期从", false, false); map.AddTBDateTime(TaskAttr.DTTo, null, "到", false, false); map.AddTBString(TaskAttr.ManagerEmpNo, null, "负责人", false, false, 0, 30, 10); map.AddTBString(TaskAttr.ManagerEmpName, null, "负责人名称", false, false, 0, 40, 10); map.AddTBString(TaskAttr.RefEmpsNo, null, "参与人编号", false, false, 0, 3000, 10); map.AddTBString(TaskAttr.RefEmpsName, null, "参与人名称", false, false, 0, 3000, 10); map.AddTBString(TaskAttr.RefLabelNo, null, "标签标号", false, false, 0, 3000, 10); map.AddTBString(TaskAttr.RefLabelName, null, "标签名称", false, false, 0, 3000, 10); map.AddTBString(TaskAttr.OrgNo, null, "组织编号", false, false, 0, 100, 10); map.AddTBString(TaskAttr.Rec, null, "记录人", false, false, 0, 100, 10); map.AddTBString(TaskAttr.RecName, null, "记录人名称", false, false, 0, 100, 10, true); map.AddTBDateTime(TaskAttr.RDT, null, "记录时间", false, false); this._enMap = map; return this._enMap; } } #endregion #region 执行方法. protected override bool beforeInsert() { this.setMyPK(DBAccess.GenerGUID()); this.Rec = WebUser.No; this.RecName = WebUser.Name; if (BP.Difference.SystemConfig.CCBPMRunModel != CCBPMRunModel.Single) this.OrgNo = WebUser.OrgNo; this.SetValByKey("RDT", DataType.CurrentDateTime); return base.beforeInsert(); } protected override bool beforeUpdate() { ////计算条数. //this.RefEmpsNo = DBAccess.RunSQLReturnValInt("SELECT COUNT(*) AS N FROM OA_TaskDtl WHERE RefPK='" + this.MyPK + "'"); ////计算合计工作小时.. //this.Manager = DBAccess.RunSQLReturnValInt("SELECT SUM(Hour) + Sum(Minute)/60.00 AS N FROM OA_TaskDtl WHERE RefPK='" + this.MyPK + "'"); return base.beforeUpdate(); } #endregion 执行方法. } /// /// 任务 s /// public class Tasks : EntitiesMyPK { #region 查询. /// /// 所有的任务 /// /// public string Task_AllTasks() { QueryObject qo = new QueryObject(this); qo.addLeftBracket(); qo.AddWhere(TaskAttr.Rec, WebUser.No); qo.addOr(); qo.AddWhere(TaskAttr.RefEmpsNo, " like ", "%," + WebUser.No + ",%"); qo.addOr(); qo.AddWhere(TaskAttr.ManagerEmpNo, " like ", "%," + WebUser.No + ",%"); qo.addRightBracket(); qo.addAnd(); qo.AddWhere(TaskAttr.IsSubTask, 0); if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.SAAS) { qo.addAnd(); qo.AddWhere(TaskAttr.OrgNo, " = ", WebUser.OrgNo); } qo.DoQuery(); return this.ToJson(); } public string TextBox_EmpPinYin(string key) { string whereSQL = " AND OrgNo='"+BP.Web.WebUser.OrgNo+"'"; if (BP.Difference.SystemConfig.CCBPMRunModel == CCBPMRunModel.Single) whereSQL = ""; string sql = ""; sql = "SELECT No, Name FROM Port_Emp WHERE (No like '%" + key+ "%' or Name like '%" + key+ "%' or PinYin like '%" + key+"%' ) " + whereSQL; DataTable dt = DBAccess.RunSQLReturnTable(sql); return BP.Tools.Json.ToJson(dt); } public string Selecter_DeptEmps() { DataSet ds = new DataSet(); Depts depts = new Depts(); depts.RetrieveAll(); Emps emps = new Emps(); emps.RetrieveAll(); ds.Tables.Add(depts.ToDataTableField("Depts")); ds.Tables.Add(emps.ToDataTableField("Emps")); return BP.Tools.Json.ToJson(ds); } #endregion 重写. #region 重写. /// /// 任务 /// public Tasks() { } /// /// 得到它的 Entity /// public override Entity GetNewEntity { get { return new Task(); } } #endregion 重写. #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((Task)this[i]); } return list; } #endregion 为了适应自动翻译成java的需要,把实体转换成List. } }