|
- using BPASmartClient.Academy._50L;
- using BPASmartClient.CustomResource.UserControls;
- using LiveCharts;
- using System.Collections.Specialized;
- using System.Configuration;
- using System.Data;
- using System.Linq.Expressions;
- using System.Windows;
-
- namespace BPASmartClient.Academy
- {
- /// <summary>
- /// Interaction logic for App.xaml
- /// </summary>
- public partial class App : Application
- {
-
- public static Window MainWindow;
-
- public EventWaitHandle ProgramStarted { get; set; }
- protected override 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
- });
- });
- //AlarmViewModel.AlarmInfos = MessageNotify.GetInstance.alarmLogs;
- ProgramStarted = new EventWaitHandle(false, EventResetMode.AutoReset, "Academy", out createNew);
- if (!createNew)
- {
- MessageBox.Show("程序已启动");
- App.Current.Shutdown();
- Environment.Exit(0);
- }
- base.OnStartup(e);
- //SystemHelper.GetInstance.CreateDesktopShortcut();
- DataInit();
- MenuInit();
- MainView mv = new MainView();
- string typeName = Json<DevicePar>.Data.ProjectTypeName == ProjectType.HKYF20240916.ToString() ? "50L" : "10L";
- mv.TitleName = $"{typeName} 反应釜焖制系统 V1.0.1";
- //#if !DEBUG
- // 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();
- //#else
- mv.Show();
- //#endif
- MainWindow = mv;
- }
-
-
-
- protected override void OnExit(ExitEventArgs e)
- {
- base.OnExit(e);
- Json<LocalRecipe>.Save();
- Json<DevicePar>.Save();
- Json<LocaMaterial>.Save();
- BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.LogSave();
- TaskManage.GetInstance.Dispose();
- switch (Json<DevicePar>.Data.ProjectTypeName)
- {
- case "HKYF20240916":
- if (PlcControl.GetInstance.IsConnect)
- {
- PlcControl.GetInstance.Write(BoolAddEnum.系统启动, false);
- }
- break;
- default:
- if (Simens_PLC.GetInstance.IsConnected)
- {
- Simens_PLC.GetInstance.id = "";
- Simens_PLC.GetInstance.siemens.Write<bool>("DB1.DBX1002.0", false);
- Simens_PLC.GetInstance.siemens.Write<bool>("DB1.DBX1002.1", false);
- }
- break;
- }
-
- App.Current.Shutdown();
- Environment.Exit(0);
- //Process.GetCurrentProcess().Kill();
- }
-
- private void MenuInit()
- {
- #region 配方管理菜单
- //ObservableCollection<SubMenumodel> RecipeManage = new ObservableCollection<SubMenumodel>();
- //RecipeManage.Add(new SubMenumodel()
- //{
- // SubMenuName = "配方管理",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.Academy",
- // ToggleWindowPath = "View.RecipeSettingsView"
- //});
-
- //RecipeManage.Add(new SubMenumodel()
- //{
- // SubMenuName = "配方下发",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.Academy",
- // 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 硬件设备监控
- bool Is10L = Json<DevicePar>.Data.ProjectTypeName == ProjectType.HKYF20240714.ToString();
- int num = 0;
- if (Enum.TryParse(typeof(ProjectType), Json<DevicePar>.Data.ProjectTypeName,out var enmuvalue))
- {
- num = (int) enmuvalue;
- }
- ObservableCollection<SubMenumodel> DeviceMonitor = new ObservableCollection<SubMenumodel>();
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "设备控制",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.Academy",
- ToggleWindowPath = num==0 ? "View.DeviceMotionView" :num==1? "View.ReactionKettle50LView": "View.DeviceMotion_2View"
- });
- //DeviceMonitor.Add(new SubMenumodel()
- //{
- // SubMenuName = "设备控制模板1",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.Academy",
- // ToggleWindowPath = "View.DeviceMotionView"
- //});
- //DeviceMonitor.Add(new SubMenumodel()
- //{
- // SubMenuName = "设备控制模板2",
- // SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- // AssemblyName = "BPASmartClient.Academy",
- // ToggleWindowPath = "View.DeviceMotion_2View"
- //});
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "数据曲线",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.Academy",
- ToggleWindowPath = num==0 ? "View.DeviceChartView" :num==1? "View.DeviceChart50LView": "View.DeviceChartView"
- }); ;
- DeviceMonitor.Add(new SubMenumodel()
- {
- SubMenuName = "历史曲线",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- AssemblyName = "BPASmartClient.Academy",
- ToggleWindowPath = num==0 ? "View.HistoryChartView" : num==1?"View.HistoryChart50LView": "View.HistoryChartView"
- });
- 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"
- });
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "用户管理",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "User Management",
- subMenumodels = UserManager,
- });
- #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"
- });
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "消息日志",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.操作员, Permission.观察员, Permission.技术员 },
- Alias = "Message Log",
- subMenumodels = InfoLog,
- });
- #endregion
-
- #region 系统设置
- ObservableCollection<SubMenumodel> SystemSet = new ObservableCollection<SubMenumodel>();
- SystemSet.Add(new SubMenumodel()
- {
- SubMenuName = "系统设置",
- SubMenuPermission = new Permission[] { Permission.管理员, Permission.技术员 },
- AssemblyName = "BPASmartClient.Academy",
- ToggleWindowPath = "View.ParameterSetView"
- });
- MenuManage.GetInstance.menuModels.Add(new MenuModel()
- {
- MainMenuIcon = "",
- MainMenuName = "系统设置",
- MainMenuPermission = new Permission[] { Permission.管理员, Permission.技术员 },
- Alias = "System Set",
- subMenumodels = SystemSet,
- });
- #endregion
- }
-
- private void DataInit()
- {
- Json<DevicePar>.Read();
- //Json<LocalRecipe>.Read();
- //Json<LocaMaterial>.Read();
- if (Json<DevicePar>.Data.ProjectTypeName.TryToEnum(out ProjectType pt))
- {
- switch (pt)
- {
- case ProjectType.HKYF20240714:
- Sqlite.GetInstance.Init();
- Simens_PLC.GetInstance.Init();
- Simens_PLC.GetInstance.Connect();
- break;
- case ProjectType.HKYF20240714_2:
- Sqlite.GetInstance.Init();
- Simens_PLC.GetInstance.Init();
- Simens_PLC.GetInstance.Connect();
- break;
- case ProjectType.HKYF20240916:
- SqliteOperate.GetInstance.Init();
- PlcControl.GetInstance.Init();
- break;
- default:
- break;
- }
- }
- }
-
- }
-
- }
|