using Caliburn.Micro; using Caliburn.Micro.Core; using FurnaceUI.Client; using FurnaceUI.Models; using MECF.Framework.Common.OperationCenter; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace FurnaceUI.Views.Jobs { public class NormalJobViewModel : FurnaceModuleUIViewModelBase { public bool IsPermission { get => this.Permission == 3; } public NormalJobViewModel() { this.DisplayName = "NormalJobViewModel"; } protected override void OnInitialize() { base.OnInitialize(); //base.InitFOUP(); //base.InitLL(); //base.InitTM(); //base.InitEFEM(); //base.InitPM(); //base.InitBuffer(); } protected override void OnActivate() { base.OnActivate(); } protected override void InvokeAfterUpdateProperty(Dictionary data) { } public void ExecuteCmd(string cmd) { string cmdStr = ""; switch (cmd) { case "Process": cmdStr = "Execute Process"; break; case "Unload": cmdStr = "Execute Unload"; break; case "ProcessUnload": cmdStr = "Execute Load -> Process ->Unload"; { List smifALotIds = new List() { "1;AD00001", "2;AD00002", "3;AD00003", }; List smifBLotIds = new List() { "4;AD00004", "5;AD00005", "6;AD00006", }; Dictionary param = new Dictionary() { {"Batch","A" }, {"WaferType","P" }, {"LayoutRecipe","layout" }, {"SMIFALotID", smifALotIds.ToArray()}, {"SMIFBLotID", smifBLotIds.ToArray()}, }; InvokeClient.Instance.Service.DoOperation("System.ExpertChargeWafer", param); } break; case "MLoad": cmdStr = "Execute M load"; InvokeClient.Instance.Service.DoOperation("System.ExpertDischargeWafer"); break; case "MUnload": cmdStr = "Execute M Unload"; break; case "DExchange": cmdStr = "Execute D Exchange"; break; case "EDExchange": cmdStr = "Execute ED Exchange"; break; default: break; } MessageBox.Show(cmdStr); } public void SwitchPage(string page) { switch (page) { case "LoadJOB": ClientApp.Instance.SwitchPage("jobs", "LoadJOB", null); break; case "Normal": ClientApp.Instance.SwitchPage("jobs", "normalJob", null); break; case "Customize": ClientApp.Instance.SwitchPage("jobs", "Customize", null); break; case "Maintainance": ClientApp.Instance.SwitchPage("jobs", "maintenanceJob", null); break; } } public void PopupPage(string page) { var windowManager = IoC.Get(); switch (page) { case "LoadProcessStock": { JOBProcessStockViewModel jOBProcessStockViewModel = new JOBProcessStockViewModel(); jOBProcessStockViewModel.ExecCommand = "LoadProcessStocker"; jOBProcessStockViewModel.IsWithUnloadButtonVisible = false; jOBProcessStockViewModel.IsStockNumberChangeButtonVisible = true; (windowManager as WindowManager)?.ShowDialogWithTitle(jOBProcessStockViewModel, null, "Load->Process->Stock"); } break; case "LoadProcessUnload": { JOBProcessStockViewModel jOBProcessStockViewModel = new JOBProcessStockViewModel(); jOBProcessStockViewModel.ExecCommand = "LoadProcessUnload"; jOBProcessStockViewModel.IsWithUnloadButtonVisible = false; jOBProcessStockViewModel.IsStockNumberChangeButtonVisible = true; (windowManager as WindowManager)?.ShowDialogWithTitle(jOBProcessStockViewModel, null, "Load->Process->Unload"); } break; case "LoadJOB": { LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel(); loadJOBViewModel.ExecCommand = "Load"; (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "Load"); } break; case "Unload": { LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel(); unloadJOBViewModel.ExecCommand = "Unload"; (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "Unload"); } break; case "Process": { //JOBProcessViewModel jOBProcessStockViewModel = new JOBProcessViewModel(); CreateJobViewModel createPJJobViewModel = new CreateJobViewModel(); createPJJobViewModel.ExecCommand = "ChargeProcessDischarge"; createPJJobViewModel.IsOnlyCharge = false; (windowManager as WindowManager)?.ShowDialogWithTitle(createPJJobViewModel, null, "Charge->Process->Discharge"); } break; case "Charge": { //JOBProcessViewModel jOBProcessStockViewModel = new JOBProcessViewModel(); CreateJobViewModel createPJJobViewModel = new CreateJobViewModel(); createPJJobViewModel.ExecCommand = "ChargeProcessDischarge"; createPJJobViewModel.IsOnlyCharge = true; (windowManager as WindowManager)?.ShowDialogWithTitle(createPJJobViewModel, null, "Charge->Process"); } break; case "Discharge": { InvokeClient.Instance.Service.DoOperation("System.ReturnAllWafer"); } break; case "MLoad": { LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel(); loadJOBViewModel.ExecCommand = "Load"; loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Visible; loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.IsM1Checked = true; loadJOBViewModel.IsSetValue = true; loadJOBViewModel.WaferType = "M1"; (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "M Load"); } break; case "MUnload": { LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel(); unloadJOBViewModel.ExecCommand = "Unload"; unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Visible; unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.M1TypeVisibility = Visibility.Visible; unloadJOBViewModel.SDTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.EDTypeVisibility = Visibility.Collapsed; //unloadJOBViewModel.IsExecuteRTCommand = false; unloadJOBViewModel.WaferType = "M1"; unloadJOBViewModel.IsM1Checked = true; (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "M Unload"); } break; case "SDLoad": { LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel(); loadJOBViewModel.ExecCommand = "Load"; loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible; loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible; loadJOBViewModel.IsPChecked = false; loadJOBViewModel.IsSDChecked = true; loadJOBViewModel.IsMChecked = false; loadJOBViewModel.IsM1Checked = false; loadJOBViewModel.IsM2Checked = false; loadJOBViewModel.IsEDChecked = false; loadJOBViewModel.WaferType = "SD"; loadJOBViewModel.IsSetValue = true; (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "D Load"); } break; case "SDUnload": { LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel(); unloadJOBViewModel.ExecCommand = "Unload"; unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible; unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible; unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible; unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.MTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.SDTypeVisibility = Visibility.Visible; unloadJOBViewModel.EDTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.WaferType = "SD"; unloadJOBViewModel.IsSDChecked = true; (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "D Unload"); } break; case "EDLoad": { LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel(); loadJOBViewModel.ExecCommand = "Load"; loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed; loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible; loadJOBViewModel.IsPChecked = false; loadJOBViewModel.IsSDChecked = false; loadJOBViewModel.IsMChecked = false; loadJOBViewModel.IsM1Checked = false; loadJOBViewModel.IsM2Checked = false; loadJOBViewModel.IsEDChecked = true; loadJOBViewModel.WaferType = "ED"; loadJOBViewModel.IsSetValue = true; (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "D Load"); } break; case "EDUnload": { LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel(); unloadJOBViewModel.ExecCommand = "Unload"; unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed; unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible; unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.MTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.M1TypeVisibility = Visibility.Collapsed; unloadJOBViewModel.M2TypeVisibility = Visibility.Collapsed; unloadJOBViewModel.SDTypeVisibility = Visibility.Collapsed; unloadJOBViewModel.EDTypeVisibility = Visibility.Visible; //unloadJOBViewModel.IsExecuteRTCommand = false; unloadJOBViewModel.WaferType = "ED"; unloadJOBViewModel.IsEDChecked = true; (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "D Unload"); } break; default: break; } } } }