| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- using ivf_tl_CustomControls;
- using ivf_tl_Entity.Entity;
- using ivf_tl_Entity.Entity.balance;
- using ivf_tl_Manage.Converts;
- using ivf_tl_Manage.ViewModels;
- using ivf_tl_Manage.ViewModels.Win;
- using ivf_tl_Manage.Win;
- using ivf_tl_Service;
- using ivf_tl_Service.HttpProvider;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- 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 static System.Windows.Forms.AxHost;
- namespace ivf_tl_Manage.Views
- {
- /// <summary>
- /// BinSetting.xaml 的交互逻辑
- /// </summary>
- public partial class BinSetting : UserControl
- {
- private BinSettingViewModel vm;
- public BinSetting()
- {
- InitializeComponent();
- Loaded += (s, e) =>
- {
- //tb_T_now.Text = $"{1}{KeyToStringConvert.GetLanguageStringByKey("0058")}";
- //tb_P_now.Text = $"{1}{KeyToStringConvert.GetLanguageStringByKey("0059")}";
- //tb_T_history.Text = $"{1}{KeyToStringConvert.GetLanguageStringByKey("0060")}";
- //tb_P_history.Text = $"{1}{KeyToStringConvert.GetLanguageStringByKey("0061")}";
- vm = (BinSettingViewModel)this.DataContext;
- lb_House.SelectedIndex = 0;
- if (vm.SelectTL == null) test.SelectedIndex = 0;
- if (test.SelectedItem == null) return;
- tlSn = ((TLInfo)test.SelectedItem).tlSn;
- vm.StartTimer();
- if (lb_House.SelectedValue == null) return;
- houseSn = lb_House.SelectedValue.ToString();
- if (tlSn == null || houseSn == null) return;
- //UpdateData();
- //Dictionary<DateTime,double> keyValuePairs = new Dictionary<DateTime,double>();
- //keyValuePairs.Add(DateTime.Now, 10d);
- //keyValuePairs.Add(DateTime.Now.AddHours(1), 80d);
- //keyValuePairs.Add(DateTime.Now.AddHours(2), 30d);
- //keyValuePairs.Add(DateTime.Now.AddHours(3), 50d);
- //vm.UpdateTemperatureHistoryModel(keyValuePairs);
- //vm.UpdatePressureHistoryModel(keyValuePairs);
- DateTime start = DateTime.Now;
- DateTime end = DateTime.Now;
- SetDateAndTbText(start, end);
- //tlSn = test.SelectedValue.ToString();
- vm.SetTlSn(tlSn, houseSn, startTime, endTime);
- };
- this.Unloaded += (s, e) =>
- {
- vm.DisposeTimer();
- };
- this.PreviewMouseDown += (s, e) =>
- {
- // if(s as )
- };
- }
- private void SetDateAndTbText(DateTime start, DateTime end)
- {
- DateTime now = DateTime.Now;
- startTime = start.ToString("yyyy-MM-dd") + " 00:00:00";
- endTime = end.ToString("yyyy-MM-dd") + $" {now.Hour.ToString("D2")}:{now.Minute.ToString("D2")}:{now.Second.ToString("D2")}";
- tb_startTime.Text = start.ToString("yyyy-MM-dd") + " 00:00";
- tb_endTime.Text = end.ToString("yyyy-MM-dd") + $" {now.Hour.ToString("D2")}:{now.Minute.ToString("D2")}";
- }
- private string tlSn = null;
- private string houseSn = null;
- private void TL_DropDownClosed(object sender, EventArgs e)
- {
- if (vm == null) return;
- if (!(sender is ComBoxCustom2 source)) return;
- if (!source.IsLoaded) return;
- if (source.SelectedItem == null || tlSn == null || houseSn == null) return;
- if (lb_House.SelectedValue == null) return;
- tlSn = ((TLInfo)source.SelectedItem).tlSn;
- houseSn = lb_House.SelectedValue.ToString();
- UpdateData();
- vm.StartTimer();
- }
- public string startTime { get; set; } = null;
- public string endTime { get; set; } = null;
- public void UpdateData()
- {
- startTime = tb_startTime.Text + ":00";
- endTime = tb_endTime.Text + ":00";
- vm.SetTlSn(tlSn, houseSn, startTime, endTime);
- }
- public void UpdateData(DateTime start, DateTime end)
- {
- string startTime = start.ToString("yyyy-MM-dd HH:mm:ss");
- string endTime = end.ToString("yyyy-MM-dd HH:mm:ss");
- vm.SetTlSn(tlSn, houseSn, startTime, endTime);
- }
- private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- if (vm == null) return;
- if (!(sender is ListBox source)) return;
- if (!source.IsLoaded) return;
- if (lb_House.SelectedValue == null || source.SelectedValue == null || tlSn == null || houseSn == null)
- return;
- houseSn = lb_House.SelectedValue.ToString();
- //tb_T_now.Text = $"{houseSn}号舱室实时温度(℃)";
- //tb_T_now.Text = $"{houseSn}{KeyToStringConvert.GetLanguageStringByKey("0058")}";
- //tb_P_now.Text = $"{houseSn}号舱室实时气压(mbar)";
- //tb_P_now.Text = $"{houseSn}{KeyToStringConvert.GetLanguageStringByKey("0059")}";
- //tb_T_history.Text = $"{houseSn}号舱室历史温度(℃)";
- //tb_T_history.Text = $"{houseSn}{KeyToStringConvert.GetLanguageStringByKey("0060")}";
- //tb_P_history.Text = $"{houseSn}号舱室历史气压(mbar)";
- //tb_P_history.Text = $"{houseSn}{KeyToStringConvert.GetLanguageStringByKey("0061")}";
- UpdateData();
- vm.StartTimer();
- }
- private void img_Date_MouseEnter(object sender, MouseEventArgs e)
- {
- img_Date.Source = new BitmapImage(new Uri("pack://application:,,,/ivf_tl_Manage;component/Resources/Images/date_bg.png", UriKind.Absolute));
- }
- private void img_Date_MouseLeave(object sender, MouseEventArgs e)
- {
- img_Date.Source = new BitmapImage(new Uri("pack://application:,,,/ivf_tl_Manage;component/Resources/Images/date_bg1.png", UriKind.Absolute));
- }
- bool isOpen = false;
- private void db_selectTime_MouseDown(object sender, MouseButtonEventArgs e)
- {
- isOpen = !isOpen;
- pp_time.IsOpen = isOpen;
- }
- private void CustomerDateControl_SelectDateAction(string obj)
- {
- tb_startTime.Text = obj;
- }
- private void CustomerDateControl_SelectDateAction_1(string obj)
- {
- tb_endTime.Text = obj;
- }
- private void Border_MouseEnter(object sender, MouseEventArgs e)
- {
- tb_confirm.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFFFFF"));
- }
- private void Border_MouseLeave(object sender, MouseEventArgs e)
- {
- tb_confirm.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#707070"));
- }
- private void Border_MouseEnter_1(object sender, MouseEventArgs e)
- {
- tb_cancel.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#FFFFFF"));
- }
- private void Border_MouseLeave_1(object sender, MouseEventArgs e)
- {
- tb_cancel.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#707070"));
- }
- /// <summary>
- /// 取消
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Border_MouseDown(object sender, MouseButtonEventArgs e)
- {
- #region 重置日期到当前时间
- //starDate_Control.ReSetDate();
- //end_Control.ReSetDate();
- #endregion
- isOpen = false;
- pp_time.IsOpen = isOpen;
- e.Handled = true;
- }
- /// <summary>
- /// 确认
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Border_MouseDown_1(object sender, MouseButtonEventArgs e)
- {
- if (DateTime.TryParse(tb_startTime.Text, out DateTime start) && DateTime.TryParse(tb_endTime.Text, out DateTime end))
- {
- if (start < end)
- {
- isOpen = false;
- pp_time.IsOpen = isOpen;
- UpdateData();
- }
- else
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0283")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"结束时间必须大于开始时间").Show();
- }
- else
- {
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0321")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"未选中开始或结束时间").Show();
- }
- }
- /// <summary>
- /// 近7天
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Image_MouseDown(object sender, MouseButtonEventArgs e)
- {
- DateTime start = DateTime.Now.AddDays(-7);
- DateTime now = DateTime.Now;
- SetDateAndTbText(start, now);
- UpdateData();
- }
- /// <summary>
- /// 近30天
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Image_MouseDown_1(object sender, MouseButtonEventArgs e)
- {
- DateTime start = DateTime.Now.AddDays(-30);
- DateTime now = DateTime.Now;
- SetDateAndTbText(start, now);
- UpdateData();
- }
- /// <summary>
- /// 导出
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private List<int> houseSns = new List<int>();
- private async void Image_MouseDown_2(object sender, MouseButtonEventArgs e)
- {
- if (DateTime.TryParse(tb_startTime.Text, out DateTime start) && DateTime.TryParse(tb_endTime.Text, out DateTime end))
- {
- if (start < end)
- {
- if (new BulkExportChartWindow(AppData.Instance.MainWindow, houseSns).ShowDialog() != true) return;
- if (!houseSns.Any()) return;
- //string fileFullPath = SaveFileName($"{tlSn}舱室历史数据_{start.ToString("yy-MM-dd-HH-mm")}_{end.ToString("yy-MM-dd-HH-mm")}.zip");
- string fileFullPath = SaveFileName($"{tlSn}{KeyToStringConvert.GetLanguageStringByKey("0322")}_{start.ToString("yy-MM-dd-HH-mm")}_{end.ToString("yy-MM-dd-HH-mm")}.zip");
- //System.Windows.Forms.FolderBrowserDialog folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
- //if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- //{
- // path= folderBrowserDialog.SelectedPath;
- //}
- if (string.IsNullOrEmpty(fileFullPath))
- return;
- AppData.Instance.MainWindowViewModel.DownLoadStart(new ivf_tl_Entity.Entity.DownLoad.DownLoadEntity
- {
- DownLoadUrl = $"/api/tl/control/houseCollect/exportHouseEnvironment?houseSn={string.Join(',', houseSns)}&tlSn={tlSn}&startTime={start.ToString("yyyy-MM-dd HH:mm:ss")}&endTime={end.ToString("yyyy-MM-dd HH:mm:ss")}",
- NewFileFullName = fileFullPath,
- FileName = Path.GetFileName(fileFullPath),
- });
- return;
- foreach (var houseSn in houseSns)
- {
- string startTime = start.ToString("yyyy-MM-dd HH:mm:ss");
- string endTime = end.ToString("yyyy-MM-dd HH:mm:ss");
- List<SettingEntity> binSettings = vm.GetSettingEntities(tlSn, houseSn.ToString(), startTime, endTime);
- string csvName = $"House{houseSn}_{start.ToString("yyyy-MM--dd-HH-mm-ss")}_{end.ToString("yyyy-MM--dd-HH-mm-ss")}.csv";
- //csvName = System.IO.Path.Combine(path, csvName);
- var aa = await ExportHouse(csvName, houseSn, start, end, binSettings);
- }
- }
- else
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0283")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"结束时间必须大于开始时间").Show();
- }
- else
- {
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0321")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"未选择开始或结束时间").Show();
- }
- }
- public async Task<int> ExportHouse(string csvName, int houseid, DateTime leftDate, DateTime rightDate, List<SettingEntity> settingEntities)
- {
- Stopwatch sw = new Stopwatch();
- sw.Start();
- StringBuilder csvContent = new StringBuilder();
- //csvContent.Append($"注意事项:温压历史数据1分钟记录一次,换气过程中1秒记录一次");
- //csvContent.Append($"{Environment.NewLine}舱室记录时间,舱室编号,舱室温度,舱室压力,是否换气,舱室上盖板温度,舱室下盖板温度,舱室玻璃片下方温度,仪器记录时间,仪器温度1,仪器温度2");
- csvContent.Append(KeyToStringConvert.GetLanguageStringByKey("0323"));
- csvContent.Append($"{Environment.NewLine}{KeyToStringConvert.GetLanguageStringByKey("0324")},舱室编号,{KeyToStringConvert.GetLanguageStringByKey("0325")},{KeyToStringConvert.GetLanguageStringByKey("0326")},{KeyToStringConvert.GetLanguageStringByKey("0327")},{KeyToStringConvert.GetLanguageStringByKey("0328")},{KeyToStringConvert.GetLanguageStringByKey("0329")},{KeyToStringConvert.GetLanguageStringByKey("0330")},{KeyToStringConvert.GetLanguageStringByKey("0331")},{KeyToStringConvert.GetLanguageStringByKey("0332")},{KeyToStringConvert.GetLanguageStringByKey("0333")}");
- string shi = KeyToStringConvert.GetLanguageStringByKey("0123");//是
- string fou = KeyToStringConvert.GetLanguageStringByKey("0124");//否
- string hao = KeyToStringConvert.GetLanguageStringByKey("0163");//号舱室
- for (int i = 0; i < settingEntities.Count; i++)
- {
- var houseItem = settingEntities[i];
- string isVentilation = houseItem.airSwap == 0 ? fou : shi;
- //csvContent.Append($"{Environment.NewLine}{houseItem.createTime.ToString("G")},{houseid}号舱室,{houseItem.temperature},{houseItem.pressure},{isVentilation},{houseItem.temperatureUpperCover},{houseItem.temperatureLowerCover},{houseItem.temperatureLowerGlass}");
- csvContent.Append($"{Environment.NewLine}{houseItem.createTime.ToString("G")},{houseid}{hao},{houseItem.temperature},{houseItem.pressure},{isVentilation},{houseItem.temperatureUpperCover},{houseItem.temperatureLowerCover},{houseItem.temperatureLowerGlass}");
- }
- string content1 = $"{csvContent}";
- CSVHelper.WriteFile(csvName, content1, false);
- sw.Stop();
- //string ss = $"耗时:{sw.ElapsedMilliseconds}毫秒";
- string ss = $"{KeyToStringConvert.GetLanguageStringByKey("0334")}:{sw.ElapsedMilliseconds}{KeyToStringConvert.GetLanguageStringByKey("0335")}";
- CSVHelper.WriteFile(csvName, ss, true);
- return 1;
- }
- public string SaveFileName(string filename)
- {
- var dialog = new Microsoft.Win32.SaveFileDialog();
- dialog.FileName = filename;
- dialog.DefaultExt = ".zip";
- dialog.Filter = "zip|*.zip";
- dialog.AddExtension = true;
- if (dialog.ShowDialog() != true)
- {
- return null;
- }
- return dialog.FileName;
- }
- private void Canvas_PreviewMouseDown(object sender, MouseButtonEventArgs e)
- {
- TextBlock source = e.OriginalSource as TextBlock;
- if (source != null)
- {
- ContentPresenter contentPresenter = source.TemplatedParent as ContentPresenter;
- if (contentPresenter != null)
- {
- if (contentPresenter.Name == "hello")
- return;
- }
- }
- Border border =e.OriginalSource as Border;
- if (border != null) {
- if (border.Name == "hello1")
- return;
- }
- if (!pp_time.IsMouseOver)
- {
- isOpen = false;
- pp_time.IsOpen = isOpen;
- }
- }
- private void Next7_Click(object sender, RoutedEventArgs e)
- {
- DateTime start = DateTime.Now.AddDays(-7);
- DateTime now = DateTime.Now;
- SetDateAndTbText(start, now);
- UpdateData();
- }
- private void Next30_Click(object sender, RoutedEventArgs e)
- {
- DateTime start = DateTime.Now.AddDays(-30);
- DateTime now = DateTime.Now;
- SetDateAndTbText(start, now);
- UpdateData();
- }
- private void Export_Click(object sender, RoutedEventArgs e)
- {
- if (DateTime.TryParse(tb_startTime.Text, out DateTime start) && DateTime.TryParse(tb_endTime.Text, out DateTime end))
- {
- if (start < end)
- {
- if (new BulkExportChartWindow(AppData.Instance.MainWindow, houseSns).ShowDialog() != true) return;
- if (!houseSns.Any()) return;
- //string fileFullPath = SaveFileName($"{tlSn}舱室历史数据_{start.ToString("yy-MM-dd-HH-mm")}_{end.ToString("yy-MM-dd-HH-mm")}.zip");
- string fileFullPath = SaveFileName($"{tlSn}{KeyToStringConvert.GetLanguageStringByKey("0322")}_{start.ToString("yy-MM-dd-HH-mm")}_{end.ToString("yy-MM-dd-HH-mm")}.zip");
- //System.Windows.Forms.FolderBrowserDialog folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
- //if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- //{
- // path= folderBrowserDialog.SelectedPath;
- //}
- if (string.IsNullOrEmpty(fileFullPath))
- return;
- AppData.Instance.MainWindowViewModel.DownLoadStart(new ivf_tl_Entity.Entity.DownLoad.DownLoadEntity
- {
- DownLoadUrl = $"/api/tl/control/houseCollect/exportHouseEnvironment?houseSn={string.Join(',', houseSns)}&tlSn={tlSn}&startTime={start.ToString("yyyy-MM-dd HH:mm:ss")}&endTime={end.ToString("yyyy-MM-dd HH:mm:ss")}",
- NewFileFullName = fileFullPath,
- FileName = Path.GetFileName(fileFullPath),
- });
- return;
- foreach (var houseSn in houseSns)
- {
- string startTime = start.ToString("yyyy-MM-dd HH:mm:ss");
- string endTime = end.ToString("yyyy-MM-dd HH:mm:ss");
- List<SettingEntity> binSettings = vm.GetSettingEntities(tlSn, houseSn.ToString(), startTime, endTime);
- string csvName = $"House{houseSn}_{start.ToString("yyyy-MM--dd-HH-mm-ss")}_{end.ToString("yyyy-MM--dd-HH-mm-ss")}.csv";
- //csvName = System.IO.Path.Combine(path, csvName);
- //var aa = await ExportHouse(csvName, houseSn, start, end, binSettings);
- }
- }
- else
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0283")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"结束时间必须大于开始时间").Show();
- }
- else
- {
- new ToastMessageWindow(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("0321")).Show();
- //new ToastMessageWindow(AppData.Instance.MainWindow, $"未选择开始或结束时间").Show();
- }
- }
- }
- }
|