You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
5.4 KiB
C#
110 lines
5.4 KiB
C#
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.Report
|
|
{
|
|
#region 异常信息报表初始化
|
|
public class AlarmReportInit : FeedingAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
List<DbMCControl> 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<DbMCControl> 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
|
|
}
|