using BPASmartClient.CustomResource.Pages.Enums; using BPASmartClient.CustomResource.Pages.Model; using BPASmartClient.CustomResource.Pages.View; using BPASmartClient.FoodStationTest.Model; using BPA.Helper; using System; using System.Collections.ObjectModel; using System.Threading; using System.Threading.Tasks; using System.Windows; namespace BPASmartClient.FoodStationTest { /// /// Interaction logic for App.xaml /// public partial class App : Application { public static Window MainWindow; public EventWaitHandle ProgramStarted { get; set; } protected override void OnStartup(StartupEventArgs e) { bool createNew; ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, "SmallStationApp", out createNew); if (!createNew) { MessageBox.Show("程序已启动"); App.Current.Shutdown(); Environment.Exit(0); } SystemHelper.GetInstance.CreateDesktopShortcut(); base.OnStartup(e); MenuInit(); DataInit(); Init(); MainView mv = new MainView(); //TODO:修改软件名称。 mv.TitleName = "自动化产线-上位机控制系统"; LoginView lv = new LoginView(); var res = lv.ShowDialog(); if (res != null && res == true) { MessageNotify.GetInstance.ShowUserLog("用户登录"); mv.Show(); } else mv.Close(); GVL_SmallStation.GetInstance.RecipeDosingCompleNum = Json.Data.RecipeDosingCompleNum; MainWindow = mv; } private async void Init() { await Task.Run(new Action(() => { DeviceInquire.GetInstance.Init();//配料机设备上线监听,设备列表初始化 ProcessControl.GetInstance.Init(); })); } protected override void OnExit(ExitEventArgs e) { base.OnExit(e); Json.Data.RecipeDosingCompleNum = GVL_SmallStation.GetInstance.RecipeDosingCompleNum; Json.Save(); Json.Save(); Json.Save(); MessageNotify.GetInstance.LogSave(); TaskManage.GetInstance.Dispose(); } private void MenuInit() { //NfcServer.GetInstance.Init(); #region 配方管理菜单 ObservableCollection RecipeManage = new ObservableCollection(); //RecipeManage.Add(new SubMenumodel() //{ // SubMenuName = "味魔方配方管理", // SubMenuPermission = new Permission[] { Permission.管理员 }, // AssemblyName = "BPASmartClient.FoodStationTest", // ToggleWindowPath = "View.RecipeSettingsView" //}); //RecipeManage.Add(new SubMenumodel() //{ // SubMenuName = "味魔方配方下发", // SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员 }, // AssemblyName = "BPASmartClient.FoodStationTest", // ToggleWindowPath = "View.RecipeControlView" //}); RecipeManage.Add(new SubMenumodel() { SubMenuName = "本地配方管理", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.RecipeReceiveView" }); RecipeManage.Add(new SubMenumodel() { SubMenuName = "西门子配方管理", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.SiemensRecipeReceiveView" }); MenuManage.GetInstance.menuModels.Add(new MenuModel() { MainMenuIcon = "", MainMenuName = "配方管理", Alias = "Recipe Management", subMenumodels = RecipeManage, }); #endregion #region 参数设置 ObservableCollection ParSet = new ObservableCollection(); ParSet.Add(new SubMenumodel() { SubMenuName = "味魔方参数设置", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.DeviceMaterialParView" }); ParSet.Add(new SubMenumodel() { SubMenuName = "系统参数设置", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.SystemParView" }); ParSet.Add(new SubMenumodel() { SubMenuName = "原料与料仓管理", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.StockBinRawMaterialView" }); ParSet.Add(new SubMenumodel() { SubMenuName = "西门子物料管理", SubMenuPermission = new Permission[] { Permission.管理员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.BomOfMaterialView" }); MenuManage.GetInstance.menuModels.Add(new MenuModel() { MainMenuIcon = "", MainMenuName = "参数设置", Alias = "Parameter Set", subMenumodels = ParSet, }); #endregion #region 手动控制 ObservableCollection ManualControl = new ObservableCollection(); ManualControl.Add(new SubMenumodel() { SubMenuName = "手动控制硬件", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.ManualControlView" }); /*ManualControl.Add(new SubMenumodel() { SubMenuName = "手动控制信号", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.ManualCommView" });*/ ManualControl.Add(new SubMenumodel() { SubMenuName = "手动控制流程", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.ManualFlowView" }); MenuManage.GetInstance.menuModels.Add(new MenuModel() { MainMenuIcon = "", MainMenuName = "手动控制", Alias = "Parameter Set", subMenumodels = ManualControl, }); #endregion #region 消息日志 ObservableCollection InfoLog = new ObservableCollection(); InfoLog.Add(new SubMenumodel() { SubMenuName = "操作日志", SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.UserLogView" }); InfoLog.Add(new SubMenumodel() { SubMenuName = "运行日志", SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.RunLogView" }); InfoLog.Add(new SubMenumodel() { SubMenuName = "配方日志", SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.RecipeCompleteView" }); InfoLog.Add(new SubMenumodel() { SubMenuName = "报警记录", SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.AlarmView" }); InfoLog.Add(new SubMenumodel() { SubMenuName = "调试日志", SubMenuPermission = new Permission[] { Permission.操作员, Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.DebugLogView" }); MenuManage.GetInstance.menuModels.Add(new MenuModel() { MainMenuIcon = "", MainMenuName = "消息日志", Alias = "Message Log", subMenumodels = InfoLog, }); #endregion #region 硬件设备监控 ObservableCollection DeviceMonitor = new ObservableCollection(); DeviceMonitor.Add(new SubMenumodel() { SubMenuName = "原料设备列表", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.DeviceListView" }); DeviceMonitor.Add(new SubMenumodel() { SubMenuName = "Plc变量监控", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.PlcVarMonitorView" }); DeviceMonitor.Add(new SubMenumodel() { SubMenuName = "流程变量监控", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.ProcessMonitorView" }); DeviceMonitor.Add(new SubMenumodel() { SubMenuName = "设备状态", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.FoodStationTest", ToggleWindowPath = "View.HardwareStatusView" }); MenuManage.GetInstance.menuModels.Add(new MenuModel() { MainMenuIcon = "", MainMenuName = "设备监控", Alias = "Device Monitor", subMenumodels = DeviceMonitor, }); #endregion #region 用户管理 ObservableCollection UserManager = new ObservableCollection(); UserManager.Add(new SubMenumodel() { SubMenuName = "用户登录", SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.SubPagLoginView" }); UserManager.Add(new SubMenumodel() { SubMenuName = "密码修改", SubMenuPermission = new Permission[] { Permission.管理员, Permission.技术员 }, AssemblyName = "BPASmartClient.CustomResource", ToggleWindowPath = "Pages.View.PasswordChangeView" }); UserManager.Add(new SubMenumodel() { SubMenuName = "用户管理", SubMenuPermission = new 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 = "用户管理", Alias = "User Management", subMenumodels = UserManager, }); #endregion } private void DataInit() { //Config.GetInstance.Init(); Json.Read(); Json.Read(); Json.Read(); Json.Read(); } } }