Files
CSI-Z420-Tablet-Multi-Funct…/Views/HistoryWindow.xaml.cs

116 lines
5.1 KiB
C#
Raw Normal View History

2026-05-05 15:31:24 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
2026-05-06 16:41:32 +08:00
using System.Windows.Controls;
2026-05-05 15:31:24 +08:00
using TabletTester2025.Models;
using TabletTester2025.Services;
namespace TabletTester2025
{
public partial class HistoryWindow : Window
{
private readonly DatabaseService _dbService;
private List<TestBatch> _allData;
public HistoryWindow()
{
InitializeComponent();
2026-05-06 16:41:32 +08:00
var connectionString = "Data Source=TabletTests.db";
2026-05-05 15:31:24 +08:00
_dbService = new DatabaseService(connectionString);
LoadData();
}
private void LoadData()
{
2026-05-06 16:41:32 +08:00
_allData = _dbService.GetBatches(null, 10000);
2026-05-05 15:31:24 +08:00
ApplyFilter();
}
private void ApplyFilter()
{
int? station = null;
if (StationFilter.SelectedIndex == 1) station = 1;
else if (StationFilter.SelectedIndex == 2) station = 2;
else if (StationFilter.SelectedIndex == 3) station = 3;
var filtered = _allData.AsEnumerable();
if (station.HasValue)
filtered = filtered.Where(b => b.StationId == station.Value);
2026-05-06 16:41:32 +08:00
// 为每个标签页绑定对应测试类型的数据
HardnessGrid.ItemsSource = filtered.Where(b => b.TestType == "硬度").OrderByDescending(b => b.TestTime).ToList();
FriabilityGrid.ItemsSource = filtered.Where(b => b.TestType == "脆碎度").OrderByDescending(b => b.TestTime).ToList();
DisintegrationGrid.ItemsSource = filtered.Where(b => b.TestType == "崩解").OrderByDescending(b => b.TestTime).ToList();
DissolutionGrid.ItemsSource = filtered.Where(b => b.TestType == "溶出").OrderByDescending(b => b.TestTime).ToList();
2026-05-05 15:31:24 +08:00
}
2026-05-06 16:41:32 +08:00
private void RefreshButton_Click(object sender, RoutedEventArgs e)
2026-05-05 15:31:24 +08:00
{
2026-05-06 16:41:32 +08:00
LoadData();
}
private void ExportHardness_Click(object sender, RoutedEventArgs e)
{
var data = HardnessGrid.ItemsSource as IEnumerable<TestBatch>;
if (data == null || !data.Any())
{
MessageBox.Show("没有硬度数据可导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
var excelService = new ExcelExportService();
string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
$"硬度报表_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
excelService.ExportHardnessToExcel(data, path);
MessageBox.Show($"导出成功: {path}", "完成", MessageBoxButton.OK, MessageBoxImage.Information);
}
private void ExportFriability_Click(object sender, RoutedEventArgs e)
{
var data = FriabilityGrid.ItemsSource as IEnumerable<TestBatch>;
if (data == null || !data.Any())
{
MessageBox.Show("没有脆碎度数据可导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
var excelService = new ExcelExportService();
string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
$"脆碎度报表_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
excelService.ExportFriabilityToExcel(data, path);
MessageBox.Show($"导出成功: {path}", "完成", MessageBoxButton.OK, MessageBoxImage.Information);
2026-05-05 15:31:24 +08:00
}
2026-05-06 16:41:32 +08:00
private void ExportDisintegration_Click(object sender, RoutedEventArgs e)
2026-05-05 15:31:24 +08:00
{
2026-05-06 16:41:32 +08:00
var data = DisintegrationGrid.ItemsSource as IEnumerable<TestBatch>;
2026-05-05 15:31:24 +08:00
if (data == null || !data.Any())
{
2026-05-06 16:41:32 +08:00
MessageBox.Show("没有崩解数据可导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
2026-05-05 15:31:24 +08:00
return;
}
2026-05-06 16:41:32 +08:00
var excelService = new ExcelExportService();
string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
$"崩解报表_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
excelService.ExportDisintegrationToExcel(data, path);
MessageBox.Show($"导出成功: {path}", "完成", MessageBoxButton.OK, MessageBoxImage.Information);
}
2026-05-05 15:31:24 +08:00
2026-05-06 16:41:32 +08:00
private void ExportDissolution_Click(object sender, RoutedEventArgs e)
{
var data = DissolutionGrid.ItemsSource as IEnumerable<TestBatch>;
if (data == null || !data.Any())
{
MessageBox.Show("没有溶出数据可导出", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
return;
}
2026-05-05 15:31:24 +08:00
var excelService = new ExcelExportService();
string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
2026-05-06 16:41:32 +08:00
$"溶出报表_{DateTime.Now:yyyyMMddHHmmss}.xlsx");
excelService.ExportDissolutionToExcel(data, path);
2026-05-05 15:31:24 +08:00
MessageBox.Show($"导出成功: {path}", "完成", MessageBoxButton.OK, MessageBoxImage.Information);
2026-05-06 16:41:32 +08:00
2026-05-05 15:31:24 +08:00
}
}
}