public int AddDocObject(DocObject element) { string s = ""; if (element.Owner != null) { s = element.Owner.ID.ToString(); } else { s = "0"; } string sql = "insert into TF_DocObject (Name, FormID, DocItems, Owner, Remark) values ('" + element.Name + "', " + element.Form.ID + ", '" + FormItemLogic.GetItemString(element.DocItems) + "', " + s + ", '" + element.Remark + "'); select SCOPE_IDENTITY()"; object obj = sqlHelper.ExecuteSqlReturn(sql); int R; if (obj != null && obj != DBNull.Value && int.TryParse(obj.ToString(), out R)) { return(R); } else { return(0); } }
private void LoadDocObject(DocObject doc) { if (doc != null) { LoadItems(doc.DocItems); } }
public List <DocObject> GetDocObjectsByOwner(User user) { List <DocObject> elements = new List <DocObject>(); string sql = "select * from TF_DocObject where Owner=" + user.ID; DataTable dt = sqlHelper.Query(sql); if (dt != null && dt.Rows.Count > 0) { FormObjectLogic fol = FormObjectLogic.GetInstance(); FormItemLogic fil = FormItemLogic.GetInstance(); UserLogic ul = UserLogic.GetInstance(); for (int i = 0; i < dt.Rows.Count; i++) { DocObject element = new DocObject(); element.ID = Convert.ToInt32(dt.Rows[i]["ID"]); element.Name = dt.Rows[i]["Name"].ToString(); element.Form = fol.GetFormObject(Convert.ToInt32(dt.Rows[i]["FormID"])); element.DocItems = fil.GetFormItemsByIds(dt.Rows[i]["DocItems"].ToString()); element.Owner = ul.GetUser(Convert.ToInt32(dt.Rows[i]["Owner"])); element.Remark = dt.Rows[i]["Remark"].ToString(); element.Flag = Convert.ToInt32(dt.Rows[i]["Flag"]); elements.Add(element); } } return(elements); }
public List <DocObject> GetDocObjectsByTemplateId(List <int> flowTemplateIds) { List <DocObject> elements = new List <DocObject>(); if (flowTemplateIds != null && flowTemplateIds.Count > 0) { string sql = "select TF_DocObject.* from TF_DocObject,TaskInfo,Flow,FlowTemplate where TF_DocObject.ID=TaskInfo.EntityId and TaskInfo.FlowID=Flow.ID and Flow.TemplateID in (" + flowTemplateIds + ")"; DataTable dt = sqlHelper.Query(sql); if (dt != null && dt.Rows.Count > 0) { FormObjectLogic fol = FormObjectLogic.GetInstance(); FormItemLogic fil = FormItemLogic.GetInstance(); UserLogic ul = UserLogic.GetInstance(); for (int i = 0; i < dt.Rows.Count; i++) { DocObject element = new DocObject(); element.ID = Convert.ToInt32(dt.Rows[i]["ID"]); element.Name = dt.Rows[i]["Name"].ToString(); element.Form = fol.GetFormObject(Convert.ToInt32(dt.Rows[i]["FormID"])); element.DocItems = fil.GetFormItemsByIds(dt.Rows[i]["DocItems"].ToString()); element.Owner = ul.GetUser(Convert.ToInt32(dt.Rows[i]["Owner"])); element.Remark = dt.Rows[i]["Remark"].ToString(); element.Flag = Convert.ToInt32(dt.Rows[i]["Flag"]); elements.Add(element); } } } return(elements); }
private void button1_Click(object sender, EventArgs e) { if (alert != null) { switch (alert.提醒方式) { case 提醒方式.系统提示: bool f = AlertLogic.GetInstance().SetFlag(alert.ID, 1); if (!f) { MessageBox.Show("已阅置位失败!"); } else { this.Close(); } break; case 提醒方式.执行流程: DocObject doc = DocObjectLogic.GetInstance().GetDocObject(Convert.ToInt32(alert.备注)); if (doc != null) { TaskInfo task = TaskInfoLogic.GetInstance().GetTaskInfoByEntityId(doc.ID); if (task != null) { TaskStageLogic.GetInstance().SetReceiveToExec(task.Flow.Current.ID); } DocEditForm def = new DocEditForm(this.User, this.owner, doc.Form, doc, alert.ID); if (def.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.Close(); } } break; case 提醒方式.审批流程: DocObject doc2 = DocObjectLogic.GetInstance().GetDocObject(Convert.ToInt32(alert.备注)); if (doc2 != null) { TaskInfo task = TaskInfoLogic.GetInstance().GetTaskInfoByEntityId(doc2.ID); if (task != null) { TaskStageLogic.GetInstance().SetReceiveToExec(task.Flow.Current.ID); } DocEditForm def = new DocEditForm(this.User, this.owner, doc2.Form, doc2, alert.ID); if (def.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.Close(); } } break; default: break; } } }
public DocInfoForm(User user, MainForm owner, DocObject doc) { this.User = user; InitializeComponent(); this.owner = owner; this.doc = doc; if (doc != null) { DocObjectLogic.GetInstance().Increase(doc.ID); this.Text = doc.DocInfo; } }
public NewFlowForm(User user, DocObject doc, int maxApprLevel) { if (doc == null) { throw new ArgumentNullException("doc"); } this.User = user; InitializeComponent(); this.doc = doc; this.maxApprLevel = maxApprLevel; }
/// <summary> /// 快速复制一份文档(文档名在原名后加上时间,返回新文档的ID) /// </summary> /// <param name="element">原表单</param> /// <param name="newDocName">复制后的新的文档名</param> /// <returns></returns> public int CopyDocObject(DocObject element, out string newDocName) { if (element.Name.Length > 20) { element.Name = element.Name.Substring(0, element.Name.Length - 17) + DateTime.Now.ToString("yy_MM_dd_HH_mm_ss"); } else { element.Name = element.Name + DateTime.Now.ToString("yy_MM_dd_HH_mm_ss"); } newDocName = element.Name; return(AddDocObject(element)); }
private void ShowDoc() { DocObject doc = listBox1.SelectedItem as DocObject; if (doc != null) { DocInfoForm dif = new DocInfoForm(this.User, this.owner, doc); dif.ShowDialog(); } else { MessageBox.Show("请先选定要查看的文档!"); } }
public DocEditForm(User user, MainForm owner, FormObject form, DocObject doc = null, int appr = 0, int exeORapp = 0) { this.User = user; InitializeComponent(); this.owner = owner; this.form = form; this.doc = doc; this.appr = appr; this.exeORapp = exeORapp; if (appr > 0) { button1.Text = "审批"; } }
private void EditDoc() { DocObject doc = listBox1.SelectedItem as DocObject; if (doc != null) { DocEditForm def = new DocEditForm(this.User, this.owner, doc.Form, doc); def.ShowDialog(); LoadAllDocs(null); } else { MessageBox.Show("请先选定要修改的文档!"); } }
public bool UpdateDocObject(DocObject element, User user) { if (user == null) { return(false); } string s = "(1>1)"; int adminId = Common.AdminId; if (user.ID == adminId) { s = "(1=1)"; } string sql = "update TF_DocObject set Name='" + element.Name + "', FormID=" + element.Form.ID + ", DocItems='" + FormItemLogic.GetItemString(element.DocItems) + "', Remark='" + element.Remark + "' where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ")"; int r = sqlHelper.ExecuteSql(sql); return(r > 0); }
private DocObject GetDocObject() { string name = textBox1.Text.Trim(); if (name == "") { name = "未命名文档"; } DocObject document = new DocObject(); document.ID = (doc == null ? 0 : doc.ID); document.Name = name; document.Form = form; document.Owner = this.User;//文档的作者自动更新为最后修改文档的用户 document.Remark = textBox2.Text; FormItemLogic fil = FormItemLogic.GetInstance(); foreach (Control c in panel2.Controls) { if (c is DocEditControl) { DocEditControl dec = c as DocEditControl; FormItem item = dec.Field; int id = 0; if (doc != null) { id = fil.SaveFormItem(item); } else { id = fil.AddFormItem(item); } if (id > 0) { item.ID = id; document.DocItems.Add(item); } } } doc = document; return(document); }
public DocObject GetDocObject(int id) { string sql = "select * from TF_DocObject where ID=" + id; DataTable dt = sqlHelper.Query(sql); if (dt != null && dt.Rows.Count > 0) { DocObject element = new DocObject(); element.ID = id; element.Name = dt.Rows[0]["Name"].ToString(); element.Form = FormObjectLogic.GetInstance().GetFormObject(Convert.ToInt32(dt.Rows[0]["FormID"])); element.DocItems = FormItemLogic.GetInstance().GetFormItemsByIds(dt.Rows[0]["DocItems"].ToString()); element.Owner = UserLogic.GetInstance().GetUser(Convert.ToInt32(dt.Rows[0]["Owner"])); element.Remark = dt.Rows[0]["Remark"].ToString(); element.Flag = Convert.ToInt32(dt.Rows[0]["Flag"]); return(element); } return(null); }
public bool DeleteDocObject(DocObject element, User user) { if (user == null) { return(false); } string s = "(1>1)"; int adminId = Common.AdminId; if (user.ID == adminId) { s = "(1=1)"; } string sql = "delete from TF_DocObject where ID=" + element.ID + " and (Owner=" + user.ID + " or " + s + ")"; int r = sqlHelper.ExecuteSql(sql); if (r > 0) { FormItemLogic.GetInstance().DeleteFormItems(FormItemLogic.GetItemString(element.DocItems));//删除字段信息 AttachmentLogic al = AttachmentLogic.GetInstance(); foreach (FormItem item in element.DocItems) { if (item.ItemType == "System.Object")//是附件,顺带把附件记录也删除 { string[] ss = item.ItemValue.Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); if (ss.Length > 1) { int id; if (int.TryParse(ss[0], out id)) { al.DeleteAttachment(id); } } } } } return(r > 0); }
private void DelDoc() { DocObject doc = listBox1.SelectedItem as DocObject; if (doc != null) { if (MessageBox.Show("确定要删除该文档[" + doc.Name + "]吗?", "删除提醒", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) { if (DocObjectLogic.GetInstance().DeleteDocObject(doc, this.User)) { MessageBox.Show("删除文档成功!"); listBox1.Items.RemoveAt(listBox1.SelectedIndex); } else { MessageBox.Show("删除失败或者您没有权限删除别人的文档!"); } } } else { MessageBox.Show("请先选定要删除的文档!"); } }