FIMSSensorViewModel.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using Caliburn.Micro;
  2. using Caliburn.Micro.Core;
  3. using Aitex.Core.Common.DeviceData;
  4. using Aitex.Core.UI.ControlDataContext;
  5. using Aitex.Core.Util;
  6. using MECF.Framework.Common.DataCenter;
  7. using MECF.Framework.Common.OperationCenter;
  8. using FurnaceUI.Models;
  9. using FurnaceUI.Views.Editors;
  10. using System.Collections.ObjectModel;
  11. using System.Collections.Generic;
  12. using System.Threading.Tasks;
  13. using System.Reflection;
  14. using System;
  15. using Aitex.Core.RT.Log;
  16. using System.Linq;
  17. using System.Windows;
  18. using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;
  19. namespace FurnaceUI.Views.Maintenances
  20. {
  21. public class FIMSSensorViewModel : FurnaceUIViewModelBase
  22. {
  23. public bool IsManagerPermission { get => this.Permission == 3; }
  24. public bool IsSystemStaus => (RtStatus != "AutoRunning");
  25. [Subscription("FIMS1.Status")]
  26. public string FIMS1Status { get; set; }
  27. [Subscription("FIMS2.Status")]
  28. public string FIMS2Status { get; set; }
  29. [Subscription("Rt.Status")]
  30. public string RtStatus { get; set; }
  31. [Subscription("FIMS1.IsOnline")]
  32. public bool FIMS1IsOnline { get; set; }
  33. [Subscription("FIMS2.IsOnline")]
  34. public bool FIMS2IsOnline { get; set; }
  35. public bool IsFIMS1OnlineButtonEnable => !FIMS1IsOnline;
  36. public bool IsFIMS2OnlineButtonEnable => !FIMS2IsOnline;
  37. public bool IsFIMS1OfflineButtonEnable => FIMS1IsOnline && RtStatus != "AutoRunning";
  38. public bool IsFIMS2OfflineButtonEnable => FIMS2IsOnline && RtStatus != "AutoRunning";
  39. public FIMSSensorViewModel()
  40. {
  41. }
  42. public void Home(object target)
  43. {
  44. InvokeClient.Instance.Service.DoOperation($"{target}.Home");
  45. }
  46. public void Load(object target)
  47. {
  48. var valueConfig = SystemConfigProvider.Instance.GetValueByName("PM1.N2Purge.WaferCharge.FOUPN2PurgeEnable");
  49. InvokeClient.Instance.Service.DoOperation($"{target}.Load", new object[] { valueConfig });
  50. }
  51. public void Unload(object target)
  52. {
  53. InvokeClient.Instance.Service.DoOperation($"{target}.Unload");
  54. }
  55. public void SetAlarmReset(object target)
  56. {
  57. InvokeClient.Instance.Service.DoOperation($"{target?.ToString().Split('.').ToList().LastOrDefault()}.Reset");
  58. }
  59. public void SetOnline(object target)
  60. {
  61. InvokeClient.Instance.Service.DoOperation($"{target}.SetOnline");
  62. }
  63. public void SetOffline(object target)
  64. {
  65. InvokeClient.Instance.Service.DoOperation($"{target}.SetOffline");
  66. }
  67. public void ClosedCmd()
  68. {
  69. (GetView() as Window).Close();
  70. }
  71. }
  72. }