|
|
using Mesnac.Action.Base;
|
|
|
|
|
|
using Mesnac.Codd.Session;
|
|
|
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 SelectRowAction : ChemicalWeighingAction, IAction
|
|
|
{
|
|
|
private Control _clientGridControl = null; //多维表控件
|
|
|
|
|
|
public void Run(RuntimeParameter runtime)
|
|
|
{
|
|
|
base.RunIni(runtime); //必须要调用的
|
|
|
|
|
|
ICSharpCode.Core.LoggingService<SelectAction>.Debug("干混机报表-明细查询...");
|
|
|
|
|
|
//获取报表数据
|
|
|
DbMCControl _dgvDryMixer = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_DryMixer").FirstOrDefault();
|
|
|
if (_dgvDryMixer == null || !(_dgvDryMixer.BaseControl is DataGridView))
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<SelectRowAction>.Warn("{生产报表} 缺少干混机报表DataGridView控件...");
|
|
|
runtime.IsReturn = false;
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
DataGridView _DryMixerGridView = _dgvDryMixer.BaseControl as DataGridView;
|
|
|
|
|
|
this._clientGridControl = GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv1")).FirstOrDefault();
|
|
|
|
|
|
|
|
|
|
|
|
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid = (this._clientGridControl as Mesnac.Controls.Default.MultiColHeaderDgv);
|
|
|
|
|
|
|
|
|
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid2 = (GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv2")).FirstOrDefault() as Mesnac.Controls.Default.MultiColHeaderDgv);
|
|
|
|
|
|
#region 明细控件格式化
|
|
|
|
|
|
clientGrid.myColHeaderTreeView = null;
|
|
|
clientGrid.DataSource = null;
|
|
|
clientGrid.iNodeLevels = 0;
|
|
|
clientGrid.ColLists.Clear();
|
|
|
clientGrid.ColumnHeadersHeight = 23;
|
|
|
clientGrid.ScrollBars = ScrollBars.Both;
|
|
|
clientGrid.AllowUserToAddRows = false;
|
|
|
clientGrid.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
|
|
clientGrid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
|
|
|
clientGrid.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("宋体", 12);
|
|
|
clientGrid.DefaultCellStyle.Font = new System.Drawing.Font("宋体", 10);
|
|
|
clientGrid.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
|
|
|
|
|
|
|
|
clientGrid2.myColHeaderTreeView = null;
|
|
|
clientGrid2.DataSource = null;
|
|
|
clientGrid2.iNodeLevels = 0;
|
|
|
clientGrid2.ColLists.Clear();
|
|
|
clientGrid2.ColumnHeadersHeight = 23;
|
|
|
clientGrid2.ScrollBars = ScrollBars.Both;
|
|
|
clientGrid2.AllowUserToAddRows = false;
|
|
|
clientGrid2.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
|
|
clientGrid2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
|
|
|
clientGrid2.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("宋体", 12);
|
|
|
clientGrid2.DefaultCellStyle.Font = new System.Drawing.Font("宋体", 10);
|
|
|
clientGrid2.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
|
|
|
#endregion
|
|
|
|
|
|
//获取选中行的ReportId,关联获取明细数据并赋值给明细控件
|
|
|
if (_DryMixerGridView.SelectedRows.Count == 1)
|
|
|
{
|
|
|
string lR_planID = _DryMixerGridView.SelectedRows[0].Cells["reportId"].Value as string;
|
|
|
|
|
|
//获取数据链接
|
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
if (dbHelper == null)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<ExportAction>.Error("获取本地数据连接失败...");
|
|
|
return;
|
|
|
}
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
|
//获取明细数据
|
|
|
StringBuilder sqlStr = new StringBuilder(@"select t1.batch as 批次号,t2.MName as 物料,
|
|
|
t1.actValue as 实际重量,t1.actToler as 实际公差
|
|
|
from Report_DryDos_Detail t1
|
|
|
left join lj_stock_material t2 on t1.matCode = t2.Code
|
|
|
where t2.MTypeId=1 and t1.reportId = @reportId");
|
|
|
dbHelper.CommandText = sqlStr.ToString();
|
|
|
dbHelper.CommandType = System.Data.CommandType.Text;
|
|
|
dbHelper.AddParameter("@reportId", lR_planID);
|
|
|
DataTable table = dbHelper.ToDataTable();
|
|
|
|
|
|
clientGrid.DataSource = table;
|
|
|
|
|
|
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
|
string sql = $"select t1.mixBatch as 批次,t1.mixStep as 步号,t2.ActionName as 动作,t1.mixTime as 时间,t1.mixTemp as 温度,t1.mixSpeed as 速度 from Report_DryMixer_Detail t1\r\nleft join ActionCode t2 on t2.Code=t1.actCode\r\nwhere t2.DeviceUnitId=1 and t1.reportId='{lR_planID}' order by actCode";
|
|
|
|
|
|
dbHelper.CommandText = sql.ToString();
|
|
|
dbHelper.CommandType = System.Data.CommandType.Text;
|
|
|
|
|
|
DataTable tableB = dbHelper.ToDataTable();
|
|
|
|
|
|
clientGrid2.DataSource = tableB;
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|