[UI.Client]
1整理ProcessHistory相关集合属性,定义在DeviceData中 2修改ProcessHistory配置的XML初始化方式 3UI层通过特性标记来获取初始化的展示对象
This commit is contained in:
parent
6c21820b13
commit
305b17a72c
|
@ -1,18 +1,96 @@
|
|||
using DocumentFormat.OpenXml.EMMA;
|
||||
using MECF.Framework.UI.Client.CenterViews.Core.Charting;
|
||||
using Aitex.Common.Util;
|
||||
using Aitex.Core.RT.DataCenter;
|
||||
using Aitex.Core.RT.Device;
|
||||
using Aitex.Core.Util;
|
||||
using DocumentFormat.OpenXml.Wordprocessing;
|
||||
using SciChart.Charting.Visuals.RenderableSeries;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Media;
|
||||
using SciChart.Data.Numerics;
|
||||
using DrawingColor = System.Drawing.Color;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
||||
namespace MECF.Framework.Common.Aitex.Core.Common.DeviceData
|
||||
{
|
||||
public class ProcessHistoryItemsDefault : Singleton<ProcessHistoryItemsDefault>
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询数据源,
|
||||
/// </summary>
|
||||
private List<ProcessDeviceItem> PM1ItemList { get; set; }
|
||||
|
||||
private List<ProcessDeviceItem> PM2ItemList { get; set; }
|
||||
|
||||
public ProcessHistoryItemsDefault()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
var phi1 = CustomXmlSerializer.Deserialize<ProcessDeviceItems>(new FileInfo($"Config\\PM\\PM1\\ProcessDeviceItemsPM1.xml"));
|
||||
PM1ItemList = phi1.ItemList;
|
||||
DATA.Subscribe($"PM1.ProcessHistoryItemsDefault", () => PM1ItemList, SubscriptionAttribute.FLAG.SaveDB);
|
||||
|
||||
var phi2 = CustomXmlSerializer.Deserialize<ProcessDeviceItems>(new FileInfo($"Config\\PM\\PM2\\ProcessDeviceItemsPM2.xml"));
|
||||
PM2ItemList = phi2.ItemList;
|
||||
DATA.Subscribe($"PM2.ProcessHistoryItemsDefault", () => PM2ItemList, SubscriptionAttribute.FLAG.SaveDB);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据XML配置生成ProcessHistory多个单元的集合对象
|
||||
/// </summary>
|
||||
[XmlType(typeName: "ProcessDeviceItems")]
|
||||
public class ProcessDeviceItems
|
||||
{
|
||||
/// <summary>
|
||||
/// ProcessDeviceItems默认对象集合
|
||||
/// </summary>
|
||||
[XmlElement("ProcessDeviceItem")]
|
||||
public List<ProcessDeviceItem> ItemList { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ProcessHistory默认对象集合数据
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[DataContract]
|
||||
[XmlType(typeName: "ProcessDeviceItem")]
|
||||
public class ProcessDeviceItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户期望界面显示项
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
[DataMember]
|
||||
public string Display { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 界面显示项,SIC数据库属性名称
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
[DataMember]
|
||||
public string Property { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位,显示用
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
[DataMember]
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据表中是否包含当前属性,不包含的时候,此属性不能作为查询项
|
||||
/// </summary>
|
||||
[DataMember]
|
||||
public bool IsPropertyExists { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Recipe生产历史记录
|
||||
/// </summary>
|
||||
|
@ -128,30 +206,5 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
Average = DeviceValue.Count > 0 ? DeviceValue.Average(t => t) : 0;
|
||||
Max = DeviceValue.Count > 0 ? DeviceValue.Max(t => t) : 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回Chatring曲线对象
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IRenderableSeries GetLineSeries()
|
||||
{
|
||||
Clear();
|
||||
SicFastLineSeries sicFastLineSeries = new SicFastLineSeries(DeviceName)
|
||||
{
|
||||
Stroke = Colors.Red,
|
||||
AntiAliasing = true,
|
||||
ResamplingMode = ResamplingMode.MinMax,
|
||||
};
|
||||
|
||||
Add(sicFastLineSeries);
|
||||
|
||||
this.ToList().ForEach(x =>
|
||||
{
|
||||
x.DataSeries.Clear();
|
||||
((SicFastLineSeries)x)?.BackendParameterNode?.ClearStatistic();
|
||||
});
|
||||
|
||||
return sicFastLineSeries;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -258,6 +258,7 @@
|
|||
<Compile Include="Aitex\Core\Common\DeviceData\PressureCtrlMode.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\PressureCtrlModeConverter.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\RealtimeGasFlowTrueTableRow.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\RecipeProcessHistoryData.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\RfMode.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\ServoState.cs" />
|
||||
<Compile Include="Aitex\Core\Common\DeviceData\TritonRfMatchMode.cs" />
|
||||
|
|
|
@ -143,6 +143,7 @@ namespace MECF.Framework.Common.DataCenter
|
|||
[ServiceKnownType(typeof(List<GasFlowSum>))]
|
||||
[ServiceKnownType(typeof(ConfigChangedInfo))]
|
||||
[ServiceKnownType(typeof(List<ConfigChangedInfo>))]
|
||||
[ServiceKnownType(typeof(List<ProcessDeviceItem>))]
|
||||
|
||||
public interface IQueryDataService
|
||||
{
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
using OpenSEMI.ClientBase;
|
||||
using System;
|
||||
using MECF.Framework.Common.Aitex.Core.Common.DeviceData;
|
||||
using OpenSEMI.ClientBase;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
||||
{
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
using Aitex.Core.Util;
|
||||
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
||||
{
|
||||
public class ProcessHistoryItemsDefault
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询数据源,
|
||||
/// </summary>
|
||||
public List<ProcessDeviceItem> ItemList { get;set; }
|
||||
|
||||
public ProcessHistoryItemsDefault(string pm)
|
||||
{
|
||||
var phi = CustomXmlSerializer.Deserialize<ProcessDeviceItems>(new FileInfo($"Config\\PM\\{pm}\\ProcessDeviceItems{pm}.xml"));
|
||||
ItemList = phi.ItemList;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
[XmlType(typeName: "ProcessDeviceItems")]
|
||||
public class ProcessDeviceItems
|
||||
{
|
||||
[XmlElement("ProcessDeviceItem")]
|
||||
public List<ProcessDeviceItem> ItemList { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
[XmlType(typeName: "ProcessDeviceItem")]
|
||||
public class ProcessDeviceItem
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户期望界面显示项
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
public string Display { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 界面显示项,SIC数据库属性名称
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
public string Property { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位,显示用
|
||||
/// </summary>
|
||||
[XmlAttribute()]
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据表中是否包含当前属性,不包含的时候,此属性不能作为查询项
|
||||
/// </summary>
|
||||
public bool IsPropertyExists { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
using Aitex.Core.RT.Log;
|
||||
using DocumentFormat.OpenXml.InkML;
|
||||
using MECF.Framework.Common.Aitex.Core.Common.DeviceData;
|
||||
using MECF.Framework.Common.DataCenter;
|
||||
using MECF.Framework.Common.Equipment;
|
||||
using Sicentury.Core;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using Aitex.Core.RT.SCCore;
|
||||
using Aitex.Core.RT.DataCenter;
|
||||
using Aitex.Core.RT.SCCore;
|
||||
using Aitex.Core.Util;
|
||||
using Caliburn.Micro;
|
||||
using MECF.Framework.Common.Aitex.Core.Common.DeviceData;
|
||||
using MECF.Framework.Common.DataCenter;
|
||||
|
@ -23,11 +25,16 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
{
|
||||
#region Variables
|
||||
|
||||
private ProcessHistoryItemsDefault ProcessHistoryItemsDefault;
|
||||
private IRange _timeRange;
|
||||
private IRange _visibleRangeValue;
|
||||
private AutoRange _autoRange;
|
||||
private List<ProcessDeviceItem> PMItemList { get; set; }
|
||||
|
||||
[Subscription("PM1.ProcessHistoryItemsDefault")]
|
||||
public List<ProcessDeviceItem> PM1ItemList { get; set; }
|
||||
|
||||
[Subscription("PM2.ProcessHistoryItemsDefault")]
|
||||
public List<ProcessDeviceItem> PM2ItemList { get; set; }
|
||||
/// <summary>
|
||||
/// 返回ViewModel绑定的视图对象。
|
||||
/// </summary>
|
||||
|
@ -63,7 +70,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
set
|
||||
{
|
||||
cbSelectPM = value;
|
||||
ProcessHistoryItemsDefault = new ProcessHistoryItemsDefault(value);//选择的PM变化时,重新加载模板
|
||||
PMItemList = value=="PM1"? PM1ItemList: PM2ItemList; //选择的PM变化时,重新加载模板
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -167,6 +174,12 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
Refresh();
|
||||
}
|
||||
|
||||
protected override void OnDeactivate(bool close)
|
||||
{
|
||||
ActiveUpdateData = true;
|
||||
base.OnDeactivate(close);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据时间段查询Recipe生产的历史记录
|
||||
/// </summary>
|
||||
|
@ -221,7 +234,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
List<List<GasFlowSum>> gasFlowRunVent = new List<List<GasFlowSum>>();
|
||||
|
||||
//按天查询数据库,单天返回数据类型为List<GasFlowSum>
|
||||
ProcessHistoryDeviceDataList = ProcessHistorySqlHelp.GetProcessHistoryDeviceData(daySlices, CbSelectPM, ProcessHistoryItemsDefault.ItemList);
|
||||
ProcessHistoryDeviceDataList = ProcessHistorySqlHelp.GetProcessHistoryDeviceData(daySlices, CbSelectPM, PMItemList);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -236,8 +249,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
|||
|
||||
private void GetDeviceCharting()
|
||||
{
|
||||
|
||||
AppendedSeries = new ObservableCollection<IRenderableSeries> { SelectProcessHistoryDeviceData.GetLineSeries() };
|
||||
RenderableSeriesProvide renderableSeries = new RenderableSeriesProvide();
|
||||
AppendedSeries = new ObservableCollection<IRenderableSeries> {renderableSeries.GetLineSeries(SelectProcessHistoryDeviceData.DeviceName)};
|
||||
|
||||
var dataSeries = AppendedSeries[0].DataSeries as XyDataSeries<DateTime, double>;
|
||||
var dateList = new List<DateTime>();
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
using MECF.Framework.UI.Client.CenterViews.Core.Charting;
|
||||
using SciChart.Charting.Visuals.RenderableSeries;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using SciChart.Data.Numerics;
|
||||
|
||||
namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
|
||||
{
|
||||
public class RenderableSeriesProvide : ObservableCollection<IRenderableSeries>
|
||||
{
|
||||
|
||||
public RenderableSeriesProvide() { }
|
||||
|
||||
/// <summary>
|
||||
/// 返回Chatring曲线对象
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public IRenderableSeries GetLineSeries(string lineName)
|
||||
{
|
||||
Clear();
|
||||
SicFastLineSeries sicFastLineSeries = new SicFastLineSeries(lineName)
|
||||
{
|
||||
Stroke = Colors.Red,
|
||||
AntiAliasing = true,
|
||||
ResamplingMode = ResamplingMode.MinMax,
|
||||
};
|
||||
|
||||
Add(sicFastLineSeries);
|
||||
|
||||
this.ToList().ForEach(x =>
|
||||
{
|
||||
x.DataSeries.Clear();
|
||||
((SicFastLineSeries)x)?.BackendParameterNode?.ClearStatistic();
|
||||
});
|
||||
|
||||
return sicFastLineSeries;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -230,13 +230,12 @@
|
|||
<DependentUpon>ProcessHistoryInfMessageBoxView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\ProcessHistoryInfMessageBoxViewModel.cs" />
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\ProcessHistoryItemsDefault.cs" />
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\ProcessHistoryTestView.xaml.cs">
|
||||
<DependentUpon>ProcessHistoryTestView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\ProcessHistoryTestViewModel.cs" />
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\ProcessHistorySqlHelp.cs" />
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\RecipeProcessHistoryData.cs" />
|
||||
<Compile Include="CenterViews\DataLogs\ProcessHistory\RenderableSeriesProvide.cs" />
|
||||
<Compile Include="CenterViews\Diagnosis\EventGeneratorView.xaml.cs">
|
||||
<DependentUpon>EventGeneratorView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
|
|
Loading…
Reference in New Issue