@@ -17,6 +17,7 @@ using System.Linq;
using System.Windows;
using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;
using OpenSEMI.ClientBase;
+using MECF.Framework.Common.Jobs;
namespace FurnaceUI.Views.Maintenances
{
@@ -39,7 +40,26 @@ namespace FurnaceUI.Views.Maintenances
private int _fims2CycleCount;
- public bool IsSystemStaus => (RtStatus != "AutoRunning");
+ [Subscription("Scheduler.ControlJobList")]
+ public List<ControlJobInfo> ControlJobs
+ {
+ get;
+ set;
+ }
+ public bool IsSystemStaus
+ get
+ if (ControlJobs != null && ControlJobs.Count > 0)
+ return ControlJobs.FirstOrDefault().State == EnumControlJobState.Paused;
+
+ return (RtStatus != "AutoRunning");
+ set { }
[Subscription("FIMS1.Status")]
public string FIMS1Status { get; set; }
[Subscription("FIMS2.Status")]
@@ -14,6 +14,7 @@ using System.Threading.Tasks;
using FurnaceUI.Models;
using FurnaceUI.Views.Editors;
namespace FurnaceUI.Views.Operations
@@ -101,11 +102,21 @@ namespace FurnaceUI.Views.Operations
get
var pmStatus = PM1Status == "Init" || PM1Status == "Idle" || PM1Status == "Error" || (IsProcessCanModifyFoupInfo && PM1Status == "Process");
var rtstatus = (RtStatus == "Init" || RtStatus == "Idle" || RtStatus == "Error") || (IsProcessCanModifyFoupInfo && RtStatus == "AutoRunning");
return pmStatus && rtstatus;
}
private List<string> _boatMapWafers = new List<string>();
public List<string> BoatMapWafers
@@ -19,6 +19,7 @@ using Aitex.Core.RT.Event;
using OpenSEMI.Ctrlib.Controls;
using DocumentFormat.OpenXml.Bibliography;
using System.Reflection;
@@ -150,11 +151,22 @@ namespace FurnaceUI.Views.Operations
private ObservableCollection<WaferInfoItem> _cassetteWaferInfoItems = new ObservableCollection<WaferInfoItem>();
public ObservableCollection<WaferInfoItem> CassetteWaferInfoItems
@@ -16,6 +16,7 @@ using Aitex.Core.RT.Log;
using System.Linq;
@@ -33,7 +34,21 @@ namespace FurnaceUI.Views.Maintenances
public bool IsCarrierRobotOfflineButtonEnable => CarrierRobotIsOnline;
public bool IsCarrierRobotOnlineButtonEnable => !CarrierRobotIsOnline;
#region test CassetteRobot
private List<int> _slotsCassetteRobot = new List<int>() { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
@@ -217,7 +232,12 @@ namespace FurnaceUI.Views.Maintenances
#endregion
-
public CassetteRobotViewModel()
@@ -18,6 +18,7 @@ using Caliburn.Micro;
using Caliburn.Micro.Core;
using Newtonsoft.Json;
@@ -122,13 +123,23 @@ namespace FurnaceUI.Views.Operations
private int _cassetteSlot = 0;
private ObservableCollection<WaferInfoItem> _stockerWaferInfoItems = new ObservableCollection<WaferInfoItem>();
@@ -13,6 +13,7 @@ using System.Text;
using System.Threading.Tasks;
@@ -88,11 +89,21 @@ namespace FurnaceUI.Views.Operations
private ObservableCollection<WaferInfoItem> _waferRobotWaferInfoItems = new ObservableCollection<WaferInfoItem>();
public ObservableCollection<WaferInfoItem> WaferRobotWaferInfoItems
@@ -20,6 +20,7 @@ using MECF.Framework.Common.SubstrateTrackings;
using MECF.Framework.Common.Equipment;
using System.Text.RegularExpressions;
@@ -33,10 +34,26 @@ namespace FurnaceUI.Views.Maintenances
[Subscription("Rt.Status")]
public string RtStatus { get; set; }
public bool IsSelectButtonEnable => IsSystemStaus;
[Subscription("WaferRobot.IsOnline")]
public bool WaferRobotIsOnline { get; set; }
public bool IsWaferRobotOfflineButtonEnable => WaferRobotIsOnline;