private void link_bianji_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { //获得通知公告表中标题对应的信息,实例化一个jjtongzhiinfo string biaoti = lbl_mingcheng.Text; string leixing = lbl_leixing.Text; //实例化一个mftongzhigonggao,把jjtongzhiinfo传递进来,mftongzhigonggao的状态设置为编辑模式(还有一个是创建模式) string str_sql = $"select * from jjdbrenwutaizhang.通知公告表 " + $"where 标题='{biaoti}'"; DataTable mydt = _mysql.ExecuteDataTable(str_sql); List <string> list_fanwei = new List <string>(); foreach (DataRow dataRow in mydt.Rows) { list_fanwei.Add(dataRow["阅读范围"].ToString()); } JJTongzhiInfo myinfo = new JJTongzhiInfo() { _biaoti = mydt.Rows[0]["标题"].ToString(), _qianfaren = mydt.Rows[0]["签发人"].ToString(), _qingzhonghuanji = mydt.Rows[0]["轻重缓急"].ToString(), _neirongpath = mydt.Rows[0]["内容"].ToString(), _shixian = mydt.Rows[0]["时限"].ToString(), _fujian = mydt.Rows[0]["附件"].ToString(), _chuangjianren = mydt.Rows[0]["创建人"].ToString(), _yuedufanwei = string.Join(",", list_fanwei) }; WFtongzhigonggao mywin = new WFtongzhigonggao(myinfo); mywin.mode = "编辑"; if (mywin.ShowDialog() == DialogResult.OK) { JJMethod.a_shuaxinzhuye(null, null); } }
/// <summary> /// 根据待办任务名称获得信息 /// </summary> /// <param name="s"></param> /// <returns></returns> public bool Yidu(JJTongzhiInfo info) { string str_sql = $"update jjdbrenwutaizhang.通知公告表 set 状态='已读' where 标题='{info._biaoti}' " + $"and 状态='未读' and 签发人='{info._qianfaren}' and 阅读范围='{info._yuedufanwei}'"; int num = _sql.ExecuteNonQuery(str_sql); return(num > 0 ? true : false); }
public bool SaveTongzhi(JJTongzhiInfo myinfo) { string str_sql = $"insert into jjdbrenwutaizhang.通知公告表 values('{myinfo._biaoti}','{myinfo._qianfaren}','{myinfo._neirongpath}',0,'{myinfo._zhuangtai}','{myinfo._fabushijian}','{myinfo._qingzhonghuanji}'" + $",'{myinfo._shixian}','{myinfo._yuedufanwei}','{myinfo._fujian}','{myinfo._chuangjianren}')"; int num = _mysql.ExecuteNonQuery(str_sql); return(num > 0 ? true : false); }
public WFtongzhigonggao(JJTongzhiInfo ti) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterParent; tb_biaoti.Text = ti._biaoti; tb_wenhao.Text = ti._qianfaren; rb_jinji.Checked = ti._qingzhonghuanji.Equals("普通") ? false : true; rb_putong.Checked = ti._qingzhonghuanji.Equals("普通") ? true : false; // tb_neirong.Text = ti._neirong; dtp_shixian.Value = Convert.ToDateTime(ti._shixian); tb_yuedufanwei.Text = ti._yuedufanwei; }
/// <summary> /// 获得通知公告信息 /// </summary> /// <param name="s"></param> /// <returns></returns> public JJTongzhiInfo GetTongzhiInfo(string s) { string str_sql = $"select * from jjdbrenwutaizhang.通知公告表 where 标题='{s}' and 删除=0"; DataRow mydr = _sql.ExecuteDataRow(str_sql); JJTongzhiInfo ci = new JJTongzhiInfo() { _biaoti = mydr["标题"].ToString(), _qianfaren = mydr["签发人"].ToString(), _neirongpath = mydr["内容"].ToString(), _zhuangtai = mydr["状态"].ToString(), _fabushijian = mydr["发布时间"].ToString(), }; return(ci); }
/// <summary> /// 在我的主页显示通知公告 /// </summary> /// <param name="o"></param> public void UpdatePtongzhi(object o) { /*刷新通知公告*/ panel_tongzhi.Controls.Clear(); var list_tongzhi = o as List <JJTongzhiInfo>; //dgv_tongzhi.DataSource = null; //dgv_tongzhi.DataSource = mydt; for (int i = list_tongzhi.Count - 1; i >= 0; i--) { JJTongzhiInfo info = list_tongzhi[i]; UCMessage myuc = new UCMessage(info); panel_tongzhi.Controls.Add(myuc); } //显示通知公告,显示多少项,红几项,黄几项 gb_tongzhigonggao.Text = $"通知公告 共{panel_tongzhi.Controls.Count}项"; }
public void UpdatePanelWeidu() { string str_sql = $"select * from jjdbrenwutaizhang.通知公告表 where 标题='{myinfo._biaoti}'"; var datatable = _mysql.ExecuteDataTable(str_sql); foreach (DataRow mydr in datatable.Rows) { //jjtongzhigonggaoinfo传递给ucpersonName JJTongzhiInfo myinfo = new JJTongzhiInfo() { _yuedufanwei = mydr["阅读范围"].ToString(), _zhuangtai = mydr["状态"].ToString() }; UCpersonName myuc = new UCpersonName(myinfo) { Dock = DockStyle.Top }; p_weidu.Controls.Add(myuc); } }
public List <JJTongzhiInfo> GetTongzhiLishi() { List <JJTongzhiInfo> list = new List <JJTongzhiInfo>(); string str_sql = "select * from jjdbrenwutaizhang.通知公告表 where 状态='已处理' and 删除=0"; DataTable mydt = _mysqlhelper.ExecuteDataTable(str_sql); foreach (DataRow mydr in mydt.Rows) { JJTongzhiInfo info = new JJTongzhiInfo() { _biaoti = mydr["标题"].ToString(), _qianfaren = mydr["签发人"].ToString(), _neirongpath = mydr["内容"].ToString(), _zhuangtai = mydr["状态"].ToString(), _fabushijian = mydr["发布时间"].ToString(), _qingzhonghuanji = mydr["轻重缓急"].ToString(), _shixian = mydr["时限"].ToString(), _yuedufanwei = mydr["阅读范围"].ToString(), _fujian = mydr["附件"].ToString(), }; list.Add(info); } return(list); }
/// <summary> /// 获得通知公告 /// </summary> /// <returns></returns> public List <JJTongzhiInfo> GetTongzhi(int start, string kw, int displaynum) { //这里的目的是要提取出所有阅读范围等于登陆人实名的通知公告 //思路:分别提取未读和已读的内容根据时间排序,获得一个总体的datarow //将datarow每一行实例化一个tongzhiinfo,形成一个list //根据displaynum的显示数量值,提取list对应的位置的元素 //return 结果 List <JJTongzhiInfo> list = new List <JJTongzhiInfo>(); string str_sql = $"select * from jjdbrenwutaizhang.通知公告表 " + $"where 标题 like '%{kw}%' and 删除=0 " + $"and 阅读范围='{JJLoginInfo._shiming}' " + $"and 状态='未读' " + $"order by 发布时间 desc"; var data = _mysqlhelper.ExecuteDataTable(str_sql, null); foreach (DataRow dr in data.Rows) { JJTongzhiInfo info = new JJTongzhiInfo() { _biaoti = dr["标题"].ToString(), _qianfaren = dr["签发人"].ToString(), _neirongpath = dr["内容"].ToString(), _zhuangtai = dr["状态"].ToString(), _fabushijian = dr["发布时间"].ToString(), _qingzhonghuanji = dr["轻重缓急"].ToString(), _shixian = dr["时限"].ToString(), _yuedufanwei = dr["阅读范围"].ToString(), _fujian = dr["附件"].ToString(), _chuangjianren = dr["创建人"].ToString() }; list.Add(info); } str_sql = $"select * from jjdbrenwutaizhang.通知公告表 " + $"where 标题 like '%{kw}%' and 删除=0 " + $"and 阅读范围='{JJLoginInfo._shiming}' " + $"and 状态='已读' " + $"order by 发布时间 desc"; data = _mysqlhelper.ExecuteDataTable(str_sql, null); foreach (DataRow dr in data.Rows) { JJTongzhiInfo info = new JJTongzhiInfo() { _biaoti = dr["标题"].ToString(), _qianfaren = dr["签发人"].ToString(), _neirongpath = dr["内容"].ToString(), _zhuangtai = dr["状态"].ToString(), _fabushijian = dr["发布时间"].ToString(), _qingzhonghuanji = dr["轻重缓急"].ToString(), _shixian = dr["时限"].ToString(), _yuedufanwei = dr["阅读范围"].ToString(), _fujian = dr["附件"].ToString(), _chuangjianren = dr["创建人"].ToString() }; list.Add(info); } List <JJTongzhiInfo> result = new List <JJTongzhiInfo>(); for (int i = 10 * (start - 1); i < 10 * (start - 1) + displaynum; i++) { if (i > list.Count - 1) { break; } result.Add(list[i]); } return(result); }
public UCpersonName(JJTongzhiInfo info) { InitializeComponent(); myinfo = info; }
public UCMessage(object o) { InitializeComponent(); this.Dock = DockStyle.Top; task = o; if (o is JJQingdanInfo)//如果是工作清单 { JJQingdanInfo info = o as JJQingdanInfo; //在uc上显示 象限 名称 完成时间 this.lbl_leixing.Text = Regex.Match(info._xiangxian, @".类").Value; this.lbl_xiangxian.Text = info._xiangxian; this.lbl_mingcheng.Text = info._renwumingcheng; this.lbl_shijian.Text = Convert.ToDateTime(info._wanchengshijian).ToString("yyyy-MM-dd"); //获得当前时间 //计算完成时间和现在的差 DateTime dt0 = Convert.ToDateTime(info._wanchengshijian); DateTime dt = DateTime.Now; TimeSpan ts = dt0.Subtract(dt); //如果当前时间超过完成时间显示红点,如果完成时间比现在大不到三天显示黄点 if (dt > dt0) { pb_point.Image = Properties.Resources.redpoint; } if (dt < dt0 && dt.AddDays(3) > dt0) { pb_point.Image = Properties.Resources.yellowpoint; } } if (o is JJTongzhiInfo)//如果是通知公告 { JJTongzhiInfo info = o as JJTongzhiInfo; //不是清单关闭销项 lbl_leixing.Visible = false; pb_xiaoxiang.Visible = false; pb_shanchu.Visible = false; //如果创建人等于登陆人那么显示编辑和删除按钮 if (info._chuangjianren.Equals(JJLoginInfo._shiming)) { link_bianji.Visible = true; link_shanchu.Visible = true; } //在uc上显示 状态标题 发布时间 lbl_xiangxian.Text = string.Empty; this.lbl_shijian.Text = Convert.ToDateTime(info._shixian).ToString("yyyy-MM-dd"); if (info._zhuangtai.Equals("未读")) { this.lbl_mingcheng.Font = new System.Drawing.Font(this.Font.Name, 9, FontStyle.Bold); } this.lbl_mingcheng.Text = info._biaoti; this.lbl_shijian.Text = Convert.ToDateTime(info._fabushijian).ToString("yyyy-MM-dd"); //判断轻重缓急,如果是紧急,任务显示红色,如果是普通,正常显示为黑色 if (info._qingzhonghuanji.Equals("紧急")) { lbl_mingcheng.ForeColor = Color.Red; } } if (o is JJTaskInfo)//如果是四大任务直以 { //不是清单关闭销项 pb_xiaoxiang.Visible = false; pb_shanchu.Visible = false; JJTaskInfo info = o as JJTaskInfo; string leixing = string.Empty; if (info._leixing.Equals("请休假单")) { leixing = "假单"; //请假单时间赋值为终止时间 string end_time = Regex.Split(info._qizhishijian, @"\|")[1]; this.lbl_shijian.Text = Convert.ToDateTime(end_time).ToString("yyyy-MM-dd"); this.lbl_mingcheng.Text = info._shiyou; } else if (info._leixing.Equals("OKR事项")) { leixing = "OKR"; this.lbl_shijian.Visible = false; this.lbl_mingcheng.Text = info._mingcheng; } else if (info._leixing.Equals("常规事项")) { leixing = "事务"; this.lbl_shijian.Text = Convert.ToDateTime(info._shixian).ToString("yyyy-MM-dd"); this.lbl_mingcheng.Text = info._mingcheng; } else if (info._leixing.Equals("意见建议")) { leixing = "建言"; this.lbl_shijian.Visible = false; this.lbl_mingcheng.Text = info._biaoti; } if (info._zhuangtai.Equals("未读")) { lbl_zhuangtai.Text = info._zhuangtai; lbl_zhuangtai.Visible = true; } lbl_leixing.Text = leixing; lbl_leixing.Visible = true; this.lbl_xiangxian.Text = info._jinjichengdu; this.lbl_mingcheng.TextAlign = ContentAlignment.MiddleLeft; //判断紧急程度,如果是紧急,任务显示红色,如果是普通,正常显示为黑色 if (info._jinjichengdu.Equals("紧急")) { lbl_mingcheng.ForeColor = Color.Red; } try { this.lbl_shijian.Text = Convert.ToDateTime(info._shixian).ToString("yyyy-MM-dd"); } catch { } } }
/// <summary> /// 点击名称时触发的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void label2_Click(object sender, EventArgs e) { //判断uc的类型,工作清单,通知公告,待办任务 if (task is JJTaskInfo) { var myti = task as JJTaskInfo; //如果myti的状态是未读,就把状态变成未处理,然后让信封消失 if (myti._zhuangtai.Equals("未读")) { lbl_zhuangtai.Visible = false; myti._zhuangtai = "办理中"; _myc.UpdateZhuangtai(myti); } //判断未读任务数量,如果是0,要取消主界面我的任务右侧的红点 int num = JJLoginInfo.GetWeiduTaskNum(); if (num > 0) { (this.ParentForm as Form1).lbl_newtask.Visible = true; (this.ParentForm as Form1).lbl_newtask.Text = $"{num}"; } else { (this.ParentForm as Form1).lbl_newtask.Visible = false; } //在这里,不能直接使用转换后的task,因为信息不完整,应当根据类型和名称获得状态为“保存的”taskinfo JJTaskInfo info0 = task as JJTaskInfo; JJTaskInfo info = GetBaocunTask(info0); Form mywin = null; if (info._leixing.Equals("OKR事项")) { mywin = new WFokrshixiang(info) { StartPosition = FormStartPosition.CenterParent }; } else if (info._leixing.Equals("常规事项")) { mywin = new WFchangguishixiang(info) { StartPosition = FormStartPosition.CenterParent }; } else if (info._leixing.Equals("请休假单")) { mywin = new WFqingxiujiadan(info) { StartPosition = FormStartPosition.CenterParent }; } else if (info._leixing.Equals("意见建议")) { mywin = new WFyijianjianyi(info) { StartPosition = FormStartPosition.CenterParent }; } if (mywin.ShowDialog() == DialogResult.OK) { //刷新数据 JJMethod.a_shuaxinzhuye(null, null); } } //如果是通知公告类型 if (task is JJTongzhiInfo) { //将该任务的状态变为已读,,字体从粗体变为常规 this.lbl_mingcheng.Font = new System.Drawing.Font(this.Font.Name, 9, FontStyle.Regular); JJTongzhiInfo info = task as JJTongzhiInfo; _myc.Yidu(info);//将状态从未读变为已读 WinFormTongzhi mywin = new WinFormTongzhi(info) { StartPosition = FormStartPosition.CenterParent }; if (mywin.ShowDialog() == DialogResult.OK) { JJMethod.a_shuaxinzhuye(null, null); } //WFtongzhigonggao mywin = new WFtongzhigonggao(info); //if (mywin.ShowDialog() == DialogResult.OK) //{ // //刷新数据 // _updatemaindata(null, null); //} } //如果是工作清单类型 if (task is JJQingdanInfo) { JJQingdanInfo ci = task as JJQingdanInfo; WFgongzuoqingdan mywin = new WFgongzuoqingdan(ci) { StartPosition = FormStartPosition.CenterParent }; if (mywin.ShowDialog() == DialogResult.OK) { //刷新数据 JJMethod.a_shuaxinzhuye(null, null); } } }
public void lbl_quanbu_Click(object sender, EventArgs e) { #region 老版本显示任务 ////更新按钮样式,选中的按钮 高亮 //foreach (Control c in tlp_button.Controls) //{ // c.BackColor = Color.Tomato; //} //lbl_quanbu.BackColor = Color.Salmon; ////清空界面首先 //panel_task.Controls.Clear(); ////获得全部任务 //string str_sql = $"select * from jjdbrenwutaizhang.任务信息表 where 状态<>'已删除' and (办理人员='{JJLoginInfo._shiming}' " + // $"or 创建人='{JJLoginInfo._shiming}' or 审核人员='{JJLoginInfo._shiming}' or 反馈对象='{JJLoginInfo._shiming}')"; //var list = _mycontroller.GetTaskinfo(str_sql); ////构造ucteakmsg //foreach (JJTaskInfo ti in list) //{ // UCTaskmsg myuc = new UCTaskmsg(ti); // myuc.a = () => { splitContainer1.Panel2Collapsed = false; }; // myuc._closepanel = () => { splitContainer1.Panel2Collapsed = true; }; // myuc._updatedata = () => { // //获得当前显示的数据 // string data = string.Empty; // foreach (Control c in tlp_button.Controls) // { // if (c.BackColor==Color.Salmon) // { // data = c.Text; // } // } // //模拟不同的按钮点击事件 // if (data.Equals("全部")) // { // lbl_quanbu_Click(null,null); // } // else if(data.Equals("我发起的")) // { // lbl_wofaqide_Click(null, null); // } // else if (data.Equals("我的待办")) // { // lbl_daiban_Click(null, null); // } // else if (data.Equals("我参与的")) // { // lbl_canyu_Click(null, null); // } // else if (data.Equals("已处理")) // { // lbl_chuli_Click(null, null); // } // else if (data.Equals("回收站")) // { // lbl_huishou_Click(null, null); // } // }; // myuc._p = p_taskdetail; // //添加到panel_task // panel_task.Controls.Add(myuc); //} #endregion List <object> _list_my = new List <object>(); //获得我创建的工作清单 string str_sql = $"select * from jjdbrenwutaizhang.工作清单表 " + $"where 创建人='{JJLoginInfo._shiming}'"; DataTable _mydt = _mysql.ExecuteDataTable(str_sql); foreach (DataRow dataRow in _mydt.Rows) { JJQingdanInfo _myInfo = new JJQingdanInfo() { _renwumingcheng = dataRow[""].ToString(), _qingzhonghuanji = dataRow[""].ToString(), _jingyanjiaoxun = dataRow[""].ToString(), _beizhu = dataRow[""].ToString(), _wanchengshijian = dataRow[""].ToString(), }; _list_my.Add(_myInfo); } //获得我创建的通知公告 str_sql = $"select * from jjdbrenwutaizhang.通知公告表 " + $"where 创建人='{JJLoginInfo._shiming}'"; _mydt = _mysql.ExecuteDataTable(str_sql); foreach (DataRow dataRow in _mydt.Rows) { JJTongzhiInfo _myInfo = new JJTongzhiInfo() { _biaoti = dataRow[""].ToString(), _neirongpath = dataRow[""].ToString(), _qingzhonghuanji = dataRow[""].ToString(), _yuedufanwei = dataRow[""].ToString(), }; _list_my.Add(_myInfo); } //获得我创建的任务 str_sql = $"select * from jjdbrenwutaizhang.任务信息表 " + $"where 创建人='{JJLoginInfo._shiming}'"; _mydt = _mysql.ExecuteDataTable(str_sql); foreach (DataRow dataRow in _mydt.Rows) { JJTaskInfo _myInfo = new JJTaskInfo() { _mingcheng = dataRow[""].ToString(), _leixing = dataRow[""].ToString(), _xiangqing = dataRow[""].ToString(), _shixian = dataRow[""].ToString(), _jinjichengdu = dataRow[""].ToString(), _mubiao = dataRow[""].ToString(), _chengguoji = dataRow[""].ToString(), _shenqingren = dataRow[""].ToString(), _weituoduixiang = dataRow[""].ToString(), _shenheyijian = dataRow[""].ToString(), _biaoti = dataRow[""].ToString(), _fankuiren = dataRow[""].ToString(), _fankuiduixiang = dataRow[""].ToString(), _neirong = dataRow[""].ToString(), _shiyou = dataRow[""].ToString(), _banliyijian = dataRow[""].ToString(), _banlirenyuan = dataRow[""].ToString(), _jinzhanqingkuang = dataRow[""].ToString(), _shenherenyuan = dataRow[""].ToString(), _jutiyaoqiu = dataRow[""].ToString(), _fujian = dataRow[""].ToString(), _qizhishijian = dataRow[""].ToString(), }; _list_my.Add(_myInfo); } }
public WinFormTongzhi(JJTongzhiInfo info) { InitializeComponent(); myinfo = info; }
/// <summary> /// 点击保存按钮时触发的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void label5_Click(object sender, EventArgs e) { //先判断数据库中是否有登陆人创建的同名工作清单 string str_sql = $"select count(*) from jjdbrenwutaizhang.通知公告表 " + $"where 标题='{tb_biaoti.Text}'"; int num = Convert.ToInt32(_mysql.ExecuteScalar(str_sql)); //判断窗体的模式,如果是保存就提示名称已经存在并且return //如果是编辑模式,那么提示是否保存编辑,选择是之后,就update if (num > 0) { if (mode.Equals("创建")) { MessageBox.Show("标题名称重复!请重新输入!"); return; } else if (mode.Equals("编辑")) { //删除这条标题通知公告,为一会重新保存做准备 str_sql = $"delete from jjdbrenwutaizhang.通知公告表 " + $"where 标题='{tb_biaoti.Text}'"; _mysql.ExecuteNonQuery(str_sql); } } //将内容保存到本地 //这里为了防止通知过多,需要单独创建一个temp文件夹存放,通知的数量始终保持一个 string localdir = $"{Environment.CurrentDirectory}\\temp"; if (Directory.Exists(localdir)) { //清空temp中的文件 string[] files = Directory.GetFiles(localdir); File.Delete(files[0]); } else { Directory.CreateDirectory(localdir); } string filename = $"{localdir}\\{tb_biaoti.Text}.rtf"; devUCrichtextbox1.richEditControl1.Document.SaveDocument(filename, DevExpress.XtraRichEdit.DocumentFormat.Rtf); //将本地文件上传到服务器,存放位置 string uristring = $"http://49.233.40.109/通知公告"; await JJMethod.UpLoadFile(filename, uristring, false); //将服务器地址赋值给tongzhiinfo的内容 //分解阅读范围 string[] person = Regex.Split(tb_yuedufanwei.Text, ","); foreach (string s in person) { //构造一个jjtongzhiinfo JJTongzhiInfo myinfo = new JJTongzhiInfo() { _chuangjianren = JJLoginInfo._shiming, _biaoti = tb_biaoti.Text, _qianfaren = tb_wenhao.Text, _neirongpath = $"{ uristring}/{tb_biaoti.Text}.rtf", _qingzhonghuanji = rb_putong.Checked ? "普通" : "紧急", _zhuangtai = "未读", _fabushijian = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), _shixian = dtp_shixian.Value.ToString("yyyy-MM-dd hh:mm:ss"), _yuedufanwei = s }; //保存jjtonzhiinfo _mycontroller.SaveTongzhi(myinfo); } MessageBox.Show("保存成功!"); this.DialogResult = DialogResult.OK; }