dep_nodyang
nodyang 1 year ago
commit 33cde15530

@ -169,9 +169,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\PlugInPlatform\Mesnac.PlugIn.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Office.Interop.Excel">
<HintPath>..\..\Microsoft.Office.Interop.Excel.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />

@ -0,0 +1,77 @@
using Mesnac.Action.Base;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
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.BarcodeReport
{
/// <summary>
/// 查询条码扫描信息
/// </summary>
class SelectBarcodeAction : ChemicalWeighingAction, IAction
{
private RuntimeParameter _runtime;
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private DbMCControl _clientDGV = null;
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
this._runtime = runtime;
ICSharpCode.Core.LoggingService<SelectBarcodeAction>.Debug("条码扫描信息报表-查询..");
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
dbHelper.ClearParameter();
StringBuilder sbSql = new StringBuilder(@"SELECT *, CASE Scan_State WHEN '1' THEN '通过' ELSE '不通过' END AS 'state' FROM LR_BarcodeLog WHERE 1=1 ");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (_startdate != null && _starttime != null)
{
sbSql.AppendLine(@"And Scan_Time >= '" + Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectBarcodeAction>.Debug("{条码扫描信息报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate != null && _endtime != null)
{
sbSql.AppendLine(@"And Scan_Time <= '" + Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectBarcodeAction>.Debug("{条码扫描信息报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
dbHelper.CommandText = sbSql.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
DataTable table = dbHelper.ToDataTable();
this._clientDGV = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "LR_BarcodeLog").FirstOrDefault();
if (_clientDGV == null || !(_clientDGV.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectBarcodeAction>.Warn("{条码扫描信息报表-查询} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
_clientDGV.BaseControl.BindDataSource = null;
_clientDGV.BaseControl.BindDataSource = table;
}
}
}

@ -0,0 +1,82 @@
using ICSharpCode.Core;
using Mesnac.Action.Base;
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.MaterialStatisticsReport
{
/// <summary>
/// 导出物料统计报表业务
/// </summary>
class ExportAction : ChemicalWeighingAction, IAction
{
private DbMCControl _clientDGV = null;
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<ExportAction>.Debug("物料统计-导出...");
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "xls files(*.xls)|*.xls";
sfd.FileName = String.Format("物料统计报表_{0:yyyyMMdd}", DateTime.Now);
sfd.AddExtension = true;
DialogResult result = sfd.ShowDialog();
if (result == DialogResult.OK)
{
this._clientDGV = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "LR_weigh").FirstOrDefault();
if (_clientDGV == null || !(_clientDGV.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Warn("{物料统计报表-导出} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
DataTable dt = _clientDGV.BaseControl.BindDataSource as DataTable;
dt.Columns["Recipe_Name"].ColumnName = "配方名";
dt.Columns["Material_Code"].ColumnName = "物料代码";
dt.Columns["Material_name"].ColumnName = "物料名";
dt.Columns["realWeight"].ColumnName = "重量(kg)";
string fileName = sfd.FileName;
if (!String.IsNullOrEmpty(fileName))
{
try
{
System.IO.Stream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite);
Mesnac.Basic.DataToFileHandler.Instance.ToExcel(dt, ref fs);
fs.Close();
string msg1 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_MaterialStatisticsReport_ExportAction_msg1")); //导出物料统计数据至Excel成功!
ICSharpCode.Core.LoggingService<ExportAction>.Info(msg1);
#region 记录操作日志
base.DBLog(msg1);
#endregion
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
string msg2 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_MaterialStatisticsReport_ExportAction_msg2")); //导出物料统计数据至Excel失败:{0}!
msg2 = String.Format(msg2, ex.Message);
ICSharpCode.Core.LoggingService<ExportAction>.Error(msg2);
#region 记录操作日志
base.DBLog(msg2);
#endregion
MessageBox.Show(msg2, Mesnac.Basic.LanguageHelper.WarnCaption, MessageBoxButtons.OK, MessageBoxIcon.Warning);
runtime.IsReturn = true;
return;
}
}
}
}
}
}

@ -0,0 +1,128 @@
using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.MaterialManage;
using Mesnac.Action.ChemicalWeighing.Technical.PmtRecipe;
using Mesnac.Action.ChemicalWeighing.Technical.PmtRecipe.entity;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
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.MaterialStatisticsReport
{
public class InitFormAction : ChemicalWeighingAction, IAction
{
private DbMCControl _dgvLRPlan = null;
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private DbMCControl _clientDGV = null;
private IBaseControl _recipeName = null; //配方名
private string[] DataTypeArray = { "--", "早", "中", "晚" };
private string[] materialDataTypeArray;
private string[] recipeDataTypeArray;
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<InitFormAction>.Debug("生产报表-窗体初始化...");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
starttime.MCValue = DateTime.Parse("00:00:00");
endtime.MCValue = DateTime.Parse("23:59:59");
this._recipeName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Base_RecipeInfo].[recipe_Name]").FirstOrDefault().BaseControl;
#region 下拉框班次加载
ComboBox comboBox1 = base.GetControlById("MCCombobox1") as ComboBox;
List<string> DataType = new List<String>(DataTypeArray);
comboBox1.DataSource = DataType;
#endregion
#region 下拉框物料名称加载
List<Base_MaterialInfo> base_MaterialInfos = MaterialHelper.getMaterialList();
materialDataTypeArray = new string[base_MaterialInfos.Count + 1];
materialDataTypeArray[0] = "--";
for (int i = 0; i < base_MaterialInfos.Count; i++)
{
materialDataTypeArray[i + 1] = base_MaterialInfos[i].materialName;
}
ComboBox comboBox2 = base.GetControlById("MCCombobox3") as ComboBox;
comboBox2.DataSource = materialDataTypeArray;
#endregion
#region 下拉框配方名称加载
ComboBox comboBox3 = base.GetControlById("MCCombobox2") as ComboBox;
List<Base_RecipeInfo> base_RecipeInfos = RecipeHelper.GetBaseRecipeInfo();
recipeDataTypeArray = new string[base_RecipeInfos.Count + 1];
recipeDataTypeArray[0] = "--";
for (int i = 0; i < base_RecipeInfos.Count; i++)
{
recipeDataTypeArray[i + 1] = base_RecipeInfos[i].recipeName;
}
comboBox3.DataSource = recipeDataTypeArray;
#endregion
//2.按名称累加物料统计
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
dbHelper.ClearParameter();
StringBuilder sbSql = new StringBuilder(@"SELECT Base_PlanInfo.recipe_Name AS Recipe_Name,Base_MaterialInfo.material_Id AS Material_Code,Base_MaterialInfo.material_Name AS Material_Name, SUM(LR_Weigh.Real_Weight) as realWeight,Pmt_Shiftime.Shift_name FROM
LR_weigh,Base_PlanInfo,Base_RecipeInfo,Base_MaterialInfo,Pmt_Shiftime
WHERE Base_PlanInfo.plan_Id = LR_weigh.Plan_id AND Base_MaterialInfo.material_Id = LR_weigh.Material_Code AND Base_RecipeInfo.recipe_Id = LR_weigh.Recipe_code AND Pmt_Shiftime.Shift_id = Base_PlanInfo.plan_Team ");
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (_startdate != null && _starttime != null)
{
sbSql.AppendLine(@"And LR_Weigh.Weight_Time >= '" + Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Debug("{物料统计报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate != null && _endtime != null)
{
sbSql.AppendLine(@"And LR_Weigh.Weight_Time <= '" + Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Debug("{物料统计报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
sbSql.Append(" GROUP BY Base_PlanInfo.recipe_Name,Base_MaterialInfo.material_Id,Base_MaterialInfo.material_Name,Pmt_Shiftime.Shift_name");
dbHelper.CommandText = sbSql.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
DataTable table = dbHelper.ToDataTable();
this._clientDGV = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "LR_weigh").FirstOrDefault();
if (_clientDGV == null || !(_clientDGV.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Warn("{物料统计报表-查询} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
_clientDGV.BaseControl.BindDataSource = null;
_clientDGV.BaseControl.BindDataSource = table;
}
}
}

@ -0,0 +1,123 @@
using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.Test;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
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.MaterialStatisticsReport
{
/// <summary>
/// 物料统计报表
/// </summary>
class SelectWeightAction : ChemicalWeighingAction, IAction
{
public static event EventHandler MaterialSynchronousComplete;
private RuntimeParameter _runtime;
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private DbMCControl _clientDGV = null;
private IBaseControl _recipeName = null; //配方名
private IBaseControl _shiftName = null; //班次
private IBaseControl _materialName = null; //物料名称
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
this._runtime = runtime;
ICSharpCode.Core.LoggingService<SelectWeightAction>.Debug("物料统计报表-查询..");
//1.按配方、按时间、按班次物料统计
//ComboBox comboBox = base.GetControlById("MCCombobox1") as ComboBox;
//if (SelectWeightAction.MaterialSynchronousComplete != null)
//{
// SelectWeightAction.MaterialSynchronousComplete(null, EventArgs.Empty);
//}
//2.按名称累加物料统计
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
dbHelper.ClearParameter();
StringBuilder sbSql = new StringBuilder(@"SELECT Base_PlanInfo.recipe_Name AS Recipe_Name,Base_MaterialInfo.material_Id AS Material_Code,Base_MaterialInfo.material_Name AS Material_Name, SUM(LR_Weigh.Real_Weight) as realWeight,Pmt_Shiftime.Shift_name FROM
LR_weigh,Base_PlanInfo,Base_RecipeInfo,Base_MaterialInfo,Pmt_Shiftime
WHERE Base_PlanInfo.plan_Id = LR_weigh.Plan_id AND Base_MaterialInfo.material_Id = LR_weigh.Material_Code AND Base_RecipeInfo.recipe_Id = LR_weigh.Recipe_code AND Pmt_Shiftime.Shift_id = Base_PlanInfo.plan_Team ");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (_startdate != null && _starttime != null)
{
sbSql.AppendLine(@"And LR_Weigh.Weight_Time >= '" + Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Debug("{物料统计报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate != null && _endtime != null)
{
sbSql.AppendLine(@"And LR_Weigh.Weight_Time <= '" + Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Debug("{物料统计报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
//配方名称、物料名称及班次
this._recipeName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Base_RecipeInfo].[recipe_Name]").FirstOrDefault().BaseControl;
this._shiftName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Pmt_Shiftime].[Shift_name]").FirstOrDefault().BaseControl;
this._materialName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Base_MaterialInfo].[material_Name]").FirstOrDefault().BaseControl;
if (!String.IsNullOrEmpty(this._recipeName.MCValue.ToString()))
{
if (_recipeName.MCValue.ToString() != "--")
{
sbSql.AppendLine(@"And Base_PlanInfo.Recipe_Name = '" + _recipeName.MCValue.ToString() + "' ");
}
}
if (!String.IsNullOrEmpty(this._shiftName.MCValue.ToString()))
{
if (_shiftName.MCValue.ToString() != "--")
{
sbSql.AppendLine(@"And Shift_Name = '" + _shiftName.MCValue.ToString() + "' ");
}
}
if (!String.IsNullOrEmpty(this._materialName.MCValue.ToString()))
{
if (_materialName.MCValue.ToString() != "--")
{
sbSql.AppendLine(@"And Material_Name = '" + _materialName.MCValue.ToString() + "' ");
}
}
sbSql.Append(" GROUP BY Base_PlanInfo.recipe_Name,Base_MaterialInfo.material_Id,Base_MaterialInfo.material_Name,Pmt_Shiftime.Shift_name");
dbHelper.CommandText = sbSql.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
DataTable table = dbHelper.ToDataTable();
this._clientDGV = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "LR_weigh").FirstOrDefault();
if (_clientDGV == null || !(_clientDGV.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectWeightAction>.Warn("{物料统计报表-查询} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
_clientDGV.BaseControl.BindDataSource = null;
_clientDGV.BaseControl.BindDataSource = table;
}
}
}

@ -0,0 +1,248 @@
using ICSharpCode.Core;
using Mesnac.Action.Base;
using Mesnac.Controls.Base;
using Microsoft.Office.Interop.Excel;
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.ProductionAnalysisReport
{
/// <summary>
/// 生产分析报表导出业务
/// </summary>
class ExportAction : ChemicalWeighingAction, Base.IAction
{
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private DbMCControl _recipeNameControl = null; //配方名Combobox控件
private Control _clientDGV = null; //生产分析DGV
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<ExportAction>.Debug("生产分析报表-导出...");
#region 时间配方名控件
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (_startdate == null && _starttime == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Debug("{生产分析报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
string start = Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString();
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate == null && _endtime == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Debug("{生产分析报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
string end = Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString();
this._recipeNameControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[Pmt_recipe].[Recipe_Name]").FirstOrDefault();
if (_recipeNameControl == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Warn("{生产分析报表} 缺少配方名控件...");
runtime.IsReturn = false;
return;
}
ComboBox recipeNameCB = this._recipeNameControl.BaseControl as ComboBox;
#endregion
List<string> PlanIds = ReportHelper.GetPlanIDList(start, end, recipeNameCB.Text);
string lR_planID = PlanIds[0];
string lR_reName = recipeNameCB.Text;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "xls files(*.xls)|*.xls";
sfd.FileName = String.Format("生产分析报表_{0:yyyyMMdd}", DateTime.Now);
sfd.AddExtension = true;
DialogResult result = sfd.ShowDialog();
if (result == DialogResult.OK)
{
bool gridFlag = false;
foreach (Control ib in GetAllControls())
{
if (ib.Name.Contains("MultiColHeaderDgv"))
{
this._clientDGV = ib;
gridFlag = true;
}
if (gridFlag)
{
break;
}
}
if (_clientDGV == null)
{
ICSharpCode.Core.LoggingService<ExportAction>.Warn("{生产分析报表-导出} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid = (this._clientDGV as Mesnac.Controls.Default.MultiColHeaderDgv);
System.Data.DataTable dt = clientGrid.DataSource as System.Data.DataTable;
string fileName = sfd.FileName;
if (!String.IsNullOrEmpty(fileName))
{
try
{
List<Entity.LR_recipe> lR_Recipes = ReportHelper.GetLR_recipeList(lR_planID);
DataTabletoExcel(dt, fileName, lR_Recipes, lR_reName);
string msg1 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_ProductionAnalysisReport_ExportAction_msg1")); //导出生产分析报表数据至Excel成功!
ICSharpCode.Core.LoggingService<ExportAction>.Info(msg1);
#region 记录操作日志
base.DBLog(msg1);
#endregion
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
string msg2 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_ProductionAnalysisReport_ExportAction_msg2")); //导出生产分析数据至Excel失败:{0}!
msg2 = String.Format(msg2, ex.Message);
ICSharpCode.Core.LoggingService<ExportAction>.Error(msg2);
#region 记录操作日志
base.DBLog(msg2);
#endregion
MessageBox.Show(msg2, Mesnac.Basic.LanguageHelper.WarnCaption, MessageBoxButtons.OK, MessageBoxIcon.Warning);
runtime.IsReturn = true;
return;
}
}
}
}
public void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName, List<Entity.LR_recipe> lR_Recipes, string reName)
{
///先得到datatable的行数
int rowNum = tmpDataTable.Rows.Count;
///列数
int columnNum = tmpDataTable.Columns.Count;
///声明一个应用程序类实例
Microsoft.Office.Interop.Excel.Application xlApp = new ApplicationClass();
//创建一个新工作簿
Workbook xlBook = xlApp.Workbooks.Add();
///在工作簿中得到sheet。
_Worksheet oSheet = (_Worksheet)xlBook.Worksheets[1];
#region 绘制列
//绘制配方名和开始时间
oSheet.Cells[1, 1] = "配方名";
oSheet.Cells[1, 2] = reName;
//自定义方法,绘制合并表头
RangeBuild(oSheet, oSheet.Cells[2, 1], oSheet.Cells[2, 2], "物料");
oSheet.Cells[3, 1] = "车次";
oSheet.Cells[3, 2] = "检量时间";
decimal sumSet_Weight = 0.0M;
decimal sumSet_Error = 0.0M;
int ordinate = 3;
if (lR_Recipes != null && lR_Recipes.Count > 0)
{
//物料表头
for (int i = 0; i < lR_Recipes.Count; i++)
{
sumSet_Weight += (decimal)lR_Recipes[i].Set_Weight;
sumSet_Error += (decimal)lR_Recipes[i].Set_Error;
RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate + 2], lR_Recipes[i].Material_Name);
oSheet.Cells[3, ordinate] = lR_Recipes[i].Set_Weight.ToString("0.000");
oSheet.Cells[3, ordinate + 1] = lR_Recipes[i].Set_Error.ToString("0.000");
oSheet.Cells[3, ordinate + 2] = "T(s)";
ordinate += 3;
}
//加和重量表头
RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate + 2], "加和重量");
oSheet.Cells[3, ordinate] = sumSet_Weight.ToString();
oSheet.Cells[3, ordinate + 1] = sumSet_Error.ToString();
oSheet.Cells[3, ordinate + 2] = "T(s)";
ordinate += 3;
//检量重量表头
RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate + 3], "检量重量");
oSheet.Cells[3, ordinate] = sumSet_Weight.ToString();
oSheet.Cells[3, ordinate + 1] = sumSet_Error.ToString();
oSheet.Cells[3, ordinate + 2] = "T(s)";
oSheet.Cells[3, ordinate + 3] = "皮重";
ordinate += 4;
}
#endregion
//将DataTable中的数据导入Excel中
for (int i = 0; i < rowNum; i++)
{
for (int j = 0; j < columnNum; j++)
{
///excel中的列是从1开始的
xlApp.Cells[i + 4, j + 1] = tmpDataTable.Rows[i][j].ToString();
}
}
///保存,路径一块穿进去。否则回到一个很奇妙的地方貌似是system32里 temp下....
oSheet.SaveAs(strFileName);
}
/// <summary>
/// 合并单元格业务方法
/// </summary>
/// <param name="oSheet">工作簿中的sheet</param>
/// <param name="startcell">起始cell</param>
/// <param name="endcell">结束cell</param>
/// <param name="value">合并后单元格文本</param>
private static void RangeBuild(_Worksheet oSheet, object startcell, object endcell, string value)
{
Range excelRange = oSheet.Range[startcell, endcell];/*需要合并的单元格*/
///合并方法
excelRange.Merge(excelRange.MergeCells);/*合并*/
///合并单元格之后,设置其中的文本
excelRange.Value = value;
//横向居中
excelRange.HorizontalAlignment = XlVAlign.xlVAlignCenter;
//字体大小
//range.Font.Size = 18;
//字体
//range.Font.Name = "黑体";
//行高
//range.RowHeight = 24;
//自动调整列宽
excelRange.EntireColumn.AutoFit();
//填充颜色
//range.Interior.ColorIndex = 20;
//设置单元格边框的粗细
excelRange.Cells.Borders.LineStyle = 1;
}
}
}

@ -0,0 +1,28 @@
using Mesnac.Action.Base;
using Mesnac.Controls.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.Report.ProductionAnalysisReport
{
/// <summary>
/// 初始化生产分析报表
/// </summary>
class InitFormAction : ChemicalWeighingAction, IAction
{
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<InitFormAction>.Debug("生产报表-窗体初始化...");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
starttime.MCValue = DateTime.Parse("00:00:00");
endtime.MCValue = DateTime.Parse("23:59:59");
}
}
}

@ -0,0 +1,344 @@
using Mesnac.Action.Base;
using Mesnac.Controls.Base;
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.ProductionAnalysisReport
{
/// <summary>
/// 生产质量分析
/// </summary>
class SelectAnalysisAction : ChemicalWeighingAction, IAction
{
#region 字段定义
private RuntimeParameter _runtime;
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private DbMCControl _recipeNameControl = null; //配方名Combobox控件
private Control _clientGridControl = null; //多维表控件
private DataTable dataTable = null;
#endregion
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
this._runtime = runtime;
#region 获取开始/结束时间控件和质量分析控件
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if(_startdate == null && _starttime == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Debug("{生产分析报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
string start = Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString();
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate == null && _endtime == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Debug("{生产分析报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
string end = Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString();
this._recipeNameControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[Pmt_recipe].[Recipe_Name]").FirstOrDefault();
if (_recipeNameControl == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Warn("{生产分析报表} 缺少配方名控件...");
runtime.IsReturn = false;
return;
}
ComboBox recipeNameCB = this._recipeNameControl.BaseControl as ComboBox;
bool gridFlag = false;
foreach (Control ib in GetAllControls())
{
if (ib.Name.Contains("MultiColHeaderDgv"))
{
this._clientGridControl = ib;
gridFlag = true;
}
if (gridFlag)
{
break;
}
}
if (_clientGridControl == null)
{
ICSharpCode.Core.LoggingService<SelectAnalysisAction>.Warn("{生产分析报表} 缺少质量分析MultiColHeaderDgv控件...");
runtime.IsReturn = false;
return;
}
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid = (this._clientGridControl as Mesnac.Controls.Default.MultiColHeaderDgv);
dataTable = new DataTable("AnalysisDT");
#endregion
#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);
#endregion
if (!string.IsNullOrEmpty(recipeNameCB.Text))
{
List<string> PlanIds = ReportHelper.GetPlanIDList(start,end,recipeNameCB.Text);
if (PlanIds.Count == 0)
{
MessageBox.Show("未查询到该时间段的配方计划信息");
return;
}
string lR_planID = PlanIds[0];
List<Entity.LR_recipe> lR_Recipes = ReportHelper.GetLR_recipeList(lR_planID);
TreeView treeView = new TreeView();
List<Entity.LR_lot> lR_Lots = ReportHelper.GetAllLR_lotList(PlanIds);
List<Entity.LR_weigh> lR_Weighs = ReportHelper.GetAllLR_weighList(PlanIds, lR_Recipes.Count);
#region 表头建立
BuildTableHead(treeView, lR_Recipes);
clientGrid.myColHeaderTreeView = treeView;
#endregion
#region 数据填充
DataTableWrite(lR_Lots, lR_Weighs);
#endregion
#region 增加最大最小平均合计值行
DataTableAdd(lR_Recipes.Count);
#endregion
clientGrid.DataSource = dataTable;
}
}
#region 建立表头结构
private void BuildTableHead(TreeView treeView, List<Entity.LR_recipe> lR_Recipes)
{
int treeIndex = 0;
TreeNode rootTreeNode = new TreeNode("物料");
treeView.Nodes.Add(rootTreeNode);
TreeNode childTreeNodeSerial_Num = new TreeNode("序号");
TreeNode childTreeNodeWeight_Time = new TreeNode("检量时间");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSerial_Num);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeWeight_Time);
dataTable.Columns.Add("Serial_Num", typeof(System.String));
dataTable.Columns.Add("Weight_Time", typeof(System.String));
decimal sumSet_Weight = 0.0M;
decimal sumSet_Error = 0.0M;
if (lR_Recipes != null && lR_Recipes.Count > 0)
{
//物料表头
for (int i = 0; i < lR_Recipes.Count; i++)
{
sumSet_Weight = sumSet_Weight + (decimal)lR_Recipes[i].Set_Weight;
sumSet_Error = sumSet_Error + (decimal)lR_Recipes[i].Set_Error;
TreeNode rootTreeNodeMaterialName = new TreeNode(lR_Recipes[i].Material_Name);
treeView.Nodes.Add(rootTreeNodeMaterialName);
treeIndex++;
TreeNode childTreeNodeSet_Weight = new TreeNode("重量(kg)");
TreeNode childTreeNodeSet_Error = new TreeNode("误差(kg)");
TreeNode childTreeNodeWaste_Time = new TreeNode("时间(s)");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeWaste_Time);
dataTable.Columns.Add("Set_Weight" + treeIndex.ToString(), typeof(decimal));
dataTable.Columns.Add("Set_Error" + treeIndex.ToString(), typeof(decimal));
dataTable.Columns.Add("Waste_Time" + treeIndex.ToString(), typeof(decimal));
}
//加和重量表头
TreeNode rootTreeNodeSum = new TreeNode("加和重量");
treeView.Nodes.Add(rootTreeNodeSum);
treeIndex++;
TreeNode childTreeNodeSumSet_Weight = new TreeNode("重量(kg)");
TreeNode childTreeNodeSumSet_Error = new TreeNode("误差(kg)");
TreeNode childTreeNodesumWaste_Time = new TreeNode("T(s)");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSumSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSumSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodesumWaste_Time);
dataTable.Columns.Add("SumSet_Weight", typeof(decimal));
dataTable.Columns.Add("SumSet_Error", typeof(decimal));
dataTable.Columns.Add("SumWaste_Time", typeof(decimal));
//检量重量表头
TreeNode rootTreeNodeCheck = new TreeNode("检量重量");
treeView.Nodes.Add(rootTreeNodeCheck);
treeIndex++;
TreeNode childTreeNodeCheckSet_Weight = new TreeNode("重量(kg)");
TreeNode childTreeNodeCheckSet_Error = new TreeNode("误差(kg)");
TreeNode childTreeNodeCheckWaste_Time = new TreeNode("T(s)");
TreeNode childTreeNodeCheckNet_Weight = new TreeNode("皮重");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckWaste_Time);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckNet_Weight);
dataTable.Columns.Add("CheckSet_Weight", typeof(decimal));
dataTable.Columns.Add("CheckSet_Error", typeof(decimal));
dataTable.Columns.Add("CheckWaste_Time", typeof(decimal));
dataTable.Columns.Add("CheckNet_Weight", typeof(System.String));
}
}
#endregion
#region 数据表填充
private void DataTableWrite(List<Entity.LR_lot> lR_Lots, List<Entity.LR_weigh> lR_Weighs)
{
if (lR_Lots != null && lR_Lots.Count > 0)
{
for (int i = 0; i < lR_Lots.Count; i++)
{
int sumRealWaste_Time = 0; //加和时间
DataRow drow = dataTable.NewRow();
//车次和检量时间数据填入
drow["Serial_Num"] = lR_Lots[i].Serial_Num;
drow["Weight_Time"] = lR_Lots[i].Prd_date;
//每车物料数据填入
List<Entity.LR_weigh> curWeights = lR_Weighs.FindAll(x => x.Serial_Num == lR_Lots[i].Serial_Num);
if (curWeights != null && curWeights.Count > 0)
{
for (int j = 0; j < curWeights.Count; j++)
{
drow["Set_Weight" + (j + 1).ToString()] = curWeights[j].Real_Weight;
drow["Set_Error" + (j + 1).ToString()] = curWeights[j].Real_Error;
drow["Waste_Time" + (j + 1).ToString()] = curWeights[j].Waste_Time;
sumRealWaste_Time = sumRealWaste_Time + (int)curWeights[j].Waste_Time;
}
}
//加和重量数据填入
drow["SumSet_Weight"] = lR_Lots[i].Real_weight;
drow["SumSet_Error"] = lR_Lots[i].Real_weight;
drow["SumWaste_Time"] = sumRealWaste_Time;
//检量重量数据填入
drow["CheckSet_Weight"] = lR_Lots[i].Real_weight;
drow["CheckSet_Error"] = lR_Lots[i].Real_weight;
drow["CheckWaste_Time"] = lR_Lots[i].Waste_Time;
drow["CheckNet_Weight"] = lR_Lots[i].Net_Weight;
dataTable.Rows.Add(drow);
}
}
}
#endregion
#region DataTable新增最大最小平均合计值行
private void DataTableAdd(int mNum)
{
//最大值行
DataRow drowMax = dataTable.NewRow();
drowMax["Weight_Time"] = "最大值";
for (int i=0; i<mNum;i++)
{
drowMax["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("max(Set_Weight"+ (i + 1).ToString() + ")", "");
drowMax["Set_Error" + (i + 1).ToString()] = dataTable.Compute("max(Set_Error" + (i + 1).ToString() + ")", "");
drowMax["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("max(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowMax["SumSet_Weight"] = dataTable.Compute("max(SumSet_Weight)", "");
drowMax["SumSet_Error"] = dataTable.Compute("max(SumSet_Error)", "");
drowMax["SumWaste_Time"] = dataTable.Compute("max(SumWaste_Time)", "");
drowMax["CheckSet_Weight"] = dataTable.Compute("max(CheckSet_Weight)", "");
drowMax["CheckSet_Error"] = dataTable.Compute("max(CheckSet_Error)", "");
drowMax["CheckWaste_Time"] = dataTable.Compute("max(CheckWaste_Time)", "");
//最小值行
DataRow drowMin = dataTable.NewRow();
drowMin["Weight_Time"] = "最小值";
for (int i = 0; i < mNum; i++)
{
drowMin["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("min(Set_Weight" + (i + 1).ToString() + ")", "");
drowMin["Set_Error" + (i + 1).ToString()] = dataTable.Compute("min(Set_Error" + (i + 1).ToString() + ")", "");
drowMin["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("min(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowMin["SumSet_Weight"] = dataTable.Compute("min(SumSet_Weight)", "");
drowMin["SumSet_Error"] = dataTable.Compute("min(SumSet_Error)", "");
drowMin["SumWaste_Time"] = dataTable.Compute("min(SumWaste_Time)", "");
drowMin["CheckSet_Weight"] = dataTable.Compute("min(CheckSet_Weight)", "");
drowMin["CheckSet_Error"] = dataTable.Compute("min(CheckSet_Error)", "");
drowMin["CheckWaste_Time"] = dataTable.Compute("min(CheckWaste_Time)", "");
//平均值行
DataRow drowAvg = dataTable.NewRow();
drowAvg["Weight_Time"] = "平均值";
for (int i = 0; i < mNum; i++)
{
drowAvg["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("avg(Set_Weight" + (i + 1).ToString() + ")", "");
drowAvg["Set_Error" + (i + 1).ToString()] = dataTable.Compute("avg(Set_Error" + (i + 1).ToString() + ")", "");
drowAvg["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("avg(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowAvg["SumSet_Weight"] = dataTable.Compute("avg(SumSet_Weight)", "");
drowAvg["SumSet_Error"] = dataTable.Compute("avg(SumSet_Error)", "");
drowAvg["SumWaste_Time"] = dataTable.Compute("avg(SumWaste_Time)", "");
drowAvg["CheckSet_Weight"] = dataTable.Compute("avg(CheckSet_Weight)", "");
drowAvg["CheckSet_Error"] = dataTable.Compute("avg(CheckSet_Error)", "");
drowAvg["CheckWaste_Time"] = dataTable.Compute("avg(CheckWaste_Time)", "");
//合计
DataRow drowSum = dataTable.NewRow();
drowSum["Weight_Time"] = "合计";
for (int i = 0; i < mNum; i++)
{
drowSum["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("sum(Set_Weight" + (i + 1).ToString() + ")", "");
drowSum["Set_Error" + (i + 1).ToString()] = dataTable.Compute("sum(Set_Error" + (i + 1).ToString() + ")", "");
drowSum["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("sum(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowSum["SumSet_Weight"] = dataTable.Compute("sum(SumSet_Weight)", "");
drowSum["SumSet_Error"] = dataTable.Compute("sum(SumSet_Error)", "");
drowSum["SumWaste_Time"] = dataTable.Compute("sum(SumWaste_Time)", "");
drowSum["CheckSet_Weight"] = dataTable.Compute("sum(CheckSet_Weight)", "");
drowSum["CheckSet_Error"] = dataTable.Compute("sum(CheckSet_Error)", "");
drowSum["CheckWaste_Time"] = dataTable.Compute("sum(CheckWaste_Time)", "");
dataTable.Rows.Add(drowMax);
dataTable.Rows.Add(drowMin);
dataTable.Rows.Add(drowAvg);
dataTable.Rows.Add(drowSum);
}
#endregion
}
}

@ -0,0 +1,253 @@
using ICSharpCode.Core;
using Mesnac.Action.Base;
using Microsoft.Office.Interop.Excel;
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.ProductionReport
{
/// <summary>
/// 生产报表导出Action
/// </summary>
class ExportAction : ChemicalWeighingAction, Base.IAction
{
private Control _clientDGV = null; //称量明细DGV
private DbMCControl _dgvLRPlan = null; //生产计划DGV
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<ExportAction>.Debug("生产报表-导出...");
this._dgvLRPlan = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Base_PlanInfo").FirstOrDefault();
DataGridView lR_planGridView = this._dgvLRPlan.BaseControl as DataGridView;
string lR_planID = lR_planGridView.SelectedRows[0].Cells["plan_Id"].Value as string;
string lR_reName = lR_planGridView.SelectedRows[0].Cells["recipe_Name"].Value as string;
string lR_starTime = lR_planGridView.SelectedRows[0].Cells["plan_beginTime"].Value as string;
string plan_count = Convert.ToInt32(lR_planGridView.SelectedRows[0].Cells["plan_Amount"].Value).ToString();
string real_count = Convert.ToInt32(lR_planGridView.SelectedRows[0].Cells["real_Amount"].Value).ToString();
string plan_State = lR_planGridView.SelectedRows[0].Cells["plan_State"].Value as string;
string plan_endTime = lR_planGridView.SelectedRows[0].Cells["plan_endTime"].Value as string;
string Shift_Name = lR_planGridView.SelectedRows[0].Cells["Shift_Name"].Value as string;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "xls files(*.xls)|*.xls";
sfd.FileName = String.Format("生产报表_{0:yyyyMMdd}", DateTime.Now);
sfd.AddExtension = true;
DialogResult result = sfd.ShowDialog();
if (result == DialogResult.OK)
{
bool gridFlag = false;
foreach (Control ib in GetAllControls())
{
if (ib.Name.Contains("MultiColHeaderDgv"))
{
this._clientDGV = ib;
gridFlag = true;
}
if (gridFlag)
{
break;
}
}
if (_clientDGV == null)
{
ICSharpCode.Core.LoggingService<ExportAction>.Warn("{生产报表-导出} 缺少DataGridView控件...");
runtime.IsReturn = false;
return;
}
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid = (this._clientDGV as Mesnac.Controls.Default.MultiColHeaderDgv);
System.Data.DataTable dt = clientGrid.DataSource as System.Data.DataTable;
string fileName = sfd.FileName;
if (!String.IsNullOrEmpty(fileName))
{
try
{
List<Entity.LR_recipe> lR_Recipes = ReportHelper.GetLR_recipeList(lR_planID);
DataTabletoExcel(dt, fileName, lR_Recipes, lR_planID, lR_reName, plan_count, real_count, plan_State, lR_starTime, plan_endTime, Shift_Name);
string msg1 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_ProductionReport_ExportAction_msg1")); //导出生产报表数据至Excel成功!
ICSharpCode.Core.LoggingService<ExportAction>.Info(msg1);
#region 记录操作日志
base.DBLog(msg1);
#endregion
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
string msg2 = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Report_ProductionReport_ExportAction_msg2")); //导出生产报表数据至Excel失败:{0}!
msg2 = String.Format(msg2, ex.Message);
ICSharpCode.Core.LoggingService<ExportAction>.Error(msg2);
#region 记录操作日志
base.DBLog(msg2);
#endregion
MessageBox.Show(msg2, Mesnac.Basic.LanguageHelper.WarnCaption, MessageBoxButtons.OK, MessageBoxIcon.Warning);
runtime.IsReturn = true;
return;
}
}
}
}
public void DataTabletoExcel(System.Data.DataTable tmpDataTable, string strFileName, List<Entity.LR_recipe> lR_Recipes, string lR_planID , string reName,string plan_count, string real_count, string plan_State, string startTime,string plan_endTime,string Shift_Name)
{
///先得到datatable的行数
int rowNum = tmpDataTable.Rows.Count;
///列数
int columnNum = tmpDataTable.Columns.Count;
///声明一个应用程序类实例
Microsoft.Office.Interop.Excel.Application xlApp = new ApplicationClass();
//创建一个新工作簿
Workbook xlBook = xlApp.Workbooks.Add();
///在工作簿中得到sheet。
_Worksheet oSheet = (_Worksheet)xlBook.Worksheets[1];
#region 绘制列
//绘制配方名和开始时间
oSheet.Cells[1, 1] = "计划号";
oSheet.Cells[1, 2] = "配方名";
oSheet.Cells[1, 3] = "计划数量";
oSheet.Cells[1, 4] = "完成数量";
oSheet.Cells[1, 5] = "完成数量";
oSheet.Cells[1, 5] = "计划状态";
oSheet.Cells[1, 6] = "开始时间";
oSheet.Cells[1, 7] = "完成时间";
oSheet.Cells[1, 8] = "计划班组";
oSheet.Cells[2, 1] = lR_planID;
oSheet.Cells[2, 2] = reName;
oSheet.Cells[2, 3] = plan_count;
oSheet.Cells[2, 4] = real_count;
oSheet.Cells[2, 5] = plan_State;
oSheet.Cells[2, 6] = startTime;
oSheet.Cells[2, 7] = plan_endTime;
oSheet.Cells[2, 8] = Shift_Name;
//自定义方法,绘制合并表头
//RangeBuild(oSheet, oSheet.Cells[2, 1], oSheet.Cells[2, 2], "物料");
oSheet.Cells[3, 1] = "车数";
oSheet.Cells[3, 2] = "格数";
oSheet.Cells[3, 3] = "完成时间";
oSheet.Cells[3, 4] = "罐A应配";
oSheet.Cells[3, 5] = "罐A实配";
oSheet.Cells[3, 6] = "罐B应配";
oSheet.Cells[3, 7] = "罐B实配";
oSheet.Cells[3, 8] = "树脂应配";
oSheet.Cells[3, 9] = "树脂实配";
//oSheet.Cells[3, 10] = "VCC及GFA卸料速度";
//oSheet.Cells[3, 11] = "混料运行速度";
//oSheet.Cells[3, 12] = "混合机卸料速度";
//oSheet.Cells[3, 13] = "混合机运行时间";
//oSheet.Cells[3, 14] = "系数";
oSheet.Cells[3, 10] = "混料运行速度";
oSheet.Cells[3, 11] = "混合机卸料速度";
oSheet.Cells[3, 12] = "混合机运行时间";
decimal sumSet_Weight = 0.0M;
decimal sumSet_Error = 0.0M;
int ordinate = 3;
//if (lR_Recipes != null && lR_Recipes.Count > 0)
//{
// //物料表头
// for (int i = 0; i < lR_Recipes.Count; i++)
// {
// sumSet_Weight += (decimal)lR_Recipes[i].Set_Weight;
// sumSet_Error += (decimal)lR_Recipes[i].Set_Error;
// RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate+2], lR_Recipes[i].Material_Name);
// oSheet.Cells[3, ordinate] = lR_Recipes[i].Set_Weight.ToString("0.000");
// oSheet.Cells[3, ordinate+1] = lR_Recipes[i].Set_Error.ToString("0.000");
// oSheet.Cells[3, ordinate+2] = "T(s)";
// ordinate += 3;
// }
// //加和重量表头
// RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate + 2], "加和重量");
// oSheet.Cells[3, ordinate] = sumSet_Weight.ToString();
// oSheet.Cells[3, ordinate + 1] = sumSet_Error.ToString();
// oSheet.Cells[3, ordinate + 2] = "T(s)";
// ordinate += 3;
// //检量重量表头
// RangeBuild(oSheet, oSheet.Cells[2, ordinate], oSheet.Cells[2, ordinate + 3], "检量重量");
// oSheet.Cells[3, ordinate] = sumSet_Weight.ToString();
// oSheet.Cells[3, ordinate + 1] = sumSet_Error.ToString();
// oSheet.Cells[3, ordinate + 2] = "T(s)";
// oSheet.Cells[3, ordinate + 3] = "皮重";
// ordinate += 4;
//}
#endregion
//将DataTable中的数据导入Excel中
for (int i = 0; i < rowNum; i++)
{
for (int j = 0; j < columnNum; j++)
{
///excel中的列是从1开始的
xlApp.Cells[i + 4, j + 1] = tmpDataTable.Rows[i][j].ToString();
}
}
///保存,路径一块穿进去。否则回到一个很奇妙的地方貌似是system32里 temp下....
oSheet.SaveAs(strFileName);
}
/// <summary>
/// 合并单元格业务方法
/// </summary>
/// <param name="oSheet">工作簿中的sheet</param>
/// <param name="startcell">起始cell</param>
/// <param name="endcell">结束cell</param>
/// <param name="value">合并后单元格文本</param>
private static void RangeBuild(_Worksheet oSheet, object startcell, object endcell, string value)
{
Range excelRange = oSheet.Range[startcell, endcell];/*需要合并的单元格*/
///合并方法
excelRange.Merge(excelRange.MergeCells);/*合并*/
///合并单元格之后,设置其中的文本
excelRange.Value = value;
//横向居中
excelRange.HorizontalAlignment = XlVAlign.xlVAlignCenter;
//字体大小
//range.Font.Size = 18;
//字体
//range.Font.Name = "黑体";
//行高
//range.RowHeight = 24;
//自动调整列宽
excelRange.EntireColumn.AutoFit();
//填充颜色
//range.Interior.ColorIndex = 20;
//设置单元格边框的粗细
excelRange.Cells.Borders.LineStyle = 1;
}
}
}

@ -0,0 +1,28 @@
using Mesnac.Action.Base;
using Mesnac.Controls.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mesnac.Action.ChemicalWeighing.Report.ProductionReport
{
/// <summary>
/// 生产报表初始化窗体
/// </summary>
class InitFormAction : ChemicalWeighingAction, IAction
{
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<InitFormAction>.Debug("生产报表-窗体初始化...");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
starttime.MCValue = DateTime.Parse("00:00:00");
endtime.MCValue = DateTime.Parse("23:59:59");
}
}
}

@ -0,0 +1,112 @@
using Mesnac.Action.Base;
using Mesnac.Codd.Session;
using Mesnac.Controls.Base;
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.ProductionReport
{
/// <summary>
/// 生产报表中查询生产计划Action
/// </summary>
class SelectPlanAction : ChemicalWeighingAction, IAction
{
private RuntimeParameter _runtime;
private IBaseControl _equipCode = null; //机台号
private IBaseControl _version = null; //版本
private IBaseControl _startdate = null; //开始日期
private IBaseControl _enddate = null; //结束日期
private IBaseControl _starttime = null; //开始时间
private IBaseControl _endtime = null; //结束时间
private IBaseControl _recipeName = null; //配方名
private IBaseControl _shiftName = null; //班次
private DbMCControl _dgvLRPlan = null; //生产计划DGV
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
this._runtime = runtime;
ICSharpCode.Core.LoggingService<SelectPlanAction>.Debug("生产报表-生产计划-查询..");
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
dbHelper.ClearParameter();
//StringBuilder sbSql = new StringBuilder(@"Select A.Plan_Id,A.Equip_Code,A.Plan_ID,A.Recipe_Code,A.Recipe_Name,A.Version,A.Mixer_Line,A.Plan_num,A.Real_Num,A.Start_Date,A.End_Date,A.Weight_Man,B.Shift_Name
// From LR_Plan A Left Join Pmt_ShifTime B On(A.Shift_ID = B.Shift_ID) WHERE 1=1 ");
StringBuilder sbSql = new StringBuilder(@"select A.plan_Id,A.recipe_Name,A.plan_Amount,A.real_Amount,case plan_State when '0' then '待执行' when '1' then '执行中' when '2' then '已完成' when '3' then '已终止' else '异常' end as 'plan_State',A.plan_beginTime,A.plan_endTime,B.Shift_name as Shift_Name from Base_PlanInfo A Left Join Pmt_ShifTime B On(A.plan_Team = B.Shift_ID) WHERE 1=1 ");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
//开始时间条件
this._startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
this._starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (_startdate != null && _starttime != null)
{
sbSql.AppendLine(@"And A.plan_beginTime >= '" + Convert.ToDateTime(_startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_starttime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Debug("{生产报表} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
//结束时间条件
this._enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
this._endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (_enddate != null && _endtime != null)
{
sbSql.AppendLine(@"And A.plan_beginTime <= '" + Convert.ToDateTime(_enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(_endtime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Debug("{生产报表} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
//配方名和班次条件
this._recipeName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Base_RecipeInfo].[recipe_Name]").FirstOrDefault().BaseControl;
this._shiftName = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "[DataSource1].[Pmt_Shiftime].[Shift_name]").FirstOrDefault().BaseControl;
if (!String.IsNullOrEmpty(this._recipeName.MCValue.ToString()))
{
sbSql.AppendLine(@"And A.Recipe_Name = '" + _recipeName.MCValue.ToString() + "' ");
}
if (!String.IsNullOrEmpty(this._shiftName.MCValue.ToString()))
{
sbSql.AppendLine(@"And Shift_Name = '" + _shiftName.MCValue.ToString() + "' ");
}
//机台号和版本条件
//this._equipCode = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey == "EquipCode").FirstOrDefault().BaseControl;
//this._version = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "version").FirstOrDefault().BaseControl;
//if (!String.IsNullOrEmpty(this._equipCode.MCValue.ToString()))
//{
// sbSql.AppendLine(@"And A.Equip_Code = '" + _equipCode.MCValue.ToString() + "' ");
//}
//if (!String.IsNullOrEmpty(this._version.MCValue.ToString()))
//{
// sbSql.AppendLine(@"And A.Version = '" + _version.MCValue.ToString() + "' ");
//}
sbSql.Append(" ORDER BY A.plan_beginTime desc");
dbHelper.CommandText = sbSql.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
DataTable table = dbHelper.ToDataTable();
//刷新生产计划DataGridView数据
this._dgvLRPlan = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Base_PlanInfo").FirstOrDefault();
if (_dgvLRPlan == null || !(_dgvLRPlan.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Warn("{生产报表-查询} 缺少生产计划DataGridView控件...");
runtime.IsReturn = false;
return;
}
_dgvLRPlan.BaseControl.BindDataSource = null;
_dgvLRPlan.BaseControl.BindDataSource = table;
}
}
}

@ -0,0 +1,537 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data;
using Mesnac.Action.Base;
using Mesnac.Codd.Session;
using System.Reflection;
using Mesnac.Controls.Base;
namespace Mesnac.Action.ChemicalWeighing.Report.ProductionReport
{
/// <summary>
/// 生产报表业务
/// </summary>
public class SelectRowAction : ChemicalWeighingAction,IAction
{
#region 字段定义
public static bool IsFirstRun = true; //是否首次运行
private RuntimeParameter _runtime;
private Control _clientGridControl = null; //多维表控件
private DbMCControl _dgvLRPlan = null; //生产计划DGV
private DataTable dataTable = null;
#endregion
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime);
this._runtime = runtime;
#region 获取界面生产计划控件和称量明细控件
this._dgvLRPlan = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Base_PlanInfo").FirstOrDefault();
if (_dgvLRPlan == null || !(_dgvLRPlan.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Warn("{生产报表} 缺少生产计划DataGridView控件...");
runtime.IsReturn = false;
return;
}
DataGridView lR_planGridView = this._dgvLRPlan.BaseControl as DataGridView;
bool gridFlag = false;
foreach (Control ib in GetAllControls())
{
if (ib.Name.Contains("MultiColHeaderDgv"))
{
this._clientGridControl = ib;
gridFlag = true;
}
if (gridFlag)
{
break;
}
}
if (_clientGridControl == null)
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Warn("{生产报表} 缺少缺少称量名细MultiColHeaderDgv控件...");
runtime.IsReturn = false;
return;
}
Mesnac.Controls.Default.MultiColHeaderDgv clientGrid = (this._clientGridControl as Mesnac.Controls.Default.MultiColHeaderDgv);
dataTable = new DataTable("ProductionDT");
#endregion
#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;
#endregion
if (lR_planGridView.SelectedRows.Count == 1)
{
string lR_planID = lR_planGridView.SelectedRows[0].Cells["Plan_Id"].Value as string;
if (!string.IsNullOrEmpty(lR_planID))
{
#region 数据源获取及定义
List<Entity.LR_lot> lR_Lots = ReportHelper.GetLR_lotList(lR_planID);
List<Entity.LR_recipe> lR_Recipes = ReportHelper.GetLR_recipeList(lR_planID);
List<Entity.LR_weigh> lR_Weighs = ReportHelper.GetLR_weighList(lR_planID);
List<Entity.RecordSaveDataInfo> RecordSaveDataInfo = ReportHelper.GetReportSaveDataList(lR_planID);
TreeView treeView = new TreeView();
#endregion
#region 表头建立
GHBuildTableHead(treeView, RecordSaveDataInfo);
//BuildTableHead(treeView, lR_Recipes);
//clientGrid.myColHeaderTreeView = treeView;
#endregion
#region 数据填充
GHDataTableWrite(RecordSaveDataInfo);
//DataTableWrite(lR_Lots, lR_Recipes, lR_Weighs);
#endregion
#region 增加最大最小平均合计值行
GHDataTableAdd(RecordSaveDataInfo.Count);
//DataTableAdd(lR_Recipes.Count);
#endregion
clientGrid.DataSource = dataTable;
for (int i = 0; i < clientGrid.Columns.Count; i++)
{
clientGrid.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
}
}
#region 方法定义
#region 建立表头结构
private void GHBuildTableHead(TreeView treeView, List<Entity.RecordSaveDataInfo> RecordSaveDataInfo)
{
try
{
//decimal sumSet_Weight = 0.0M;
//decimal sumSet_Error = 0.0M;
//if (RecordSaveDataInfo != null && RecordSaveDataInfo.Count > 0)
//{
// for (int i = 0; i < RecordSaveDataInfo.Count; i++)
// {
// sumSet_Weight = sumSet_Weight + (decimal)RecordSaveDataInfo[i].SaveVCCAct;
// }
//}
//TreeNode childTreeNodeSaveFinishedNum = new TreeNode("车数");
//treeView.Nodes.Add(childTreeNodeSaveFinishedNum);
//TreeNode childTreeNodeSaveRecordTime = new TreeNode("记录时间");
//treeView.Nodes.Add(childTreeNodeSaveRecordTime);
//TreeNode childTreeNodeSaveCol = new TreeNode("格数");
//treeView.Nodes.Add(childTreeNodeSaveCol);
//TreeNode childTreeNodeSaveVCCSet = new TreeNode(" VCC应配");
//treeView.Nodes.Add(childTreeNodeSaveVCCSet);
//TreeNode childTreeNodeSaveVCCAct = new TreeNode(" VCC实配");
//treeView.Nodes.Add(childTreeNodeSaveVCCAct);
//TreeNode childTreeNodeSaveGFASet = new TreeNode("GFA应配");
//treeView.Nodes.Add(childTreeNodeSaveGFASet);
//TreeNode childTreeNodeSaveGFAAct = new TreeNode("GFA实配");
//treeView.Nodes.Add(childTreeNodeSaveGFAAct);
//TreeNode childTreeNodeSave3thSet = new TreeNode("树脂应配");
//treeView.Nodes.Add(childTreeNodeSave3thSet);
//TreeNode childTreeNodeSave3thAct = new TreeNode("树脂实配");
//treeView.Nodes.Add(childTreeNodeSave3thAct);
//TreeNode childTreeNodeSaveLevel = new TreeNode("系数");
//treeView.Nodes.Add(childTreeNodeSaveLevel);
//TreeNode childTreeNodeSaveFillTime = new TreeNode("VCC+GFA卸料速度");
//treeView.Nodes.Add(childTreeNodeSaveFillTime);
//TreeNode childTreeNodeSaveSpeed1 = new TreeNode("混料运行速度");
//treeView.Nodes.Add(childTreeNodeSaveSpeed1);
//TreeNode childTreeNodeSaveSpeed2 = new TreeNode("混合机卸料速度");
//treeView.Nodes.Add(childTreeNodeSaveSpeed2);
//TreeNode childTreeNodeSaveTime = new TreeNode("混料运行时间");
//treeView.Nodes.Add(childTreeNodeSaveTime);
dataTable.Columns.Add("车数", typeof(System.String));
dataTable.Columns.Add("格数", typeof(System.String));
dataTable.Columns.Add("记录时间", typeof(System.String));
dataTable.Columns.Add("罐A应配", typeof(decimal));
dataTable.Columns.Add("罐A实配", typeof(decimal));
dataTable.Columns.Add("罐B应配", typeof(decimal));
dataTable.Columns.Add("罐B实配", typeof(decimal));
dataTable.Columns.Add("树脂应配", typeof(decimal));
dataTable.Columns.Add("树脂实配", typeof(decimal));
dataTable.Columns.Add("罐A二次应配", typeof(decimal));
dataTable.Columns.Add("罐A二次实配", typeof(decimal));
dataTable.Columns.Add("罐B二次应配", typeof(decimal));
dataTable.Columns.Add("罐B二次实配", typeof(decimal));
//dataTable.Columns.Add("VCC及GFA卸料速度", typeof(decimal));
dataTable.Columns.Add("混料运行速度", typeof(decimal));
dataTable.Columns.Add("混合机卸料速度", typeof(decimal));
dataTable.Columns.Add("混料运行时间", typeof(decimal));
//dataTable.Columns.Add("系数", typeof(decimal));
//dataTable.Columns.Add("SaveFinishedNum", typeof(System.String));
//dataTable.Columns.Add("Record_Time", typeof(System.String));
//dataTable.Columns.Add("SaveCol", typeof(System.String));
//dataTable.Columns.Add("SaveVCCSet", typeof(decimal));
//dataTable.Columns.Add("SaveVCCAct", typeof(decimal));
//dataTable.Columns.Add("SaveGFASet", typeof(decimal));
//dataTable.Columns.Add("SaveGFAAct", typeof(decimal));
//dataTable.Columns.Add("Save3thSet", typeof(decimal));
//dataTable.Columns.Add("Save3thAct", typeof(decimal));
//dataTable.Columns.Add("SaveFillTime", typeof(decimal));
//dataTable.Columns.Add("SaveSpeed1", typeof(decimal));
//dataTable.Columns.Add("SaveSpeed2", typeof(decimal));
//dataTable.Columns.Add("SaveTime", typeof(decimal));
//dataTable.Columns.Add("SaveLevel", typeof(decimal));
}
catch (Exception ex)
{
}
}
private void BuildTableHead(TreeView treeView, List<Entity.LR_recipe> lR_Recipes)
{
int treeIndex = 0;
TreeNode rootTreeNode = new TreeNode("物料");
treeView.Nodes.Add(rootTreeNode);
TreeNode childTreeNodeSerial_Num = new TreeNode("车次");
TreeNode childTreeNodeWeight_Time = new TreeNode("检量时间");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSerial_Num);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeWeight_Time);
dataTable.Columns.Add("Serial_Num", typeof(System.String));
dataTable.Columns.Add("Weight_Time", typeof(System.String));
decimal sumSet_Weight = 0.0M;
decimal sumSet_Error = 0.0M;
if (lR_Recipes != null && lR_Recipes.Count > 0)
{
//物料表头
for (int i = 0; i < lR_Recipes.Count; i++)
{
sumSet_Weight = sumSet_Weight + (decimal)lR_Recipes[i].Set_Weight;
sumSet_Error = sumSet_Error + (decimal)lR_Recipes[i].Set_Error;
TreeNode rootTreeNodeMaterialName = new TreeNode(lR_Recipes[i].Material_Name);
treeView.Nodes.Add(rootTreeNodeMaterialName);
treeIndex++;
TreeNode childTreeNodeSet_Weight = new TreeNode(lR_Recipes[i].Set_Weight.ToString("0.000"));
TreeNode childTreeNodeSet_Error = new TreeNode(lR_Recipes[i].Set_Error.ToString("0.000"));
TreeNode childTreeNodeWaste_Time = new TreeNode("T(s)");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeWaste_Time);
dataTable.Columns.Add("Set_Weight" + treeIndex.ToString(), typeof(decimal));
dataTable.Columns.Add("Set_Error" + treeIndex.ToString(), typeof(decimal));
dataTable.Columns.Add("Waste_Time" + treeIndex.ToString(), typeof(decimal));
}
//加和重量表头
TreeNode rootTreeNodeSum = new TreeNode("加和重量");
treeView.Nodes.Add(rootTreeNodeSum);
treeIndex++;
TreeNode childTreeNodeSumSet_Weight = new TreeNode(sumSet_Weight.ToString());
TreeNode childTreeNodeSumSet_Error = new TreeNode(sumSet_Error.ToString());
TreeNode childTreeNodesumWaste_Time = new TreeNode("T(s)");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSumSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeSumSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodesumWaste_Time);
dataTable.Columns.Add("SumSet_Weight", typeof(decimal));
dataTable.Columns.Add("SumSet_Error", typeof(decimal));
dataTable.Columns.Add("SumWaste_Time", typeof(decimal));
//检量重量表头
TreeNode rootTreeNodeCheck = new TreeNode("检量重量");
treeView.Nodes.Add(rootTreeNodeCheck);
treeIndex++;
TreeNode childTreeNodeCheckSet_Weight = new TreeNode(sumSet_Weight.ToString());
TreeNode childTreeNodeCheckSet_Error = new TreeNode(sumSet_Error.ToString());
TreeNode childTreeNodeCheckWaste_Time = new TreeNode("T(s)");
TreeNode childTreeNodeCheckNet_Weight = new TreeNode("皮重");
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckSet_Weight);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckSet_Error);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckWaste_Time);
treeView.Nodes[treeIndex].Nodes.Add(childTreeNodeCheckNet_Weight);
dataTable.Columns.Add("CheckSet_Weight", typeof(decimal));
dataTable.Columns.Add("CheckSet_Error", typeof(decimal));
dataTable.Columns.Add("CheckWaste_Time", typeof(decimal));
dataTable.Columns.Add("CheckNet_Weight", typeof(System.String));
}
}
#endregion
#region 数据表填充
private void GHDataTableWrite(List<Entity.RecordSaveDataInfo> RecordSaveDataInfo)
{
try
{
if (RecordSaveDataInfo != null && RecordSaveDataInfo.Count > 0)
{
for (int i = 0; i < RecordSaveDataInfo.Count; i++)
{
DataRow drow = dataTable.NewRow();
drow["车数"] = RecordSaveDataInfo[i].SaveFinishedNum;
drow["格数"] = RecordSaveDataInfo[i].SaveCol;
drow["记录时间"] = RecordSaveDataInfo[i].RecordTime;
drow["罐A应配"] = RecordSaveDataInfo[i].SaveVCCSet;
drow["罐A实配"] = RecordSaveDataInfo[i].SaveVCCAct;
drow["罐B应配"] = RecordSaveDataInfo[i].SaveGFASet;
drow["罐B实配"] = RecordSaveDataInfo[i].SaveGFAAct;
drow["树脂应配"] = RecordSaveDataInfo[i].Save3thSet;
drow["树脂实配"] = RecordSaveDataInfo[i].Save3thAct;
drow["罐A二次应配"] = RecordSaveDataInfo[i].SaveVCC2thSet;
drow["罐A二次实配"] = RecordSaveDataInfo[i].SaveVCC2thAct;
drow["罐B二次应配"] = RecordSaveDataInfo[i].SaveGFA2thSet;
drow["罐B二次实配"] = RecordSaveDataInfo[i].SaveGFA2thAct;
//drow["VCC及GFA卸料速度"] = RecordSaveDataInfo[i].SaveFillTime;
drow["混料运行速度"] = RecordSaveDataInfo[i].SaveSpeed1;
drow["混合机卸料速度"] = RecordSaveDataInfo[i].SaveSpeed2;
drow["混料运行时间"] = RecordSaveDataInfo[i].SaveTime;
//drow["系数"] = RecordSaveDataInfo[i].SaveLevel;
dataTable.Rows.Add(drow);
}
}
}
catch (Exception ex)
{
throw;
}
}
private void DataTableWrite(List<Entity.LR_lot> lR_Lots, List<Entity.LR_recipe> lR_Recipes, List<Entity.LR_weigh> lR_Weighs)
{
if(lR_Lots != null && lR_Lots.Count > 0)
{
for(int i = 0; i < lR_Lots.Count; i++)
{
int sumRealWaste_Time = 0; //加和时间
DataRow drow = dataTable.NewRow();
//车次和检量时间数据填入
drow["Serial_Num"] = lR_Lots[i].Serial_Num;
drow["Weight_Time"] = lR_Lots[i].Prd_date;
//每车物料数据填入
List<Entity.LR_weigh> curWeights = lR_Weighs.FindAll(x => x.Serial_Num == lR_Lots[i].Serial_Num);
if(curWeights != null && curWeights.Count > 0)
{
for(int j = 0;j< curWeights.Count; j++)
{
drow["Set_Weight" + (j + 1).ToString()] = curWeights[j].Real_Weight;
drow["Set_Error" + (j + 1).ToString()] = curWeights[j].Real_Error;
drow["Waste_Time" + (j + 1).ToString()] = curWeights[j].Waste_Time;
sumRealWaste_Time = sumRealWaste_Time + (int)curWeights[j].Waste_Time;
}
}
//加和重量数据填入
drow["SumSet_Weight"] = lR_Lots[i].Real_weight;
drow["SumSet_Error"] = lR_Lots[i].Real_Error;
drow["SumWaste_Time"] = sumRealWaste_Time;
//检量重量数据填入
drow["CheckSet_Weight"] = lR_Lots[i].Real_weight;
drow["CheckSet_Error"] = lR_Lots[i].Real_Error;
drow["CheckWaste_Time"] = lR_Lots[i].Waste_Time;
drow["CheckNet_Weight"] = lR_Lots[i].Net_Weight;
dataTable.Rows.Add(drow);
}
}
}
#endregion
#region DataTable新增最大最小平均合计值行
private void GHDataTableAdd(int mNun)
{
try
{
DataRow drowMax = dataTable.NewRow();
drowMax["记录时间"] = "最大值";
drowMax["罐A应配"] = dataTable.Compute("max(罐A应配)", "");
drowMax["罐A实配"] = dataTable.Compute("max(罐A实配)", "");
drowMax["罐B应配"] = dataTable.Compute("max(罐B应配)", "");
drowMax["罐B实配"] = dataTable.Compute("max(罐B实配)", "");
drowMax["树脂应配"] = dataTable.Compute("max(树脂应配)", "");
drowMax["树脂实配"] = dataTable.Compute("max(树脂实配)", "");
drowMax["罐A二次应配"] = dataTable.Compute("max(罐A二次应配)", "");
drowMax["罐A二次实配"] = dataTable.Compute("max(罐A二次实配)", "");
drowMax["罐B二次应配"] = dataTable.Compute("max(罐B二次应配)", "");
drowMax["罐B二次实配"] = dataTable.Compute("max(罐B二次实配)", "");
//drowMax["VCC及GFA卸料速度"] = dataTable.Compute("max(VCC及GFA卸料速度)", "");
drowMax["混料运行速度"] = dataTable.Compute("max(混料运行速度)", "");
drowMax["混合机卸料速度"] = dataTable.Compute("max(混合机卸料速度)", "");
drowMax["混料运行时间"] = dataTable.Compute("max(混料运行时间)", "");
//drowMax["系数"] = dataTable.Compute("max(系数)", "");
DataRow drowMin = dataTable.NewRow();
drowMin["记录时间"] = "最小值";
drowMin["罐A应配"] = dataTable.Compute("min(罐A应配)", "");
drowMin["罐A实配"] = dataTable.Compute("min(罐A实配)", "");
drowMin["罐B应配"] = dataTable.Compute("min(罐B应配)", "");
drowMin["罐B实配"] = dataTable.Compute("min(罐B实配)", "");
drowMin["树脂应配"] = dataTable.Compute("min(树脂应配)", "");
drowMin["树脂实配"] = dataTable.Compute("min(树脂实配)", "");
drowMin["罐A二次应配"] = dataTable.Compute("min(罐A二次应配)", "");
drowMin["罐A二次实配"] = dataTable.Compute("min(罐A二次实配)", "");
drowMin["罐B二次应配"] = dataTable.Compute("min(罐B二次应配)", "");
drowMin["罐B二次实配"] = dataTable.Compute("min(罐B二次实配)", "");
//drowMin["VCC及GFA卸料速度"] = dataTable.Compute("min(VCC及GFA卸料速度)", "");
drowMin["混料运行速度"] = dataTable.Compute("min(混料运行速度)", "");
drowMin["混合机卸料速度"] = dataTable.Compute("min(混合机卸料速度)", "");
drowMin["混料运行时间"] = dataTable.Compute("min(混料运行时间)", "");
//drowMin["系数"] = dataTable.Compute("min(系数)", "");
DataRow drowAvg = dataTable.NewRow();
drowAvg["记录时间"] = "平均值";
drowAvg["罐A应配"] = dataTable.Compute("avg(罐A应配)", "");
drowAvg["罐A实配"] = dataTable.Compute("avg(罐A实配)", "");
drowAvg["罐B应配"] = dataTable.Compute("avg(罐B应配)", "");
drowAvg["罐B实配"] = dataTable.Compute("avg(罐B实配)", "");
drowAvg["树脂应配"] = dataTable.Compute("avg(树脂应配)", "");
drowAvg["树脂实配"] = dataTable.Compute("avg(树脂实配)", "");
drowAvg["罐A二次应配"] = dataTable.Compute("avg(罐A二次应配)", "");
drowAvg["罐A二次实配"] = dataTable.Compute("avg(罐A二次实配)", "");
drowAvg["罐B二次应配"] = dataTable.Compute("avg(罐B二次应配)", "");
drowAvg["罐B二次实配"] = dataTable.Compute("avg(罐B二次实配)", "");
//drowAvg["VCC及GFA卸料速度"] = dataTable.Compute("avg(VCC及GFA卸料速度)", "");
drowAvg["混料运行速度"] = dataTable.Compute("avg(混料运行速度)", "");
drowAvg["混合机卸料速度"] = dataTable.Compute("avg(混合机卸料速度)", "");
drowAvg["混料运行时间"] = dataTable.Compute("avg(混料运行时间)", "");
//drowAvg["系数"] = dataTable.Compute("avg(系数)", "");
DataRow drowSum = dataTable.NewRow();
drowSum["记录时间"] = "合计";
drowSum["罐A应配"] = dataTable.Compute("sum([罐A应配])", "");
drowSum["罐A实配"] = dataTable.Compute("sum([罐A实配])", "");
drowSum["罐B应配"] = dataTable.Compute("sum([罐B应配])", "");
drowSum["罐B实配"] = dataTable.Compute("sum([罐B实配])", "");
drowSum["树脂应配"] = dataTable.Compute("sum([树脂应配])", "");
drowSum["树脂实配"] = dataTable.Compute("sum([树脂实配])", "");
drowSum["罐A二次应配"] = dataTable.Compute("sum([罐A二次应配])", "");
drowSum["罐A二次实配"] = dataTable.Compute("sum([罐A二次实配])", "");
drowSum["罐B二次应配"] = dataTable.Compute("sum([罐B二次应配])", "");
drowSum["罐B二次实配"] = dataTable.Compute("sum([罐B二次实配])", "");
//drowSum["VCC及GFA卸料速度"] = dataTable.Compute("sum([VCC及GFA卸料速度])", "");
drowSum["混料运行速度"] = dataTable.Compute("sum([混料运行速度])", "");
drowSum["混合机卸料速度"] = dataTable.Compute("sum(混合机卸料速度)", "");
drowSum["混料运行时间"] = dataTable.Compute("sum([混料运行时间])", "");
//drowSum["系数"] = dataTable.Compute("sum([系数])", "");
dataTable.Rows.Add(drowMax);
dataTable.Rows.Add(drowMin);
dataTable.Rows.Add(drowAvg);
dataTable.Rows.Add(drowSum);
}
catch (Exception ex)
{
throw;
}
}
private void DataTableAdd(int mNum)
{
//最大值行
DataRow drowMax = dataTable.NewRow();
drowMax["Weight_Time"] = "最大值";
for (int i = 0; i < mNum; i++)
{
drowMax["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("max(Set_Weight" + (i + 1).ToString() + ")", "");
drowMax["Set_Error" + (i + 1).ToString()] = dataTable.Compute("max(Set_Error" + (i + 1).ToString() + ")", "");
drowMax["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("max(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowMax["SumSet_Weight"] = dataTable.Compute("max(SumSet_Weight)", "");
drowMax["SumSet_Error"] = dataTable.Compute("max(SumSet_Error)", "");
drowMax["SumWaste_Time"] = dataTable.Compute("max(SumWaste_Time)", "");
drowMax["CheckSet_Weight"] = dataTable.Compute("max(CheckSet_Weight)", "");
drowMax["CheckSet_Error"] = dataTable.Compute("max(CheckSet_Error)", "");
drowMax["CheckWaste_Time"] = dataTable.Compute("max(CheckWaste_Time)", "");
//最小值行
DataRow drowMin = dataTable.NewRow();
drowMin["Weight_Time"] = "最小值";
for (int i = 0; i < mNum; i++)
{
drowMin["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("min(Set_Weight" + (i + 1).ToString() + ")", "");
drowMin["Set_Error" + (i + 1).ToString()] = dataTable.Compute("min(Set_Error" + (i + 1).ToString() + ")", "");
drowMin["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("min(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowMin["SumSet_Weight"] = dataTable.Compute("min(SumSet_Weight)", "");
drowMin["SumSet_Error"] = dataTable.Compute("min(SumSet_Error)", "");
drowMin["SumWaste_Time"] = dataTable.Compute("min(SumWaste_Time)", "");
drowMin["CheckSet_Weight"] = dataTable.Compute("min(CheckSet_Weight)", "");
drowMin["CheckSet_Error"] = dataTable.Compute("min(CheckSet_Error)", "");
drowMin["CheckWaste_Time"] = dataTable.Compute("min(CheckWaste_Time)", "");
//平均值行
DataRow drowAvg = dataTable.NewRow();
drowAvg["Weight_Time"] = "平均值";
for (int i = 0; i < mNum; i++)
{
drowAvg["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("avg(Set_Weight" + (i + 1).ToString() + ")", "");
drowAvg["Set_Error" + (i + 1).ToString()] = dataTable.Compute("avg(Set_Error" + (i + 1).ToString() + ")", "");
drowAvg["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("avg(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowAvg["SumSet_Weight"] = dataTable.Compute("avg(SumSet_Weight)", "");
drowAvg["SumSet_Error"] = dataTable.Compute("avg(SumSet_Error)", "");
drowAvg["SumWaste_Time"] = dataTable.Compute("avg(SumWaste_Time)", "");
drowAvg["CheckSet_Weight"] = dataTable.Compute("avg(CheckSet_Weight)", "");
drowAvg["CheckSet_Error"] = dataTable.Compute("avg(CheckSet_Error)", "");
drowAvg["CheckWaste_Time"] = dataTable.Compute("avg(CheckWaste_Time)", "");
//合计
DataRow drowSum = dataTable.NewRow();
drowSum["Weight_Time"] = "合计";
for (int i = 0; i < mNum; i++)
{
drowSum["Set_Weight" + (i + 1).ToString()] = dataTable.Compute("sum(Set_Weight" + (i + 1).ToString() + ")", "");
drowSum["Set_Error" + (i + 1).ToString()] = dataTable.Compute("sum(Set_Error" + (i + 1).ToString() + ")", "");
drowSum["Waste_Time" + (i + 1).ToString()] = dataTable.Compute("sum(Waste_Time" + (i + 1).ToString() + ")", "");
}
drowSum["SumSet_Weight"] = dataTable.Compute("sum(SumSet_Weight)", "");
drowSum["SumSet_Error"] = dataTable.Compute("sum(SumSet_Error)", "");
drowSum["SumWaste_Time"] = dataTable.Compute("sum(SumWaste_Time)", "");
drowSum["CheckSet_Weight"] = dataTable.Compute("sum(CheckSet_Weight)", "");
drowSum["CheckSet_Error"] = dataTable.Compute("sum(CheckSet_Error)", "");
drowSum["CheckWaste_Time"] = dataTable.Compute("sum(CheckWaste_Time)", "");
dataTable.Rows.Add(drowMax);
dataTable.Rows.Add(drowMin);
dataTable.Rows.Add(drowAvg);
dataTable.Rows.Add(drowSum);
}
#endregion
#endregion
}
}

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="utf-8" ?>
<Language>
<add key="0" value=""/>
<add key="1" value="提示"/>
<add key="2" value="信息查询成功,条数为{0}"/>
<add key="3" value="您确认要添加当前信息吗?"/>
<add key="4" value="信息添加成功!"/>
<add key="5" value="您确认要修改当前信息吗?"/>
<add key="6" value="信息修改成功!"/>
<add key="7" value="您确认要删除当前信息吗?"/>
<add key="8" value="信息删除成功!"/>
<add key="9" value="信息加载完成!"/>
<add key="10" value="信息保存完成!"/>
<add key="11" value="重要警告"/>
<add key="12" value="您确定重新加载所有权限?"/>
<add key="13" value="尝试连接本地数据库失败!"/>
<add key="14" value="验证帐号、密码时执行失败!"/>
<add key="15" value="此帐号已经停用,请选择其它帐号。"/>
<add key="16" value="您输入的密码不正确,请重新输入。"/>
<add key="17" value="对不起,您选择的帐号没有权限执行此操作!"/>
<add key="18" value="确定(&amp;O)"/>
<add key="19" value="取消(&amp;C)"/>
<add key="20" value="同步完毕"/>
<add key="30" value="您现在正在进行业务测试..."/>
<add key="31" value="操作失败,操作界面存在验证失败的控件!"/>
<add key="32" value="此系统版本为单机版,不能进行数据同步..."/>
<add key="33" value="连接服务器数据库失败..."/>
<add key="34" value="连接本地数据库失败..."/>
<add key="35" value="从网络导入最新的原材料信息,您确认?" />
<add key="36" value="从网络导入最新的密炼条件信息,您确认?" />
<add key="37" value="从网络导入最新的班次信息,您确认?" />
<add key="38" value="从网络导入最新的班组信息,您确认?" />
<add key="39" value="此系统版本为单机版,不能进行数据更新..."/>
<add key="40" value="您确定要执行此操作吗?"/>
<add key="41" value="操作成功!"/>
<add key="42" value="操作成功,要使设置生效,必须退出后重新打开系统!"/>
<!--生产计划模块 101起始-->
<add key="101" value="计划号:{0} 已完成,不允许接收到本机台!"/>
<add key="102" value="计划号:{0} 正在生产,不允许接收到本机台!"/>
<add key="103" value="计划号:{0} 目前已是第一个计划!"/>
<add key="104" value="计划号:{0} 目前已是最后一个计划!"/>
<add key="105" value="计划号:{0} 已完成,不能上移!"/>
<add key="106" value="计划号:{0} 正在生产,不能上移!"/>
<add key="107" value="计划号:{0} 已完成,不能下移!"/>
<add key="108" value="计划号:{0} 正在生产,不能下移!"/>
<add key="109" value="上一计划{0}已完成,不能上移!"/>
<add key="110" value="上一计划{0}正在生产,不能上移!"/>
<add key="111" value="请选择一条要删除的计划!"/>
<add key="112" value="您确认要删除当前计划(计划号:{0})吗?"/>
<add key="113" value="计划号:{0} 已完成,不能删除!"/>
<add key="114" value="计划号:{0} 正在生产,不能删除!"/>
<add key="115" value="添加新计划"/>
<add key="116" value="修改计划"/>
<add key="117" value="添加(&amp;A)"/>
<add key="118" value="修改(&amp;E)"/>
<add key="119" value="放弃(&amp;C)"/>
<add key="120" value="物料名称:"/>
<add key="121" value="份 数:"/>
<add key="122" value="与网络服务器连接失败,无法添加计划!"/>
<add key="123" value="请选择物料名称!"/>
<add key="124" value="请输入份数!"/>
<add key="125" value="份数只能为整型数字!"/>
<add key="126" value="份数必须大于0!"/>
<add key="127" value="请选择一条要修改的计划!"/>
<add key="128" value="计划号:{0} 已完成,不能修改!"/>
<add key="129" value="计划号:{0} 正在生产,不能修改!"/>
<add key="130" value="输入条码"/>
<add key="131" value="请输入条码:"/>
<add key="132" value="条码不能为空,请输入条码!"/>
<add key="133" value="修改次数"/>
<add key="134" value="当前配方设定次数为:"/>
<add key="135" value="请重新输入设定车次"/>
<add key="136" value="设定车次不能为空,请输入!"/>
<add key="137" value="设定车次必须为数字,请重新输入!"/>
<add key="138" value="计划执行失败!"/>
<!--暂停计划-->
<add key="140" value="本地数据库连接异常,不能终止计划,请在数据库连接正常后再进行“终止”操作。"/>
<add key="141" value="网络数据库连接异常,不能终止计划,请在数据库连接正常后再进行“终止”操作。"/>
<add key="142" value="PLC连接异常不能终止计划请在PLC连接正常后再进行“终止”操作。"/>
<add key="143" value="密炼机内有料,不能暂停计划!"/>
<add key="144" value="请把计划调整到正确的日期和班组后再进行终止!"/>
<add key="145" value="还没有正在执行的计划,无法暂停!"/>
<add key="146" value="当前计划{0}设定{1}车,您确认暂停?"/>
<add key="147" value="终止密炼失败PLC读取失败。"/>
<add key="148" value="终止密炼失败PLC写入失败。"/>
<add key="149" value="终止称量失败PLC读取失败。"/>
<add key="150" value="终止称量失败PLC写入失败。"/>
<add key="151" value="当前计划已经终止,需要运行请重新调整计划!"/>
<!--计划运行方式-->
<add key="155" value="确定要修改计划的运行方式吗?"/>
<add key="156" value="设置成功!"/>
<add key="157" value="设置失败原因未找到对应PlanExecuteType的控件"/>
<add key="158" value="当前计划{0}设定{1}车,您确认要执行吗?"/>
<!--添加计划时筛选配方-->
<add key="159" value="筛选" />
<!--换班时选择班组-->
<add key="160" value="请选择接班班组" />
<!--配方管理模块 201起始-->
<add key="200" value="删除"/>
<add key="201" value="插入"/>
<add key="202" value="上移"/>
<add key="203" value="下移"/>
<add key="210" value="动作"/>
<add key="211" value="物料名称"/>
<add key="212" value="物料代码"/>
<add key="213" value="设定"/>
<add key="214" value="误差"/>
<add key="216" value="密炼"/>
<add key="217" value="条件"/>
<add key="218" value="时间"/>
<add key="219" value="温度"/>
<add key="220" value="功率"/>
<add key="221" value="能量"/>
<add key="222" value="动作"/>
<add key="223" value="压力"/>
<add key="224" value="转速"/>
<add key="226" value="没有找到配方物料"/>
<add key="227" value="没有找到配方信息"/>
<add key="228" value="没有找到配方混炼信息"/>
<add key="229" value="没有找到配方称量信息"/>
<add key="231" value="侧壁温度不能为空且必须大于0"/>
<add key="232" value="卸料门温度不能为空且必须大于0"/>
<add key="233" value="卸料门温度不能为空且必须大于0"/>
<add key="234" value="物料信息不能为空"/>
<add key="235" value="机台信息不能为空"/>
<add key="236" value="配方类型不能为空"/>
<add key="237" value="配方状态不能为空"/>
<add key="238" value="超时排胶时间不能为空且必须大于0"/>
<add key="239" value="紧急排胶温度不能为空且必须大于0"/>
<add key="240" value="超温排胶最短时间不能为空且必须大于0"/>
<add key="241" value="第[{0}]步需要添加混炼动作!"/>
<add key="242" value="混炼第一步转速不能为空"/>
<add key="243" value="混炼第一步压力不能为空"/>
<add key="244" value="必须存在混炼信息"/>
<add key="245" value="第[{0}]步骤必须设置温度"/>
<add key="246" value="第[{0}]步骤设置温度的温度不能大于200"/>
<add key="247" value="第[{0}]步设置了温度,必须增加温度相关条件"/>
<add key="248" value="第[{0}]步为保持,必须设置时间"/>
<add key="249" value="第[{0}]步必须设置功率"/>
<add key="250" value="第[{0}]步设置了功率,必须增加功率相关条件"/>
<add key="251" value="第[{0}]步必须设置能量"/>
<add key="252" value="第[{0}]步设置了能量,必须增加能量相关条件"/>
<add key="253" value="必须存在加胶料的混炼动作"/>
<add key="254" value="必须存在开卸料门的混炼动作"/>
<add key="255" value="必须存在称量信息"/>
<add key="256" value="{0}称量前不允许[卸料]"/>
<add key="257" value="{0}称量动作最后一步动作必须为[卸料]"/>
<add key="258" value=" {0}的[{1}]称量信息中设定重量和允许误差必须大于0"/>
<add key="259" value="称量信息中存在炭黑物料,必须在混炼信息中添加[加炭黑]动作!"/>
<add key="260" value="称量信息中存在油称1信息必须在混炼信息中添加[加油料]动作!"/>
<add key="261" value="称量信息中存在油称2信息必须在混炼信息中添加[加油料2]动作!"/>
<add key="262" value="炭黑加料和卸料不一致"/>
<add key="263" value="油料1加料和卸料不一致"/>
<add key="264" value="油料2加料和卸料不一致"/>
<add key="265" value="数据库连接错误!"/>
<add key="266" value="配方保存成功!"/>
<add key="267" value="保存信息异常!"/>
<add key="268" value="缺少配方编码控件!"/>
<add key="269" value="缺少配方版本控件!"/>
<add key="270" value="更新配方成功!"/>
<add key="271" value="更新配方失败!"/>
<add key="272" value="配方编码为空,不能更新!"/>
<add key="273" value="配方版本为空,不能更新!"/>
<add key="274" value="称量信息中存在粉料信息,必须在混炼信息中添加[加粉料]动作!"/>
<add key="275" value="粉料加料和卸料不一致!"/>
<add key="276" value="确定要删除此配方吗?删除后配方数据不能恢复!" />
<add key="277" value="请先编辑配方,再进行保存!" />
<!--配方另存为对话框begin-->
<add key="278" value="配方另存为..." />
<add key="279" value="配方编码" />
<add key="280" value="配方名称" />
<add key="281" value="请输入配方编码!" />
<add key="282" value="请输入配方名称!" />
<add key="283" value="【配方编码】已存在,请输入一个不存在的配方编码!" />
<add key="284" value="【配方名称】已存在,请输入一个不存在的配方名称!" />
<!--配方另存为对话框end-->
<add key="285" value="配方获取失败,请先选择一个配方!" />
<add key="286" value="配方主信息另存为失败:" />
<add key="287" value="配方密炼信息另存为失败:" />
<add key="288" value="配方称量信息另存为失败:" />
<add key="289" value="配方另存成功!" />
<add key="290" value="【物料编码】已存在,请输入一个不存在的物料编码!" />
<add key="291" value="【物料名称】已存在,请输入一个不存在的物料名称!" />
<!--配方重传对话框-->
<add key="292" value="重传配方" />
<add key="293" value="当前配方" />
<add key="294" value="重传" />
<add key="295" value="从网络现在所有配方数据失败!" />
<!--配方查询放大器-->
<add key="296" value="配方查询放大器" />
<add key="297" value="筛选条件" />
<!--报表-->
<add key="301" value="查询完成!"/>
<add key="302" value="没有符合条件的数据!" />
<add key="303" value="当前没有明细!" />
<add key="304" value="请选择一条明细数据!"/>
<!--补充-->
<add key="305" value="胶料类型"/>
<!--一次法-->
<add key="500" value="此系统版本为单机版,不能从网络库下载一次法配方数据..." />
</Language>

@ -0,0 +1,93 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<!--
<Path path="PLC管理/PLC管理">
<Action action="D4D8BD5B968B42BB813A9618EC0A2EF2">
<Caption>配方暂停</Caption>
<Remark>向配方暂定标志中写入1</Remark>
</Action>
</Path>
-->
<Path path="PLC管理/PLC管理">
<Action action="686AB861B69047EF8211C4C69940F2D9" auto="false">
<Caption>实时记录保存</Caption>
<Remark>实时记录保存</Remark>
</Action>
</Path>
<Path path="PLC管理/数据存盘">
<Action action="FDEA18A5814D455993CEE6CE44AB7BCE" auto="false">
<Caption>数据存盘</Caption>
<Remark>数据存盘</Remark>
</Action>
</Path>
<Path path="PLC管理/PLC管理">
<Action action="9B6BF2082B73438790E7DD6C4680955E">
<Caption>数据库写入PLC</Caption>
<Remark>数据库写入PLC</Remark>
</Action>
</Path>
<Path path="PLC管理/PLC管理">
<Action action="373F1D28DD42408B90A066CB06115640">
<Caption>文本框写入PLC</Caption>
<Remark>文本框写入PLC</Remark>
</Action>
</Path>
<!-- 与上一条重复
<Path path="PLC管理/PLC管理">
<Action action="C443788C0BEE4530A05ADAB95E8D7BD9">
<Caption>文本框写入PLC</Caption>
<Remark>文本框写入PLC</Remark>
</Action>
</Path>
-->
<Path path="PLC管理/物料称量参数">
<Action action="AE800A5432054528A3484DF412A31730">
<Caption>称量参数下载</Caption>
<Remark>称量参数下载</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--
<Design action="D4D8BD5B968B42BB813A9618EC0A2EF2">
<Runtime action="F197576B1FC94240873196871B8A3FC0"/>
</Design>
-->
<Design action="686AB861B69047EF8211C4C69940F2D9">
<Runtime action="1FFB94CD653D46CA99ECAC71DAC45CCA"/>
</Design>
<!--无此设计时
<Design action="99B57AA34A214CCE98CCBB369E30B714">
<Runtime action="42CE09EFFCB141C79B139D777A40BC29"/>
</Design>
-->
<Design action="9B6BF2082B73438790E7DD6C4680955E">
<Runtime action="5A4556873F8D430DAF2C7A4BAD4C5B96"/>
</Design>
<Design action="373F1D28DD42408B90A066CB06115640">
<Runtime action="7205C92F44FC490EAD4961F696368D1A"/>
</Design>
<Design action="FDEA18A5814D455993CEE6CE44AB7BCE">
<Runtime action="3C28DB9BA31F45289DA1881B110BE2C5"/>
</Design>
<Design action="AE800A5432054528A3484DF412A31730">
<Runtime action="BE745D151A8C4C8AB6D2860A933B304A"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<!-- <Action action="F197576B1FC94240873196871B8A3FC0" class="Mesnac.Action.Feeding.Technology.WritePLC"/> --><!--无此文件!-->
<!-- <Action action="42CE09EFFCB141C79B139D777A40BC29" class="Mesnac.Action.Feeding.Technology.TestRecipeSave"/>-->
<Action action="5A4556873F8D430DAF2C7A4BAD4C5B96" class="Mesnac.Action.Feeding.FeedingPlc.DatabaseToPlc"/>
<Action action="7205C92F44FC490EAD4961F696368D1A" class="Mesnac.Action.Feeding.FeedingPlc.TextToPlc"/>
<Action action="3C28DB9BA31F45289DA1881B110BE2C5" class="Mesnac.Action.Feeding.FinishBatch.OnFinishBatch"/>
<Action action="BE745D151A8C4C8AB6D2860A933B304A" class="Mesnac.Action.Feeding.FeedingPlc.WeightPara"/>
</Import>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="1FFB94CD653D46CA99ECAC71DAC45CCA" class="Mesnac.Action.Default.SynchroData.EquipAutoSaveData"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,49 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="测试">
<Action action="3AF2FD2A3D8046E1A74BAAEEF8108CBC">
<Caption>业务测试</Caption>
<Remark>业务测试</Remark>
</Action>
<Action action="6DE8DC87FD7142C284A940C54E1AEB33">
<Caption>上辅机业务测试</Caption>
<Remark>上辅机业务测试</Remark>
</Action>
<Action action="BFF212917E7643B3879716619C06C869">
<Caption>胶料称变量测试</Caption>
<Remark>胶料称监控画面变量测试</Remark>
</Action>
<Action action="BFF212917E7643B3879716619C06C880">
<Caption>浮点数写入测试</Caption>
<Remark>浮点数写入测试</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="3AF2FD2A3D8046E1A74BAAEEF8108CBC">
<Runtime action="4EF541839A5D489D93A871F4CBFEC9DA"/>
</Design>
<Design action="6DE8DC87FD7142C284A940C54E1AEB33">
<Runtime action="CCEAB5FAD4E34EB5B6C457BC4351E843"/>
</Design>
<Design action="BFF212917E7643B3879716619C06C869">
<Runtime action="9C6A82E659E842A4A006965C1AB8D966"/>
</Design>
<Design action="BFF212917E7643B3879716619C06C880">
<Runtime action="9C6A82E659E842A4A006965C1AB8D980"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="4EF541839A5D489D93A871F4CBFEC9DA" class="Mesnac.Action.Default.Test.TestAction"/>
</Import>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="CCEAB5FAD4E34EB5B6C457BC4351E843" class="Mesnac.Action.Feeding.Sys.TestFeedingAction"/>
<Action action="9C6A82E659E842A4A006965C1AB8D966" class="Mesnac.Action.Feeding.ProducingPlan.TestAction"/>
<Action action="9C6A82E659E842A4A006965C1AB8D980" class="Mesnac.Action.Feeding.Test.TestPlcWriteFloatAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="基础数据维护/报警参数维护">
<Action action="72DDE30691614B3E9DE30D10C366FEA8">
<Caption>导入报警参数</Caption>
<Remark>从老版本上辅机SCHEME.INI文件导入AlarmName信息至Pmt_AlarmInfo表</Remark>
</Action>
</Path>
<Path path="基础数据维护/密炼条件维护">
<Action action="405A81A83BBE481EB5BFA55BC400DDF0">
<Caption>密炼条件同步</Caption>
<Remark>同步网络数据库的密炼条件数据</Remark>
</Action>
</Path>
<Path path="基础数据维护/班次班组维护">
<Action action="F903052E06464D898AF5606B18C04ABD">
<Caption>同步班次</Caption>
<Remark>从网络同步班次数据</Remark>
</Action>
<Action action="09133DDA0DE546A3B35B9513747FCBFC">
<Caption>同步班组</Caption>
<Remark>从网络同步班组数据</Remark>
</Action>
</Path>
<Path path="基础数据维护/原材料维护">
<Action action="298FA02AAF4C439B903F89B05DBBE56F">
<Caption>添加</Caption>
<Remark>添加原材料数据</Remark>
</Action>
<Action action="56FEFE29679B43A389FFCFD777728B0F">
<Caption>原材料同步</Caption>
<Remark>同步网络数据库的原材料数据</Remark>
</Action>
<Action action="E4D341E6AE554759AB13373CC8FA64D8">
<Caption>选择罐类别</Caption>
<Remark>选择罐类别</Remark>
</Action>
<Action action="E4D341E6AE554759AB13373CC8FA6466">
<Caption>日罐选择罐类别</Caption>
<Remark>日罐选择罐类别</Remark>
</Action>
<Action action="E4D341E6AE554759AB13373CC8FA64D2">
<Caption>罐参数选择罐号</Caption>
<Remark>罐参数选择罐号</Remark>
</Action>
</Path>
<Path path="基础数据维护/日罐物料参数维护">
<Action action="7397A2FB332A4F78A1656F503F289E5D">
<Caption>同步日罐设置</Caption>
<Remark>从网络同步日罐物料参数设置</Remark>
</Action>
<Action action="80AF31E91930472ABBB1447ADA085A3A">
<Caption>添加</Caption>
<Remark>添加日罐信息</Remark>
</Action>
<Action action="7051301346EF42468C03A050AA0870D4">
<Caption>修改</Caption>
<Remark>修改日罐信息</Remark>
</Action>
<!--
<Action action="0C2B6077928345B98697B739D752C17E">
<Caption>更新日罐物料参数</Caption>
<Remark>从网络更新日罐物料参数</Remark>
</Action>-->
</Path>
<Path path="基础数据维护/称量物料参数维护">
<Action action="27C3B680BC914DD6B887D8954A1FDA4F">
<Caption>添加</Caption>
<Remark>添加称量物料参数数据</Remark>
</Action>
<Action action="4D0D3F1D65F4410CB19659E203D9BC0E">
<Caption>修改</Caption>
<Remark>修改称量物料参数数据</Remark>
</Action>
<Action action="DF20C1A40BE64B7A9FD09D575E3D24BE">
<Caption>从PLC获取称量物料参数</Caption>
<Remark>从PLC获取称量物料参数</Remark>
</Action>
</Path>
<Path path="基础数据维护/配方维护">
<Action action="F3BCB706DD81491C925F4FE398B8D6F0">
<Caption>同步配方类型</Caption>
<Remark>从网络库同步配方类型数据</Remark>
</Action>
<Action action="F9DFF0E478D24A5EACF0E782A0C2317D">
<Caption>下载所有配方</Caption>
<Remark>从网络库下载本机台所有配方数据</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--报警参数同步-->
<Design action="72DDE30691614B3E9DE30D10C366FEA8">
<Runtime action="056BC7D564B2489991E6BCBE6BC59560"/>
</Design>
<!--密炼条件同步-->
<Design action="405A81A83BBE481EB5BFA55BC400DDF0">
<Runtime action="F4008A2725A54DE5A4C3DADB11654EF8"/>
</Design>
<!--同步班次-->
<Design action="F903052E06464D898AF5606B18C04ABD">
<Runtime action="5738F23EE56542E6937DAA44E5121CC0"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
<!--同步班组-->
<Design action="09133DDA0DE546A3B35B9513747FCBFC">
<Runtime action="CC45A4CD50D54FDCAEE16F02A4C3DE2E"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
<!--原材料-添加-->
<Design action="298FA02AAF4C439B903F89B05DBBE56F">
<Runtime action="6C2454557A164F87A1051A7BD2DDEAD4"/>
<!--以下是单表添加-->
<Runtime action="1942F1734E274046BBA560E773432C57"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="7A1A74C2B7A24E4CBCB6FEC66381CDF7"/>
</Design>
<!--原材料同步-->
<Design action="56FEFE29679B43A389FFCFD777728B0F">
<Runtime action="5CED3AE2C38147E69AB91F720ED1C989"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
<!--日罐物料参数-添加-->
<Design action="80AF31E91930472ABBB1447ADA085A3A">
<Runtime action="4561046D1B234B9FB529E6B4CEFF822E"/>
<!--以下是单表添加-->
<Runtime action="1942F1734E274046BBA560E773432C57"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="7A1A74C2B7A24E4CBCB6FEC66381CDF7"/>
</Design>
<!--日罐物料参数-修改-->
<Design action="7051301346EF42468C03A050AA0870D4">
<Runtime action="BDAFE82B35A9498E9F74CF728F28F15F"/>
<!--以下是单表修改-->
<Runtime action="F76269B481B24C7AAC24283C1BDC1476"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="36C9248482B4430D9C1F5B8043A3A83F"/>
</Design>
<!--同步日罐设置-->
<Design action="7397A2FB332A4F78A1656F503F289E5D">
<Runtime action="7759ECD5D467432D8625560029A2F2BC"/><!--同步日罐数据-->
<Runtime action="224C0BB2EBB84EEDB66DCB638D166CBB"/><!--从PLC读取称量物料参数-->
<Runtime action="5C4594487EC14F349903B3996E767846"/><!--查询-->
</Design>
<!--更新日罐物料参数-->
<!--
<Design action="0C2B6077928345B98697B739D752C17E">
<Runtime action="EF65D25B745F4D7D922A31846BFB4D9F"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
-->
<!--选择罐类别-->
<Design action="E4D341E6AE554759AB13373CC8FA64D8">
<Runtime action="6FCCF362E398492D907C232459D8A8D5"/>
</Design>
<!--日罐选择罐类别-->
<Design action="E4D341E6AE554759AB13373CC8FA6466">
<Runtime action="6FCCF362E398492D907C232459D8A866"/>
</Design>
<!--罐参数选择罐号-->
<Design action="E4D341E6AE554759AB13373CC8FA64D2">
<Runtime action="6FCCF362E398492D907C232459D8A8D2"/>
</Design>
<!--称量物料参数-添加-->
<Design action="27C3B680BC914DD6B887D8954A1FDA4F">
<Runtime action="7C285375D51C4003B48993EC46677BBB"/>
<!--以下是单表添加-->
<Runtime action="1942F1734E274046BBA560E773432C57"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="7A1A74C2B7A24E4CBCB6FEC66381CDF7"/>
</Design>
<!--称量物料参数-修改-->
<Design action="4D0D3F1D65F4410CB19659E203D9BC0E">
<Runtime action="BDAFE82B35A9498E9F74CF728F28F15F"/>
<!--以下是单表修改-->
<Runtime action="F76269B481B24C7AAC24283C1BDC1476"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="36C9248482B4430D9C1F5B8043A3A83F"/>
</Design>
<!--称量物料参数-从PLC获取-->
<Design action="DF20C1A40BE64B7A9FD09D575E3D24BE">
<Runtime action="224C0BB2EBB84EEDB66DCB638D166CBB"/>
<!--以下是单表查询-->
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
<!--同步配方类型-->
<Design action="F3BCB706DD81491C925F4FE398B8D6F0">
<Runtime action="A0861743D1A4488DBA89A1377AE3B5FE"/>
</Design>
<!--下载所有配方-->
<Design action="F9DFF0E478D24A5EACF0E782A0C2317D">
<Runtime action="E63C4ED094E04707897202EC955AC198"/><!--缓存当前配方号-->
<Runtime action="788312C144A442C68EC09F85B3124DF7"/>
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE 1=1"/>
<Runtime action="A264BCCCCE1A46A4B80B5B19A5FA1C90"/><!--把缓存的配方号设置为当前配方-->
<Runtime action="6F9D2E14BD624BFCA03B37A56B5C1413"/><!--选择当前配方-->
<!--<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/>--><!--单表Select-->
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="056BC7D564B2489991E6BCBE6BC59560" class="Mesnac.Action.Feeding.SynchroData.AlarmInfoSynchronous"/>
<Action action="F4008A2725A54DE5A4C3DADB11654EF8" class="Mesnac.Action.Feeding.SynchroData.TermSynchronous"/>
<Action action="5738F23EE56542E6937DAA44E5121CC0" class="Mesnac.Action.Feeding.SynchroData.ShiftSynchronous"/>
<Action action="CC45A4CD50D54FDCAEE16F02A4C3DE2E" class="Mesnac.Action.Feeding.SynchroData.ClassSynchronous"/>
<Action action="5CED3AE2C38147E69AB91F720ED1C989" class="Mesnac.Action.Feeding.SynchroData.MaterialSynchronous"/>
<Action action="7759ECD5D467432D8625560029A2F2BC" class="Mesnac.Action.Feeding.SynchroData.SytJarSynchronous"/>
<Action action="EF65D25B745F4D7D922A31846BFB4D9F" class="Mesnac.Action.Feeding.SynchroData.UpdateJarMaterNameFromNet"/>
<Action action="6FCCF362E398492D907C232459D8A8D5" class="Mesnac.Action.Feeding.FeedingPlc.SelectedType"/>
<Action action="6FCCF362E398492D907C232459D8A866" class="Mesnac.Action.Feeding.FeedingPlc.SelectedType1"/>
<Action action="6FCCF362E398492D907C232459D8A8D2" class="Mesnac.Action.Feeding.FeedingPlc.SelectedJarNo"/>
<Action action="6C2454557A164F87A1051A7BD2DDEAD4" class="Mesnac.Action.Feeding.Verification.MaterialValidateAction"/>
<Action action="4561046D1B234B9FB529E6B4CEFF822E" class="Mesnac.Action.Feeding.Verification.SytJarValidateAction"/>
<Action action="7C285375D51C4003B48993EC46677BBB" class="Mesnac.Action.Feeding.Verification.WeightParamValidateAction"/>
<Action action="BDAFE82B35A9498E9F74CF728F28F15F" class="Mesnac.Action.Feeding.Verification.SytJarUpdateValidateAction"/>
<Action action="A0861743D1A4488DBA89A1377AE3B5FE" class="Mesnac.Action.Feeding.SynchroData.PmtTypeSynchronous"/>
<Action action="788312C144A442C68EC09F85B3124DF7" class="Mesnac.Action.Feeding.SynchroData.RecipeDataSynchronous"/>
<Action action="224C0BB2EBB84EEDB66DCB638D166CBB" class="Mesnac.Action.Feeding.FeedingPlc.GetWeightParaAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="基础数据维护/物料细类">
<Action action="74D334592B254FDFB34E78889CB4FCA0">
<Caption>窗体初始化</Caption>
<Remark>窗体初始化</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--报警参数同步-->
<Design action="74D334592B254FDFB34E78889CB4FCA0">
<Runtime action="864FD4908ECE47308D6605B9D76AEBD8"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="864FD4908ECE47308D6605B9D76AEBD8" class="Mesnac.Action.Feeding.Basic.BasIkind.InitFormAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,114 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="基础界面/单表界面">
<Action action="DBFCA530635C476CB681C5DE4BB367A1">
<Caption>界面初始化</Caption>
<Remark>界面初始化</Remark>
</Action>
<Action action="8D25ED7CBA574DB3AC420685312DAB9E">
<Caption>添加</Caption>
<Remark>添加信息</Remark>
</Action>
<Action action="58FA0BA53F864AE8880040CEAA3C6471">
<Caption>删除</Caption>
<Remark>删除选中的信息</Remark>
</Action>
<Action action="2C9BF2E5DBFE4E32B44E102189802BBB">
<Caption>修改</Caption>
<Remark>配方管理中的条件信息查询</Remark>
</Action>
<Action action="CB8B62D709154D13914F39BFA425A23C">
<Caption>查询</Caption>
<Remark>配方管理中的条件信息查询</Remark>
</Action>
<Action action="621685B8B8A640CE882035C7D5747382">
<Caption>清空界面</Caption>
<Remark>选择表格中的行</Remark>
</Action>
<Action action="2C47F20A8B7C4659B0C1D664471DB345">
<Caption>选择行</Caption>
<Remark>选择表格中的行</Remark>
</Action>
<Action action="AC10E82EFE6D46F6907A1856FCEC17F9">
<Caption>上一行</Caption>
<Remark>选择表格中的行</Remark>
</Action>
<Action action="877B262A6BA34ED7A67F3A29BB226B20">
<Caption>下一行</Caption>
<Remark>选择表格中的行</Remark>
</Action>
<Action action="F5311D3581A24FAAADDC2A766071BEF5">
<Caption>第一行</Caption>
<Remark>选择表格中的行</Remark>
</Action>
<Action action="402F2CA5D75F4CD69FCF78B69E352F78">
<Caption>最后一行</Caption>
<Remark>选择表格中的行</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="DBFCA530635C476CB681C5DE4BB367A1">
<Runtime action="D583AE252A2F4739BB33365899FDC9A5"/>
</Design>
<Design action="8D25ED7CBA574DB3AC420685312DAB9E">
<Runtime action="1942F1734E274046BBA560E773432C57"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="7A1A74C2B7A24E4CBCB6FEC66381CDF7"/>
</Design>
<Design action="58FA0BA53F864AE8880040CEAA3C6471">
<Runtime action="D5C76AEA0E7243CE9DF395A58D518BF1"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="36C9248482B4430D9C1F5B8043A3A83F"/>
</Design>
<Design action="2C9BF2E5DBFE4E32B44E102189802BBB">
<Runtime action="F76269B481B24C7AAC24283C1BDC1476"/>
<Runtime action="5C4594487EC14F349903B3996E767846"/>
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
<Runtime action="36C9248482B4430D9C1F5B8043A3A83F"/>
</Design>
<Design action="CB8B62D709154D13914F39BFA425A23C">
<Runtime action="5C4594487EC14F349903B3996E767846"/>
</Design>
<Design action="621685B8B8A640CE882035C7D5747382">
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>
</Design>
<Design action="2C47F20A8B7C4659B0C1D664471DB345">
<Runtime action="36C9248482B4430D9C1F5B8043A3A83F"/>
</Design>
<Design action="AC10E82EFE6D46F6907A1856FCEC17F9">
<Runtime action="EAA1680FFDCD4ABD8E43C4E4BB30BBD9"/>
</Design>
<Design action="877B262A6BA34ED7A67F3A29BB226B20">
<Runtime action="206A6E149A2A4C05A1E9314D19F8CDE3"/>
</Design>
<Design action="F5311D3581A24FAAADDC2A766071BEF5">
<Runtime action="5D07C4FBB8B44C068FC17392AC175A07"/>
</Design>
<Design action="402F2CA5D75F4CD69FCF78B69E352F78">
<Runtime action="7A1A74C2B7A24E4CBCB6FEC66381CDF7"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="D583AE252A2F4739BB33365899FDC9A5" class="Mesnac.Action.Default.SynchroData.IniForm"/>
<Action action="1942F1734E274046BBA560E773432C57" class="Mesnac.Action.Default.SynchroData.Insert"/>
<Action action="D5C76AEA0E7243CE9DF395A58D518BF1" class="Mesnac.Action.Default.SynchroData.Delete"/>
<Action action="F76269B481B24C7AAC24283C1BDC1476" class="Mesnac.Action.Default.SynchroData.Update"/>
<Action action="5C4594487EC14F349903B3996E767846" class="Mesnac.Action.Default.SynchroData.Select"/>
<Action action="842B6C9F69CF41BFB0CCFC4D45FAC80A" class="Mesnac.Action.Default.SynchroData.ClearForm"/>
<Action action="36C9248482B4430D9C1F5B8043A3A83F" class="Mesnac.Action.Default.SynchroData.SelectRow"/>
<Action action="206A6E149A2A4C05A1E9314D19F8CDE3" class="Mesnac.Action.Default.SynchroData.NextRow"/>
<Action action="EAA1680FFDCD4ABD8E43C4E4BB30BBD9" class="Mesnac.Action.Default.SynchroData.PreRow"/>
<Action action="5D07C4FBB8B44C068FC17392AC175A07" class="Mesnac.Action.Default.SynchroData.FirstRow"/>
<Action action="7A1A74C2B7A24E4CBCB6FEC66381CDF7" class="Mesnac.Action.Default.SynchroData.LastRow"/>
<Action action="E53B211B00DD43B9BA4CE103C603CEAD" class="Mesnac.Action.Default.SynchroData.LastTimeRow"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="系统工具">
<Action action="57095C9A34B2452CB5C7FD0A8C2F3D6C">
<Caption>工艺回溯</Caption>
<Remark>工艺回溯</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--工艺回溯-->
<Design action="57095C9A34B2452CB5C7FD0A8C2F3D6C">
<Runtime action="EC520703EBFD407FBBC7CB22562EE5E4"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="EC520703EBFD407FBBC7CB22562EE5E4" class="Mesnac.Action.Feeding.Sys.BackViewAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,182 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="工艺配方/配方管理">
<Action action="F6F5C70F7B7E4BB389F52D4A274605C6">
<Caption>加载</Caption>
<Remark>初始化信息</Remark>
</Action>
<Action action="27EEB8E9134C42DF988DCC50B1963A48">
<Caption>新建</Caption>
<Remark>新建</Remark>
</Action>
<Action action="9376216C849A4975A498749AF6F724E1">
<Caption>编辑</Caption>
<Remark>编辑(配方输入项进入到编辑状态)</Remark>
</Action>
<Action action="1C1C45908C0648A8AB260C09337B8C97">
<Caption>只读</Caption>
<Remark>只读(禁用配方输入项)</Remark>
</Action>
<Action action="B9705361A1CA4453B128E5D74A857341">
<Caption>保存</Caption>
<Remark>保存正在编辑的配方</Remark>
</Action>
<Action action="F7CE673683834B7E89AA0787D31AF714">
<Caption>配方另存</Caption>
<Remark>当前配方另存</Remark>
</Action>
<Action action="3CF7F4BDA9E541C5956BD4BA622FCA3C">
<Caption>删除</Caption>
<Remark>删除当前选中的配方</Remark>
</Action>
<Action action="8137BDE47A604F868B6E2AE35B5653FA">
<Caption>选择配方</Caption>
<Remark>查询选择配方</Remark>
</Action>
<Action action="FD75CA6EC3A9441E81BE39FF5A0061CC">
<Caption>全部配方</Caption>
<Remark>查询全部配方</Remark>
</Action>
<Action action="3BB5705FE6AD4BACB785AB878D0D9B39">
<Caption>正用配方</Caption>
<Remark>查询正用配方</Remark>
</Action>
<Action action="57DB62D6C7E3427883A1A1BCB31CC8D1">
<Caption>停用配方</Caption>
<Remark>查询停用配方</Remark>
</Action>
<Action action="9C479AA8C8E444A6B62B6FE93E4A335B">
<Caption>作废配方</Caption>
<Remark>查询作废配方</Remark>
</Action>
<Action action="C002CA520A424F78A88BF6BF5409975C">
<Caption>配方查询放大器</Caption>
<Remark>配方查询放大器</Remark>
</Action>
<Action action="2F52763F10CA483CB157E332978E93FB">
<Caption>更新配方</Caption>
<Remark>从网络更新当前配方</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--加载-->
<Design action="F6F5C70F7B7E4BB389F52D4A274605C6">
<Runtime action="1E0075C630834DFA95527CBAB5605BB6"/>
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="D583AE252A2F4739BB33365899FDC9A5"/><!--单表InitForm-->
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
<Runtime action="16E0ED2AEFFA4C6BBB149F2F1629FE4D" /> <!--选择当前配方数据-->
</Design>
<!--新建-->
<Design action="27EEB8E9134C42DF988DCC50B1963A48">
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="434F628EA0E24F0FAEB365F7522508DC"/>
</Design>
<!--编辑-->
<Design action="9376216C849A4975A498749AF6F724E1">
<Runtime action="434F628EA0E24F0FAEB365F7522508DC"/>
</Design>
<!--只读-->
<Design action="1C1C45908C0648A8AB260C09337B8C97">
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--保存-->
<Design action="B9705361A1CA4453B128E5D74A857341">
<Runtime action="1DDF408A3ECB4F41BC00340DE473097F"/>
<!--<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/>--><!--单表Select-->
<!--<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/>--><!--单表ClearForm-->
<!--<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>-->
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
<!--<Runtime action="16E0ED2AEFFA4C6BBB149F2F1629FE4D" />--><!--选择当前配方数据-->
</Design>
<!--配方另存-->
<Design action="F7CE673683834B7E89AA0787D31AF714">
<Runtime action="ADE6AB11FA164527956520B0CC95596F"/>
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE 1=1 order by ShowName"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--删除-->
<Design action="3CF7F4BDA9E541C5956BD4BA622FCA3C">
<Runtime action="8C91EC87E90F489BABED32C619634CC7"/>
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE 1=1 order by ShowName"/>
<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/><!--单表Select-->
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--选择配方-->
<Design action="8137BDE47A604F868B6E2AE35B5653FA">
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="6F9D2E14BD624BFCA03B37A56B5C1413"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--全部配方-->
<Design action="FD75CA6EC3A9441E81BE39FF5A0061CC">
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE 1=1 order by ShowName"/>
<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/><!--单表Select-->
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--正用配方-->
<Design action="3BB5705FE6AD4BACB785AB878D0D9B39">
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE recipe_state=1 order by ShowName"/>
<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/><!--单表Select-->
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--停用配方-->
<Design action="57DB62D6C7E3427883A1A1BCB31CC8D1">
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE recipe_state=0 order by ShowName"/>
<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/><!--单表Select-->
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--作废配方-->
<Design action="9C479AA8C8E444A6B62B6FE93E4A335B">
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE recipe_state=2 order by ShowName"/>
<Runtime action="5C4594487EC14F349903B3996E767846" parameters="1"/><!--单表Select-->
<Runtime action="842B6C9F69CF41BFB0CCFC4D45FAC80A"/><!--单表ClearForm-->
<Runtime action="B9B5D520221B4B83AD389DC3A39BFFFC"/>
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
<!--配方查询放大器-->
<Design action="C002CA520A424F78A88BF6BF5409975C">
<Runtime action="52DC8E311C584E36BC0C47AD6489704E"/>
</Design>
<!--更新配方-->
<Design action="2F52763F10CA483CB157E332978E93FB">
<Runtime action="E63C4ED094E04707897202EC955AC198"/><!--缓存当前配方号-->
<Runtime action="33C79783ABAF489C87E304287AE6BB10"/>
<Runtime action="3F2F40BB38C440FE998740CB31ED6369" parameters="SELECT '' AS ObjID,'---请选择---' AS ShowName UNION ALL SELECT CONVERT(VARCHAR(100),ObjID) AS ObjID,rtrim(mater_name)+'('+substring(rtrim(isnull(recipe_code,'')),7,2)+')'+'['+rtrim(mater_code)+']' AS ShowName FROM pmt_recipe WHERE 1=1 order by ShowName"/>
<Runtime action="A264BCCCCE1A46A4B80B5B19A5FA1C90"/><!--把缓存的配方号设置为当前配方-->
<Runtime action="6F9D2E14BD624BFCA03B37A56B5C1413"/><!--选择当前配方-->
<Runtime action="BEE04885352143DCA6CB55624D0BA798"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="1E0075C630834DFA95527CBAB5605BB6" class="Mesnac.Action.Feeding.Technology.IniRecipe"/>
<Action action="B9B5D520221B4B83AD389DC3A39BFFFC" class="Mesnac.Action.Feeding.Technology.NewRecipe"/>
<Action action="1DDF408A3ECB4F41BC00340DE473097F" class="Mesnac.Action.Feeding.Technology.SaveRecipe"/>
<Action action="ADE6AB11FA164527956520B0CC95596F" class="Mesnac.Action.Feeding.Technology.RecipeSaveAs"/>
<Action action="8C91EC87E90F489BABED32C619634CC7" class="Mesnac.Action.Feeding.Technology.DeleteRecipe"/>
<Action action="6F9D2E14BD624BFCA03B37A56B5C1413" class="Mesnac.Action.Feeding.Technology.SelectedRecipe"/>
<Action action="BEE04885352143DCA6CB55624D0BA798" class="Mesnac.Action.Feeding.Technology.ReadOnlyRecipe"/>
<Action action="434F628EA0E24F0FAEB365F7522508DC" class="Mesnac.Action.Feeding.Technology.EditRecipe"/>
<Action action="3F2F40BB38C440FE998740CB31ED6369" class="Mesnac.Action.Feeding.Technology.SetSelectRecipeSql"/>
<Action action="52DC8E311C584E36BC0C47AD6489704E" class="Mesnac.Action.Feeding.Technology.RecipeFinderAction"/>
<Action action="33C79783ABAF489C87E304287AE6BB10" class="Mesnac.Action.Feeding.Technology.UpdateRecipe"/>
<Action action="16E0ED2AEFFA4C6BBB149F2F1629FE4D" class="Mesnac.Action.Feeding.Technology.InitCurrentRecipeData"/>
<Action action="E63C4ED094E04707897202EC955AC198" class="Mesnac.Action.Feeding.Technology.RecipeObjIdCacheAction"/>
<Action action="A264BCCCCE1A46A4B80B5B19A5FA1C90" class="Mesnac.Action.Feeding.Technology.SetRecipeObjIdFromCacheAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,49 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="报表/批报表">
<Action action="1ACD0520950E4F949A95C0257D72E517">
<Caption>窗体初始化</Caption>
<Remark>车报表查询条件初始化</Remark>
</Action>
<Action action="87CC188674AC4BA6B96198CB0FF1A64F">
<Caption>查询</Caption>
<Remark>车报表查询</Remark>
</Action>
<Action action="129EAEBDD93D4FEF881DD9BDCB027341">
<Caption>显示明细</Caption>
<Remark>显示明细</Remark>
</Action>
<Action action="915D421CB95946ECB9FF2B0B9646DC21">
<Caption>显示重量明细信息</Caption>
<Remark>显示重量明细信息</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--窗体初始化-->
<Design action="1ACD0520950E4F949A95C0257D72E517">
<Runtime action="0736AE86379547B8BC7962BA89A8D365"/>
<Runtime action="2807A50EA361431CACE834002488AA92"/> <!--刷新配方列表-->
</Design>
<Design action="87CC188674AC4BA6B96198CB0FF1A64F">
<Runtime action="9021DF70E5084287A8A0DBEEE77C3C3B"/>
</Design>
<Design action="129EAEBDD93D4FEF881DD9BDCB027341">
<Runtime action="564F13EF2E5E43F9A42CB4CC54FC99E9"/>
</Design>
<Design action="915D421CB95946ECB9FF2B0B9646DC21">
<Runtime action="C470EDE1D94C440CA25CDF8888F757CE"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="0736AE86379547B8BC7962BA89A8D365" class="Mesnac.Action.Feeding.Report.PlanLotReportLoad"/>
<Action action="9021DF70E5084287A8A0DBEEE77C3C3B" class="Mesnac.Action.Feeding.Report.PlanLotReportSelect"/>
<Action action="564F13EF2E5E43F9A42CB4CC54FC99E9" class="Mesnac.Action.Feeding.Report.PlanLotReportDetail"/>
<Action action="C470EDE1D94C440CA25CDF8888F757CE" class="Mesnac.Action.Feeding.Report.PlanLotFastReport"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="报表/报表设计">
<Action action="30CD00844F5B424F9463216FDF519608">
<Caption>设计器初始化</Caption>
<Remark>设计器初始化</Remark>
</Action>
<Action action="5EC2F95C331347A09D9105AD0C56BA11">
<Caption>通用报表显示</Caption>
<Remark>通用报表显示</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="30CD00844F5B424F9463216FDF519608">
<Runtime action="21A0E8288ADC42F7A32D258A8AFB369A"/>
</Design>
</DesignToRuntime>
<DesignToRuntime>
<Design action="5EC2F95C331347A09D9105AD0C56BA11">
<Runtime action="219DC04DE82846EFA203BFB701F9AC9B"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="21A0E8288ADC42F7A32D258A8AFB369A" class="Mesnac.Action.Feeding.Report.ReportDesigner"/>
<Action action="219DC04DE82846EFA203BFB701F9AC9B" class="Mesnac.Action.Feeding.Report.ReportCommon"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="报表/物料投放">
<Action action="8C00A87B48414EF19DF1988782ACE34F">
<Caption>物料投放初始化</Caption>
<Remark>物料投放初始化</Remark>
</Action>
<Action action="34FC9BEC9EED4F09ABFD1A1E0A3B0782">
<Caption>物料投放查询</Caption>
<Remark>物料投放查询</Remark>
</Action>
<Action action="CCCC9CAAF01D49D9B30113AC0B353BB0">
<Caption>打印预览</Caption>
<Remark>打印预览</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="8C00A87B48414EF19DF1988782ACE34F">
<Runtime action="48F469DBB40E478E8B1B096A5CE004BD"/>
</Design>
</DesignToRuntime>
<DesignToRuntime>
<Design action="34FC9BEC9EED4F09ABFD1A1E0A3B0782">
<Runtime action="6EF0B65970A04BA4856A54BCC4AC4113"/>
</Design>
</DesignToRuntime>
<DesignToRuntime>
<Design action="CCCC9CAAF01D49D9B30113AC0B353BB0">
<Runtime action="8D29E05DBFFC4215A3934AECF72C6492"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="48F469DBB40E478E8B1B096A5CE004BD" class="Mesnac.Action.Feeding.Report.MaterialCountLoad"/>
<Action action="6EF0B65970A04BA4856A54BCC4AC4113" class="Mesnac.Action.Feeding.Report.MaterialCountSelect"/>
<Action action="8D29E05DBFFC4215A3934AECF72C6492" class="Mesnac.Action.Feeding.Report.MaterialCountReport"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,149 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="报表/车报表">
<Action action="A6F08ABB8B1B4AFB9141247A613804E2">
<Caption>窗体初始化</Caption>
<Remark>车报表查询条件初始化</Remark>
</Action>
<Action action="3ABC2DE58DFA4C95B0D36B3BF853E138">
<Caption>查询</Caption>
<Remark>车报表查询</Remark>
</Action>
<Action action="FA715583DBF74A83B8C75CB46A2C5EE2">
<Caption>首条</Caption>
<Remark>首页</Remark>
</Action>
<Action action="FA038851224F4C889B5F7EA0BC802C27">
<Caption>上一条</Caption>
<Remark>上一条</Remark>
</Action>
<Action action="10FAADEC64904208853DFCA57C9952B1">
<Caption>下一条</Caption>
<Remark>下一条</Remark>
</Action>
<Action action="64E82AB000C64B12B68E3FE3511A37C4">
<Caption>末条</Caption>
<Remark>末条</Remark>
</Action>
<Action action="3F48AD82B5B34FBEB9DA907D631BFA38">
<Caption>初始化曲线图</Caption>
<Remark>初始化曲线图</Remark>
</Action>
<Action action="B80B492FD4EA43168DC944304027BBFD">
<Caption>报表明细</Caption>
<Remark>报表明细</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F601">
<Caption>刷新配方列表</Caption>
<Remark>刷新配方列表(包括车报表和批报表)</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F001">
<Caption>复位</Caption>
<Remark>复位</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F002">
<Caption>左移</Caption>
<Remark>左移</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F003">
<Caption>右移</Caption>
<Remark>右移</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F004">
<Caption>放大</Caption>
<Remark>放大</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F005">
<Caption>缩小</Caption>
<Remark>缩小</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F006">
<Caption>上移</Caption>
<Remark>上移</Remark>
</Action>
<Action action="2E32F3B9E2BD483DA3DA18ABAC19F007">
<Caption>下移</Caption>
<Remark>下移</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--窗体初始化-->
<Design action="A6F08ABB8B1B4AFB9141247A613804E2">
<Runtime action="FCF2F2F8E79148658A77E7E6FFF54F82"/>
<Runtime action="2807A50EA361431CACE834002488AA92"/>
</Design>v
<!--查询-->
<Design action="3ABC2DE58DFA4C95B0D36B3BF853E138">
<Runtime action="72908DC3EC2F4F4A8FA2B52C51F65032"/>
<Runtime action="C08AD00255BC414E9FE2910347EDA69B"/>
</Design>
<Design action="FA715583DBF74A83B8C75CB46A2C5EE2">
<Runtime action="15D32C3A2893476089E23096AA520647"/>
<Runtime action="C08AD00255BC414E9FE2910347EDA69B"/>
</Design>
<Design action="FA038851224F4C889B5F7EA0BC802C27">
<Runtime action="30C550872870425591DD043CEBD4A704"/>
<Runtime action="C08AD00255BC414E9FE2910347EDA69B"/>
</Design>
<Design action="10FAADEC64904208853DFCA57C9952B1">
<Runtime action="76F28B4175DE4525B2CA7AC06CE2DBDF"/>
<Runtime action="C08AD00255BC414E9FE2910347EDA69B"/>
</Design>
<Design action="64E82AB000C64B12B68E3FE3511A37C4">
<Runtime action="76F603D46F5545AC88BF78B168EB2B49"/>
<Runtime action="C08AD00255BC414E9FE2910347EDA69B"/>
</Design>
<Design action="B80B492FD4EA43168DC944304027BBFD">
<Runtime action="4CCABA6DA27F4E319D1031F9A61D806D"/>
</Design>
<!--刷新配方列表-->
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F601">
<Runtime action="2807A50EA361431CACE834002488AA92"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F001">
<Runtime action="2807A50EA361431CACE834002488A001"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F002">
<Runtime action="2807A50EA361431CACE834002488A002"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F003">
<Runtime action="2807A50EA361431CACE834002488A003"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F004">
<Runtime action="2807A50EA361431CACE834002488A004"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F005">
<Runtime action="2807A50EA361431CACE834002488A005"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F006">
<Runtime action="2807A50EA361431CACE834002488A006"/>
</Design>
<Design action="2E32F3B9E2BD483DA3DA18ABAC19F007">
<Runtime action="2807A50EA361431CACE834002488A007"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="FCF2F2F8E79148658A77E7E6FFF54F82" class="Mesnac.Action.Feeding.Report.LotReportLoad"/>
<Action action="72908DC3EC2F4F4A8FA2B52C51F65032" class="Mesnac.Action.Feeding.Report.LotReportSelect"/>
<Action action="30C550872870425591DD043CEBD4A704" class="Mesnac.Action.Feeding.Report.LotReportPrevious"/>
<Action action="76F28B4175DE4525B2CA7AC06CE2DBDF" class="Mesnac.Action.Feeding.Report.LotReportNext"/>
<Action action="15D32C3A2893476089E23096AA520647" class="Mesnac.Action.Feeding.Report.LotReportFirst"/>
<Action action="76F603D46F5545AC88BF78B168EB2B49" class="Mesnac.Action.Feeding.Report.LotReportLast"/>
<Action action="C08AD00255BC414E9FE2910347EDA69B" class="Mesnac.Action.Feeding.Report.LotReportInitChart"/>
<Action action="4CCABA6DA27F4E319D1031F9A61D806D" class="Mesnac.Action.Feeding.Report.PptLotFastReport"/>
<Action action="2807A50EA361431CACE834002488AA92" class="Mesnac.Action.Feeding.Report.LotRefreshRecipeList"/>
<Action action="2807A50EA361431CACE834002488A001" class="Mesnac.Action.Feeding.Report.ChartReset"/>
<Action action="2807A50EA361431CACE834002488A002" class="Mesnac.Action.Feeding.Report.ChartLeftScroll"/>
<Action action="2807A50EA361431CACE834002488A003" class="Mesnac.Action.Feeding.Report.ChartRightScroll"/>
<Action action="2807A50EA361431CACE834002488A004" class="Mesnac.Action.Feeding.Report.ChartAmplify"/>
<Action action="2807A50EA361431CACE834002488A005" class="Mesnac.Action.Feeding.Report.ChartNarrow"/>
<Action action="2807A50EA361431CACE834002488A006" class="Mesnac.Action.Feeding.Report.ChartTopScroll"/>
<Action action="2807A50EA361431CACE834002488A007" class="Mesnac.Action.Feeding.Report.ChartBottomScroll"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="PLC管理/数据回放">
<Action action="900EC465566F4C9285ADB74BE8FC33E8">
<Caption>播放</Caption>
<Remark>数据回访</Remark>
</Action>
</Path>
<Path path="PLC管理/数据回放">
<Action action="4B36E8C5567743789CE93258E1E7852A">
<Caption>暂停</Caption>
<Remark>数据回访</Remark>
</Action>
</Path>
<Path path="PLC管理/数据回放">
<Action action="38D8487ED11944FEAFB4B084F4DB3A06">
<Caption>二倍速</Caption>
<Remark>数据回访</Remark>
</Action>
</Path>
<Path path="PLC管理/数据回放">
<Action action="A45A47210C5349FD8E0B8E790C32649E">
<Caption>四倍速</Caption>
<Remark>数据回访</Remark>
</Action>
</Path>
<Path path="PLC管理/数据回放">
<Action action="EA77A5AE32FE40659B8371B70A624AB6">
<Caption>半倍速</Caption>
<Remark>数据回访</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="900EC465566F4C9285ADB74BE8FC33E8">
<Runtime action="F5985D0BE97742079AB5C2641F20233B" parameters="1"/>
</Design>
<Design action="4B36E8C5567743789CE93258E1E7852A">
<Runtime action="F5985D0BE97742079AB5C2641F20233B" parameters="0"/>
</Design>
<Design action="38D8487ED11944FEAFB4B084F4DB3A06">
<Runtime action="F5985D0BE97742079AB5C2641F20233B" parameters="2"/>
</Design>
<Design action="A45A47210C5349FD8E0B8E790C32649E">
<Runtime action="F5985D0BE97742079AB5C2641F20233B" parameters="4"/>
</Design>
<Design action="EA77A5AE32FE40659B8371B70A624AB6">
<Runtime action="F5985D0BE97742079AB5C2641F20233B" parameters="0.5"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="F5985D0BE97742079AB5C2641F20233B" class="Mesnac.Action.Default.SynchroData.EquipReadDataSpeed"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="日志/报警日志">
<Action action="EB021692D8C646F783E20E024A7BC220">
<Caption>系统报警日志初始化</Caption>
<Remark>系统报警日志初始化</Remark>
</Action>
<Action action="83C2299EC8444AB289DADB5E927CC2A9">
<Caption>系统报警日志查询</Caption>
<Remark>系统报警日志查询</Remark>
</Action>
<Action action="E592442512B14B39862C402AB0EE30BD">
<Caption>导出报警日志</Caption>
<Remark>导出报警日志到Excel中</Remark>
</Action>
</Path>
<Path path="报警/控件报警">
<Action action="83C2299EC8444AB289DADB5E927CC2B0">
<Caption>控件报警事件</Caption>
<Remark>控件报警事件处理</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--报警日志初始化-->
<Design action="EB021692D8C646F783E20E024A7BC220">
<Runtime action="64A6181817DB4021AC6D14B252832C70"/>
</Design>
<!--报警日志查询-->
<Design action="83C2299EC8444AB289DADB5E927CC2A9">
<Runtime action="82323CD689664563B6BB130C19673B2D"/>
</Design>
<!--导出报警日志-->
<Design action="E592442512B14B39862C402AB0EE30BD">
<Runtime action="7751CF23B8754313B984FB1C3D2777F8"/>
</Design>
<!--报警/控件报警-->
<Design action="83C2299EC8444AB289DADB5E927CC2B0">
<Runtime action="C56634E38CEC4B7992481E07C6AAF59D"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="64A6181817DB4021AC6D14B252832C70" class="Mesnac.Action.Feeding.Report.AlarmReportInit"/>
<Action action="82323CD689664563B6BB130C19673B2D" class="Mesnac.Action.Feeding.Report.AlarmReportSelect"/>
<Action action="C56634E38CEC4B7992481E07C6AAF59D" class="Mesnac.Action.Feeding.Alarm.ControlAlarmAction"/>
<Action action="7751CF23B8754313B984FB1C3D2777F8" class="Mesnac.Action.Feeding.Report.ExportAlarmDataAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,42 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="日志/系统日志">
<Action action="593F53FCCB2A4A139B7550E94827C7C8">
<Caption>系统日志初始化</Caption>
<Remark>系统日志初始化</Remark>
</Action>
<Action action="BE72327B99B94813AE7789E64A72E7AD">
<Caption>系统日志查询</Caption>
<Remark>系统日志查询</Remark>
</Action>
<Action action="33C3B4169DC84DB9A97878915C460F9B">
<Caption>导出系统日志</Caption>
<Remark>导出系统日志到Excel</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--系统日志初始化-->
<Design action="593F53FCCB2A4A139B7550E94827C7C8">
<Runtime action="75D668D1D98749AF8D1760214007FB91"/>
</Design>
<!--系统日志查询-->
<Design action="BE72327B99B94813AE7789E64A72E7AD">
<Runtime action="098C63CA926045BB84C287E003EC7845"/>
</Design>
<!--导出系统日志-->
<Design action="33C3B4169DC84DB9A97878915C460F9B">
<Runtime action="2C48AB730A7F44EFBFAC4BEC97CA32B8"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="75D668D1D98749AF8D1760214007FB91" class="Mesnac.Action.Feeding.Report.OperateReportInit"/>
<Action action="098C63CA926045BB84C287E003EC7845" class="Mesnac.Action.Feeding.Report.OperateReportSelect"/>
<Action action="2C48AB730A7F44EFBFAC4BEC97CA32B8" class="Mesnac.Action.Feeding.Report.ExportOperateDataAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="生产管理">
<Action action="1BC67E5D04EC49FE861A2B092D3C08F7">
<Caption>修改次数</Caption>
<Remark>修改生产计划数</Remark>
</Action>
</Path>
<Path path="生产管理">
<Action action="2CFD417B2FEE49B2B0E03A7DE8B4B727">
<Caption>配方重传</Caption>
<Remark>重新下配方</Remark>
</Action>
</Path>
<Path path="生产管理">
<Action action="985CA599E1F04DB3B6CEC8CC1C863B87">
<Caption>系统复位</Caption>
<Remark>系统复位</Remark>
</Action>
</Path>
<Path path="生产管理">
<Action action="4DC8EEDB01034CEC8EBB4C968B6965EA">
<Caption>终止称量</Caption>
<Remark>终止称量</Remark>
</Action>
</Path>
<Path path="生产管理">
<Action action="3DEC45944FDD4AB2B35DD701E47CBF69">
<Caption>终止密炼</Caption>
<Remark>终止密炼</Remark>
</Action>
</Path>
<Path path="生产管理">
<Action action="2F0ADA0F5451416D884040D9468B0F44">
<Caption>清除存盘标志</Caption>
<Remark>手动清除存盘标志</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--修改次数-->
<Design action="1BC67E5D04EC49FE861A2B092D3C08F7">
<Runtime action="1AB64CB43CE544929CC792B2EAADB25A"/>
</Design>
<!--配方重传-->
<Design action="2CFD417B2FEE49B2B0E03A7DE8B4B727">
<Runtime action="A3C647599ADE4880AFBE8B5F35674F08"/><!--配方重传提示对话框-->
<Runtime action="FB342881DB6D41719ED28285A8A03571"/>
</Design>
<!--系统复位-->
<Design action="985CA599E1F04DB3B6CEC8CC1C863B87">
<Runtime action="85F5C763B7614FBDA70A05A566A41261"/>
</Design>
<!--终止称量-->
<Design action="4DC8EEDB01034CEC8EBB4C968B6965EA">
<Runtime action="933CE18384D74AC3A91828FD8B3F5A79"/>
</Design>
<!--终止密炼-->
<Design action="3DEC45944FDD4AB2B35DD701E47CBF69">
<Runtime action="7D335E9F8D254D84B9119387AE989300"/>
</Design>
<!--清除存盘标志-->
<Design action="2F0ADA0F5451416D884040D9468B0F44">
<Runtime action="054971F6A9234DEF81A550F5C2F7E9E1"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="1AB64CB43CE544929CC792B2EAADB25A" class="Mesnac.Action.Feeding.FeedingPlc.ModifyPlanNum"/>
<Action action="A3C647599ADE4880AFBE8B5F35674F08" class="Mesnac.Action.Feeding.Verification.RecipeResetValidateAction"/>
<Action action="FB342881DB6D41719ED28285A8A03571" class="Mesnac.Action.Feeding.FeedingPlc.RecipeReset"/>
<Action action="85F5C763B7614FBDA70A05A566A41261" class="Mesnac.Action.Feeding.FeedingPlc.SystemReset"/>
<Action action="933CE18384D74AC3A91828FD8B3F5A79" class="Mesnac.Action.Feeding.FeedingPlc.StopWeight"/>
<Action action="7D335E9F8D254D84B9119387AE989300" class="Mesnac.Action.Feeding.FeedingPlc.StopMixing"/>
<Action action="054971F6A9234DEF81A550F5C2F7E9E1" class="Mesnac.Action.Feeding.Sys.CusClearSaveFlag"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="生产计划">
<Action action="91D3FDD163694C3DB01B9508E9934E52">
<Caption>计划执行</Caption>
<Remark>执行生产计划</Remark>
</Action>
</Path>
<Path path="生产计划">
<Action action="AA53B432E5AB4BF0B58630C91B605874">
<Caption>暂停计划</Caption>
<Remark>暂停生产计划</Remark>
</Action>
</Path>
<Path path="生产计划">
<Action action="DE58022697CD43B7B40698CD0F8D57D6">
<Caption>修改生产数量</Caption>
<Remark>修改生产数量</Remark>
</Action>
</Path>
<Path path="生产计划">
<Action action="57CA5617F77442CC9E09DF250FDAA2F4">
<Caption>修改称重次数</Caption>
<Remark>修改称重次数</Remark>
</Action>
</Path>
<Path path="生产计划">
<Action action="E0C705F4EE8A49A182759C123F9F0BC3">
<Caption>输入条码</Caption>
<Remark>手动输入条码</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="91D3FDD163694C3DB01B9508E9934E52">
<!--<Runtime action="3C28DB9BA31F45289DA1881B110BE2C5"/>--><!--PLC管理 OnFinishBatch-->
<Runtime action="53EF720377F94D2896C0374B48AA6709"/>
</Design>
<Design action="AA53B432E5AB4BF0B58630C91B605874">
<Runtime action="16242B566AFD4419BD1B2BD824B26863"/>
</Design>
<Design action="DE58022697CD43B7B40698CD0F8D57D6">
<Runtime action="F1B59BF9B9CB4F359E0898DCA072AD80"/>
</Design>
<Design action="57CA5617F77442CC9E09DF250FDAA2F4">
<Runtime action="900E1D90C2AC4A61823CE075B6633B6C"/>
</Design>
<Design action="E0C705F4EE8A49A182759C123F9F0BC3">
<Runtime action="3286FAC921C1439782E3B6134B010A80"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="53EF720377F94D2896C0374B48AA6709" class="Mesnac.Action.Feeding.ProducingPlan.ExecutePlan"/>
<Action action="16242B566AFD4419BD1B2BD824B26863" class="Mesnac.Action.Feeding.FeedingPlc.PausePlan"/>
<Action action="F1B59BF9B9CB4F359E0898DCA072AD80" class="Mesnac.Action.Feeding.FeedingPlc.ModifyPlanNum"/>
<Action action="900E1D90C2AC4A61823CE075B6633B6C" class="Mesnac.Action.Feeding.FeedingPlc.ModifyWeightNum"/>
<Action action="3286FAC921C1439782E3B6134B010A80" class="Mesnac.Action.Feeding.ProducingPlan.InputBarcode"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="生产计划/当班计划">
<Action action="931426E205FD49A193BCF03552075C2B">
<Caption>窗体初始化</Caption>
<Remark>绑定班次、绑定网络版生产计划</Remark>
</Action>
<Action action="0FB5D6CDECAF49FD9543680D24CDEFF5">
<Caption>胶称画面计划列表初始化</Caption>
<Remark>初始化并刷新胶料称监控画面计划列表数据</Remark>
</Action>
<Action action="FA8F61C2560D425C924AFD3691B35286">
<Caption>刷新</Caption>
<Remark>刷新网络计划</Remark>
</Action>
<Action action="C3425DFCE08D4F6595B3D74CA35B227C">
<Caption>选择接收</Caption>
<Remark>选择接收 网络计划</Remark>
</Action>
<Action action="3F906C95E59C49BC8BBA3E770A1A8455">
<Caption>全部接收</Caption>
<Remark>全部接收 网络计划</Remark>
</Action>
<Action action="103C6E617A684947AEF30DE5EBDB72C8">
<Caption>修改</Caption>
<Remark>修改 本地计划</Remark>
</Action>
<Action action="94AEACDEA2524ED8953111899B325A5E">
<Caption>添加</Caption>
<Remark>添加 本地计划</Remark>
</Action>
<Action action="AD59DA75AFD9448A87579A7798612C76">
<Caption>删除</Caption>
<Remark>删除 本地计划</Remark>
</Action>
<Action action="4C6C9CC24BCA40D29F058A4AA9E4A9C4">
<Caption>上移</Caption>
<Remark>上移 本地计划</Remark>
</Action>
<Action action="0BCB99841F3D41CAA0BEE470994FA26D">
<Caption>下移</Caption>
<Remark>下移 本地计划</Remark>
</Action>
<Action action="886FB2632A8F4901BA7D8EE737AB3A50">
<Caption>执行计划日期班次校验</Caption>
<Remark>执行计划日期班次校验</Remark>
</Action>
<Action action="26E025DA81544E379DB3D9688282DE7A">
<Caption>设置计划执行方式</Caption>
<Remark>设置计划执行方式</Remark>
</Action>
<Action action="63982DD90D3F4FAEBD764496482048E3">
<Caption>拆分计划(换班)</Caption>
<Remark>换班时拆分计划</Remark>
</Action>
<!--<Action action="26E025DA81544E379DB3D9688282DE76">
<Caption>验证主机手</Caption>
<Remark>验证主机手</Remark>
</Action>-->
</Path>
</Design>
<DesignToRuntime>
<!--窗体初始化-->
<Design action="931426E205FD49A193BCF03552075C2B">
<Runtime action="0BC6E1975B3F4AF8ACD0F6B60D5F0CEB"/>
<Runtime action="7FF18F84BCFB4C6EA5AD7DF87BD179D1"/>
<Runtime action="27725F77B480496FA58EC98E33D98B60"/>
<Runtime action="09D8A5C5766A4A6AA02C158B3A142F26"/>
<Runtime action="09D8A5C5766A4A6AA02C158B3A142F29"/>
<Runtime action="0D1B78EF2A024C0BA1CF832F563CC0C4"/>
</Design>
<!--胶称画面计划列表初始化-->
<Design action="0FB5D6CDECAF49FD9543680D24CDEFF5">
<Runtime action="1860BB31C9054F15917A93DB8B245386"/>
</Design>
<!--刷新-->
<Design action="FA8F61C2560D425C924AFD3691B35286">
<Runtime action="7FF18F84BCFB4C6EA5AD7DF87BD179D1"/>
<Runtime action="27725F77B480496FA58EC98E33D98B60"/>
<Runtime action="0D63C16A6029459ABF3145E203603D45"/>
</Design>
<!--选择接收-->
<Design action="C3425DFCE08D4F6595B3D74CA35B227C">
<Runtime action="97CFDBADA08C4792B2C71554C0BB3187"/>
</Design>
<!--全部接收-->
<Design action="3F906C95E59C49BC8BBA3E770A1A8455">
<Runtime action="3BBD7E79787B4E569CA4381C7818BDA9"/>
</Design>
<!--修改-->
<Design action="103C6E617A684947AEF30DE5EBDB72C8">
<Runtime action="C44B765A48C4418491B4F7E4AE2BAED5"/>
</Design>
<!--添加-->
<Design action="94AEACDEA2524ED8953111899B325A5E">
<Runtime action="5C6F60CB06094A049A9AD183BBAFDCF5"/>
<Runtime action="7FF18F84BCFB4C6EA5AD7DF87BD179D1"/>
<Runtime action="27725F77B480496FA58EC98E33D98B60"/>
</Design>
<!--删除-->
<Design action="AD59DA75AFD9448A87579A7798612C76">
<Runtime action="4D4FE82D3DEB467BAA8363A6E405808B"/>
</Design>
<!--上移-->
<Design action="4C6C9CC24BCA40D29F058A4AA9E4A9C4">
<Runtime action="5415C0B789EA443395E59D75350FC8B3"/>
</Design>
<!--下移-->
<Design action="0BCB99841F3D41CAA0BEE470994FA26D">
<Runtime action="3C8D944497304315B01BC3855DA91121"/>
</Design>
<!--执行计划日期班次校验-->
<Design action="886FB2632A8F4901BA7D8EE737AB3A50">
<Runtime action="50FCA6B30299462F94DDB6FC25549F3C"/>
</Design>
<!--设置计划执行方式-->
<Design action="26E025DA81544E379DB3D9688282DE7A">
<Runtime action="CC47BD6B7860442F80AAD25B200E091E"/>
</Design>
<!--拆分计划-->
<Design action="63982DD90D3F4FAEBD764496482048E3">
<Runtime action="8F816F3D7C0D4F5094C2B4ABD2585545"/>
</Design>
<!--验证主机手-->
<Design action="26E025DA81544E379DB3D9688282DE76">
<Runtime action="09D8A5C5766A4A6AA02C158B3A142F28"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="0BC6E1975B3F4AF8ACD0F6B60D5F0CEB" class="Mesnac.Action.Feeding.ProducingPlan.DutyPlanInit"/>
<Action action="1860BB31C9054F15917A93DB8B245386" class="Mesnac.Action.Feeding.ProducingPlan.InitPlyScreenPlan"/>
<Action action="7FF18F84BCFB4C6EA5AD7DF87BD179D1" class="Mesnac.Action.Feeding.ProducingPlan.RefreshServerPlan"/>
<Action action="27725F77B480496FA58EC98E33D98B60" class="Mesnac.Action.Feeding.ProducingPlan.RefreshClientPlan"/>
<Action action="97CFDBADA08C4792B2C71554C0BB3187" class="Mesnac.Action.Feeding.ProducingPlan.ReceiveSelectPlan"/>
<Action action="3BBD7E79787B4E569CA4381C7818BDA9" class="Mesnac.Action.Feeding.ProducingPlan.ReceiveAllPlan"/>
<Action action="C44B765A48C4418491B4F7E4AE2BAED5" class="Mesnac.Action.Feeding.ProducingPlan.ModifyPlan"/>
<Action action="5C6F60CB06094A049A9AD183BBAFDCF5" class="Mesnac.Action.Feeding.ProducingPlan.AddPlan"/>
<Action action="4D4FE82D3DEB467BAA8363A6E405808B" class="Mesnac.Action.Feeding.ProducingPlan.DeletePlan"/>
<Action action="5415C0B789EA443395E59D75350FC8B3" class="Mesnac.Action.Feeding.ProducingPlan.MoveUpPlan"/>
<Action action="3C8D944497304315B01BC3855DA91121" class="Mesnac.Action.Feeding.ProducingPlan.MoveDownPlan"/>
<Action action="0D63C16A6029459ABF3145E203603D45" class="Mesnac.Action.Feeding.ProducingPlan.CacheCondition"/>
<Action action="50FCA6B30299462F94DDB6FC25549F3C" class="Mesnac.Action.Feeding.ProducingPlan.PlanDateVerify"/>
<Action action="CC47BD6B7860442F80AAD25B200E091E" class="Mesnac.Action.Feeding.ProducingPlan.SetPlanExecuteType"/>
<Action action="09D8A5C5766A4A6AA02C158B3A142F26" class="Mesnac.Action.Feeding.ProducingPlan.InitPlanExecuteType"/>
<Action action="09D8A5C5766A4A6AA02C158B3A142F28" class="Mesnac.Action.Feeding.ProducingPlan.UserGoShift"/>
<Action action="09D8A5C5766A4A6AA02C158B3A142F29" class="Mesnac.Action.Feeding.ProducingPlan.InitPlcEquipState"/>
<Action action="8F816F3D7C0D4F5094C2B4ABD2585545" class="Mesnac.Action.Feeding.ProducingPlan.SplitPlanAction"/>
<Action action="0D1B78EF2A024C0BA1CF832F563CC0C4" class="Mesnac.Action.Feeding.ProducingPlan.InitWorkerInfo"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="系统初始化">
<Action action="246D651256DA4B6E85A34DAD123C0196" auto="True">
<Caption>判断是否能连接网络库</Caption>
<Remark>判断是否能连接网络库,否则自动转化为单机版</Remark>
</Action>
<Action action="D8D70A6B0BF94364872744212E1AC670" auto="True">
<Caption>系统数据初始化</Caption>
<Remark>初始化缓存的系统数据:配方、称量...</Remark>
</Action>
<Action action="FA50859C9BAD43FA8BD4811AC0D58A66" auto="True">
<Caption>存盘扫描</Caption>
<Remark>循环处理存盘业务</Remark>
</Action>
<!--<Action action="3FCCCE10636648A4969AFC5485B0AFF6" auto="True">
<Caption>条码枪扫描</Caption>
<Remark>条码枪条码扫描处理业务</Remark>
</Action>-->
<Action action="246D651256DA4B6E85A34DAD123C0191" auto="True">
<Caption>Socket接收处理</Caption>
<Remark>接收到Socket客户端消息后进行相应业务处理</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="D8D70A6B0BF94364872744212E1AC670">
<Runtime action="548520D72BB44E52913E44F2F636DB5A"/>
</Design>
<Design action="FA50859C9BAD43FA8BD4811AC0D58A66">
<Runtime action="3C28DB9BA31F45289DA1881B110BE2C5"/>
</Design>
<Design action="3FCCCE10636648A4969AFC5485B0AFF6">
<Runtime action="28BC76F0251E443E911CF118E51F9B47"/>
</Design>
<Design action="246D651256DA4B6E85A34DAD123C0191">
<Runtime action="5EEB7745CD5B4F0BAC3DA4BA0F5886BA"/>
</Design>
<Design action="246D651256DA4B6E85A34DAD123C0196">
<Runtime action="5EEB7745CD5B4F0BAC3DA4BA0F5886B6"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="5EEB7745CD5B4F0BAC3DA4BA0F5886B6" class="Mesnac.Action.Feeding.Sys.SysVersionConfig"/>
<Action action="548520D72BB44E52913E44F2F636DB5A" class="Mesnac.Action.Feeding.Sys.SysDataInit"/>
<Action action="28BC76F0251E443E911CF118E51F9B47" class="Mesnac.Action.Feeding.Sys.ScanBarcodeAction"/>
<Action action="5EEB7745CD5B4F0BAC3DA4BA0F5886BA" class="Mesnac.Action.Feeding.Socket.StartReciveProcess"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,33 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="系统工具">
<Action action="A40D04AB7520472A84BC80C920463B8C">
<Caption>计算器</Caption>
<Remark>调用系统计算器</Remark>
</Action>
<Action action="22AB6B4BFA1646F7BA9D50951F23A3C1">
<Caption>同步网络时间</Caption>
<Remark>同步网络服务器的系统时间</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--计算器-->
<Design action="A40D04AB7520472A84BC80C920463B8C">
<Runtime action="10EEA0CAFC954920A4845BEA640DB7C4"/>
</Design>
<!--同步网络服务器时间-->
<Design action="22AB6B4BFA1646F7BA9D50951F23A3C1">
<Runtime action="3FAC45A309B44E7CB7B32E8FD41CB73A"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="10EEA0CAFC954920A4845BEA640DB7C4" class="Mesnac.Action.Default.Tools.CalCalculatorAction"/>
<Action action="3FAC45A309B44E7CB7B32E8FD41CB73A" class="Mesnac.Action.Default.Tools.SystemDateTimeAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,54 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="系统设置/运行方式">
<Action action="A9A234EE0D7F4C759C56271ED8A87114">
<Caption>设置为网络方式运行</Caption>
<Remark>设置为网络方式运行</Remark>
</Action>
<Action action="C76499E7E406482CB806A2DFFC5EAE5F">
<Caption>设置为单机方式运行</Caption>
<Remark>设置为网络方式运行</Remark>
</Action>
</Path>
<Path path="系统设置/清除历史存盘数据">
<Action action="AD4A7E601CA2457E836D8F245A24D410">
<Caption>窗体初始化</Caption>
<Remark>清除历史存盘数据界面初始化</Remark>
</Action>
<Action action="FF4605C660594D70AAC6DC73AF958F4F">
<Caption>清除历史存盘数据</Caption>
<Remark>执行清除历史存盘数据操作</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--设置为网络方式运行-->
<Design action="A9A234EE0D7F4C759C56271ED8A87114">
<Runtime action="AF7A7A43BC72478EBE7069D78D11413A"/>
</Design>
<!--设置为单机方式运行-->
<Design action="C76499E7E406482CB806A2DFFC5EAE5F">
<Runtime action="1D1FFB434D47479181EDCAB4E481F62C"/>
</Design>
<!--清除历史存盘数据界面初始化-->
<Design action="AD4A7E601CA2457E836D8F245A24D410">
<Runtime action="7C69D9B651324049982D2FF142D937CF"/>
</Design>
<!--执行清除历史存盘数据操作-->
<Design action="FF4605C660594D70AAC6DC73AF958F4F">
<Runtime action="D9E076938D364041AD12E7478546CF10"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="AF7A7A43BC72478EBE7069D78D11413A" class="Mesnac.Action.Feeding.Sys.SetNetRunAction"/>
<Action action="1D1FFB434D47479181EDCAB4E481F62C" class="Mesnac.Action.Feeding.Sys.SetLocalRunAction"/>
<Action action="7C69D9B651324049982D2FF142D937CF" class="Mesnac.Action.Feeding.Sys.InitClearHistoryDataUI"/>
<Action action="D9E076938D364041AD12E7478546CF10" class="Mesnac.Action.Feeding.Sys.ClearHistoryDataAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,122 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="系统配置/权限管理">
<Action action="D6B0EF6999424EF49AE047BFACA3C5EA">
<Caption>窗体初始化</Caption>
<Remark>绑定角色、绑定角色权限树</Remark>
</Action>
<Action action="3D08F82CAC5B4943A1EB21C735900C80">
<Caption>权限初始化</Caption>
<Remark>根据工程文件填充权限基本信息</Remark>
</Action>
<Action action="71B81C53F35747EE9E46AFCA934B2D44">
<Caption>权限刷新</Caption>
<Remark>根据所选角色刷新权限树信息</Remark>
</Action>
<Action action="8A5B0345CFD84FEBAF5CC668E23844C1">
<Caption>权限保存</Caption>
<Remark>保存角色具有的权限信息</Remark>
</Action>
<Action action="3C31FD50D612468EA4578549BEAA3748">
<Caption>保存为默认权限</Caption>
<Remark>保存为默认权限信息</Remark>
</Action>
<Action action="5873B43CD28F465CAC533E267BBDD92F">
<Caption>勾选所有权限项</Caption>
<Remark>勾选树形控件的所有权限项</Remark>
</Action>
<Action action="70D2301767FE4FE9BAE93CE2C5E4DAAB">
<Caption>勾选默认权限项</Caption>
<Remark>勾选树形控件的默认权限项</Remark>
</Action>
<Action action="45633D3528ED4EA1BB47FCB5247155D3">
<Caption>取消勾选所有权限项</Caption>
<Remark>取消勾选树形控件的所有权限项</Remark>
</Action>
</Path>
<Path path="权限管理">
<Action action="EE88F12802884A19B5D9BE2310E2B605">
<Caption>通用权限控制</Caption>
<Remark>根据权限处理界面控件</Remark>
</Action>
<Action action="941988F1F078444996F53518FAE63C31" auto="True">
<Caption>通用权限验证</Caption>
<Remark>系统登录与权限验证</Remark>
</Action>
<Action action="CD72C0AB64BB4F81824C22A4A4BED295">
<Caption>重新登录</Caption>
<Remark>重新登录</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="EE88F12802884A19B5D9BE2310E2B605">
<Runtime action="133C4520540D410AA75A469E9941F112"/>
</Design>
<Design action="3D08F82CAC5B4943A1EB21C735900C80">
<Runtime action="8EEB122781B242B3953015C310BCA432"/>
<Runtime action="BC8F62A874114D19ADBB91AC82CA962F"/>
<Runtime action="2EC65AAB10F14CBAA53163D741633517"/>
<Runtime action="3A7E463A65914A0FA49B3712CAD958D0"/>
</Design>
<Design action="71B81C53F35747EE9E46AFCA934B2D44">
<Runtime action="BC8F62A874114D19ADBB91AC82CA962F"/>
<Runtime action="2EC65AAB10F14CBAA53163D741633517"/>
<Runtime action="3A7E463A65914A0FA49B3712CAD958D0"/>
</Design>
<Design action="D6B0EF6999424EF49AE047BFACA3C5EA">
<Runtime action="92933F989B7E4C6D8D1A1663618BC34D"/>
<Runtime action="BC8F62A874114D19ADBB91AC82CA962F"/>
<Runtime action="2EC65AAB10F14CBAA53163D741633517"/>
<Runtime action="3A7E463A65914A0FA49B3712CAD958D0"/>
</Design>
<!--保存权限-->
<Design action="8A5B0345CFD84FEBAF5CC668E23844C1">
<Runtime action="F36088B9CF234E44911363ED04CAFA40"/>
</Design>
<!--保存为默认权限-->
<Design action="3C31FD50D612468EA4578549BEAA3748">
<Runtime action="5DFBF45394784CE890B0E9348B3C9EBE"/>
</Design>
<!--勾选所有权限项-->
<Design action="5873B43CD28F465CAC533E267BBDD92F">
<Runtime action="A55D236F3E11472F9377AD126DCBF806"/>
</Design>
<!--勾选默认权限项-->
<Design action="70D2301767FE4FE9BAE93CE2C5E4DAAB">
<Runtime action="52AB4C267B0D4F6E909C79F3DBF13180"/>
</Design>
<!--取消勾选所有权限项-->
<Design action="45633D3528ED4EA1BB47FCB5247155D3">
<Runtime action="07D09911E7354DD98519161BE76952AE"/>
</Design>
<Design action="941988F1F078444996F53518FAE63C31">
<Runtime action="D3222F7267124F4BA9A1C7E8DA2503BB"/>
</Design>
<Design action="CD72C0AB64BB4F81824C22A4A4BED295">
<Runtime action="D3222F7267124F4BA9A1C7E8DA2503BB"/>
<Runtime action="440F675F88774F1CAFA9525C3D05FCF5"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="133C4520540D410AA75A469E9941F112" class="Mesnac.Action.Default.Purview.CheckPurviewControl"/>
<Action action="8EEB122781B242B3953015C310BCA432" class="Mesnac.Action.Default.Purview.LoadPurview"/>
<Action action="92933F989B7E4C6D8D1A1663618BC34D" class="Mesnac.Action.Default.Purview.BindRole"/>
<Action action="BC8F62A874114D19ADBB91AC82CA962F" class="Mesnac.Action.Default.Purview.LoadFormPurview"/>
<Action action="2EC65AAB10F14CBAA53163D741633517" class="Mesnac.Action.Default.Purview.LoadFunctionPurview"/>
<Action action="3A7E463A65914A0FA49B3712CAD958D0" class="Mesnac.Action.Default.Purview.InitPurview"/>
<Action action="F36088B9CF234E44911363ED04CAFA40" class="Mesnac.Action.Default.Purview.SavePurview"/>
<Action action="5DFBF45394784CE890B0E9348B3C9EBE" class="Mesnac.Action.Default.Purview.SaveDefaultPurviewAction"/>
<Action action="A55D236F3E11472F9377AD126DCBF806" class="Mesnac.Action.Default.Purview.SelectAllPurviewAction"/>
<Action action="52AB4C267B0D4F6E909C79F3DBF13180" class="Mesnac.Action.Default.Purview.SetDefaultPurviewAction"/>
<Action action="07D09911E7354DD98519161BE76952AE" class="Mesnac.Action.Default.Purview.ClearSelectAction"/>
<Action action="D3222F7267124F4BA9A1C7E8DA2503BB" class="Mesnac.Action.Default.Purview.Login"/>
<Action action="440F675F88774F1CAFA9525C3D05FCF5" class="Mesnac.Action.Default.Purview.RefreshSystemPurview"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,39 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="系统配置/通用配置 ">
<Action action="90B6FCB7EF364FBE8D7E245A0E7EA01B">
<Caption>加载</Caption>
<Remark>初始化信息</Remark>
</Action>
<Action action="7E079DB4C52643EA8068CE3545C0D628">
<Caption>保存</Caption>
<Remark>保存</Remark>
</Action>
<Action action="16EFB73A6BB14B15A62129A5CFB5AD35">
<Caption>PLC类型</Caption>
<Remark>PLC类型</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="90B6FCB7EF364FBE8D7E245A0E7EA01B">
<Runtime action="8DA4DB9B0F334A189B31330F6D5E7C4D"/>
</Design>
<Design action="7E079DB4C52643EA8068CE3545C0D628">
<Runtime action="99FAFCC58A824BFF941A31022AFC50AD"/>
</Design>
<Design action="16EFB73A6BB14B15A62129A5CFB5AD35">
<Runtime action="6D1A9DA7EB2B49699BC12CD17539A5BB"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Feeding/Mesnac.Action.Feeding.dll">
<Action action="8DA4DB9B0F334A189B31330F6D5E7C4D" class="Mesnac.Action.Feeding.Sys.CommonConfigLoad"/>
<Action action="99FAFCC58A824BFF941A31022AFC50AD" class="Mesnac.Action.Feeding.Sys.CommonConfigSave"/>
<Action action="6D1A9DA7EB2B49699BC12CD17539A5BB" class="Mesnac.Action.Feeding.Sys.CommonConfigSelectedChange1"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,31 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="工程调试">
<Action action="463359B55FEC4526B2FA43A86E8168CB">
<Caption>初始化界面</Caption>
<Remark>初始化界面</Remark>
</Action>
<Action action="211DD50C99CA4088AD3307C040C8BD9C">
<Caption>打开</Caption>
<Remark>打开</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="463359B55FEC4526B2FA43A86E8168CB">
<Runtime action="9BE38EB2366743768C0A178E2B9ACC64"/>
</Design>
<Design action="211DD50C99CA4088AD3307C040C8BD9C">
<Runtime action="9518CD1B3E89493C85E38D151CE42A92"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/ChemicalWeighing/Mesnac.Action.ChemicalWeighing.dll">
<Action action="9BE38EB2366743768C0A178E2B9ACC64" class="Mesnac.Action.ChemicalWeighing.ProjectDebug.InitProjectDebugInfo"/>
<Action action="9518CD1B3E89493C85E38D151CE42A92" class="Mesnac.Action.ChemicalWeighing.ProjectDebug.InitProjectDebugInfo"/>
</Import>
</Runtime>
</ActionService>
Loading…
Cancel
Save