123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- using Aitex.Core.RT.SCCore;
- using Caliburn.Micro;
- using Caliburn.Micro.Core;
- using MECF.Framework.Common.DataCenter;
- using MECF.Framework.Common.RecipeCenter;
- using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using FurnaceUI.Models;
- using FurnaceUI.Views.Parameter;
- using FurnaceUI.Views.Recipes;
- namespace FurnaceUI.Views.Editors
- {
- public class RecipeLayoutSetTotalWaferNumberViewModel : FurnaceUIViewModelBase
- {
- Dictionary<string, string> wapexPlain = new Dictionary<string, string>();
- public TotalWaferNumberMode DialogResultTotalWaferNumberMode { get; set; }
- private string _returnValue = "";
- public string ReturnValue
- {
- get => _returnValue;
- set
- {
- _returnValue = value;
- SplitCharacter(value);
- NotifyOfPropertyChange(nameof(ReturnValue));
- }
- }
- private void SplitCharacter(string value)
- {
- if (string.IsNullOrEmpty(value) || !value.Contains("|")) return;
- string[] listStr = value.Split('|');
- if (listStr.Length != 4) return;
- NeedNum =int.Parse(listStr[0]);
- AdditionalNum = int.Parse(listStr[1]);
- ProductCarrierNum = int.Parse(listStr[2]);
- LowerSD = int.Parse(listStr[3]);
- }
- public bool IsSave { get; set; }
- public RecipeLayoutSetTotalWaferNumberViewModel()
- {
- }
- private int _needNum = 0;
- public int NeedNum
- {
- get => _needNum;
- set
- {
- _needNum = value;
- NotifyOfPropertyChange(nameof(NeedNum));
- }
- }
- private int _additionalNum = 0;
- public int AdditionalNum
- {
- get => _additionalNum;
- set
- {
- _additionalNum = value;
- NotifyOfPropertyChange(nameof(AdditionalNum));
- }
- }
- private int _productCarrierNum = 0;
- public int ProductCarrierNum
- {
- get => _productCarrierNum;
- set
- {
- _productCarrierNum = value;
- NotifyOfPropertyChange(nameof(ProductCarrierNum));
- }
- }
- private int _lowerSD = 0;
- public int LowerSD
- {
- get => _lowerSD;
- set
- {
- _lowerSD = value;
- NotifyOfPropertyChange(nameof(LowerSD));
- }
- }
- private TotalWaferNumberMode _totalWaferNumber = TotalWaferNumberMode.Total;
- public TotalWaferNumberMode TotalWaferNumber
- {
- get => _totalWaferNumber;
- set
- {
- _totalWaferNumber = value;
- NotifyOfPropertyChange(nameof(TotalWaferNumber));
- }
- }
- public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
- public string RecipeType { get; set; }
- protected override void OnViewLoaded(object view)
- {
- base.OnViewLoaded(view);
- LoadData();
- LoadSetDefaultOption(view);
- }
- private string _titleText;
- public string TitleText
- {
- get => _titleText;
- set
- {
- _titleText = value;
- NotifyOfPropertyChange(nameof(TitleText));
- }
- }
- private void LoadData()
- {
- wapexPlain.Clear();
- wapexPlain.Add("Total", "Set the number of Product wafers .(include Fill Dummy wafers)");
- wapexPlain.Add("Carrier", "Set the number of Product carriers. The number oftransferring Product wafers to the boat is the carriernumber times the carrier slot number .");
- wapexPlain.Add("Carrierx", "The number of transferring Product wafers to the boat isthe entered-batch carrier number times the carrier slot number.");
- wapexPlain.Add("Minimum", "Set the minimum wafer number in process and additionalwafer number in case of going beyond the minimum.");
- wapexPlain.Add("Fixed", "Set the lowest slot No. of Lower Side-Dummy. The area ofProduct and FillDummy wafers is decided according tothe area of Side Dummy.");
- wapexPlain.Add("Upper", "Product wafers are arranged the upper area on the boatFill Dummy isn't transferred regardless of Product wafer number.");
- wapexPlain.Add("Lower", "Product wafers are arranged the lower area on the boat. Fill Dummy isn’t transferred regardless of Product wafer number .");
- TitleText = wapexPlain["Total"];
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Total;
- }
- private void LoadSetDefaultOption(object view)
- {
- var totalWaferNumberView = (RecipeLayoutSetTotalWaferNumberView)view;
- switch (_totalWaferNumber)
- {
- case TotalWaferNumberMode.Total:
- totalWaferNumberView.RdoTotal.IsChecked = true;
- break;
- case TotalWaferNumberMode.Carrier:
- totalWaferNumberView.RdoCarrier.IsChecked = true;
- break;
- case TotalWaferNumberMode.Carrierx:
- totalWaferNumberView.RdoCarrierx.IsChecked = true;
- break;
- case TotalWaferNumberMode.Minimum:
- totalWaferNumberView.RdoMinimum.IsChecked = true;
- break;
- case TotalWaferNumberMode.Fixed:
- totalWaferNumberView.RdoFixed.IsChecked = true;
- break;
- case TotalWaferNumberMode.Upper:
- totalWaferNumberView.RdoUpper.IsChecked = true;
- break;
- case TotalWaferNumberMode.Lower:
- totalWaferNumberView.RdoLower.IsChecked = true;
- break;
- default:
- break;
- }
- }
- public void EditModeSelectClick(string cmd)
- {
- switch (cmd)
- {
- case "Before":
- SetBeforeEdit();
- break;
- case "After":
- SetAfterEdit();
- break;
- default:
- break;
- }
- }
- private void SetBeforeEdit()
- { }
- private void SetAfterEdit()
- { }
- public void WapLogicSelectClick(string cmd)
- {
- if (wapexPlain.ContainsKey(cmd))
- {
- TitleText = wapexPlain[cmd];
- }
- switch (cmd)
- {
- case "Total":
- SetWapLogicSelectTotal();
- break;
- case "Carrier":
- SetWapLogicSelectCarrier();
- break;
- case "Carrierx":
- SetWapLogicSelectCarrierx();
- break;
- case "Minimum":
- SetWapLogicSelectMinimum();
- break;
- case "Fixed":
- SetWapLogicSelectFixed();
- break;
- case "Upper":
- SetWapLogicSelectUpper();
- break;
- case "Lower":
- SetWapLogicSelectLower();
- break;
- default:
- break;
- }
- }
- private bool _totalWaferIsEnabled = true;
- public bool TotalWaferIsEnabled
- {
- get => _totalWaferIsEnabled;
- set
- {
- _totalWaferIsEnabled = value;
- NotifyOfPropertyChange(nameof(TotalWaferIsEnabled));
- }
- }
- private Visibility _totalVisibility = Visibility.Visible;
- public Visibility TotalVisibility
- {
- get => _totalVisibility;
- set
- {
- _totalVisibility = value;
- NotifyOfPropertyChange(nameof(TotalVisibility));
- }
- }
- private Visibility _carrierVisibility = Visibility.Hidden;
- public Visibility CarrierVisibility
- {
- get => _carrierVisibility;
- set
- {
- _carrierVisibility = value;
- NotifyOfPropertyChange(nameof(CarrierVisibility));
- }
- }
- private Visibility _carrierXVisibility = Visibility.Hidden;
- public Visibility CarrierXVisibility
- {
- get => _carrierXVisibility;
- set
- {
- _carrierXVisibility = value;
- NotifyOfPropertyChange(nameof(CarrierXVisibility));
- }
- }
- private Visibility _minimumVisibility = Visibility.Hidden;
- public Visibility MinimumVisibility
- {
- get => _minimumVisibility;
- set
- {
- _minimumVisibility = value;
- NotifyOfPropertyChange(nameof(MinimumVisibility));
- }
- }
- private Visibility _fixedVisibility = Visibility.Hidden;
- public Visibility FixedVisibility
- {
- get => _fixedVisibility;
- set
- {
- _fixedVisibility = value;
- NotifyOfPropertyChange(nameof(FixedVisibility));
- }
- }
- private Visibility _allWaferVisibility = Visibility.Visible;
- public Visibility AllWaferVisibility
- {
- get => _allWaferVisibility;
- set
- {
- _allWaferVisibility = value;
- NotifyOfPropertyChange(nameof(AllWaferVisibility));
- }
- }
- private Visibility _upperAreaVisibility = Visibility.Hidden;
- public Visibility UpperAreaVisibility
- {
- get => _upperAreaVisibility;
- set
- {
- _upperAreaVisibility = value;
- NotifyOfPropertyChange(nameof(UpperAreaVisibility));
- }
- }
- private Visibility _lowerAreaVisibility = Visibility.Hidden;
- public Visibility LowerAreaVisibility
- {
- get => _lowerAreaVisibility;
- set
- {
- _lowerAreaVisibility = value;
- NotifyOfPropertyChange(nameof(LowerAreaVisibility));
- }
- }
- private Visibility _foupVisibilityVisibility = Visibility.Visible;
- public Visibility FoupVisibilityVisibility
- {
- get => _foupVisibilityVisibility;
- set
- {
- _foupVisibilityVisibility = value;
- NotifyOfPropertyChange(nameof(_foupVisibilityVisibility));
- }
- }
- private void SetWapLogicSelectTotal()
- {
- TotalWaferIsEnabled = true;
- AllWaferVisibility = Visibility.Visible;
- TotalVisibility = Visibility.Visible;
- CarrierVisibility = Visibility.Hidden;
- CarrierXVisibility = Visibility.Hidden;
- MinimumVisibility = Visibility.Hidden;
- FixedVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Hidden;
- FoupVisibilityVisibility = Visibility.Visible;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Total;
- }
- private void SetWapLogicSelectCarrier()
- {
- TotalWaferIsEnabled = false;
- AllWaferVisibility = Visibility.Visible;
- TotalVisibility = Visibility.Visible;
- CarrierVisibility = Visibility.Visible;
- CarrierXVisibility = Visibility.Hidden;
- MinimumVisibility = Visibility.Hidden;
- FixedVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Hidden;
- FoupVisibilityVisibility = Visibility.Visible;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Carrier;
- }
- private void SetWapLogicSelectCarrierx()
- {
- AllWaferVisibility = Visibility.Visible;
- TotalVisibility = Visibility.Hidden;
- CarrierVisibility = Visibility.Hidden;
- CarrierXVisibility = Visibility.Visible;
- MinimumVisibility = Visibility.Hidden;
- FixedVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Hidden;
- FoupVisibilityVisibility = Visibility.Hidden;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Carrierx;
- }
- private void SetWapLogicSelectMinimum()
- {
- AllWaferVisibility = Visibility.Visible;
- TotalVisibility = Visibility.Hidden;
- CarrierVisibility = Visibility.Hidden;
- CarrierXVisibility = Visibility.Hidden;
- MinimumVisibility = Visibility.Visible;
- FixedVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Hidden;
- FoupVisibilityVisibility = Visibility.Hidden;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Minimum;
- }
- private void SetWapLogicSelectFixed()
- {
- AllWaferVisibility = Visibility.Visible;
- TotalVisibility = Visibility.Hidden;
- CarrierVisibility = Visibility.Hidden;
- CarrierXVisibility = Visibility.Hidden;
- MinimumVisibility = Visibility.Hidden;
- FixedVisibility = Visibility.Visible;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Hidden;
- FoupVisibilityVisibility = Visibility.Visible;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Fixed;
- }
- private void SetWapLogicSelectUpper()
- {
- AllWaferVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Visible;
- LowerAreaVisibility = Visibility.Hidden;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Upper;
- }
- private void SetWapLogicSelectLower()
- {
- AllWaferVisibility = Visibility.Hidden;
- UpperAreaVisibility = Visibility.Hidden;
- LowerAreaVisibility = Visibility.Visible;
- DialogResultTotalWaferNumberMode = TotalWaferNumberMode.Lower;
- }
- public void TempSetSave()
- {
- IsSave = true;
- GetValueToReturnValue();
- ((Window)GetView()).DialogResult = true;
- }
- private void GetValueToReturnValue()
- {
- ReturnValue = $"{NeedNum}|{AdditionalNum}|{ProductCarrierNum}|{LowerSD}";
- }
- public void TempSetCancel()
- {
- IsSave = false;
- ((Window)GetView()).DialogResult = false;
- }
- }
- public enum TotalWaferNumberMode
- {
- Total,
- Carrier,
- Carrierx,
- Minimum,
- Fixed,
- Upper,
- Lower
- }
- }
|