From c029823763ac85792d7f3039a01821db54d34d58 Mon Sep 17 00:00:00 2001 From: liuwf Date: Sat, 11 May 2024 11:01:20 +0800 Subject: [PATCH] =?UTF-8?q?change-=E7=99=BB=E5=BD=95=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=8D=95=E4=BE=8B=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/InStoreBusiness.cs | 12 +++- .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/FoamMonitorPageView.xaml | 4 +- .../Views/LoginPageView.xaml.cs | 13 ++++ Aucma.Core.BoxFoam/Views/MainWindow.xaml.cs | 5 ++ .../ViewModels/IndexPageViewModel.cs | 12 +++- .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 12 ++++ .../Views/MainWindow.xaml.cs | 12 ++-- .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 12 ++++ Aucma.Core.DoorFoam/Views/MainWindow.xaml.cs | 5 ++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 11 +++ .../Views/MainWindow.xaml.cs | 5 ++ .../Business/InstoreBusiness.cs | 8 +++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 12 ++++ Aucma.Core.Palletiz/Views/MainWindow.xaml.cs | 5 ++ .../Business/InstoreBusiness.cs | 10 +++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 12 ++++ .../Views/MainWindow.xaml.cs | 5 ++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 14 ++-- .../Views/LoginPageView.xaml.cs | 11 +++ Aucma.Core.PrintTo/Views/MainWindow.xaml.cs | 62 ++--------------- .../Business/offLineBusiness.cs | 9 +++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 14 ++++ .../Views/MainWindow.xaml.cs | 67 ++----------------- .../Business/offLineBusiness.cs | 11 +++ .../ViewModels/LoginPageViewModel.cs | 4 +- .../ViewModels/MainWindowViewModel.cs | 4 +- .../Views/LoginPageView.xaml.cs | 12 ++++ .../Views/MainWindow.xaml.cs | 5 ++ 43 files changed, 263 insertions(+), 165 deletions(-) diff --git a/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs b/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs index d1fb5dce..0ba86fa1 100644 --- a/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs +++ b/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs @@ -21,6 +21,8 @@ using Microsoft.IdentityModel.Logging; using Admin.Core.Socket; using Admin.Core.Service; using TouchSocket.Core; +using NPOI.SS.Formula.Functions; +using Aucma.Core.BoxFoam.Config; namespace Aucma.Core.BoxFoam.Business { @@ -42,7 +44,7 @@ namespace Aucma.Core.BoxFoam.Business /// private List TaskInfos = new List(); private Dictionary KeyValuePairs = new Dictionary(); - + private AppConfig appConfig = AppConfig.Instance; #region 事件 /// /// 扫码信息刷新 @@ -130,6 +132,14 @@ namespace Aucma.Core.BoxFoam.Business /// public async void NewTask(string IP,string materialBarCode) { + #region 未登录禁止入库 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + logHelper.Error($"条码{materialBarCode}未登录不做处理"); + + return; + } + #endregion if (string.IsNullOrEmpty(materialBarCode)) { LogDelegateEvent?.Invoke("未扫到二维码信息!","Red"); diff --git a/Aucma.Core.BoxFoam/ViewModels/LoginPageViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/LoginPageViewModel.cs index c828dae1..3cd4059e 100644 --- a/Aucma.Core.BoxFoam/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/LoginPageViewModel.cs @@ -67,10 +67,10 @@ namespace Aucma.Core.BoxFoam.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.BoxFoam/ViewModels/MainWindowViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/MainWindowViewModel.cs index a6431d04..3bd278f4 100644 --- a/Aucma.Core.BoxFoam/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/MainWindowViewModel.cs @@ -245,9 +245,9 @@ namespace Aucma.Core.BoxFoam.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml b/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml index c50a5103..0f63b2d0 100644 --- a/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml +++ b/Aucma.Core.BoxFoam/Views/FoamMonitorPageView.xaml @@ -54,13 +54,13 @@ - + - + diff --git a/Aucma.Core.BoxFoam/Views/LoginPageView.xaml.cs b/Aucma.Core.BoxFoam/Views/LoginPageView.xaml.cs index c4ba2d75..ccae57b1 100644 --- a/Aucma.Core.BoxFoam/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.BoxFoam/Views/LoginPageView.xaml.cs @@ -22,15 +22,28 @@ namespace Aucma.Core.BoxFoam.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { + string userName = txtUserName.Text; string passWord = txtPassword.Password; BaseTeamMembers teamMembers = (BaseTeamMembers)this.selectTeamComboBox.SelectedItem; diff --git a/Aucma.Core.BoxFoam/Views/MainWindow.xaml.cs b/Aucma.Core.BoxFoam/Views/MainWindow.xaml.cs index 2254af53..addd8c30 100644 --- a/Aucma.Core.BoxFoam/Views/MainWindow.xaml.cs +++ b/Aucma.Core.BoxFoam/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.BoxFoam.ViewModels; +using System; using System.Windows; namespace Aucma.Core.BoxFoam.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.BoxFoam.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent(); diff --git a/Aucma.Core.CodeBinding/ViewModels/IndexPageViewModel.cs b/Aucma.Core.CodeBinding/ViewModels/IndexPageViewModel.cs index 7884349a..4f00cedf 100644 --- a/Aucma.Core.CodeBinding/ViewModels/IndexPageViewModel.cs +++ b/Aucma.Core.CodeBinding/ViewModels/IndexPageViewModel.cs @@ -40,6 +40,7 @@ using Aucma.Core.Scanner; using LiveCharts.Defaults; using Admin.Core.Socket; using System.Runtime.ConstrainedExecution; +using Aucma.Core.BoxFoam.Config; /* * 首页信息 */ @@ -51,7 +52,7 @@ namespace Aucma.Core.CodeBinding.ViewModels private readonly ICodeBindingRecordServices? _codeBindingRecordServices; private readonly IBaseMaterialInfoServices? _baseMaterialInfoServices; private readonly IBaseBomInfoServices? _baseBomInfoServices; - + private AppConfig appConfig = AppConfig.Instance; private readonly IPrintBarCodeServices? _printBarCodeServices; // 过点数据表,物料完成记录MaterialCompletion private readonly IMaterialCompletionServices? _iMaterialCompletionServices; @@ -618,6 +619,15 @@ namespace Aucma.Core.CodeBinding.ViewModels /// 1为自动扫描,2为手动扫描 public void BindingCode(string code1, string code2,int flag =1) { + #region 未登录禁止入库 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + log.Error($"条码{code1}未登录不做处理,禁止放行"); + speechStr.SpeakAsync("请登录以后在使用,请登录"); + return; + } + #endregion + try { if (code1.Substring(0, 1) != "B") diff --git a/Aucma.Core.CodeBinding/ViewModels/LoginPageViewModel.cs b/Aucma.Core.CodeBinding/ViewModels/LoginPageViewModel.cs index 7098ce04..961fb306 100644 --- a/Aucma.Core.CodeBinding/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.CodeBinding/ViewModels/LoginPageViewModel.cs @@ -67,10 +67,10 @@ namespace Aucma.Core.CodeBinding.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.CodeBinding/ViewModels/MainWindowViewModel.cs b/Aucma.Core.CodeBinding/ViewModels/MainWindowViewModel.cs index a5e06f8f..ed5756e5 100644 --- a/Aucma.Core.CodeBinding/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.CodeBinding/ViewModels/MainWindowViewModel.cs @@ -281,9 +281,9 @@ namespace Aucma.Core.CodeBinding.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.CodeBinding/Views/LoginPageView.xaml.cs b/Aucma.Core.CodeBinding/Views/LoginPageView.xaml.cs index 1764f7d5..017b1663 100644 --- a/Aucma.Core.CodeBinding/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.CodeBinding/Views/LoginPageView.xaml.cs @@ -23,13 +23,25 @@ namespace Aucma.Core.CodeBinding.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string userName = txtUserName.Text; diff --git a/Aucma.Core.CodeBinding/Views/MainWindow.xaml.cs b/Aucma.Core.CodeBinding/Views/MainWindow.xaml.cs index b171e9e3..c0af6053 100644 --- a/Aucma.Core.CodeBinding/Views/MainWindow.xaml.cs +++ b/Aucma.Core.CodeBinding/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.CodeBinding.ViewModels; +using System; using System.Windows; namespace Aucma.Core.CodeBinding.Views @@ -8,13 +9,14 @@ namespace Aucma.Core.CodeBinding.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { - - InitializeComponent(); - this.DataContext = new MainWindowViewModel(); - - + InitializeComponent(); + this.DataContext = new MainWindowViewModel(); } } } diff --git a/Aucma.Core.DoorFoam/ViewModels/LoginPageViewModel.cs b/Aucma.Core.DoorFoam/ViewModels/LoginPageViewModel.cs index 638df7a7..47273ffe 100644 --- a/Aucma.Core.DoorFoam/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.DoorFoam/ViewModels/LoginPageViewModel.cs @@ -67,10 +67,10 @@ namespace Aucma.Core.DoorFoam.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.DoorFoam/ViewModels/MainWindowViewModel.cs b/Aucma.Core.DoorFoam/ViewModels/MainWindowViewModel.cs index 0d6599e9..d87fb382 100644 --- a/Aucma.Core.DoorFoam/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.DoorFoam/ViewModels/MainWindowViewModel.cs @@ -233,9 +233,9 @@ namespace Aucma.Core.DoorFoam.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.DoorFoam/Views/LoginPageView.xaml.cs b/Aucma.Core.DoorFoam/Views/LoginPageView.xaml.cs index 8824dc74..61e0b663 100644 --- a/Aucma.Core.DoorFoam/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.DoorFoam/Views/LoginPageView.xaml.cs @@ -22,13 +22,25 @@ namespace Aucma.Core.DoorFoam.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string userName = txtUserName.Text; diff --git a/Aucma.Core.DoorFoam/Views/MainWindow.xaml.cs b/Aucma.Core.DoorFoam/Views/MainWindow.xaml.cs index 7af6f7fb..430b9336 100644 --- a/Aucma.Core.DoorFoam/Views/MainWindow.xaml.cs +++ b/Aucma.Core.DoorFoam/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.DoorFoam.ViewModels; +using System; using System.Windows; namespace Aucma.Core.DoorFoam.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.DoorFoam.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent(); diff --git a/Aucma.Core.OldBoxFoam/ViewModels/LoginPageViewModel.cs b/Aucma.Core.OldBoxFoam/ViewModels/LoginPageViewModel.cs index d6924b9a..917fdcae 100644 --- a/Aucma.Core.OldBoxFoam/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.OldBoxFoam/ViewModels/LoginPageViewModel.cs @@ -67,10 +67,10 @@ namespace Aucma.Core.OldBoxFoam.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.OldBoxFoam/ViewModels/MainWindowViewModel.cs b/Aucma.Core.OldBoxFoam/ViewModels/MainWindowViewModel.cs index ca8ed349..d1ceb3ee 100644 --- a/Aucma.Core.OldBoxFoam/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.OldBoxFoam/ViewModels/MainWindowViewModel.cs @@ -289,9 +289,9 @@ namespace Aucma.Core.OldBoxFoam.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.OldBoxFoam/Views/LoginPageView.xaml.cs b/Aucma.Core.OldBoxFoam/Views/LoginPageView.xaml.cs index ead93892..659de2a0 100644 --- a/Aucma.Core.OldBoxFoam/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.OldBoxFoam/Views/LoginPageView.xaml.cs @@ -22,11 +22,22 @@ namespace Aucma.Core.OldBoxFoam.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 + } + + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); } private void loginBtn_Click(object sender, RoutedEventArgs e) diff --git a/Aucma.Core.OldBoxFoam/Views/MainWindow.xaml.cs b/Aucma.Core.OldBoxFoam/Views/MainWindow.xaml.cs index 73773f6e..6a818cb3 100644 --- a/Aucma.Core.OldBoxFoam/Views/MainWindow.xaml.cs +++ b/Aucma.Core.OldBoxFoam/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.OldBoxFoam.ViewModels; +using System; using System.Windows; namespace Aucma.Core.OldBoxFoam.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.OldBoxFoam.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent(); diff --git a/Aucma.Core.Palletiz/Business/InstoreBusiness.cs b/Aucma.Core.Palletiz/Business/InstoreBusiness.cs index e84eca0c..1baef928 100644 --- a/Aucma.Core.Palletiz/Business/InstoreBusiness.cs +++ b/Aucma.Core.Palletiz/Business/InstoreBusiness.cs @@ -129,6 +129,14 @@ namespace Aucma.Core.Palletiz.Business /// 20位是正常扫码传输的条码,手动入库传的是人工选择的成品型号 private void InStore(string spaceArea, string asciiStr) { + #region 未登录禁止入库 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + log.Error($"条码{asciiStr}未登录不做处理"); + return; + } + #endregion + Task.Run(() => { RecordInStore recordInstore = new RecordInStore(); diff --git a/Aucma.Core.Palletiz/ViewModels/LoginPageViewModel.cs b/Aucma.Core.Palletiz/ViewModels/LoginPageViewModel.cs index 292533d3..b0c6e15e 100644 --- a/Aucma.Core.Palletiz/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.Palletiz/ViewModels/LoginPageViewModel.cs @@ -67,10 +67,10 @@ namespace Aucma.Core.Palletiz.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.Palletiz/ViewModels/MainWindowViewModel.cs b/Aucma.Core.Palletiz/ViewModels/MainWindowViewModel.cs index e164298c..74e47863 100644 --- a/Aucma.Core.Palletiz/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.Palletiz/ViewModels/MainWindowViewModel.cs @@ -217,9 +217,9 @@ namespace Aucma.Core.Palletiz.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.Palletiz/Views/LoginPageView.xaml.cs b/Aucma.Core.Palletiz/Views/LoginPageView.xaml.cs index 635df7f2..f87f83c6 100644 --- a/Aucma.Core.Palletiz/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.Palletiz/Views/LoginPageView.xaml.cs @@ -22,13 +22,25 @@ namespace Aucma.Core.Palletiz.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string userName = txtUserName.Text; diff --git a/Aucma.Core.Palletiz/Views/MainWindow.xaml.cs b/Aucma.Core.Palletiz/Views/MainWindow.xaml.cs index b46c90a1..a98dfea5 100644 --- a/Aucma.Core.Palletiz/Views/MainWindow.xaml.cs +++ b/Aucma.Core.Palletiz/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.Palletiz.ViewModels; +using System; using System.Windows; namespace Aucma.Core.Palletiz.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.Palletiz.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent(); diff --git a/Aucma.Core.PalletizCX1/Business/InstoreBusiness.cs b/Aucma.Core.PalletizCX1/Business/InstoreBusiness.cs index fb7ea7d7..d2934179 100644 --- a/Aucma.Core.PalletizCX1/Business/InstoreBusiness.cs +++ b/Aucma.Core.PalletizCX1/Business/InstoreBusiness.cs @@ -11,6 +11,7 @@ using Aucma.Core.PalletizCX1.Models; using Aucma.Core.PalletizCX1.ViewModels; using log4net; using Microsoft.Extensions.DependencyInjection; +using NPOI.SS.Formula.Functions; using NPOI.SS.Formula.UDF; using NPOI.SS.Util; using System; @@ -21,6 +22,7 @@ using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Interop; using TouchSocket.Sockets; +using Match = System.Text.RegularExpressions.Match; namespace Aucma.Core.PalletizCX1.Business { @@ -144,6 +146,14 @@ namespace Aucma.Core.PalletizCX1.Business /// 20位是正常扫码传输的条码,手动入库传的是人工选择的成品型号 private void InStore(string spaceArea, string asciiStr) { + #region 未登录禁止入库 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + log.Error($"条码{asciiStr}未登录不做处理"); + return; + } + #endregion + Task.Run(() => { if (asciiStr.Length == 20) diff --git a/Aucma.Core.PalletizCX1/ViewModels/LoginPageViewModel.cs b/Aucma.Core.PalletizCX1/ViewModels/LoginPageViewModel.cs index 4a0eb1c1..4106ffdc 100644 --- a/Aucma.Core.PalletizCX1/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.PalletizCX1/ViewModels/LoginPageViewModel.cs @@ -68,10 +68,10 @@ namespace Aucma.Core.PrintTo.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.PalletizCX1/ViewModels/MainWindowViewModel.cs b/Aucma.Core.PalletizCX1/ViewModels/MainWindowViewModel.cs index 40b9d31c..4e2d31cc 100644 --- a/Aucma.Core.PalletizCX1/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.PalletizCX1/ViewModels/MainWindowViewModel.cs @@ -218,9 +218,9 @@ namespace Aucma.Core.PalletizCX1.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.PalletizCX1/Views/LoginPageView.xaml.cs b/Aucma.Core.PalletizCX1/Views/LoginPageView.xaml.cs index dee07955..06ccf17d 100644 --- a/Aucma.Core.PalletizCX1/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.PalletizCX1/Views/LoginPageView.xaml.cs @@ -22,13 +22,25 @@ namespace Aucma.Core.PalletizCX1.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string userName = txtUserName.Text; diff --git a/Aucma.Core.PalletizCX1/Views/MainWindow.xaml.cs b/Aucma.Core.PalletizCX1/Views/MainWindow.xaml.cs index 66cf663a..8ee68cef 100644 --- a/Aucma.Core.PalletizCX1/Views/MainWindow.xaml.cs +++ b/Aucma.Core.PalletizCX1/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.PalletizCX1.ViewModels; +using System; using System.Windows; namespace Aucma.Core.PalletizCX1.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.PalletizCX1.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent(); diff --git a/Aucma.Core.PrintTo/ViewModels/LoginPageViewModel.cs b/Aucma.Core.PrintTo/ViewModels/LoginPageViewModel.cs index 93e5dcd0..d1f14377 100644 --- a/Aucma.Core.PrintTo/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.PrintTo/ViewModels/LoginPageViewModel.cs @@ -68,10 +68,10 @@ namespace Aucma.Core.PrintTo.ViewModels if (window == null) return; window.Hide(); - MainWindow indexPage = new MainWindow(); + MainWindow indexPage = MainWindow.Instance; indexPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.PrintTo/ViewModels/MainWindowViewModel.cs b/Aucma.Core.PrintTo/ViewModels/MainWindowViewModel.cs index a6c0b33f..95c268dd 100644 --- a/Aucma.Core.PrintTo/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.PrintTo/ViewModels/MainWindowViewModel.cs @@ -31,8 +31,7 @@ namespace Aucma.Core.PrintTo.ViewModels private async void InitializeAsync() { - await Task.Run(() => - { + UserContent = firstPage; _sysUserInfoServices = App.ServiceProvider.GetService(); @@ -45,7 +44,7 @@ namespace Aucma.Core.PrintTo.ViewModels timer.Interval = new TimeSpan(0, 0, 1); //间隔1秒 timer.Tick += new EventHandler(timer_Tick); timer.Start(); - }); + } #region 更换界面 @@ -195,13 +194,16 @@ namespace Aucma.Core.PrintTo.ViewModels appConfig.Account = ""; window.Hide(); - //跳转到登录页 - LoginPageView login = new LoginPageView(); + // 跳转到登录页 + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); + // TerminateApplication(); } } + + #endregion diff --git a/Aucma.Core.PrintTo/Views/LoginPageView.xaml.cs b/Aucma.Core.PrintTo/Views/LoginPageView.xaml.cs index 2a196e20..64e59045 100644 --- a/Aucma.Core.PrintTo/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.PrintTo/Views/LoginPageView.xaml.cs @@ -22,11 +22,22 @@ namespace Aucma.Core.PrintTo.Views /// public partial class LoginPageView : Window { + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 + } + + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); } private void loginBtn_Click(object sender, RoutedEventArgs e) diff --git a/Aucma.Core.PrintTo/Views/MainWindow.xaml.cs b/Aucma.Core.PrintTo/Views/MainWindow.xaml.cs index c13907ce..51a5af59 100644 --- a/Aucma.Core.PrintTo/Views/MainWindow.xaml.cs +++ b/Aucma.Core.PrintTo/Views/MainWindow.xaml.cs @@ -11,66 +11,18 @@ namespace Aucma.Core.PrintTo.Views public partial class MainWindow : Window { private AppConfig appConfig = AppConfig.Instance; - public MainWindow() - { - - try - { - bool loginResult = LoginInit(); - if (loginResult) - { - MainWindow_Loaded(); + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); - } - else - { - this.Hide(); // 登录校验失败,关闭主窗体 - LoginPageView indexPage = new LoginPageView(); - indexPage.ShowDialog(); - this.Close(); - } - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - - } + public static MainWindow Instance => _instance.Value; - private void MainWindow_Loaded() + public MainWindow() { - try - { - // 主窗体加载完成后执行其他逻辑 - InitializeComponent(); - this.DataContext = new MainWindowViewModel(); - } - catch (System.Exception ex) - { - Console.WriteLine(ex.Message); - } + InitializeComponent(); + this.DataContext = new MainWindowViewModel(); } - #region 登录验证 - public bool LoginInit() - { - //账号名称不存在,跳转 - if (string.IsNullOrWhiteSpace(appConfig.Account)) - { - // this.Hide(); - - //this.Close(); - return false; - } - else - { - // this.Account.Text = appConfig.Account; - //this.Team.Text = appConfig.TeamName; - return true; - } - } - #endregion - + + } } diff --git a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs index 306b1c4e..1569e042 100644 --- a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs +++ b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs @@ -223,6 +223,15 @@ namespace Aucma.Core.ProductOffLine.Business { try { + #region 未登录禁止下线 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + log.Error($"条码{code}未登录不做处理"); + speechStr.SpeakAsync("请先登录再下线;请登录"); + return; + } + #endregion + // ScannerModel model = allScanners.FirstOrDefault(x => x.Ip == scannerIp); // int ScannerNo = model.Id; // 确定是哪个扫码器 // log.Info("扫码器ip:" + scannerIp + "编号:[" + ScannerNo + "]扫描到条码:" + code); diff --git a/Aucma.Core.ProductOffLine/ViewModels/LoginPageViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/LoginPageViewModel.cs index 8cc71e14..97ca6412 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/LoginPageViewModel.cs @@ -71,10 +71,10 @@ namespace Aucma.Core.ProductOffLine.ViewModels if (window == null) return; window.Hide(); - MainWindow mainPage = new MainWindow(); + MainWindow mainPage = MainWindow.Instance; mainPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.ProductOffLine/ViewModels/MainWindowViewModel.cs b/Aucma.Core.ProductOffLine/ViewModels/MainWindowViewModel.cs index 641e5e0e..2b8f9035 100644 --- a/Aucma.Core.ProductOffLine/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.ProductOffLine/ViewModels/MainWindowViewModel.cs @@ -328,9 +328,9 @@ namespace Aucma.Core.ProductOffLine.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.ProductOffLine/Views/LoginPageView.xaml.cs b/Aucma.Core.ProductOffLine/Views/LoginPageView.xaml.cs index 0273e07d..e54c85ad 100644 --- a/Aucma.Core.ProductOffLine/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.ProductOffLine/Views/LoginPageView.xaml.cs @@ -25,14 +25,28 @@ namespace Aucma.Core.ProductOffLine.Views public partial class LoginPageView : Window { private AppConfig appConfig = AppConfig.Instance; + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); txtBarCode.Text = appConfig.BarCodeAccount; this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string barCode = txtBarCode.Text; diff --git a/Aucma.Core.ProductOffLine/Views/MainWindow.xaml.cs b/Aucma.Core.ProductOffLine/Views/MainWindow.xaml.cs index bcf990e4..62738df3 100644 --- a/Aucma.Core.ProductOffLine/Views/MainWindow.xaml.cs +++ b/Aucma.Core.ProductOffLine/Views/MainWindow.xaml.cs @@ -12,71 +12,16 @@ namespace Aucma.Core.ProductOffLine.Views { private AppConfig appConfig = AppConfig.Instance; - public MainWindow() - { - try - { - bool loginResult = LoginInit(); - if (loginResult) - { - MainWindow_Loaded(); - - } - else - { - this.Hide(); // 登录校验失败,关闭主窗体 - LoginPageView indexPage = new LoginPageView(); - indexPage.ShowDialog(); - this.Close(); - } - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - } - - - - private void Minimized_Click(object sender, RoutedEventArgs e) - { - - } + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + public static MainWindow Instance => _instance.Value; - private void MainWindow_Loaded() - { - try - { - // 主窗体加载完成后执行其他逻辑 - InitializeComponent(); - this.DataContext = new MainWindowViewModel(); - } - catch (System.Exception ex) - { - Console.WriteLine(ex.Message); - } - } - - #region 登录验证 - public bool LoginInit() + public MainWindow() { - //账号名称不存在,跳转 - if (string.IsNullOrWhiteSpace(appConfig.Account)) - { - // this.Hide(); - - //this.Close(); - return false; - } - else - { - // this.Account.Text = appConfig.Account; - //this.Team.Text = appConfig.TeamName; - return true; - } + InitializeComponent(); + this.DataContext = new MainWindowViewModel(); } - #endregion + } } diff --git a/Aucma.Core.ProductOffLineCX1/Business/offLineBusiness.cs b/Aucma.Core.ProductOffLineCX1/Business/offLineBusiness.cs index f4fdbe4e..92eaa8bb 100644 --- a/Aucma.Core.ProductOffLineCX1/Business/offLineBusiness.cs +++ b/Aucma.Core.ProductOffLineCX1/Business/offLineBusiness.cs @@ -14,6 +14,7 @@ using Aucma.Core.ProductOffLineCX1.Views; using Aucma.Core.Scanner; using Castle.Core.Internal; using log4net; +using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.IdentityModel.Logging; @@ -225,8 +226,18 @@ namespace Aucma.Core.ProductOffLineCX1.Business /// public void MaterialBarScanHandle(string code, string code69, string scannerIp) { + try { + #region 未登录禁止下线 + if (string.IsNullOrEmpty(appConfig.TeamName)) + { + log.Error($"条码{code}未登录不做处理"); + speechStr.SpeakAsync("请先登录再下线;请登录"); + return; + } + #endregion + // ScannerModel model = allScanners.FirstOrDefault(x => x.Ip == scannerIp); // int ScannerNo = model.Id; // 确定是哪个扫码器 // log.Info("扫码器ip:" + scannerIp + "编号:[" + ScannerNo + "]扫描到条码:" + code); diff --git a/Aucma.Core.ProductOffLineCX1/ViewModels/LoginPageViewModel.cs b/Aucma.Core.ProductOffLineCX1/ViewModels/LoginPageViewModel.cs index 257b4b24..d8ec9dd7 100644 --- a/Aucma.Core.ProductOffLineCX1/ViewModels/LoginPageViewModel.cs +++ b/Aucma.Core.ProductOffLineCX1/ViewModels/LoginPageViewModel.cs @@ -71,10 +71,10 @@ namespace Aucma.Core.ProductOffLineCX1.ViewModels if (window == null) return; window.Hide(); - MainWindow mainPage = new MainWindow(); + MainWindow mainPage = MainWindow.Instance; mainPage.Show(); - window.Close(); + // window.Close(); } else { diff --git a/Aucma.Core.ProductOffLineCX1/ViewModels/MainWindowViewModel.cs b/Aucma.Core.ProductOffLineCX1/ViewModels/MainWindowViewModel.cs index 21464487..f0a140b8 100644 --- a/Aucma.Core.ProductOffLineCX1/ViewModels/MainWindowViewModel.cs +++ b/Aucma.Core.ProductOffLineCX1/ViewModels/MainWindowViewModel.cs @@ -335,9 +335,9 @@ namespace Aucma.Core.ProductOffLineCX1.ViewModels window.Hide(); //跳转到登录页 - LoginPageView login = new LoginPageView(); + LoginPageView login = LoginPageView.Instance; login.Show(); - window.Close(); + // window.Close(); } } diff --git a/Aucma.Core.ProductOffLineCX1/Views/LoginPageView.xaml.cs b/Aucma.Core.ProductOffLineCX1/Views/LoginPageView.xaml.cs index 23c72c6e..48008687 100644 --- a/Aucma.Core.ProductOffLineCX1/Views/LoginPageView.xaml.cs +++ b/Aucma.Core.ProductOffLineCX1/Views/LoginPageView.xaml.cs @@ -24,14 +24,26 @@ namespace Aucma.Core.ProductOffLineCX1.Views public partial class LoginPageView : Window { private AppConfig appConfig = AppConfig.Instance; + private static readonly Lazy _instance = new Lazy(() => new LoginPageView()); + + public static LoginPageView Instance => _instance.Value; + LoginPageViewModel loginViewModel = new LoginPageViewModel(); public LoginPageView() { InitializeComponent(); txtBarCode.Text = appConfig.BarCodeAccount; this.DataContext = loginViewModel; + Closing += LoginPageView_Closing; // 订阅窗口关闭事件 } + + private void LoginPageView_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + System.Environment.Exit(0); + } + + private void loginBtn_Click(object sender, RoutedEventArgs e) { string barCode = txtBarCode.Text; diff --git a/Aucma.Core.ProductOffLineCX1/Views/MainWindow.xaml.cs b/Aucma.Core.ProductOffLineCX1/Views/MainWindow.xaml.cs index 0465e06c..666d08e7 100644 --- a/Aucma.Core.ProductOffLineCX1/Views/MainWindow.xaml.cs +++ b/Aucma.Core.ProductOffLineCX1/Views/MainWindow.xaml.cs @@ -1,4 +1,5 @@ using Aucma.Core.ProductOffLineCX1.ViewModels; +using System; using System.Windows; namespace Aucma.Core.ProductOffLineCX1.Views @@ -8,6 +9,10 @@ namespace Aucma.Core.ProductOffLineCX1.Views /// public partial class MainWindow : Window { + private static readonly Lazy _instance = new Lazy(() => new MainWindow()); + + public static MainWindow Instance => _instance.Value; + public MainWindow() { InitializeComponent();