|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- using BPA.Helper;
- using BPASmartClient.CustomResource.Pages.Enums;
- using BPASmartClient.CustomResource.Pages.Model;
- using BPASmartClient.CustomResource.Pages.View;
- using BPASmartClient.CustomResource.Pages.ViewModel;
- using BPASmartClient.DosingSystem.Model;
- using BPASmartClient.DosingSystem.Model.MQTT;
- using BPASmartClient.DosingSystem.Service;
- using System;
- using System.Collections.ObjectModel;
- using System.Collections.Specialized;
- using System.Configuration;
- using System.Diagnostics;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Windows;
-
- namespace BPASmartClient.DosingSystem
- {
- /// <summary>
- /// Interaction logic for App.xaml
- /// </summary>
- public partial class App : Application
- {
-
- public static Window MainWindow;
-
- public ExcuteControl excute;
- public EventWaitHandle ProgramStarted { get; set; }
- protected override async void OnStartup(StartupEventArgs e)
- {
- bool createNew;
-
- MessageLog.GetInstance.NotifyShow = new Action<string>(o =>
- {
- DebugLogViewModel.MessageModels.Add(new MessageModel()
- {
- LogInfo = o,
- Forground = System.Windows.Media.Brushes.DeepSkyBlue
- });
- });
- MessageLog.GetInstance.NotifyShowEx = new Action<string>(o =>
- {
- DebugLogViewModel.MessageModels.Add(new MessageModel()
- {
- LogInfo = o,
- Forground = System.Windows.Media.Brushes.Red
- });
- });
- ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, "DosingSystem", out createNew);
- if (!createNew)
- {
- MessageBox.Show("程序已启动");
- App.Current.Shutdown();
- Environment.Exit(0);
- }
- base.OnStartup(e);
- SystemHelper.GetInstance.CreateDesktopShortcut();
- DataInit();
- await Task.Run(() => { excute = ExcuteControl.GetInstance; });
- MenuInit();
-
-
- //SiemensTest.GetInstance.Init();
- DeviceInquire.GetInstance.Init();//配料机设备上线监听,设备列表初始化
- MainView mv = new MainView();
- mv.TitleName = $"味魔方管理系统软件[简称:味魔方] V1.0.1";
- LoginView lv = new LoginView();
- var res = lv.ShowDialog();
- if (res != null && res == true)
- {
- #region 更新测试
- //string directory = $"{AppDomain.CurrentDomain.BaseDirectory}AccessFile\\JSON\\UpdateModel.json";
- //if (File.Exists(directory))
- // mv.TitleName = $"味魔方管理系统软件[简称:味魔方] {Json<UpdateModel>.Data.UpgradeVersion}";
- //else
- //{
- // mv.TitleName = $"味魔方管理系统软件[简称:味魔方] V1.0.1";
- // Task.Run(() =>
- // {
- // Thread.Sleep(3000);
- // var tt = MessageNotify.GetInstance.ShowDialog("检测到新版本,请问是否现在更新?", DialogType.Information);
- // if (tt)
- // {
- // string directory = AppDomain.CurrentDomain.BaseDirectory;
- // Process.Start($"{directory}BPASmartClient.Update.exe");
- // App.Current.Dispatcher.Invoke(() => { mv.Close(); });
- // }
- // });
- //}
- #endregion
-
- BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.ShowUserLog("用户登录");
- mv.Show();
- }
- else
- mv.Close();
- ServerFactory.GetInstance.Set(new APIServer());
- MqttServer.GetInstance.Init();
- MainWindow = mv;
- }
-
- protected override void OnExit(ExitEventArgs e)
- {
- base.OnExit(e);
- excute?.MqttDisConnect();
- Json<LocalRecipe>.Save();
- Json<DevicePar>.Save();
- Json<LocaMaterial>.Save();
- BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.LogSave();
- TaskManage.GetInstance.Dispose();
- //Process.GetCurrentProcess().Kill();
- }
-
- private void MenuInit()
- {
- NfcServer.GetInstance.Init();
-
- #region 配方管理菜单
- ObservableCollection<SubMenumodel> RecipeManage = new ObservableCollection<SubMenumodel>();
- RecipeManage.Add(new SubMenumodel()
- {
- SubMenuName = "配方管理",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.RecipeSettingsView"
- });
-
- RecipeManage.Add(new SubMenumodel()
- {
- SubMenuName = "配方下发",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.RecipeControlView"
- });
-
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- MainMenuName = "配方管理",
- Alias = "Recipe Management",
- subMenumodels = RecipeManage,
- });
- #endregion
-
- #region 参数设置
- ObservableCollection<SubMenumodel> ParSet = new ObservableCollection<SubMenumodel>();
- ParSet.Add(new SubMenumodel()
- {
- SubMenuName = "原料参数设置",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.DeviceMaterialParView"
- });
-
- ParSet.Add(new SubMenumodel()
- {
- SubMenuName = "设备参数设置",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.CommParSetView"
- });
-
- //ParSet.Add(new SubMenumodel()
- //{
- // SubMenuName = "出料口管理设置",
- // SubMenuPermission = new Permission[] { Permission.管理员 },
- // AssemblyName = "BPASmartClient.DosingSystem",
- // ToggleWindowPath = "View.OutletManagementView"
- //});
-
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- MainMenuName = "参数设置",
- Alias = "Parameter Set",
- subMenumodels = ParSet,
- });
- #endregion
-
- #region 手动控制
- ObservableCollection<SubMenumodel> ManualControl = new ObservableCollection<SubMenumodel>();
- ManualControl.Add(new SubMenumodel()
- {
- SubMenuName = "气缸手动控制",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.ManualControlView"
- });
-
- ManualControl.Add(new SubMenumodel()
- {
- SubMenuName = "输送带手动控制",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.ConveyerBeltManualView"
- });
-
- //ManualControl.Add(new SubMenumodel()
- //{
- // SubMenuName = "配料输送带控制",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.DosingSystem",
- // ToggleWindowPath = "View.TempManageControlView"
- //});
-
- //ManualControl.Add(new SubMenumodel()
- //{
- // SubMenuName = "料仓控制",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.DosingSystem",
- // ToggleWindowPath = "View.StockControlView"
- //});
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "手动控制",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "Parameter Set",
- subMenumodels = ManualControl,
- });
- #endregion
-
- #region 消息日志
- ObservableCollection<SubMenumodel> InfoLog = new ObservableCollection<SubMenumodel>();
- InfoLog.Add(new SubMenumodel()
- {
- SubMenuName = "操作日志",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.UserLogView"
- });
-
- InfoLog.Add(new SubMenumodel()
- {
- SubMenuName = "运行日志",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.RunLogView"
- });
-
- InfoLog.Add(new SubMenumodel()
- {
- SubMenuName = "报警记录",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.AlarmView"
- });
-
- InfoLog.Add(new SubMenumodel()
- {
- SubMenuName = "调试日志",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.DebugLogView"
- });
-
- //InfoLog.Add(new SubMenumodel()
- //{
- // SubMenuName = "报表数据",
- // SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.CustomResource",
- // ToggleWindowPath = "Pages.View.ReportView"
- //});
-
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "消息日志",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "Message Log",
- subMenumodels = InfoLog,
- });
- #endregion
-
- #region 硬件设备监控
- ObservableCollection<SubMenumodel> DeviceMonitor = new ObservableCollection<SubMenumodel>();
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "原料设备列表",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.DeviceListView"
- });
- //2023/6/29修改
- if (!String.IsNullOrWhiteSpace(Json<DevicePar>.Data.BaseParModel.ConveryType) && (ConveryType)Enum.Parse(typeof(ConveryType), Json<DevicePar>.Data.BaseParModel.ConveryType) == ConveryType.U型)
- {
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "设备状态",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.UHardwareStatusView"
- });
- }
- else
- {
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "设备状态",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.DosingSystem",
- ToggleWindowPath = "View.HardwareStatusView"
- });
- }
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "设备监控",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "Device Monitor",
- subMenumodels = DeviceMonitor,
- });
- #endregion
-
- #region 用户管理
- ObservableCollection<SubMenumodel> UserManager = new ObservableCollection<SubMenumodel>();
- UserManager.Add(new SubMenumodel()
- {
- SubMenuName = "用户登录",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.SubPagLoginView"
- });
-
- UserManager.Add(new SubMenumodel()
- {
- SubMenuName = "密码修改",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.PasswordChangeView"
- });
- UserManager.Add(new SubMenumodel()
- {
- SubMenuName = "用户管理",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.CustomResource",
- ToggleWindowPath = "Pages.View.UserManagerView"
- });
-
- //UserManager.Add(new SubMenumodel()
- //{
- // SubMenuName = "NFC登录管理",
- // SubMenuPermission = new Permission[] { Permission.管理员 },
- // AssemblyName = "BPASmartClient.CustomResource",
- // ToggleWindowPath = "Pages.View.NfcSetView"
- //});
-
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "用户管理",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "User Management",
- subMenumodels = UserManager,
- });
- #endregion
- }
-
- private void DataInit()
- {
- //Config.GetInstance.Init();
- Json<LocalRecipe>.Read();
- Json<DevicePar>.Read();
- Json<LocaMaterial>.Read();
- }
-
- }
- }
|