using System; using System.Collections.Generic; using System.Linq; using System.Text; using Mesnac.Action.Base; using Mesnac.Controls.Base; using Mesnac.Codd.Session; using System.Data; namespace Mesnac.Action.Feeding.Qingquan.Report { #region 异常信息报表初始化 public class AlarmReportInit : FeedingAction, IAction { public void Run(RuntimeParameter runtime) { base.RunIni(runtime); List mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件 //获取时间开始、结束控件begin IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl; IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl; if (startdate != null && starttime != null) { startdate.MCValue = DateTime.Now; starttime.MCValue = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00"; } else { base.LogError("{操作报警报表} 缺少key值为startdate或者starttime的时间查询条件..."); return; } //end IBaseControl enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl; IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl; if (enddate != null && endtime != null) { enddate.MCValue = DateTime.Now.AddDays(1).ToShortDateString(); ; endtime.MCValue = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + " 00:00"; } } } #endregion #region 异常信息报表查询 public class AlarmReportSelect : FeedingAction, IAction { public void Run(RuntimeParameter runtime) { base.RunIni(runtime); DbMCControl mcButton = this.GetDbMCControlByBaseControlKey("mcbuttonSearch").FirstOrDefault(); if (mcButton == null) { base.LogError("{操作报警报表} 缺少key值为mcbuttonSearch查询按钮..."); return; } StringBuilder sqlsb = new StringBuilder(); sqlsb.Append(@"select * from dbo.pmtalarmcode where 1=1 "); List mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件 IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl; IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl; if (startdate != null && starttime != null) { sqlsb.AppendLine(@"AND pmtalarmcode.Recordtime>='" + Convert.ToDateTime(startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(starttime.MCValue).ToShortTimeString() + "' "); } else { base.LogError("{操作报警报表} 缺少key值为startdate或者starttime的时间查询条件..."); return; } IBaseControl enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl; IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl; if (enddate != null && endtime != null) { sqlsb.AppendLine(@"AND pmtalarmcode.Recordtime<='" + Convert.ToDateTime(enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(endtime.MCValue).ToShortTimeString() + "' "); } else { base.LogError("{操作报警报表} 缺少key值为enddate或者enddate的时间查询条件..."); return; } //获取报警内容查询条件并执行模糊查询 DbMCControl mcTextBox = this.GetDbMCControlByBaseControlKey("acbz1").FirstOrDefault(); if (mcTextBox != null) { sqlsb.Append(@"and pmtalarmcode.acbz1 like '%" + mcTextBox.BaseControl.MCValue.ToString() + "%'"); } //end DbHelper dbHelper = NewDbHelper(mcButton.DesignSource); if (dbHelper == null) { return; } dbHelper.ClearParameter(); dbHelper.CommandType = CommandType.Text; string sqlstr = sqlsb.ToString(); dbHelper.CommandText = sqlstr; DataTable table = dbHelper.ToDataTable(); //绑定报表数据 DbMCControl opetatereportgrid = this.GetDbMCControlByBaseControlKey("mcdatagridviewList").FirstOrDefault(); if (opetatereportgrid == null) { base.LogError("{操作报警报表} 缺少key值为mcdatagridviewList的报表控件..."); return; } opetatereportgrid.BaseControl.BindDataSource = table; } } #endregion }