using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace OAM { public partial class frmWorkBillList : Form { public frmWorkBillList() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { DBUtility.Gy_UserSelect oUser = new DBUtility.Gy_UserSelect(); oUser.bSingle = true; oUser.ShowDialog(); if (oUser.IsOk == 1) { txtEmp2.Text = oUser.sReturn; } else { txtEmp2.Text = ""; } } private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; LoadData(); } private void LoadData() { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); DataSet Ds; string sSQL; string sWhere = ""; if (txtEmp.Text != "") { sWhere = " and roperator like '%" + txtEmp.Text + "%'"; } if (txtEmp2.Text != "") { sWhere = sWhere + " and operator like '%" + txtEmp2.Text + "%'"; } if (OpGG1.Checked == true) { sSQL = "select a.ID,a.Operator 发送人,a.rOperator 接收人,a.Context 主题,a.Description 内容,a.opdate 时间" + ",case when isnull(a.isend,0)=0 then case when a.isread=0 then '未阅' else case when a.isBack=0 then '已阅' else '已回复' end end else '结案' end 状态" + ",a.hasten 催促次数 from(select distinct a.*,b.operator as boperator " + "from(Select a.isend,a.isback,a.hasten,a.id,operator,context,Description,b.opdate,roperator,isread " + "from (select * from oa_workbillmain where ispublic<>0)as a left join (select mainid,max(opdate)as opdate from oa_workbillsub group by mainid)as b " + "on a.id=b.mainid)as a left join oa_workbillsub b on a.roperator=b.operator and a.id=b.mainid)as a " + "where opdate between '" + DBUtility.ClsPub.isDate(dtpBDate.Value).ToShortDateString() + "' and '" + DBUtility.ClsPub.isDate(dtpEDate.Value).ToShortDateString() + " 23:59:59' " + sWhere + " order by opdate desc"; } else { sSQL = "select a.ID,a.Operator 发送人,a.rOperator 接收人,a.Context 主题,a.Description 内容,a.opdate 时间 " + ",case when isnull(a.isend,0)=0 then case when a.isread=0 then '未阅' else case when a.isBack=0 then '已阅' else '已回复' end end else '结案' end 状态,a.hasten 催促次数 " + "from(select distinct a.roperator,id,operator,description,opdate,ispublic,a.isread,a.isend,context,isback,hasten from oa_workbillmain a,oa_workbillsub2 b where" + " a.id=b.mainid and (''='" + txtHUser.Text + "' or a.operator='" + txtHUser.Text + "' or b.roperator='" + txtHUser.Text + "'))as a where opdate between '" + DBUtility.ClsPub.isDate(dtpBDate.Value).ToShortDateString() + "' and '" + DBUtility.ClsPub.isDate(dtpEDate.Value).ToShortDateString() + " 23:59:59' " + sWhere + " order by opdate desc"; } Ds = oCn.RunProcReturn(sSQL, "oa_workbillmain", ref DBUtility.ClsPub.sExeReturnInfo); if (Ds == null) { MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo); return; } grdMain.DataSource = Ds.Tables[0].DefaultView; DBUtility.Xt_BaseBillFun.DisplayGrid(grdMain, this.Name, "", 0); } private void frmWorkBillList_Load(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name); txtHUser.Text = DBUtility.ClsPub.CurUserName; txtHUser.Enabled = false; button1.Enabled = false; dtpBDate.Value = DateTime.Now.AddDays(-30); dtpEDate.Value = DateTime.Now; } private void grdMain_DoubleClick(object sender, EventArgs e) { frmWorkBillView oWork = new frmWorkBillView(); Int64 lngBillKey = 0; if (grdMain.CurrentRow == null) return; lngBillKey = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("id")].Value); if (lngBillKey == 0) return; oWork.ID = lngBillKey; oWork.Show(); oWork.Display(); } private Int32 Fun_GetCol(string sCol) { return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain); } private void OpGG1_CheckedChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void OpGG2_CheckedChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void dtpBDate_ValueChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void dtpEDate_ValueChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void txtEmp_TextChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void txtEmp2_TextChanged(object sender, EventArgs e) { timer1.Enabled = true; } private void tc_Click(object sender, EventArgs e) { this.Close(); } private void bclk_Click(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.SaveGrid(grdMain, this.Name); } private void mrlk_Click(object sender, EventArgs e) { DBUtility.Xt_BaseBillFun.DefaultGridView(grdMain, this.Name); } } }