add - 湿混机报表 - 功能缺陷

master
wangsr 1 year ago
parent 85e2019459
commit 948bdaf7c4

@ -28,7 +28,7 @@ namespace Mesnac.Action.ChemicalWeighing.Entity.Report
/// <summary> /// <summary>
/// Dos /// Dos
/// </summary> /// </summary>
public List<WetMixer> wetmixer { get; set; } public WetMixerDevice wetmixer { get; set; }
/// <summary> /// <summary>
/// Mix /// Mix
@ -36,7 +36,7 @@ namespace Mesnac.Action.ChemicalWeighing.Entity.Report
public List<WetMixerMix> mix { get; set; } public List<WetMixerMix> mix { get; set; }
} }
public class WetMixer public class WetMixerDevice
{ {
/// <summary> /// <summary>
/// 设备编号 /// 设备编号

@ -160,6 +160,7 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch
//FinishBatchHelper.SaveGHData(); //FinishBatchHelper.SaveGHData();
ReportDryMixerSaveHelper.Instance.Save(); ReportDryMixerSaveHelper.Instance.Save();
ReportWetMixerSaveHelper.Instance.SaveWetMixerReport();
#endregion #endregion
#region 8、更新物料名称 #region 8、更新物料名称

@ -63,29 +63,7 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
} }
} }
/// <summary>
/// 湿混机报表数据保存
/// </summary>
public void SaveWetMixerReport()
{
try
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Debug("湿混机报表数据保存开始!!!");
//准备信号读取
Report_WetMixer WetMixer_dos0 = readWetMixer("A"); //读取报表数据
SaveReportDb(WetMixer_dos0); //保存报表数据
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("湿混机报表数据保存异常:{0}", ex.Message), ex);
}
}
/// <summary> /// <summary>
/// 通过PLC读取干混机报表数据 /// 通过PLC读取干混机报表数据
@ -109,27 +87,7 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
return _dryMixer; return _dryMixer;
} }
/// <summary>
/// 通过PLC读取湿混机报表数据
/// </summary>
/// <param name="machineType">湿混机A、湿混机B</param>
/// <returns></returns>
private Report_WetMixer readWetMixer(string machineType)
{
Report_WetMixer _wetMixer = null;
try
{
_wetMixer = new Report_WetMixer();
_wetMixer.wetmixer = readWetMixers(machineType, 4);
_wetMixer.mix = readWetMixerMix(machineType, 10);
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("通过PLC读取湿混机报表数读取异常{0}", ex.Message), ex);
}
return _wetMixer;
}
/// <summary> /// <summary>
/// 读取干混机Dos数据 /// 读取干混机Dos数据
@ -207,71 +165,7 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
return dryMixerMixes; return dryMixerMixes;
} }
/// <summary>
/// 读取湿混机数据
/// </summary>
/// <param name="machineType"></param>
/// <param name="amount"></param>
/// <returns></returns>
private List<WetMixer> readWetMixers(string machineType, int amount)
{
List<WetMixer> wetMixers = new List<WetMixer>();
for (int mixer = 0; mixer < 10; mixer++)
{
#region 实例化参数
BasePlcHelper.Instance.dryer_eqNo = new Entity.DataKeyValue($"wetMixing{machineType}_{mixer}_eqNo");
#endregion
WetMixer wetMixer = new WetMixer()
{
eqNo = BasePlcHelper.Instance.dryer_eqNo.NowValue.ToInt(),
recordTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
};
wetMixers.Add(wetMixer);
}
return wetMixers;
}
/// <summary>
/// 读取湿混机Mix数据
/// </summary>
/// <param name="machineType"></param>
/// <param name="amount"></param>
/// <returns></returns>
private List<WetMixerMix> readWetMixerMix(string machineType, int amount)
{
List<WetMixerMix> wetMixerMixes = new List<WetMixerMix>();
for (int mix = 0; mix < 10; mix++)
{
#region 实例化参数
BasePlcHelper.Instance.dryer_mixBatch = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixBatch");
BasePlcHelper.Instance.dryer_mixStep = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixStep");
BasePlcHelper.Instance.dryer_actCode = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_actCode");
BasePlcHelper.Instance.dryer_mixTime = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixTime");
BasePlcHelper.Instance.dryer_mixTemp = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixTemp");
BasePlcHelper.Instance.dryer_mixSpeed = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixSpeed");
#endregion
WetMixerMix wetMixerMix = new WetMixerMix()
{
eqNo = BasePlcHelper.Instance.dryer_eqNo.NowValue.ToInt(),
mixBatch = BasePlcHelper.Instance.dryer_mixBatch.NowValue.ToInt(),
mixStep = BasePlcHelper.Instance.dryer_matCode.NowValue.ToInt(),
actCode = BasePlcHelper.Instance.dryer_actCode.NowValue.ToInt(),
mixTime = BasePlcHelper.Instance.dryer_mixTime.NowValue.ToInt(),
mixTemp = BasePlcHelper.Instance.dryer_mixTemp.NowValue.ToDouble(),
mixSpeed = BasePlcHelper.Instance.dryer_mixSpeed.NowValue.ToDouble(),
mix = mix,
recordTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
};
wetMixerMixes.Add(wetMixerMix);
}
return wetMixerMixes;
}
/// <summary> /// <summary>
/// 保存干混机报表数据至数据库 /// 保存干混机报表数据至数据库
@ -303,36 +197,7 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
} }
} }
/// <summary>
/// 保存湿混机报表数据至数据库
/// </summary>
/// <param name="_wetMixer"></param>
private void SaveReportDb(Report_WetMixer _wetMixer)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
try
{
string str = serializer.Serialize(_wetMixer);
if (_wetMixer != null)
{
if (_wetMixer.wetmixer != null)
{
InsertReportWetMixer(_wetMixer.report_Id, _wetMixer.wetmixer);
}
else if (_wetMixer.mix != null)
{
InsertReportWetMixerDetail(_wetMixer.report_Id, _wetMixer.mix);
}
}
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Warn($"报表数据打印:{str}");
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存报表数据至数据库异常:{0}", ex.Message), ex);
}
}
/// <summary> /// <summary>
/// 保存干混机报表数据 /// 保存干混机报表数据
@ -427,89 +292,6 @@ namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
} }
} }
/// <summary>
/// 保存湿混机报表数据
/// </summary>
/// <param name="reportId"></param>
/// <param name="_dryMixerDos"></param>
private void InsertReportWetMixer(Guid reportId, List<WetMixer> wetMixers)
{
try
{
Task.Run(() =>
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlStr = @"insert into Report_WetMixer
(reportId, eqNo)
values
(@reportId, @eqNo)";
foreach (WetMixer _wetMixer in wetMixers)
{
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlStr;
dbHelper.AddParameter("@eqNo", _wetMixer.eqNo);
dbHelper.AddParameter("@reportId", reportId);
dbHelper.ExecuteNonQuery();
}
});
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存湿混机报表数据异常:{0}", ex.Message), ex);
}
}
/// <summary>
/// 保存湿混机报表明细数据
/// </summary>
/// <param name="reportId"></param>
/// <param name="_dryMixerMix"></param>
private void InsertReportWetMixerDetail(Guid reportId, List<WetMixerMix> wetMixers)
{
try
{
Task.Run(() =>
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlStr = @"insert into Report_WetMixer_Detail
(reportId, eqNo, mixBatch, mixStep, actCode, mixTime, mixTemp, mixSpeed, mix)
values
(@reportId, @eqNo, @mixBatch, @mixStep, @actCode, @mixTime, @mixTemp, @mixSpeed, @mix)";
foreach (WetMixerMix _wetMixerMix in wetMixers)
{
if (_wetMixerMix.actCode == 0) continue;
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlStr;
dbHelper.AddParameter("@reportId", reportId);
dbHelper.AddParameter("@eqNo", _wetMixerMix.eqNo);
dbHelper.AddParameter("@mixBatch", _wetMixerMix.mixBatch);
dbHelper.AddParameter("@mixStep", _wetMixerMix.mixStep);
dbHelper.AddParameter("@actCode", _wetMixerMix.actCode);
dbHelper.AddParameter("@mixTime", _wetMixerMix.mixTime);
dbHelper.AddParameter("@mixTemp", _wetMixerMix.mixTemp);
dbHelper.AddParameter("@mixSpeed", _wetMixerMix.mixSpeed);
dbHelper.AddParameter("@mix", _wetMixerMix.mix);
dbHelper.ExecuteNonQuery();
}
});
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存湿混机报表明细数据异常:{0}", ex.Message), ex);
}
}
} }
} }

@ -0,0 +1,253 @@
using Mesnac.Action.ChemicalWeighing.Entity.Report;
using Mesnac.Codd.Session;
using System;
using System.Collections.Generic;
using System.Data;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace Mesnac.Action.ChemicalWeighing.FinishBatch.SaveHelper
{
public sealed class ReportWetMixerSaveHelper
{
private static readonly Lazy<ReportWetMixerSaveHelper> lazy = new Lazy<ReportWetMixerSaveHelper>(() => new ReportWetMixerSaveHelper());
public static ReportWetMixerSaveHelper Instance
{
get
{
return lazy.Value;
}
}
private ReportWetMixerSaveHelper() { }
/// <summary>
/// 湿混机报表数据保存
/// </summary>
public void SaveWetMixerReport()
{
try
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Debug("湿混机报表数据保存开始!!!");
//准备信号读取
Report_WetMixer WetMixer_dos0 = readWetMixer("A"); //读取报表数据
SaveReportDb(WetMixer_dos0); //保存报表数据
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("湿混机报表数据保存异常:{0}", ex.Message), ex);
}
}
/// <summary>
/// 通过PLC读取湿混机报表数据
/// </summary>
/// <param name="machineType">湿混机A、湿混机B</param>
/// <returns></returns>
private Report_WetMixer readWetMixer(string machineType)
{
Report_WetMixer _wetMixer = null;
try
{
_wetMixer = new Report_WetMixer();
_wetMixer.wetmixer = readWetMixers(machineType);
_wetMixer.mix = readWetMixerMix(machineType, 10);
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("通过PLC读取湿混机报表数读取异常{0}", ex.Message), ex);
}
return _wetMixer;
}
/// <summary>
/// 读取湿混机数据
/// </summary>
/// <param name="machineType"></param>
/// <param name="amount"></param>
/// <returns></returns>
private WetMixerDevice readWetMixers(string machineType)
{
var eqNo = new Entity.DataKeyValue($"wetMixing{machineType}_1_eqNo");
WetMixerDevice wetMixer = new WetMixerDevice()
{
eqNo = eqNo.NowValue.ToInt(),
recordTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
};
return wetMixer;
}
/// <summary>
/// 读取湿混机Mix数据
/// </summary>
/// <param name="machineType"></param>
/// <param name="amount"></param>
/// <returns></returns>
private List<WetMixerMix> readWetMixerMix(string machineType, int amount)
{
List<WetMixerMix> wetMixerMixes = new List<WetMixerMix>();
for (int mix = 0; mix < 10; mix++)
{
#region 实例化参数
var eqNo = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_eqNo");
var mixBatch = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixBatch");
var mixStep = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixStep");
var actCode = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_actCode");
var mixTime = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixTime");
var mixTemp = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixTemp");
var mixSpeed = new Entity.DataKeyValue($"wetMixing{machineType}_{mix}_mixSpeed");
#endregion
WetMixerMix wetMixerMix = new WetMixerMix()
{
eqNo = eqNo.NowValue.ToInt(),
mixBatch = mixBatch.NowValue.ToInt(),
mixStep = mixStep.NowValue.ToInt(),
actCode = actCode.NowValue.ToInt(),
mixTime = mixTime.NowValue.ToInt(),
mixTemp = mixTemp.NowValue.ToDouble(),
mixSpeed = mixSpeed.NowValue.ToDouble(),
mix = mix,
recordTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
};
wetMixerMixes.Add(wetMixerMix);
}
return wetMixerMixes;
}
/// <summary>
/// 保存湿混机报表数据至数据库
/// </summary>
/// <param name="_wetMixer"></param>
private void SaveReportDb(Report_WetMixer _wetMixer)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
try
{
string str = serializer.Serialize(_wetMixer);
if (_wetMixer != null)
{
if (_wetMixer.wetmixer != null)
{
InsertReportWetMixer(_wetMixer.report_Id, _wetMixer.wetmixer);
}
if (_wetMixer.mix != null)
{
InsertReportWetMixerDetail(_wetMixer.report_Id, _wetMixer.mix);
}
}
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Warn($"报表数据打印:{str}");
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存报表数据至数据库异常:{0}", ex.Message), ex);
}
}
/// <summary>
/// 保存湿混机报表数据
/// </summary>
/// <param name="reportId"></param>
/// <param name="_dryMixerDos"></param>
private void InsertReportWetMixer(Guid reportId, WetMixerDevice wetMixer)
{
try
{
Task.Run(() =>
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlStr = @"insert into Report_WetMixer
(reportId, eqName)
values
(@reportId, @eqName)";
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlStr;
dbHelper.AddParameter("@eqName", wetMixer.eqNo);
dbHelper.AddParameter("@reportId", reportId);
dbHelper.ExecuteNonQuery();
});
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存湿混机报表数据异常:{0}", ex.Message), ex);
}
}
/// <summary>
/// 保存湿混机报表明细数据
/// </summary>
/// <param name="reportId"></param>
/// <param name="wetMixerMix"></param>
private void InsertReportWetMixerDetail(Guid reportId, List<WetMixerMix> wetMixerMix)
{
try
{
Task.Run(() =>
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
string sqlStr = @"insert into Report_WetMixer_Detail
(reportId, eqNo, mixBatch, mixStep, actCode, mixTime, mixTemp, mixSpeed, mix)
values
(@reportId, @eqNo, @mixBatch, @mixStep, @actCode, @mixTime, @mixTemp, @mixSpeed, @mix)";
foreach (WetMixerMix _wetMixerMix in wetMixerMix)
{
if (_wetMixerMix.actCode == 0) continue;
dbHelper.ClearParameter();
dbHelper.CommandType = CommandType.Text;
dbHelper.CommandText = sqlStr;
dbHelper.AddParameter("@reportId", reportId);
dbHelper.AddParameter("@eqNo", _wetMixerMix.eqNo);
dbHelper.AddParameter("@mixBatch", _wetMixerMix.mixBatch);
dbHelper.AddParameter("@mixStep", _wetMixerMix.mixStep);
dbHelper.AddParameter("@actCode", _wetMixerMix.actCode);
dbHelper.AddParameter("@mixTime", _wetMixerMix.mixTime);
dbHelper.AddParameter("@mixTemp", _wetMixerMix.mixTemp);
dbHelper.AddParameter("@mixSpeed", _wetMixerMix.mixSpeed);
dbHelper.AddParameter("@mix", _wetMixerMix.mix);
dbHelper.ExecuteNonQuery();
}
});
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService<ReportDryMixerSaveHelper>.Error(String.Format("保存湿混机报表明细数据异常:{0}", ex.Message), ex);
}
}
}
}

@ -220,6 +220,7 @@
<Compile Include="Entity\SimplePstUser.cs" /> <Compile Include="Entity\SimplePstUser.cs" />
<Compile Include="FinishBatch\GHFinshBatchHelper.cs" /> <Compile Include="FinishBatch\GHFinshBatchHelper.cs" />
<Compile Include="FinishBatch\SaveHelper\ReportSaveHelper.cs" /> <Compile Include="FinishBatch\SaveHelper\ReportSaveHelper.cs" />
<Compile Include="FinishBatch\SaveHelper\ReportWetMixerSaveHelper.cs" />
<Compile Include="FinishBatch\SCADAHelper\AlarmRefreshActionForExtend.cs" /> <Compile Include="FinishBatch\SCADAHelper\AlarmRefreshActionForExtend.cs" />
<Compile Include="LjAction\InitDbAction.cs" /> <Compile Include="LjAction\InitDbAction.cs" />
<Compile Include="LjDevice\DeviceHelp.cs" /> <Compile Include="LjDevice\DeviceHelp.cs" />
@ -471,6 +472,10 @@
<Compile Include="Report\ProductionReport\SelectRowAction.cs" /> <Compile Include="Report\ProductionReport\SelectRowAction.cs" />
<Compile Include="Report\ProductionReport\SelectPlanAction.cs" /> <Compile Include="Report\ProductionReport\SelectPlanAction.cs" />
<Compile Include="Report\ReportHelper.cs" /> <Compile Include="Report\ReportHelper.cs" />
<Compile Include="Report\WetMixer\ExportAction.cs" />
<Compile Include="Report\WetMixer\InitFormAction.cs" />
<Compile Include="Report\WetMixer\SelectAction.cs" />
<Compile Include="Report\WetMixer\SelectRowAction.cs" />
<Compile Include="RoleManage\FrmRole.cs"> <Compile Include="RoleManage\FrmRole.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>

@ -0,0 +1,158 @@
using DevExpress.Utils.Drawing.Helpers;
using ICSharpCode.Core;
using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.Entity.Report;
using Mesnac.Action.ChemicalWeighing.Report.ProductionReport;
using Microsoft.Office.Interop.Excel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesnac.Action.ChemicalWeighing.Report.WetMixer
{
/// <summary>
/// 湿混机报表导出事件
/// </summary>
public class ExportAction : ChemicalWeighingAction, Base.IAction
{
private Control _clientGridControl = null; //报表明细DGV
private DbMCControl _dgvWetMixer = null; //报表数据DGV
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<ExportAction>.Debug("湿混机报表-导出...");
this._dgvWetMixer = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_WetMixer").FirstOrDefault();
DataGridView _WetMixerGridView = this._dgvWetMixer.BaseControl as DataGridView;
if (_WetMixerGridView != null)
{
WetMixerDevice wetMixerDevice = new WetMixerDevice();
wetMixerDevice.eqNo = ParseToInt(_WetMixerGridView.SelectedRows[0].Cells["eqNo"].Value.ToString());
wetMixerDevice.recordTime = _WetMixerGridView.SelectedRows[0].Cells["recordTime"].Value.ToString();
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._clientGridControl = GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv")).FirstOrDefault();
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);
System.Data.DataTable dt = clientGrid.DataSource as System.Data.DataTable;
string fileName = sfd.FileName;
if (!String.IsNullOrEmpty(fileName))
{
try
{
//写入Excle
DataTabletoExcel(fileName, dt, wetMixerDevice);
string msg1 = "湿混机报表导出成功"; //导出生产报表数据至Excel成功!
ICSharpCode.Core.LoggingService<ExportAction>.Info(msg1);
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.Caption, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
string msg1 = $"湿混机报表导出异常:{ex.Message}";
ICSharpCode.Core.LoggingService<ExportAction>.Error(msg1);
MessageBox.Show(msg1, Mesnac.Basic.LanguageHelper.WarnCaption, MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
}
}
/// <summary>
/// 写入到Excel文件
/// </summary>
/// <param name="strFileName"></param>
/// <param name="tmpDataTable"></param>
/// <param name="wetMixerDevice"></param>
public void DataTabletoExcel(string strFileName, System.Data.DataTable tmpDataTable, WetMixerDevice wetMixerDevice)
{
///先得到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[2, 1] = wetMixerDevice.eqNo;
oSheet.Cells[2, 2] = wetMixerDevice.recordTime;
//自定义方法,绘制合并表头
oSheet.Cells[3, 1] = "设备";
oSheet.Cells[3, 2] = "Mix";
oSheet.Cells[3, 3] = "批次";
oSheet.Cells[3, 4] = "步号";
oSheet.Cells[3, 5] = "动作";
oSheet.Cells[3, 6] = "时间";
oSheet.Cells[3, 7] = "温度";
oSheet.Cells[3, 8] = "速度";
oSheet.Cells[3, 9] = "记录时间";
#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();
}
}
oSheet.SaveAs(strFileName);
}
/// <summary>
/// 字符串转Int
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private int ParseToInt(string str)
{
int returnInt = 0;
if (str == null || str.Trim().Length < 1)
{
return returnInt;
}
if (int.TryParse(str, out returnInt))
{
return returnInt;
}
else
{
return 0;
}
}
}
}

@ -0,0 +1,38 @@
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.WetMixer
{
/// <summary>
/// 湿混机报表窗体初始化事件
/// </summary>
public class InitFormAction : ChemicalWeighingAction, IAction
{
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<InitFormAction>.Debug("湿混机报表-窗体初始化...");
#region 获取界面控件
DbMCControl clientGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_WetMixer").FirstOrDefault(); //获取本机台计划网格控件
if (clientGridControl == null)
{
ICSharpCode.Core.LoggingService<InitFormAction>.Error("{湿混机报表-窗体加载} 缺少日志网格控件...");
return;
}
#endregion
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
startdate.MCValue = DateTime.Now.AddDays(-7);
}
}
}

@ -0,0 +1,81 @@
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.WetMixer
{
/// <summary>
/// 湿混机报表查询事件
/// </summary>
public class SelectAction : ChemicalWeighingAction, IAction
{
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<SelectAction>.Debug("湿混机报表-查询...");
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
ICSharpCode.Core.LoggingService<ExportAction>.Error("获取本地数据连接失败...");
return;
}
dbHelper.ClearParameter();
StringBuilder sbSql = new StringBuilder(@"select t1.objId,t1.reportId,t2.Name as eqNo,t1.recordTime
from Report_WetMixer t1
left join Device t2 on t1.eqNo = t2.Id
where 1=1 ");
List<DbMCControl> mcControllist = GetAllDbMCControlsByOption(DbOptionTypes.Query);//获取所有待初始化控件
IBaseControl startdate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "startdate").FirstOrDefault().BaseControl;
IBaseControl starttime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "starttime").FirstOrDefault().BaseControl;
if (startdate != null && starttime != null)
{
//Append
sbSql.AppendLine(@"AND t1.recordTime>='" + Convert.ToDateTime(startdate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(starttime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectAction>.Debug("{湿混机报表-查询} 缺少key值为startdate或者starttime的时间查询条件...");
return;
}
IBaseControl enddate = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "enddate").FirstOrDefault().BaseControl;
IBaseControl endtime = mcControllist.Where(t => t.BaseControl.MCKey != null && t.BaseControl.MCKey.ToLower() == "endtime").FirstOrDefault().BaseControl;
if (enddate != null && endtime != null)
{
sbSql.AppendLine(@"AND t1.recordTime<='" + Convert.ToDateTime(enddate.MCValue).ToString("yyyy-MM-dd") + " " + Convert.ToDateTime(endtime.MCValue).ToShortTimeString() + "' ");
}
else
{
ICSharpCode.Core.LoggingService<SelectAction>.Debug("{湿混机报表-查询} 缺少key值为enddate或者enddate的时间查询条件...");
return;
}
sbSql.Append(" ORDER BY t1.recordTime desc");
dbHelper.CommandText = sbSql.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
DataTable table = dbHelper.ToDataTable();
//刷新DataGridView数据
DbMCControl _dgvWetMixer = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_WetMixer").FirstOrDefault();
if (_dgvWetMixer == null || !(_dgvWetMixer.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectAction>.Warn("{湿混机报表-查询} 缺少系统日志DataGridView控件...");
runtime.IsReturn = false;
return;
}
_dgvWetMixer.BaseControl.BindDataSource = table;
}
}
}

@ -0,0 +1,94 @@
using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.Report.ProductionReport;
using Mesnac.Codd.Session;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesnac.Action.ChemicalWeighing.Report.WetMixer
{
/// <summary>
/// 湿混机报表明细查询事件
/// </summary>
public class SelectRowAction : ChemicalWeighingAction, IAction
{
private Control _clientGridControl = null; //多维表控件
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须要调用的
ICSharpCode.Core.LoggingService<SelectAction>.Debug("湿混机报表-明细查询...");
//获取报表数据
DbMCControl _dgvWetMixer = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Report_WetMixer").FirstOrDefault();
if (_dgvWetMixer == null || !(_dgvWetMixer.BaseControl is DataGridView))
{
ICSharpCode.Core.LoggingService<SelectPlanAction>.Warn("{生产报表} 缺少湿混机报表DataGridView控件...");
runtime.IsReturn = false;
return;
}
DataGridView _WetMixerGridView = _dgvWetMixer.BaseControl as DataGridView;
this._clientGridControl = GetAllControls().Where(x => x.Name.Contains("MultiColHeaderDgv")).FirstOrDefault();
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);
#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
//获取选中行的ReportId关联获取明细数据并赋值给明细控件
if (_WetMixerGridView.SelectedRows.Count == 1)
{
string lR_planID = _WetMixerGridView.SelectedRows[0].Cells["reportId"].Value as string;
//获取数据链接
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
ICSharpCode.Core.LoggingService<ExportAction>.Error("获取本地数据连接失败...");
return;
}
dbHelper.ClearParameter();
//获取明细数据
StringBuilder sqlStr = new StringBuilder(@"select t2.Name as 设备编号,t1.mix as Mix,t1. mixBatch as 批次,t1.mixStep as 步号,t1.actCode as 动作,
t1.mixTime as ,t1.mixTemp as ,t1.mixSpeed as ,t1.recordTime as
from Report_WetMixer_Detail t1
left join Device t2 on t1.eqNo = t2.Id
where t1.reportId = @reportId");
dbHelper.CommandText = sqlStr.ToString();
dbHelper.CommandType = System.Data.CommandType.Text;
dbHelper.AddParameter("@reportId", lR_planID);
DataTable table = dbHelper.ToDataTable();
clientGrid.DataSource = table;
}
}
}
}

@ -1,57 +0,0 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="测试">
<Action action="3AF2FD2A3D8046E1A74BAAEEF8108CBC">
<Caption>业务测试3</Caption>
<Remark>业务测试3</Remark>
</Action>
<Action action="3AF2FD2A3D8046E1A74BAAEEF8108CBE">
<Caption>生产计划测试</Caption>
<Remark>生产计划测试</Remark>
</Action>
<Action action="3AF2FD2A3D8046E1A74BAAEEF8108CBF">
<Caption>小料Action测试</Caption>
<Remark>小料Action测试</Remark>
</Action>
<Action action="CA696A803AC94F53BAAF62CC428C17C3">
<Caption>触发保存报警测试</Caption>
<Remark>触发保存报警测试</Remark>
</Action>
<Action action="79BC12A3F8DC4115B4AD242154CD5468">
<Caption>写物料名称</Caption>
<Remark>写物料名称</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<Design action="3AF2FD2A3D8046E1A74BAAEEF8108CBC">
<Runtime action="4EF541839A5D489D93A871F4CBFEC9DA"/>
</Design>
<Design action="3AF2FD2A3D8046E1A74BAAEEF8108CBE">
<Runtime action="4EF541839A5D489D93A871F4CBFEC9DC"/>
</Design>
<Design action="3AF2FD2A3D8046E1A74BAAEEF8108CBF">
<Runtime action="4EF541839A5D489D93A871F4CBFEC9DD"/>
</Design>
<Design action="CA696A803AC94F53BAAF62CC428C17C3">
<Runtime action="E70794B1617B4D32A65600ED165D55FE"/>
</Design>
<Design action="79BC12A3F8DC4115B4AD242154CD5468">
<Runtime action="00F7217EFF0C4C68A1F77933A2702C8D"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/Default/Mesnac.Action.Default.dll">
<Action action="4EF541839A5D489D93A871F4CBFEC9DA" class="Mesnac.Action.ChemicalWeighing.Test"/>
</Import>
<Import assembly = "Data/Action/ChemicalWeighing/Mesnac.Action.ChemicalWeighing.dll">
<Action action="4EF541839A5D489D93A871F4CBFEC9DC" class="Mesnac.Action.ChemicalWeighing.Product.PptPlan.FrmProPlanViewAction"/>
<Action action="4EF541839A5D489D93A871F4CBFEC9DD" class="Mesnac.Action.ChemicalWeighing.Test.TestAction"/>
<Action action="E70794B1617B4D32A65600ED165D55FE" class="Mesnac.Action.ChemicalWeighing.Test.TestTrigerAlarmAction"/>
<Action action="00F7217EFF0C4C68A1F77933A2702C8D" class="Mesnac.Action.ChemicalWeighing.Test.TestMDown"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<ActionService>
<Design>
<Path path="我叫锄头">
<Action action="62b176511a4bfc81bb6e12e9c0abdb">
<Caption>窗体初始化</Caption>
<Remark>窗体初始化</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--窗体初始化-->
<Design action="62b176511a4bfc81bb6e12e9c0abdb">
<Runtime action="581699a771f1480a9145153685aa05ce"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/ChemicalWeighing/Mesnac.Action.ChemicalWeighing.dll">
<Action action="581699a771f1480a9145153685aa05ce" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.InitFormAction"/>
<Action action="144fb9fa93cd45cdaf7f7fe2afd27c29" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.SelectAction"/>
<Action action="bb5bf89a091e44a3ada73368002b2744" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.SelectRowAction"/>
<Action action="49e3cc0cf7dc4e8e9c007bee99699f45" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.ExportAction"/>
</Import>
</Runtime>
</ActionService>

@ -0,0 +1,52 @@
<?xml version="1.0"?>
<ActionService>
<Design>
<Path path="榄菊报表/湿混机报表">
<Action action="4062b176511a4bfc81bb6e12e9c0abdb">
<Caption>窗体初始化</Caption>
<Remark>窗体初始化</Remark>
</Action>
<Action action="bfc71f903be449ecba6737862a4154a4">
<Caption>查询</Caption>
<Remark>查询湿混机报表</Remark>
</Action>
<Action action="b91057670adb4c9294b442c4c8a0853d">
<Caption>报表明细</Caption>
<Remark>报表明细</Remark>
</Action>
<Action action="165cb6d6db104ce098bdeeabf07cfe68">
<Caption>导出</Caption>
<Remark>导出湿混机报表</Remark>
</Action>
</Path>
</Design>
<DesignToRuntime>
<!--窗体初始化-->
<Design action="4062b176511a4bfc81bb6e12e9c0abdb">
<Runtime action="581699a771f1480a9145153685aa05ce"/>
</Design>
<Design action="bfc71f903be449ecba6737862a4154a4">
<Runtime action="144fb9fa93cd45cdaf7f7fe2afd27c29"/>
</Design>
<Design action="b91057670adb4c9294b442c4c8a0853d">
<Runtime action="bb5bf89a091e44a3ada73368002b2744"/>
</Design>
<Design action="165cb6d6db104ce098bdeeabf07cfe68">
<Runtime action="49e3cc0cf7dc4e8e9c007bee99699f45"/>
</Design>
</DesignToRuntime>
<Runtime>
<Import assembly = "Data/Action/ChemicalWeighing/Mesnac.Action.ChemicalWeighing.dll">
<Action action="581699a771f1480a9145153685aa05ce" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.InitFormAction"/>
<Action action="144fb9fa93cd45cdaf7f7fe2afd27c29" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.SelectAction"/>
<Action action="bb5bf89a091e44a3ada73368002b2744" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.SelectRowAction"/>
<Action action="49e3cc0cf7dc4e8e9c007bee99699f45" class="Mesnac.Action.ChemicalWeighing.Report.WetMixer.ExportAction"/>
</Import>
</Runtime>
</ActionService>

@ -2610,7 +2610,7 @@
<Data name="wetMixingH_9_mixSpeed" runname="wetMixingH_9_mixSpeed" start="2502" len="2" method="Default_Float()" max="" issave="False" subtractor="" remark="速度" /> <Data name="wetMixingH_9_mixSpeed" runname="wetMixingH_9_mixSpeed" start="2502" len="2" method="Default_Float()" max="" issave="False" subtractor="" remark="速度" />
</Data> </Data>
</Group> </Group>
<Group name="RecipeDataFromPC" block="104" start="0" len="1710" access="ReadWrite" remark="" isautoread="False"> <Group name="RecipeDataFromPC" block="2104" start="0" len="1710" access="ReadWrite" remark="" isautoread="False">
<Data> <Data>
<Data name="FirstWord" runname="FirstWord" start="0" len="1" method="Default_ShortDiv()" max="" issave="False" subtractor="" remark="预留" /> <Data name="FirstWord" runname="FirstWord" start="0" len="1" method="Default_ShortDiv()" max="" issave="False" subtractor="" remark="预留" />
<Data name="recipeCode" runname="recipeCode" start="1" len="1" method="Default_ShortDiv()" max="" issave="False" subtractor="" remark="配方代码" /> <Data name="recipeCode" runname="recipeCode" start="1" len="1" method="Default_ShortDiv()" max="" issave="False" subtractor="" remark="配方代码" />

@ -1,5 +1,21 @@
<Object type="Mesnac.Gui.Common.FrmRunTemplate, Mesnac.Gui.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="湿混机报表" children="Controls"> <Object type="Mesnac.Gui.Common.FrmRunTemplate, Mesnac.Gui.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="湿混机报表" children="Controls">
<Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox3" children="Controls">
<Object type="Mesnac.Controls.Default.MultiColHeaderDgv, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MultiColHeaderDgv1" children="Controls">
<Property name="Dock">Fill</Property>
<Property name="Location">3, 22</Property>
<Property name="Name">MultiColHeaderDgv1</Property>
<Property name="Size">1262, 325</Property>
</Object>
<Property name="TabStop">False</Property>
<Property name="Text">报表明细</Property>
<Property name="Dock">Fill</Property>
<Property name="Font">宋体, 12pt, style=Bold</Property>
<Property name="Location">0, 424</Property>
<Property name="Name">GroupBox3</Property>
<Property name="Size">1268, 350</Property>
<Property name="TabIndex">8</Property>
</Object>
<Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox2" children="Controls"> <Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox2" children="Controls">
<Object type="Mesnac.Controls.Default.MCDataGridView, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCDataGridView1" children="Controls"> <Object type="Mesnac.Controls.Default.MCDataGridView, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCDataGridView1" children="Controls">
<Property name="DisplayAllColumn">False</Property> <Property name="DisplayAllColumn">False</Property>
@ -10,15 +26,15 @@
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL</Binary>
</Property> </Property>
<Property name="DoubleClickActionList"> <Property name="DoubleClickActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAANAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDQ2YTgwYzA3NTY0MzRmNWI5Mjc4MDQ0YmUzOGVlNTdmBgYAAAAM5oql6KGo5piO57uGBgcAAAAM5oql6KGo5piO57uGCw==</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAARAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIGI5MTA1NzY3MGFkYjRjOTI5NGI0NDJjNGM4YTA4NTNkBgYAAAAM5oql6KGo5piO57uGBgcAAAAM5oql6KGo5piO57uGCw==</Binary>
</Property> </Property>
<Property name="SelectionChangedActionList"> <Property name="SelectionChangedActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAADAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAANBAs=</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAADAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAANBAs=</Binary>
</Property> </Property>
<Property name="MCKey">[DataSource1].[Report_DryMixer]</Property> <Property name="MCKey">[DataSource1].[Report_WetMixer]</Property>
<Property name="MCDataSourceID">MCDataSource1</Property> <Property name="MCDataSourceID">MCDataSource1</Property>
<Property name="IsDbControl">True</Property> <Property name="IsDbControl">True</Property>
<Property name="InitDataSource">select t1.objId,t1.reportId,t2.Name as eqNo,t1.batch,t1.matCode,t1.setValue,t1.setToler,t1.actValue,t1.actToLer,t1.dos,t1.recordTime from Report_DryMixer t1 left join Device t2 on t1.eqNo = t2.Id</Property> <Property name="InitDataSource">select t1.objId,t1.reportId,t2.Name as eqNo,t1.batch,t1.matCode,t1.setValue,t1.setToler, t1.actValue,t1.actToLer,t1.dos,t1.recordTime from Report_DryMixer t1 left join Device t2 on t1.eqNo = 2.Idwhere 1=1</Property>
<Property name="ActionDataSource" /> <Property name="ActionDataSource" />
<Property name="BindDataSource"> <Property name="BindDataSource">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAABVTeXN0ZW0uRGF0YS5EYXRhVGFibGUDAAAAGURhdGFUYWJsZS5SZW1vdGluZ1ZlcnNpb24JWG1sU2NoZW1hC1htbERpZmZHcmFtAwEBDlN5c3RlbS5WZXJzaW9uAgAAAAkDAAAABgQAAACFBDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPHhzOnNjaGVtYSB4bWxucz0iIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIj4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTUNEYXRhR3JpZFZpZXciPg0KICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8L3hzOmVsZW1lbnQ+DQogIDx4czplbGVtZW50IG5hbWU9InRtcERhdGFTZXQiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiIG1zZGF0YTpNYWluRGF0YVRhYmxlPSJNQ0RhdGFHcmlkVmlldyIgbXNkYXRhOlVzZUN1cnJlbnRMb2NhbGU9InRydWUiPg0KICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8L3hzOmVsZW1lbnQ+DQo8L3hzOnNjaGVtYT4GBQAAAIABPGRpZmZncjpkaWZmZ3JhbSB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSIgeG1sbnM6ZGlmZmdyPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnhtbC1kaWZmZ3JhbS12MSIgLz4EAwAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgCAAAAAAAAAP//////////Cw==</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAABVTeXN0ZW0uRGF0YS5EYXRhVGFibGUDAAAAGURhdGFUYWJsZS5SZW1vdGluZ1ZlcnNpb24JWG1sU2NoZW1hC1htbERpZmZHcmFtAwEBDlN5c3RlbS5WZXJzaW9uAgAAAAkDAAAABgQAAACFBDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPHhzOnNjaGVtYSB4bWxucz0iIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIj4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTUNEYXRhR3JpZFZpZXciPg0KICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8L3hzOmVsZW1lbnQ+DQogIDx4czplbGVtZW50IG5hbWU9InRtcERhdGFTZXQiIG1zZGF0YTpJc0RhdGFTZXQ9InRydWUiIG1zZGF0YTpNYWluRGF0YVRhYmxlPSJNQ0RhdGFHcmlkVmlldyIgbXNkYXRhOlVzZUN1cnJlbnRMb2NhbGU9InRydWUiPg0KICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgIDx4czpjaG9pY2UgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8L3hzOmVsZW1lbnQ+DQo8L3hzOnNjaGVtYT4GBQAAAIABPGRpZmZncjpkaWZmZ3JhbSB4bWxuczptc2RhdGE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLW1zZGF0YSIgeG1sbnM6ZGlmZmdyPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnhtbC1kaWZmZ3JhbS12MSIgLz4EAwAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgCAAAAAAAAAP//////////Cw==</Binary>
@ -26,6 +42,7 @@
<Property name="DbOptionType">Query</Property> <Property name="DbOptionType">Query</Property>
<Property name="MCVisible">True</Property> <Property name="MCVisible">True</Property>
<Property name="MCEnabled">True</Property> <Property name="MCEnabled">True</Property>
<Property name="AutoGenerateColumns">False</Property>
<Property name="ColumnHeadersHeight">25</Property> <Property name="ColumnHeadersHeight">25</Property>
<Property name="MultiSelect">False</Property> <Property name="MultiSelect">False</Property>
<Property name="Dock">Fill</Property> <Property name="Dock">Fill</Property>
@ -43,22 +60,6 @@
<Property name="Size">1268, 360</Property> <Property name="Size">1268, 360</Property>
<Property name="TabIndex">7</Property> <Property name="TabIndex">7</Property>
</Object> </Object>
<Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox3" children="Controls">
<Object type="Mesnac.Controls.Default.MultiColHeaderDgv, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MultiColHeaderDgv1" children="Controls">
<Property name="Dock">Fill</Property>
<Property name="Location">3, 22</Property>
<Property name="Name">MultiColHeaderDgv1</Property>
<Property name="Size">1262, 685</Property>
</Object>
<Property name="TabStop">False</Property>
<Property name="Text">报表明细</Property>
<Property name="Dock">Fill</Property>
<Property name="Font">宋体, 12pt, style=Bold</Property>
<Property name="Location">0, 64</Property>
<Property name="Name">GroupBox3</Property>
<Property name="Size">1268, 710</Property>
<Property name="TabIndex">8</Property>
</Object>
<Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox1" children="Controls"> <Object type="System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="GroupBox1" children="Controls">
<Object type="Mesnac.Controls.Default.MCCombobox, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCCombobox1" children="Controls"> <Object type="Mesnac.Controls.Default.MCCombobox, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCCombobox1" children="Controls">
<Property name="AllowTypeAllSymbols">True</Property> <Property name="AllowTypeAllSymbols">True</Property>
@ -76,7 +77,9 @@
<Property name="IsDbControl">False</Property> <Property name="IsDbControl">False</Property>
<Property name="InitDataSource">select * from Device where Name LIKE '干混%'</Property> <Property name="InitDataSource">select * from Device where Name LIKE '干混%'</Property>
<Property name="ActionDataSource" /> <Property name="ActionDataSource" />
<Property name="BindDataSource" /> <Property name="BindDataSource">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAE5TeXN0ZW0uRGF0YSwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAABVTeXN0ZW0uRGF0YS5EYXRhVGFibGUDAAAAGURhdGFUYWJsZS5SZW1vdGluZ1ZlcnNpb24JWG1sU2NoZW1hC1htbERpZmZHcmFtAwEBDlN5c3RlbS5WZXJzaW9uAgAAAAkDAAAABgQAAAD1Azw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi0xNiI/Pg0KPHhzOnNjaGVtYSB4bWxucz0iIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIj4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGFibGUxIj4NCiAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgPC94czplbGVtZW50Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJ0bXBEYXRhU2V0IiBtc2RhdGE6SXNEYXRhU2V0PSJ0cnVlIiBtc2RhdGE6TWFpbkRhdGFUYWJsZT0iVGFibGUxIiBtc2RhdGE6VXNlQ3VycmVudExvY2FsZT0idHJ1ZSI+DQogICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgPHhzOmNob2ljZSBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6Y29tcGxleFR5cGU+DQogIDwveHM6ZWxlbWVudD4NCjwveHM6c2NoZW1hPgYFAAAAgAE8ZGlmZmdyOmRpZmZncmFtIHhtbG5zOm1zZGF0YT0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp4bWwtbXNkYXRhIiB4bWxuczpkaWZmZ3I9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206eG1sLWRpZmZncmFtLXYxIiAvPgQDAAAADlN5c3RlbS5WZXJzaW9uBAAAAAZfTWFqb3IGX01pbm9yBl9CdWlsZAlfUmV2aXNpb24AAAAACAgICAIAAAAAAAAA//////////8L</Binary>
</Property>
<Property name="DbOptionType">Query</Property> <Property name="DbOptionType">Query</Property>
<Property name="MCVisible">True</Property> <Property name="MCVisible">True</Property>
<Property name="MCEnabled">True</Property> <Property name="MCEnabled">True</Property>
@ -107,7 +110,7 @@
</Object> </Object>
<Object type="Mesnac.Controls.Default.MCButton, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCButton2" children="Controls"> <Object type="Mesnac.Controls.Default.MCButton, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCButton2" children="Controls">
<Property name="ClickActionList"> <Property name="ClickActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAEAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIGI3YzYyNDZlNzVhYzQ1NjNhZjk3Y2Y4ZjUwODk2ODk1BgYAAAAG5a+85Ye6BgcAAAAV5a+85Ye65bmy5re35py65oql6KGoCw==</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAKAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDE2NWNiNmQ2ZGIxMDRjZTA5OGJkZWVhYmYwN2NmZTY4BgYAAAAG5a+85Ye6BgcAAAAV5a+85Ye65rm/5re35py65oql6KGoCw==</Binary>
</Property> </Property>
<Property name="MCKey" /> <Property name="MCKey" />
<Property name="MCDataSourceID" /> <Property name="MCDataSourceID" />
@ -211,7 +214,7 @@
</Object> </Object>
<Object type="Mesnac.Controls.Default.MCButton, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCButton3" children="Controls"> <Object type="Mesnac.Controls.Default.MCButton, Mesnac.Controls.Default, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" name="MCButton3" children="Controls">
<Property name="ClickActionList"> <Property name="ClickActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAATAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDE1ZDFlMWZhMzMwNjRkM2Q5ODZiMTlkNzljYWIyYTEwBgYAAAAG5p+l6K+iBgcAAAAV5p+l6K+i5bmy5re35py65oql6KGoCw==</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAAXAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIGJmYzcxZjkwM2JlNDQ5ZWNiYTY3Mzc4NjJhNDE1NGE0BgYAAAAG5p+l6K+iBgcAAAAV5p+l6K+i5rm/5re35py65oql6KGoCw==</Binary>
</Property> </Property>
<Property name="MCKey" /> <Property name="MCKey" />
<Property name="MCDataSourceID" /> <Property name="MCDataSourceID" />
@ -284,7 +287,7 @@
<Property name="TabIndex">6</Property> <Property name="TabIndex">6</Property>
</Object> </Object>
<Property name="LoadActionList"> <Property name="LoadActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDQwNjJiMTc2NTExYTRiZmM4MWJiNmUxMmU5YzBhYmRiBgYAAAAP56qX5L2T5Yid5aeL5YyWBgcAAAAP56qX5L2T5Yid5aeL5YyWCw==</Binary>
</Property> </Property>
<Property name="ActivatedActionList"> <Property name="ActivatedActionList">
<Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL</Binary> <Binary>AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL</Binary>

@ -219,6 +219,10 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Data\EventConfig\小料称量\我叫锄头.xml" />
<Content Include="Data\EventConfig\小料称量\榄菊报表.湿混机报表.xml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Data\EventConfig\小料称量\榄菊日罐物料.xml"> <Content Include="Data\EventConfig\小料称量\榄菊日罐物料.xml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

Loading…
Cancel
Save