SystemEntranceV2.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using ProjectManagementSystem.Common.Config;
  2. using ProjectManagementSystem.Common.Core;
  3. using ProjectManagementSystem.Common.TaskBookEvent;
  4. using ProjectManagementSystem.Common.TaskEvent;
  5. using ProjectManagementSystem.WebApi.Service;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Diagnostics;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace ProjectManagementSystem.Enterance
  13. {
  14. public class SystemEntranceV2
  15. {
  16. public SystemEntranceV2()
  17. {
  18. if (ExcelConfig.Instance == null)
  19. {
  20. KillCurrentProcess("Excel配置加载失败,启动失败");
  21. return;
  22. }
  23. if (!SystemInitialize.InitDataSource())
  24. {
  25. KillCurrentProcess("数据库初始化失败,启动失败");
  26. return;
  27. }
  28. //if (RouteCalled.Instance == null)
  29. //{
  30. // KillCurrentProcess("初始化RouteCalled失败,启动失败");
  31. // return;
  32. //}
  33. if (PlcControl.Instance == null)
  34. {
  35. KillCurrentProcess("初始化Plc失败,启动失败");
  36. return;
  37. }
  38. if (DeviceControl.Instance == null)
  39. {
  40. KillCurrentProcess("初始化DeviceControl失败,启动失败");
  41. return;
  42. }
  43. //if (!WebApiServerHost.Instance.StartServer())
  44. //{
  45. // KillCurrentProcess("初始化WebApi失败,启动失败");
  46. // return;
  47. //}
  48. TaskBookRegister taskBookRegister = new TaskBookRegister();
  49. Task.Factory.StartNew(() =>
  50. {
  51. SystemInitialize.SystemStarted();
  52. SystemInitialize.InitWMS();
  53. SystemInitialize.InitWareHouse();
  54. SystemInitialize.InitOperate();
  55. SystemInitialize.InitAsyncBehavior();
  56. //SystemInitialize.InitLocationXY();
  57. //SystemInitialize.InitPmsAutoupdateXml();
  58. if (PackControl.Instance == null)
  59. {
  60. KillCurrentProcess("初始化PackControl失败,启动失败");
  61. return;
  62. }
  63. var taskBehavior = TaskBehavior.Instance;
  64. var taskEvent = new CTaskEvent();
  65. });
  66. }
  67. private void KillCurrentProcess(string logContext)
  68. {
  69. System.Windows.Forms.MessageBox.Show(logContext);
  70. System.Windows.Forms.Application.Exit();
  71. Process[] process = Process.GetProcesses();
  72. Process currentProcess = Process.GetCurrentProcess();
  73. for (int idx = 0; idx < process.Count(); idx++)
  74. {
  75. if (process[idx].ProcessName == currentProcess.ProcessName)
  76. {
  77. process[idx].Kill();
  78. }
  79. }
  80. return;
  81. }
  82. }
  83. }