|
|
|
|
@ -26,39 +26,44 @@
|
|
|
|
|
|
|
|
|
|
<ScrollViewer x:Name="svTanks" Grid.Row="1" Margin="20 20 20 40"
|
|
|
|
|
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
|
|
|
|
|
HorizontalAlignment="Center" Visibility="Collapsed">
|
|
|
|
|
HorizontalAlignment="Center">
|
|
|
|
|
<ItemsControl ItemsSource="{Binding TankGroups}">
|
|
|
|
|
<ItemsControl.ItemsPanel>
|
|
|
|
|
<ItemsPanelTemplate>
|
|
|
|
|
<StackPanel Orientation="Horizontal"/>
|
|
|
|
|
<UniformGrid Columns="3"/>
|
|
|
|
|
</ItemsPanelTemplate>
|
|
|
|
|
</ItemsControl.ItemsPanel>
|
|
|
|
|
|
|
|
|
|
<ItemsControl.ItemTemplate>
|
|
|
|
|
<DataTemplate>
|
|
|
|
|
<StackPanel Margin="25 0" HorizontalAlignment="Center" >
|
|
|
|
|
<!-- 그룹 헤더: 수조 번호 -->
|
|
|
|
|
<StackPanel Margin="20 0" HorizontalAlignment="Center" >
|
|
|
|
|
<TextBlock Text="{Binding Key, StringFormat=수조 {0}}"
|
|
|
|
|
FontSize="20" FontWeight="Bold" Foreground="White"
|
|
|
|
|
Margin="0 0 0 10"/>
|
|
|
|
|
|
|
|
|
|
<!-- Value(= ObservableCollection<WaterQualityVO>)로 DataGrid -->
|
|
|
|
|
<DataGrid ItemsSource="{Binding Value}"
|
|
|
|
|
Style="{StaticResource DataGridStyle}">
|
|
|
|
|
|
|
|
|
|
Style="{StaticResource DataGridStyle}"
|
|
|
|
|
RowStyle="{StaticResource DataGridRowStyle}"
|
|
|
|
|
ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}">
|
|
|
|
|
<DataGrid.Columns>
|
|
|
|
|
<!-- 측정 시각 -->
|
|
|
|
|
<DataGridTextColumn
|
|
|
|
|
Header="시간"
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}"/>
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:HH:mm:ss\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
|
|
|
|
|
<!-- Tank 값들 -->
|
|
|
|
|
<DataGridTextColumn Header="수조" Binding="{Binding Tank.Number}"/>
|
|
|
|
|
<DataGridTextColumn Header="DO" Binding="{Binding Tank.DOValue, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="pH" Binding="{Binding Tank.PH, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="ORP" Binding="{Binding Tank.ORP, StringFormat=\{0:F0\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="온도(℃)" Binding="{Binding Tank.Temperature, StringFormat=\{0:F1\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="유량(m³/s)" Binding="{Binding Tank.FlowRate, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="DO(mg/L)" Binding="{Binding Tank.DOValue, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="pH" Binding="{Binding Tank.PH, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="ORP(mV)" Binding="{Binding Tank.ORP, StringFormat=\{0:F0\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="온도(℃)" Binding="{Binding Tank.Temperature, StringFormat=\{0:F1\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="유량(m³/s)" Binding="{Binding Tank.FlowRate, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
</DataGrid>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
@ -70,43 +75,65 @@
|
|
|
|
|
<ScrollViewer x:Name="svFilter" Grid.Row="1" Margin="20 20 20 40"
|
|
|
|
|
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
|
|
|
|
|
HorizontalAlignment="Center" Visibility="Collapsed">
|
|
|
|
|
<DataGrid ItemsSource="{Binding WaterQualityList}" Style="{StaticResource DataGridStyle}">
|
|
|
|
|
<DataGrid ItemsSource="{Binding WaterQualityList}" Style="{StaticResource DataGridStyle}"
|
|
|
|
|
RowStyle="{StaticResource DataGridRowStyle}" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}">
|
|
|
|
|
<DataGrid.Columns>
|
|
|
|
|
<DataGridTextColumn
|
|
|
|
|
Header="시간"
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}"/>
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:HH:mm:ss\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
|
|
|
|
|
<DataGridTextColumn Header="모래여과기 전원" Binding="{Binding Filtering.SandFilterPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 pH" Binding="{Binding Filtering.SumpPH}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 ORP(mV)" Binding="{Binding Filtering.SumpORP, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 수위(m)" Binding="{Binding Filtering.SumpWaterLevel, StringFormat=\{0:F0\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 유량(m³/s)" Binding="{Binding Filtering.SumpFlowRate, StringFormat=\{0:F1\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 수온(°C)" Binding="{Binding Filtering.SumpTemperature, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 전원" Binding="{Binding Filtering.CirculationPumpPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="인버터 제어기 상태" Binding="{Binding Filtering.InverterControllerStatus}"/>
|
|
|
|
|
<DataGridTextColumn Header="순환펌프 유량(m³/s)" Binding="{Binding Filtering.FlowRate, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="히트펌프 전원" Binding="{Binding Filtering.HeatPumpPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="히트펌프 온도(°C)" Binding="{Binding Filtering.HeatPumpTemperature, StringFormat=\{0:F2\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="에어브로와 전원" Binding="{Binding Filtering.AirBlowerPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="모래여과기 전원" Binding="{Binding Filtering.SandFilterPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 pH" Binding="{Binding Filtering.SumpPH}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 ORP(mV)" Binding="{Binding Filtering.SumpORP, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 수위(m)" Binding="{Binding Filtering.SumpWaterLevel, StringFormat=\{0:F0\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 유량(m³/s)" Binding="{Binding Filtering.SumpFlowRate, StringFormat=\{0:F1\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="섬프탱크 수온(°C)" Binding="{Binding Filtering.SumpTemperature, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="순환펌프 전원" Binding="{Binding Filtering.CirculationPumpPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="인버터 제어기 상태" Binding="{Binding Filtering.InverterControllerStatus}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="순환펌프 유량(m³/s)" Binding="{Binding Filtering.FlowRate, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="히트펌프 전원" Binding="{Binding Filtering.HeatPumpPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="히트펌프 온도(°C)" Binding="{Binding Filtering.HeatPumpTemperature, StringFormat=\{0:F2\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="에어브로와 전원" Binding="{Binding Filtering.AirBlowerPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
</DataGrid>
|
|
|
|
|
</ScrollViewer>
|
|
|
|
|
|
|
|
|
|
<ScrollViewer x:Name="svSterilizer" Grid.Row="1" Margin="20 20 20 40"
|
|
|
|
|
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
|
|
|
|
|
HorizontalAlignment="Center">
|
|
|
|
|
<DataGrid ItemsSource="{Binding WaterQualityList}" Style="{StaticResource DataGridStyle}">
|
|
|
|
|
HorizontalAlignment="Center" Visibility="Collapsed">
|
|
|
|
|
<DataGrid ItemsSource="{Binding WaterQualityList}" Style="{StaticResource DataGridStyle}"
|
|
|
|
|
RowStyle="{StaticResource DataGridRowStyle}" ColumnHeaderStyle="{StaticResource DataGridColumnHeaderStyle}">
|
|
|
|
|
<DataGrid.Columns>
|
|
|
|
|
<DataGridTextColumn
|
|
|
|
|
Header="시간"
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:yyyy-MM-dd HH:mm:ss\}}"/>
|
|
|
|
|
Binding="{Binding RecordedTime, StringFormat=\{0:HH:mm:ss\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
|
|
|
|
|
<DataGridTextColumn Header="오존 발생기 전원" Binding="{Binding Sterilizing.OzoneGeneratorPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="자외선 살균기 ID" Binding="{Binding Sterilizing.UVSterilizerId}"/>
|
|
|
|
|
<DataGridTextColumn Header="자외선 살균기 전원" Binding="{Binding Sterilizing.UVSterilizerPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="오존용해장치 전원" Binding="{Binding Sterilizing.OzoneDissolverPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="오존용해장치 압력(kPa)" Binding="{Binding Sterilizing.OzoneDissolverPressure, StringFormat=\{0:F1\}}"/>
|
|
|
|
|
<DataGridTextColumn Header="배오존장치 전원" Binding="{Binding Sterilizing.ExcessOzoneDestroyerPower}"/>
|
|
|
|
|
<DataGridTextColumn Header="오존 발생기 전원" Binding="{Binding Sterilizing.OzoneGeneratorPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="자외선 살균기 ID" Binding="{Binding Sterilizing.UVSterilizerId}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="자외선 살균기 전원" Binding="{Binding Sterilizing.UVSterilizerPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="오존용해장치 전원" Binding="{Binding Sterilizing.OzoneDissolverPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="오존용해장치 압력(kPa)" Binding="{Binding Sterilizing.OzoneDissolverPressure, StringFormat=\{0:F1\}}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
<DataGridTextColumn Header="배오존장치 전원" Binding="{Binding Sterilizing.ExcessOzoneDestroyerPower}"
|
|
|
|
|
ElementStyle="{StaticResource DataGridElmenetStyle}"/>
|
|
|
|
|
</DataGrid.Columns>
|
|
|
|
|
</DataGrid>
|
|
|
|
|
</ScrollViewer>
|
|
|
|
|
|