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