123 lines
5.3 KiB
C#
123 lines
5.3 KiB
C#
using Mesnac.Action.Base;
|
|
using Mesnac.Codd.Session;
|
|
using Mesnac.Controls.Base;
|
|
using Mesnac.Controls.Default;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.Report.DryMixer
|
|
{
|
|
/// <summary>
|
|
/// 干混机报表查询事件
|
|
/// </summary>
|
|
public class SelectAction : ChemicalWeighingAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
|
|
base.RunIni(runtime); //必须要调用的
|
|
|
|
var MCCombobox1 = GetAllControls().FirstOrDefault(x => x.Name == "MCCombobox1") as MCCombobox;
|
|
ICSharpCode.Core.LoggingService<SelectAction>.Debug("干混机报表-查询...");
|
|
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
ICSharpCode.Core.LoggingService<ExportAction>.Error("获取本地数据连接失败...");
|
|
return;
|
|
}
|
|
dbHelper.ClearParameter();
|
|
|
|
StringBuilder sbSql = new StringBuilder(@" select objId, reportId, recipeCode, recipeName, planCode, planName, recordTime, dryNo, Batch from Report_Dry 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)
|
|
{
|
|
//Append
|
|
sbSql.AppendLine(@" and recordTime>='" + Convert.ToDateTime(startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(starttime.MCValue).ToShortTimeString() + "' ");
|
|
}
|
|
else
|
|
{
|
|
ICSharpCode.Core.LoggingService<SelectAction>.Debug("{干混机报表-查询} 缺少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)
|
|
{
|
|
sbSql.AppendLine(@"AND recordTime<='" + Convert.ToDateTime(enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(endtime.MCValue).ToShortTimeString() + "' ");
|
|
}
|
|
else
|
|
{
|
|
ICSharpCode.Core.LoggingService<SelectAction>.Debug("{干混机报表-查询} 缺少key值为enddate或者enddate的时间查询条件...");
|
|
return;
|
|
}
|
|
|
|
//MCCombobox1
|
|
|
|
sbSql.Append(" and dryNo=" + MCCombobox1.MCValue);
|
|
|
|
sbSql.Append(" ORDER BY recordTime desc");
|
|
|
|
dbHelper.CommandText = sbSql.ToString();
|
|
dbHelper.CommandType = System.Data.CommandType.Text;
|
|
DataTable table = dbHelper.ToDataTable();
|
|
|
|
//刷新DataGridView数据
|
|
DbMCControl _dgvDryMixer = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_DryMixer").FirstOrDefault();
|
|
if (_dgvDryMixer == null || !(_dgvDryMixer.BaseControl is DataGridView))
|
|
{
|
|
ICSharpCode.Core.LoggingService<SelectAction>.Warn("{干混机报表-查询} 缺少系统日志DataGridView控件...");
|
|
runtime.IsReturn = false;
|
|
return;
|
|
}
|
|
|
|
var newTalbe = GetDefalut();
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
var dr = newTalbe.NewRow();
|
|
dr["dryNo"] = row["dryNo"];
|
|
dr["Batch"] = row["Batch"];
|
|
dr["reportId"] = row["reportId"];
|
|
dr["recordTime"] = row["recordTime"].ToString();
|
|
newTalbe.Rows.Add(dr);
|
|
}
|
|
|
|
_dgvDryMixer.BaseControl.BindDataSource = newTalbe;
|
|
|
|
|
|
|
|
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid1 = (GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv1")).FirstOrDefault() as Mesnac.Controls.Default.MultiColHeaderDgv);
|
|
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid2 = (GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv2")).FirstOrDefault() as Mesnac.Controls.Default.MultiColHeaderDgv);
|
|
|
|
if(null!= clientGrid1)
|
|
{
|
|
clientGrid1.DataSource = null;
|
|
clientGrid2.DataSource = null;
|
|
}
|
|
}
|
|
|
|
|
|
public DataTable GetDefalut()
|
|
{
|
|
DataTable dt = new DataTable();
|
|
dt.Columns.Add("dryNo", typeof(string));
|
|
dt.Columns.Add("Batch", typeof(string));
|
|
dt.Columns.Add("recordTime", typeof(string));
|
|
|
|
dt.Columns.Add("reportId", typeof(string));
|
|
return dt;
|
|
|
|
}
|
|
}
|
|
}
|