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.
217 lines
9.8 KiB
C#
217 lines
9.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Mesnac.Action.Base;
|
|
using Mesnac.Codd.Session;
|
|
using Mesnac.Basic;
|
|
using System.Data;
|
|
using Mesnac.Controls.Base;
|
|
using Mesnac.Controls.Default;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Mesnac.Action.Intake.Qingquan.Report
|
|
{
|
|
#region 报表窗体 加载
|
|
public class ReportLoad : IntakeAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
|
|
IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
|
|
if (startdate != null)
|
|
{
|
|
startdate.MCValue = DateTime.Now.AddDays(-1).ToShortDateString();
|
|
}
|
|
else
|
|
{
|
|
base.LogError("缺少key值为startdate的查询条件...");
|
|
return;
|
|
}
|
|
IBaseControl enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
|
|
if (enddate != null)
|
|
{
|
|
enddate.MCValue = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
base.LogError("缺少key值为enddate的查询条件...");
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询输送报表
|
|
/// <summary>
|
|
///查询输送报表
|
|
/// </summary>
|
|
public class ReportQuery : IntakeAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
|
|
IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
|
|
if (startdate == null)
|
|
{
|
|
base.LogError("缺少key值为startdate的查询条件...");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
// startdate.MCValue = DateTime.Now.AddDays(-1).ToShortDateString();
|
|
}
|
|
IBaseControl enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
|
|
if (enddate == null)
|
|
{
|
|
base.LogError("缺少key值为enddate的查询条件...");
|
|
return;
|
|
}
|
|
|
|
IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
|
|
if (starttime == null)
|
|
{
|
|
base.LogError("缺少key值为starttime的查询条件...");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
|
|
|
|
if (endtime == null)
|
|
{
|
|
base.LogError("缺少key值为endtime的查询条件...");
|
|
return;
|
|
// enddate.MCValue = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
//base.LogError("缺少key值为endtime的查询条件...");
|
|
//return;
|
|
}
|
|
|
|
|
|
DbMCControl clientGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ppt_FeedingData").LastOrDefault();
|
|
if (clientGridControl == null)
|
|
{
|
|
base.LogError("缺少本机台计划网格控件...");
|
|
return;
|
|
}
|
|
StringBuilder sqlsb = new StringBuilder();
|
|
sqlsb.AppendLine(@"select count(*) as CountNum, Mater_name, Dest_bin, Equip_id from ppt_FeedingData ");
|
|
sqlsb.AppendLine(@" WHERE 1=1");
|
|
|
|
sqlsb.AppendLine(@"AND Trans_Date>='" + Convert.ToDateTime(startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(starttime.MCValue).ToShortTimeString() + "' ");
|
|
sqlsb.AppendLine(@"AND Trans_Date<='" + Convert.ToDateTime(enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(endtime.MCValue).ToShortTimeString() + "' ");
|
|
sqlsb.AppendLine(@"GROUP BY Mater_name, Dest_bin, Equip_id ORDER BY Equip_id, dest_bin ");
|
|
DbHelper dbHelper = NewDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
dbHelper.ClearParameter();
|
|
dbHelper.CommandType = CommandType.Text;
|
|
string sqlstr = sqlsb.ToString();
|
|
dbHelper.CommandText = sqlstr;
|
|
DataTable table = dbHelper.ToDataTable();
|
|
if (clientGridControl != null && clientGridControl.BaseControl != null)
|
|
{
|
|
clientGridControl.BaseControl.BindDataSource = null;
|
|
clientGridControl.BaseControl.BindDataSource = table;
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 报表明细查询
|
|
public class ReportDetailQuery : IntakeAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
|
|
MCDataGridView mcdgv = runtime.Sender as MCDataGridView;
|
|
DbMCControl planlotgrid = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ppt_FeedingData").LastOrDefault();
|
|
//物料编码
|
|
|
|
IBaseControl lblSerialID = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lblserialid").FirstOrDefault().BaseControl;
|
|
|
|
lblSerialID.MCValue = string.Empty;
|
|
string materName = mcdgv.SelectedRows[0].Cells["Mater_name"].Value.ToString();
|
|
string equipId = mcdgv.SelectedRows[0].Cells["Equip_id"].Value.ToString();
|
|
string destBin = mcdgv.SelectedRows[0].Cells["Dest_bin"].Value.ToString();
|
|
//拼接SQL语句BEGIN
|
|
|
|
IBaseControl lblmaterName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lblmatername").FirstOrDefault().BaseControl;
|
|
IBaseControl lblequipId = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lblequipid").FirstOrDefault().BaseControl;
|
|
IBaseControl lbldestBin = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lbldestbin").FirstOrDefault().BaseControl;
|
|
|
|
lblmaterName.MCValue = materName.Trim();
|
|
lblequipId.MCValue = equipId.Trim();
|
|
lbldestBin.MCValue = destBin.Trim();
|
|
|
|
|
|
|
|
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;
|
|
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 (starttime == null || endtime == null)
|
|
{
|
|
base.LogError("{批报表} 缺少key值为starttime或者endtime的时间查询条件...");
|
|
return;
|
|
}
|
|
DbMCControl planlotdetailgrid = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ppt_FeedingData").FirstOrDefault();
|
|
planlotdetailgrid.BaseControl.BindDataSource =ReportCommon.GetReportDetail(Mesnac.Basic.DataSourceFactory.MCDbType.Local,startdate.MCValue.ToString(),starttime.MCValue.ToString(),enddate.MCValue.ToString(),endtime.MCValue.ToString(),materName,equipId,destBin);// table;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 选中报表明细时候显示曲线
|
|
public class ReportDetailChartQuery : IntakeAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
|
|
MCDataGridView mcdgv = runtime.Sender as MCDataGridView;
|
|
IBaseControl lblSerialID = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lblserialid").FirstOrDefault().BaseControl;
|
|
string serialID = mcdgv.SelectedRows[0].Cells["Serial_ID"].Value.ToString();
|
|
lblSerialID.MCValue = serialID;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 画图
|
|
public class LotReportInitChart : IntakeAction, IAction
|
|
{
|
|
public void Run(RuntimeParameter runtime)
|
|
{
|
|
base.RunIni(runtime);
|
|
|
|
|
|
|
|
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
|
|
IBaseControl lblSerialID = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "lblserialid").FirstOrDefault().BaseControl;
|
|
if (lblSerialID.MCValue.ToString() == "")
|
|
{
|
|
MessageBox.Show("请选择输送的详情信息!");
|
|
return;
|
|
}
|
|
ReportChart r = new ReportChart(lblSerialID.MCValue.ToString().Trim());
|
|
r.ShowDialog();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|