Commit 5e43ece8 authored by 潘栩锋's avatar 潘栩锋 🚴

整理自动风环数据库

parent 4f8c1fd4
......@@ -68,11 +68,11 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Page_ErrorNewestTable.xaml">
<Page Include="PgError\PgErrorAllTable.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Page_ErrorTable.xaml">
<Page Include="PgError\PgErrorTable.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
......@@ -124,11 +124,11 @@
<ItemGroup>
<Compile Include="Converter\IPEPConverter.cs" />
<Compile Include="HeatListHelper.cs" />
<Compile Include="Page_ErrorNewestTable.xaml.cs">
<DependentUpon>Page_ErrorNewestTable.xaml</DependentUpon>
<Compile Include="PgError\PgErrorAllTable.xaml.cs">
<DependentUpon>PgErrorAllTable.xaml</DependentUpon>
</Compile>
<Compile Include="Page_ErrorTable.xaml.cs">
<DependentUpon>Page_ErrorTable.xaml</DependentUpon>
<Compile Include="PgError\PgErrorTable.xaml.cs">
<DependentUpon>PgErrorTable.xaml</DependentUpon>
</Compile>
<Compile Include="UIModule\MenuSelect_Main.xaml.cs">
<DependentUpon>MenuSelect_Main.xaml</DependentUpon>
......
<Page x:Class="FLY.FeedbackRenZiJia.UI.Client.Page_ErrorNewestTable"
<Page x:Class="FLY.FeedbackRenZiJia.UI.Client.PgErrorAllTable"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FLY.FeedbackRenZiJia.UI.Client"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
mc:Ignorable="d"
d:DesignHeight="900" d:DesignWidth="960" Background="White"
Title="Page_ErrorTable">
......@@ -11,54 +11,77 @@
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/ThickTcpUiInWindow;component/Converter/Dictionary_MyConv.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ControlTemplate x:Key="picture_button" TargetType="Button">
<Border Name="border" BorderThickness="1" CornerRadius="5">
<ContentPresenter Content="{TemplateBinding Content}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="LightBlue"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="border" Property="Background" Value="LightGray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style TargetType="Control" x:Key="iconPackStyle">
<Setter Property="Width" Value="25"/>
<Setter Property="Height" Value="25"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<Style TargetType="FrameworkElement" x:Key="backPackStyle">
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
</Style>
<Style TargetType="TextBlock" x:Key="titlePackStyle">
<Setter Property="Margin" Value="2"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<Style TargetType="Button" x:Key="buttonStyle" BasedOn="{StaticResource ButtonStyle_empty}">
<Setter Property="Margin" Value="20,0"/>
</Style>
</ResourceDictionary>
</Page.Resources>
<Grid Name="root_grid" >
<!--<Grid.DataContext>
<StaticResource ResourceKey="testunit_weighters"/>
</Grid.DataContext>-->
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="496*" />
</Grid.RowDefinitions>
<Grid Background="{StaticResource Background_Title}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" >
<Button Style="{StaticResource ButtonStyle_back2}" Click="button_back_Click" />
<TextBlock Style="{StaticResource TextBlockStyle_Title}" Text="报警"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" >
<Button Style="{StaticResource buttonStyle}" Click="button_clear_click" >
<StackPanel Orientation="Vertical">
<Grid Style="{StaticResource GridStyle_ButtonShadow}">
<Ellipse Style="{StaticResource backPackStyle}" Fill="White"/>
<iconPacks:PackIconMaterialDesign Kind="Clear" Style="{StaticResource iconPackStyle}" Foreground="#FFEE3232"/>
</Grid>
<TextBlock Text="清空" Style="{StaticResource titlePackStyle}"/>
</StackPanel>
</Button>
</StackPanel>
</Grid>
<StackPanel Orientation="Horizontal" Background="{StaticResource Background_Title}">
<Button Style="{StaticResource ButtonStyle_back2}" Click="button_back_Click" />
<TextBlock Style="{StaticResource TextBlockStyle_Title}" Text="报警"/>
</StackPanel>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="历史报警&#x0a;列表" />
</Border>
<Grid Grid.Column="1" x:Name="grid_window">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="751*"/>
<ColumnDefinition Width="54*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
......@@ -88,19 +111,9 @@
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Text="行"/>
</StackPanel>
</StackPanel>
<Button Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10,-30,30,10" Style="{StaticResource ResourceKey=ButtonStyle_empty}" Click="button_clear_click" >
<Grid>
<Grid.Effect>
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" Opacity=".2" ShadowDepth="1"/>
</Grid.Effect>
<Ellipse Fill="White" Stretch="Uniform" Width="60"/>
<Path Data="{StaticResource Geometry_close-circle}" Fill="Red" Stretch="Uniform" Width="60" Height="60"/>
<TextBlock Text="清空" Padding="2" Background="Red" Foreground="White" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,-10"/>
</Grid>
</Button>
</Grid>
<DataGrid Grid.Row="1" ItemsSource="{Binding Record}" AutoGenerateColumns="False" IsReadOnly="True" >
<DataGrid Grid.Row="1" ItemsSource="{Binding Record}" AutoGenerateColumns="False" IsReadOnly="True" Grid.ColumnSpan="2" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="FontSize" Value="20"/>
......
using FLY.FeedbackRenZiJia.Client;
using FLY.OBJComponents.Client;
using FLY.OBJComponents.Client;
using FLY.OBJComponents.Common;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
......@@ -22,23 +20,40 @@ namespace FLY.FeedbackRenZiJia.UI.Client
/// <summary>
/// Page_Flow.xaml 的交互逻辑
/// </summary>
public partial class Page_ErrorNewestTable : Page
public partial class PgErrorAllTable : Page
{
WarningServiceClient mWarningService;
BufferWindow<FlyData_WarningHistory> mWindow;
SysParam mSysParam;
public Page_ErrorNewestTable()
/// <summary>
///
/// </summary>
public PgErrorAllTable()
{
InitializeComponent();
Init();
}
void Init()
/// <summary>
///
/// </summary>
/// <param name="sysParam"></param>
/// <param name="warningService"></param>
public void Init(
SysParam sysParam,
WarningServiceClient warningService)
{
mWarningService = TDGage.Current.mWarningService;
mWindow = new BufferWindow<FlyData_WarningHistory>(mWarningService.NewestList);
mSysParam = sysParam;
mWarningService = warningService;
mWindow = new BufferWindow<FlyData_WarningHistory>(mWarningService.NewestList, mSysParam.WindowSize);
mWindow.PropertyChanged += (s, e) =>
{
if (e.PropertyName == "Size")
{
mSysParam.WindowSize = mWindow.Size;
mSysParam.Save();
}
};
grid_window.DataContext = mWindow;
}
......@@ -51,7 +66,7 @@ namespace FLY.FeedbackRenZiJia.UI.Client
{
if (FLY.ControlLibrary.MyMessageBox.Show("确定是否清空全部历史数据?") == true)
{
mWarningService.Reset();
mWarningService.NewestList.Reset();
FLY.ControlLibrary.Window_Tip.Show("成功", "清除完毕!", TimeSpan.FromSeconds(2));
}
}
......
<Page x:Class="FLY.FeedbackRenZiJia.UI.Client.Page_ErrorTable"
<Page x:Class="FLY.FeedbackRenZiJia.UI.Client.PgErrorTable"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:FLY.FeedbackRenZiJia.UI.Client"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
mc:Ignorable="d"
d:DesignHeight="900" d:DesignWidth="960" Background="White"
Title="Page_ErrorTable">
d:DesignHeight="768" d:DesignWidth="1024"
Background="White"
Title="Page_WarningSystem">
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<ControlTemplate x:Key="picture_button" TargetType="Button">
<Border Name="border" BorderThickness="1" CornerRadius="5">
<ContentPresenter Content="{TemplateBinding Content}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="LightBlue"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="border" Property="Background" Value="LightGray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style TargetType="Control" x:Key="iconPackStyle">
<Setter Property="Width" Value="25"/>
<Setter Property="Height" Value="25"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<Style TargetType="FrameworkElement" x:Key="backPackStyle">
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
</Style>
<Style TargetType="TextBlock" x:Key="titlePackStyle">
<Setter Property="Margin" Value="2"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<Style TargetType="Button" x:Key="buttonStyle" BasedOn="{StaticResource ButtonStyle_empty}">
<Setter Property="Margin" Value="20,0"/>
</Style>
</ResourceDictionary>
</Page.Resources>
<Grid Name="root_grid" >
<!--<Grid.DataContext>
<StaticResource ResourceKey="testunit_weighters"/>
</Grid.DataContext>-->
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="496*" />
</Grid.RowDefinitions>
<Grid Background="{StaticResource Background_Title}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" >
<Button Style="{StaticResource ButtonStyle_back2}" Click="button_back_Click" />
<TextBlock Style="{StaticResource TextBlockStyle_Title}" Text="报警"/>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="60,0,0,0">
<Button Style="{StaticResource buttonStyle}" Click="button_database_click" >
<StackPanel Orientation="Vertical">
<Grid Style="{StaticResource GridStyle_ButtonShadow}">
<Ellipse Style="{StaticResource backPackStyle}" Fill="{StaticResource Color_theme_static}" />
<iconPacks:PackIconMaterial Kind="DatabaseSearch" Style="{StaticResource iconPackStyle}" Foreground="White"/>
</Grid>
<TextBlock Text="查询" Style="{StaticResource titlePackStyle}"/>
</StackPanel>
</Button>
<Button Style="{StaticResource buttonStyle}" Click="button_reset_click" >
<StackPanel Orientation="Vertical">
<Grid Style="{StaticResource GridStyle_ButtonShadow}">
<Ellipse Style="{StaticResource backPackStyle}" Fill="#FFEE3232" />
<iconPacks:PackIconModern Kind="Reset" Style="{StaticResource iconPackStyle}" Foreground="White"/>
</Grid>
<TextBlock Text="复位" Style="{StaticResource titlePackStyle}"/>
</StackPanel>
</Button>
</StackPanel>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" >
<Button Style="{StaticResource buttonStyle}" Click="button_silence_click" >
<StackPanel Orientation="Vertical">
<Grid Style="{StaticResource GridStyle_ButtonShadow}">
<Ellipse Style="{StaticResource backPackStyle}" Fill="White"/>
<iconPacks:PackIconOcticons Kind="Mute" Style="{StaticResource iconPackStyle}" Foreground="#FFEE3232" />
</Grid>
<TextBlock Text="消音" Style="{StaticResource titlePackStyle}"/>
</StackPanel>
</Button>
</StackPanel>
</Grid>
<StackPanel Orientation="Horizontal" Background="{StaticResource Background_Title}">
<Button Style="{StaticResource ButtonStyle_back2}" Click="button_back_Click" />
<TextBlock Style="{StaticResource TextBlockStyle_Title}" Text="报警"/>
</StackPanel>
<Grid Grid.Row="2">
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
......@@ -51,7 +94,7 @@
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="当前报警&#x0a;列表" />
</Border>
<DataGrid Grid.Column="1" x:Name="gridFlows" AutoGenerateColumns="False" IsReadOnly="True" >
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
......@@ -75,20 +118,14 @@
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Button Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10,-30,30,10" Style="{StaticResource ResourceKey=ButtonStyle_empty}" Click="button_newest_click" >
<Grid>
<Grid.Effect>
<DropShadowEffect BlurRadius="15" Direction="-90" RenderingBias="Quality" Opacity=".2" ShadowDepth="1"/>
</Grid.Effect>
<Ellipse Fill="{StaticResource Color_theme_static}" Stretch="Uniform" Width="60" Height="60" />
<Path Data="{StaticResource Geometry_database-search}" Fill="White" Stretch="Uniform" Width="30"/>
<TextBlock Text="查询" Padding="2" Background="{StaticResource Color_theme_static}" Foreground="White" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,-10"/>
</Grid>
</Button>
</Grid>
<StackPanel Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10,-30,30,10" Orientation="Horizontal">
</StackPanel>
</Grid>
</Grid>
</Page>
using FLY.FeedbackRenZiJia.Client;
using FLY.OBJComponents.Client;
using FLY.OBJComponents.Common;
using System;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
......@@ -16,28 +11,46 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
namespace FLY.FeedbackRenZiJia.UI.Client
{
/// <summary>
/// Page_ErrorTable.xaml 的交互逻辑
/// </summary>
public partial class Page_ErrorTable : Page
public partial class PgErrorTable : Page
{
WarningServiceClient mWarningService;
BufferWindow<FlyData_WarningHistory> mWindow;
FLY.OBJComponents.Client.WarningServiceClient mWarningService;
FLY.OBJComponents.Client.BufferWindow<FLY.OBJComponents.Common.FlyData_WarningHistory> mWindow;
SysParam mSysParam;
public Page_ErrorTable()
/// <summary>
///
/// </summary>
public PgErrorTable()
{
InitializeComponent();
Init();
}
}
void Init()
/// <summary>
///
/// </summary>
/// <param name="warningService"></param>
/// <param name="warningReasonWindow"></param>
/// <param name="sysParam"></param>
public void Init(
FLY.OBJComponents.Client.WarningServiceClient warningService,
FLY.OBJComponents.Client.BufferWindow<FLY.OBJComponents.Common.FlyData_WarningHistory> warningReasonWindow,
SysParam sysParam
)
{
mWarningService = TDGage.Current.mWarningService;
mWindow = TDGage.Current.mWarningReasonWindow;
mWarningService = warningService;
mWindow = warningReasonWindow;
mSysParam = sysParam;
gridFlows.ItemsSource = mWindow.Record;
}
......@@ -46,20 +59,27 @@ namespace FLY.FeedbackRenZiJia.UI.Client
NavigationService.GoBack();
}
private void button_newest_click(object sender, RoutedEventArgs e)
private void button_reset_click(object sender, RoutedEventArgs e)
{
mWarningService.Reset();
}
private void button_silence_click(object sender, RoutedEventArgs e)
{
mWarningService.Silence();
}
private void button_database_click(object sender, RoutedEventArgs e)
{
NavigationService ns = Application.Current.Properties["NavigationService"] as NavigationService;
NavigationService ns = NavigationService;// Application.Current.Properties["NavigationService"] as NavigationService;
if (ns != null)
{
Page_ErrorNewestTable p = new Page_ErrorNewestTable();
PgErrorAllTable p = new PgErrorAllTable();
p.Init(mSysParam, mWarningService);
ns.Navigate(p);
}
}
private void button_reset_click(object sender, RoutedEventArgs e)
{
mWarningService.Reset();
}
}
}
......@@ -23,8 +23,9 @@ namespace FLY.FeedbackRenZiJia.UI.Client
return current;
}
}
#region 属性,成员变量的代理
public int WindowSize { get; set; } = 30;
public IPEndPoint ServerEP { get; set; }
......@@ -82,7 +83,8 @@ namespace FLY.FeedbackRenZiJia.UI.Client
"InnerPlotPositionY",
"InnerPlotPositionWidth",
"InnerPlotPositionHeight",
"IsHideStable"
"IsHideStable",
"WindowSize"
};
}
......
......@@ -32,7 +32,9 @@ namespace FLY.FeedbackRenZiJia.UI.Client.UIModule
FeedbackHeatServiceClient mFeedback;
HeatBufServiceClient mHeatBuf;
WarningServiceClient mWarningService;
BufferWindow<FlyData_WarningHistory> mWindow;
SysParam mSysParam;
DispatcherTimer timer_error;
DynAreaViewModelParams props = new DynAreaViewModelParams();
......@@ -44,13 +46,16 @@ namespace FLY.FeedbackRenZiJia.UI.Client.UIModule
public void Init(int id)
{
//获取设备
SysParam sysparam = SysParam.Current;
mSysParam = SysParam.Current;
mWarningService = TDGage.Current.mWarningService;
mWindow = TDGage.Current.mWarningReasonWindow;
//把 FeedbackHeat 共享。 1个程序,只能有一个 FeedbackHeat
mFeedback = TDGage.Current.mFeedback;
mHeatBuf = TDGage.Current.mHeatBuf;
view_stability.DataContext = sysparam;
view_stability.DataContext = mSysParam;
grid_feedback.DataContext = mFeedback;
grid_heatbuf.DataContext = mHeatBuf;
......@@ -138,7 +143,8 @@ namespace FLY.FeedbackRenZiJia.UI.Client.UIModule
NavigationService ns = Application.Current.Properties["NavigationService"] as NavigationService;
if (ns != null)
{
Page_ErrorTable p = new Page_ErrorTable();
PgErrorTable p = new PgErrorTable();
p.Init(mWarningService, mWindow, mSysParam);
ns.Navigate(p);
}
}
......
......@@ -86,6 +86,7 @@
<Compile Include="Server\Model\LcTable.cs" />
<Compile Include="Server\PLCLink.cs" />
<Compile Include="Server\SnapShotBuf.cs" />
<Compile Include="Server\SysParam.cs" />
<Compile Include="Server\TDGage.cs" />
</ItemGroup>
<ItemGroup>
......
......@@ -26,9 +26,10 @@ namespace FLY.FeedbackRenZiJia.Server.OBJProxy
mBufOBJProxy = new HeatBuf_OBJProxy(objsys_idx, mGage.mfeedback.mHeatBuf);
mCellOBJProxy = new HeatCell_OBJProxy(objsys_idx, mGage.mfeedback.mHeatCell);
mSnapShotOBJProxy = new SnapShotBuf_OBJProxy(objsys_idx, mGage.mfeedback.mSnapShotBuf);
mWarnSystemOBJProxy = new WarningSystem_OBJProxy(objsys_idx, OBJ_INTERFACE.OBJ_INTERFACE_ID.WARNING_OBJ_ID, mGage.mfeedback.mWarning);
mWarnSystemOBJProxy = new WarningSystem_OBJProxy(objsys_idx, OBJ_INTERFACE.OBJ_INTERFACE_ID.WARNING_OBJ_ID, mGage.mWarning);
mFeedbackOBJProxy.CurrObjSys.Start_Conn_Server(
new IPEndPoint(IPAddress.Any, gage.OBJ_Port),mFeedbackOBJProxy.ID);
new IPEndPoint(IPAddress.Any, gage.mSysParam.OBJ_Port),mFeedbackOBJProxy.ID);
}
}
}
......@@ -147,12 +147,13 @@ namespace FLY.FeedbackRenZiJia.Server
public HeatBuf mHeatBuf = new HeatBuf();
HeatCheck mHeatCheck = new HeatCheck();
public SnapShotBuf mSnapShotBuf = new SnapShotBuf();
public HistoryDb mHistoryDb;
public DbModel mDbModel;
HistoryDb mHistoryDb;
DbModel mDbModel;
/// <summary>
/// 报警系统
/// </summary>
public WarningSystem mWarning;
WarningSystem mWarning;
static FeedbackHeat()
{
......@@ -174,13 +175,8 @@ namespace FLY.FeedbackRenZiJia.Server
HasCheckFilmVelocity = plc.HasElectricity;
HasFan = plc.HasFan;
mDbModel = new DbModel();
mDbModel.Init();
mHistoryDb = new HistoryDb();
mHistoryDb.Init(mDbModel);
InitBuf();
//-------------------------------------------------------------------
......@@ -259,7 +255,6 @@ namespace FLY.FeedbackRenZiJia.Server
NotifyPropertyChanged("Bads");
}
};
mWarning = new WarningSystem();
if (plc is PLCLink)
......@@ -554,12 +549,17 @@ namespace FLY.FeedbackRenZiJia.Server
public void Init(
FLY.Thick.Blowing.Client.BlowingServiceClient renzijia,
FLY.Thick.Blowing.IService.IBlowingDetect bDetect
FLY.Thick.Blowing.IService.IBlowingDetect bDetect,
FLY.OBJComponents.Server.WarningSystem warning,
HistoryDb historyDb
)
{
this.renzijia = renzijia;
mBDetect = bDetect;
mWarning = warning;
mHistoryDb = historyDb;
//新数据,与参数被修改时,都会收到事件,应该区别开
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace FLY.FeedbackRenZiJia.Server
{
public class SysParam : Misc.ISaveToXml
{
/// <summary>
/// OBJ服务端口
/// </summary>
public int OBJ_Port { get; set; } = 20007;
/// <summary>
/// 远程服务器
/// </summary>
public IPEndPoint ServerIPEP { get; set; } = Misc.StringConverter.ToIPEndPoint("127.0.0.1:20006");
/// <summary>
/// 数据库保持时间 默认6个月
/// </summary>
public int DBKeepMonth { get; set; } = 6;
public SysParam()
{
Load();
}
public void Save()
{
Misc.SaveToXmlHepler.Save("system.xml", this);
}
public void Load()
{
Misc.SaveToXmlHepler.Load("system.xml", this);
}
public string[] GetSavePropertyNames()
{
return new string[]{
"OBJ_Port",
"ServerIPEP",
"DBKeepMonth"
};
}
}
}
......@@ -7,11 +7,11 @@ using System.Net;
using FObjBase;
using Misc;
using FLY.FeedbackRenZiJia.Server.Model;
namespace FLY.FeedbackRenZiJia.Server
{
public class TDGage : Misc.ISaveToXml
public class TDGage
{
#region 参数--------------------------------------------------------------------
#region 初始化------------------------------------------------------------------
......@@ -19,24 +19,25 @@ namespace FLY.FeedbackRenZiJia.Server
public string mName;//名字 如:gage0
#endregion
#region 本地数据----------------------------------------------------------------
public SysParam mSysParam;
public FeedbackHeat mfeedback;
#endregion
#region 服务器数据--------------------------------------------------------------
/// <summary>
/// OBJ服务端口
/// </summary>
public int OBJ_Port { get; set; } = 20007;
public FLY.Thick.Blowing.Client.BlowingServiceClient mRenZiJia;
public FLY.Thick.Blowing.Client.BlowingDetectServiceClient mBDetect;
/// <summary>
/// 远程服务器
/// 报警系统
/// </summary>
public IPEndPoint ServerIPEP { get; set; }
public FLY.OBJComponents.Server.WarningSystem mWarning;
public FLY.Thick.Blowing.Client.BlowingServiceClient mRenZiJia;
public HistoryDb mHistoryDb;
public FLY.Thick.Blowing.Client.BlowingDetectServiceClient mBDetect;
public DbModel mDbModel;
#endregion
#endregion
......@@ -52,6 +53,7 @@ namespace FLY.FeedbackRenZiJia.Server
}
System.Environment.CurrentDirectory = mParamDirectory;
Init1();
}
......@@ -63,20 +65,7 @@ namespace FLY.FeedbackRenZiJia.Server
/// </summary>
public void Init1()
{
#region 数据备份。。。。
BackupFile.Add("feedback.xml", BackupFile.xml_isFileOK);
BackupFile.Add("heatbuf.xml", BackupFile.xml_isFileOK);
BackupFile.Add("heatcell.xml", BackupFile.xml_isFileOK);
BackupFile.Add("system.xml", BackupFile.xml_isFileOK);
BackupFile.CheckResult cr = BackupFile.Check();
#endregion
OBJ_Port = 20007;
ServerIPEP = Misc.StringConverter.ToIPEndPoint("127.0.0.1:20006");
Load();
mSysParam = new SysParam();
#region 与服务器同步的数据
......@@ -88,13 +77,48 @@ namespace FLY.FeedbackRenZiJia.Server
#region 提取保存的数据
//---------------------------------------------------------------------------------------------------------------
//数据库
mDbModel = new DbModel();
mDbModel.Init();
mHistoryDb = new HistoryDb();
mHistoryDb.Init(mDbModel);
mHistoryDb.KeepDBSize(mSysParam.DBKeepMonth);
PollModule.Current.Poll_Config(PollModule.POLL_CONFIG.ADD, () =>
{
//避免1个月都不关程序,每天检查一次
mHistoryDb.KeepDBSize(mSysParam.DBKeepMonth);
}, TimeSpan.FromDays(1));
//---------------------------------------------------------------------------------------------------------------
//Warning_Create
OBJComponents.Server.BufferError bufferError = new OBJComponents.Server.BufferError();
bufferError.Init(mDbModel);
mWarning = new OBJComponents.Server.WarningSystem(bufferError);
Misc.BindingOperations.SetBinding(mWarning, "IsRinging", () =>
{
//报警不动作
if (mWarning.IsRinging)
{
}
else
{
}
});
mfeedback = new FeedbackHeat();//系统参数
mfeedback.Init(
mRenZiJia,
mBDetect
mBDetect,
mWarning,
mHistoryDb
);
......@@ -110,7 +134,7 @@ namespace FLY.FeedbackRenZiJia.Server
{
#region 网络初始化
FObjSys.Current.Connect_to_Another_OBJSys(
ServerIPEP,
mSysParam.ServerIPEP,
mRenZiJia.ID,
mBDetect.ID
);
......@@ -120,24 +144,5 @@ namespace FLY.FeedbackRenZiJia.Server
#endregion
public void Save()
{
Misc.SaveToXmlHepler.Save("system.xml", this);
}
public void Load()
{
Misc.SaveToXmlHepler.Load("system.xml", this);
}
#region ISaveToXml 成员
public string[] GetSavePropertyNames()
{
return new string[]{
"OBJ_Port",
"ServerIPEP"
};
}
#endregion
}
}
......@@ -44,6 +44,20 @@
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Reference Include="LiveCharts, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\thick_public\dll\LiveCharts.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Feng">
<HintPath>..\..\thick_public\dll\LiveCharts.Feng.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Feng.Wpf">
<HintPath>..\..\thick_public\dll\LiveCharts.Feng.Wpf.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Wpf, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\thick_public\dll\LiveCharts.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
......@@ -200,9 +214,6 @@
</Resource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="LiveCharts.Wpf">
<Version>0.9.7</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.2</Version>
</PackageReference>
......
......@@ -121,6 +121,9 @@
<Compile Include="PgProfileBlowing.xaml.cs">
<DependentUpon>PgProfileBlowing.xaml</DependentUpon>
</Compile>
<Compile Include="PgScanWarning.xaml.cs">
<DependentUpon>PgScanWarning.xaml</DependentUpon>
</Compile>
<Compile Include="SysParam.cs" />
<Compile Include="TDGage.cs" />
<Compile Include="MainWindow.xaml.cs">
......@@ -202,6 +205,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="PgScanWarning.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UIModule\DynAreaBlowing.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......
......@@ -24,6 +24,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
public PgMenu()
{
InitializeComponent();
}
public void Init(TDGage gage)
{
......
<Page x:Class="FLY.Thick.BlowingScan.UI.Client.PgScanWarning"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1024"
Loaded="Page_Loaded" Unloaded="Page_Unloaded"
Background="White"
Title="Page_WarningSystem">
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.ControlLibrary;component/Themes/Dictionary_MyStyle.xaml"/>
<ResourceDictionary Source="pack://application:,,,/ThickTcpUiInWindow;component/Converter/Dictionary_MyConv.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Page.Resources>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Background="{StaticResource Background_Title}">
<Button Style="{StaticResource ButtonStyle_back2}" Command="BrowseBack"/>
<TextBlock Style="{StaticResource TextBlockStyle_Title}" Text="扫描报警"/>
</StackPanel>
<StackPanel Grid.Row="1" Margin="0,5,0,5" Orientation="Vertical">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition/>
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Border Background="{StaticResource Brush_theme_bar}" Width="150" Margin="0,5,5,5">
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="参数" />
</Border>
<StackPanel Orientation="Vertical" Grid.Column="1">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="使能" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" IsChecked="{Binding Enable}" />
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" >
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="自动目标值" />
<ToggleButton Style="{StaticResource ToggleButtonStyle1}" IsChecked="{Binding IsAutoTarget}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="连续" />
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding AlarmCnt_Tolerance}" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent_mm}" Text="个分区"/>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="超出" />
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="公差" Foreground="DarkRed" FontSize="30"/>
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="报警" />
</StackPanel>
</StackPanel>
</Grid>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" >
<Button Style="{StaticResource ButtonStyle_empty}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Click="button_apply_Click" Margin="0,0,20,-45" >
<Grid >
<Ellipse Fill="White" Height="90" Width="90"/>
<Path Data="{StaticResource Geometry_check-circle}" Fill="#FF31AE15" Stretch="Fill" Height="80" Width="80" />
</Grid>
</Button>
</StackPanel>
</Grid>
</Page>
\ No newline at end of file
using FLY.Thick.Blowing.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using ThickTcpUiInWindow;
namespace FLY.Thick.BlowingScan.UI.Client
{
/// <summary>
/// Page_ScanWarning.xaml 的交互逻辑
/// </summary>
public partial class PgScanWarning : Page
{
ScanWarningServiceClient mScanWarning;
public PgScanWarning()
{
InitializeComponent();
}
public void Init(IPEndPoint serverep)
{
mScanWarning = new ScanWarningServiceClient(FLY.Thick.BlowingScan.OBJ_INTERFACE.OBJ_INTERFACE_ID.SCANWARNING_ID);
FObjBase.FObjSys.Current.Connect_to_Another_OBJSys(
serverep, mScanWarning.ID);
this.DataContext = mScanWarning;
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
}
private void Page_Unloaded(object sender, RoutedEventArgs e)
{
mScanWarning.Dispose();
}
private void button_apply_Click(object sender, RoutedEventArgs e)
{
if (Window_Password.Authorize(2))
{
mScanWarning.Apply();
FLY.ControlLibrary.Window_Tip.Show("应用成功",
null,
TimeSpan.FromSeconds(2));
}
}
}
}
......@@ -43,6 +43,20 @@
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Reference Include="LiveCharts, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\thick_public\dll\LiveCharts.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Feng">
<HintPath>..\..\thick_public\dll\LiveCharts.Feng.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Feng.Wpf">
<HintPath>..\..\thick_public\dll\LiveCharts.Feng.Wpf.dll</HintPath>
</Reference>
<Reference Include="LiveCharts.Wpf, Version=0.9.7.0, Culture=neutral, PublicKeyToken=0bc1f845d1ebb8df, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\thick_public\dll\LiveCharts.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
......@@ -331,9 +345,6 @@
<Resource Include="FodyWeavers.xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="LiveCharts.Wpf">
<Version>0.9.7</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>12.0.2</Version>
</PackageReference>
......
......@@ -101,7 +101,7 @@
</Rectangle.Width>
</Rectangle>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="收卷" FontSize="12" FontWeight="Bold" FontFamily="YouYuan" Foreground="LightGray" Margin="2" />
<TextBlock Text="收卷" FontSize="12" FontWeight="Bold" FontFamily="YouYuan" Foreground="LightGray" Margin="2" />
<Viewbox Margin="5,0" MaxWidth="80" MaxHeight="26">
<StackPanel Orientation="Horizontal" >
<TextBlock Text="{Binding MeasureLen, StringFormat={}{0:F0}}" FontSize="24" FontFamily="Microsoft Sans Serif" TextAlignment="Center" HorizontalAlignment="Center" Foreground="White" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment