| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630 | 
							- 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;
 
- using System.Windows.Controls;
 
- using FurnaceUI.Views.DataLog;
 
- using FurnaceUI.Client.Dialog;
 
- namespace FurnaceUI.Views.Editors
 
- {
 
-     public class RecipeLayoutSetMonitorTransferViewModel : FurnaceUIViewModelBase
 
-     {
 
-         private Visibility _autoLayoutVisibility = Visibility.Visible;
 
-         public Visibility AutoLayoutVisibility
 
-         {
 
-             get => _autoLayoutVisibility;
 
-             set
 
-             {
 
-                 _autoLayoutVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(AutoLayoutVisibility));
 
-             }
 
-         }
 
-         private Visibility _boatSlotVisibility = Visibility.Hidden;
 
-         public Visibility BoatSlotVisibility
 
-         {
 
-             get => _boatSlotVisibility;
 
-             set
 
-             {
 
-                 _boatSlotVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(BoatSlotVisibility));
 
-             }
 
-         }
 
-         private Visibility _directCarrierVisibility = Visibility.Hidden;
 
-         public Visibility DirectCarrierVisibility
 
-         {
 
-             get => _directCarrierVisibility;
 
-             set
 
-             {
 
-                 _directCarrierVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(DirectCarrierVisibility));
 
-             }
 
-         }
 
-         private Visibility _upperProductVisibility = Visibility.Hidden;
 
-         public Visibility UpperProductVisibility
 
-         {
 
-             get => _upperProductVisibility;
 
-             set
 
-             {
 
-                 _upperProductVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(UpperProductVisibility));
 
-             }
 
-         }
 
-         private Visibility _autoCarrierVisibility = Visibility.Hidden;
 
-         public Visibility AutoCarrierVisibility
 
-         {
 
-             get => _autoCarrierVisibility;
 
-             set
 
-             {
 
-                 _autoCarrierVisibility = value;
 
-                 NotifyOfPropertyChange(nameof(AutoCarrierVisibility));
 
-             }
 
-         }
 
-         private Dictionary<string, string> MonitorTransferDict = new Dictionary<string, string>();
 
-         private string _title = "";
 
-         public string Title
 
-         {
 
-             get => _title;
 
-             set
 
-             {
 
-                 _title = value;
 
-                 NotifyOfPropertyChange(nameof(Title));
 
-             }
 
-         }
 
-         private MonitorTransferType _dialogResultMonitorTransferType = MonitorTransferType.AutoLayout;
 
-         public MonitorTransferType DialogResultMonitorTransferType
 
-         {
 
-             get => _dialogResultMonitorTransferType;
 
-             set
 
-             {
 
-                 _dialogResultMonitorTransferType = value;
 
-                 NotifyOfPropertyChange(nameof(DialogResultMonitorTransferType));
 
-             }
 
-         }
 
-         public bool IsSave { get; set; }
 
-         private MonitorTransferType _waferChargeMonitor = MonitorTransferType.AutoLayout;
 
-         public MonitorTransferType WaferChargeMonitor
 
-         {
 
-             get => _waferChargeMonitor;
 
-             set
 
-             {
 
-                 _waferChargeMonitor = value;
 
-                 NotifyOfPropertyChange(nameof(WaferChargeMonitor));
 
-             }
 
-         }
 
-         private string _waferChargeMonitorValue = "";
 
-         public string WaferChargeMonitorValue
 
-         {
 
-             get => _waferChargeMonitorValue;
 
-             set
 
-             {
 
-                 _waferChargeMonitorValue = value;
 
-                 NotifyOfPropertyChange(nameof(WaferChargeMonitorValue));
 
-             }
 
-         }
 
-         private string _transferCarrier1 = "None";
 
-         public string TransferCarrier1
 
-         {
 
-             get => _transferCarrier1;
 
-             set
 
-             {
 
-                 _transferCarrier1 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier1));
 
-             }
 
-         }
 
-         private string _transferCarrier2 = "None";
 
-         public string TransferCarrier2
 
-         {
 
-             get => _transferCarrier2;
 
-             set
 
-             {
 
-                 _transferCarrier2 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier2));
 
-             }
 
-         }
 
-         private string _transferCarrier3 = "None";
 
-         public string TransferCarrier3
 
-         {
 
-             get => _transferCarrier3;
 
-             set
 
-             {
 
-                 _transferCarrier3 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier3));
 
-             }
 
-         }
 
-         private string _transferCarrier4 = "None";
 
-         public string TransferCarrier4
 
-         {
 
-             get => _transferCarrier4;
 
-             set
 
-             {
 
-                 _transferCarrier4 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier4));
 
-             }
 
-         }
 
-         private string _transferCarrier5 = "None";
 
-         public string TransferCarrier5
 
-         {
 
-             get => _transferCarrier5;
 
-             set
 
-             {
 
-                 _transferCarrier5 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier5));
 
-             }
 
-         }
 
-         private string _transferCarrier6 = "None";
 
-         public string TransferCarrier6
 
-         {
 
-             get => _transferCarrier6;
 
-             set
 
-             {
 
-                 _transferCarrier6 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier6));
 
-             }
 
-         }
 
-         private string _transferCarrier7 = "None";
 
-         public string TransferCarrier7
 
-         {
 
-             get => _transferCarrier7;
 
-             set
 
-             {
 
-                 _transferCarrier7 = value;
 
-                 NotifyOfPropertyChange(nameof(TransferCarrier7));
 
-             }
 
-         }
 
-         private string _autoCarrier = "None";
 
-         public string AutoCarrier
 
-         {
 
-             get => _autoCarrier;
 
-             set
 
-             {
 
-                 _autoCarrier = value;
 
-                 NotifyOfPropertyChange(nameof(AutoCarrier));
 
-             }
 
-         }
 
-         private string _returnString = "";
 
-         public string ReturnString
 
-         {
 
-             get => _returnString;
 
-             set
 
-             {
 
-                 _returnString = value;
 
-                 NotifyOfPropertyChange(nameof(ReturnString));
 
-             }
 
-         }
 
-         public RecipeLayoutSetMonitorTransferViewModel()
 
-         {
 
-         }
 
-         public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式
 
-         public void MonitorTransferSelectClick(string cmd)
 
-         {
 
-             if (MonitorTransferDict.ContainsKey(cmd))
 
-             {
 
-                 Title = MonitorTransferDict[cmd];
 
-             }
 
-             switch (cmd)
 
-             {
 
-                 case "AutoLayout":
 
-                     SetSelectAutoLayout();
 
-                     break;
 
-                 case "BoatSlot":
 
-                     SetSelectBoatSlot();
 
-                     break;
 
-                 case "DirectCarrier":
 
-                     SetSelectDirectCarrier();
 
-                     break;
 
-                 case "AutoCarrier":
 
-                     SetSelectAutoCarrier();
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         private void SetSelectAutoLayout()
 
-         {
 
-             AutoLayoutVisibility = Visibility.Visible;
 
-             BoatSlotVisibility = Visibility.Hidden;
 
-             DirectCarrierVisibility = Visibility.Hidden;
 
-             UpperProductVisibility = Visibility.Hidden;
 
-             AutoCarrierVisibility = Visibility.Hidden;
 
-             DialogResultMonitorTransferType = MonitorTransferType.AutoLayout;
 
-         }
 
-         private void SetSelectBoatSlot()
 
-         {
 
-             AutoLayoutVisibility = Visibility.Hidden;
 
-             BoatSlotVisibility = Visibility.Visible;
 
-             DirectCarrierVisibility = Visibility.Hidden;
 
-             UpperProductVisibility = Visibility.Hidden;
 
-             AutoCarrierVisibility = Visibility.Hidden;
 
-             DialogResultMonitorTransferType = MonitorTransferType.BoatSlot;
 
-         }
 
-         private void SetSelectDirectCarrier()
 
-         {
 
-             AutoLayoutVisibility = Visibility.Hidden;
 
-             BoatSlotVisibility = Visibility.Hidden;
 
-             DirectCarrierVisibility = Visibility.Visible;
 
-             UpperProductVisibility = Visibility.Hidden;
 
-             AutoCarrierVisibility = Visibility.Hidden;
 
-             DialogResultMonitorTransferType = MonitorTransferType.DirectCarrier;
 
-         }
 
-         private void SetSelectAutoCarrier()
 
-         {
 
-             AutoLayoutVisibility = Visibility.Hidden;
 
-             BoatSlotVisibility = Visibility.Hidden;
 
-             DirectCarrierVisibility = Visibility.Hidden;
 
-             UpperProductVisibility = Visibility.Hidden;
 
-             AutoCarrierVisibility = Visibility.Visible;
 
-             DialogResultMonitorTransferType = MonitorTransferType.AutoCarrier;
 
-         }
 
-         public string RecipeType { get; set; }
 
-         protected override void OnViewLoaded(object view)
 
-         {
 
-             base.OnViewLoaded(view);
 
-             LoadData();
 
-             LoadSetDefaultOption(view);
 
-         }
 
-         private void LoadData()
 
-         {
 
-             MonitorTransferDict.Clear();
 
-             MonitorTransferDict.Add("AutoLayout", "Set Monitor Wafer number to transfer the boat. The wafersare arranged for the locations divided the Product areaby the numbers .");
 
-             MonitorTransferDict.Add("BoatSlot", "Set the boat slot numbers to transfer Monitor Wafers.");
 
-             MonitorTransferDict.Add("DirectCarrier", "Set the arrangement of Monitor Wafers between the Product carrier unit on boat.");
 
-             MonitorTransferDict.Add("AutoCarrier", "Set the arrangement of Monitor wafer just under UpperSide-Dummy area.In Product area it is arrangedautomatically.");
 
-             Title = MonitorTransferDict["AutoLayout"];
 
-             ListBoltSlot.Clear();
 
-             for (int i = 0; i < 30; i++)
 
-             {
 
-                 ListBoltSlot.Add(new BoltSlot()
 
-                 { No = i + 1, SlotValue = 0 });
 
-             }
 
-             SplitCharacter(WaferChargeMonitorValue);
 
-         }
 
-         private void SplitCharacter(string value)
 
-         {
 
-             if (string.IsNullOrEmpty(value) || !value.Contains("|")) return;
 
-             string[] Strlist = value.Split('|');
 
-             if (Strlist.Length != 5) return;
 
-             var subListStr = Strlist[0].Split(';');
 
-             WaferExist = subListStr[0];
 
-             FillReplace = subListStr[1];
 
-             int _wfNum = 0;
 
-             int.TryParse(Strlist[1], out _wfNum);
 
-             WaferNum = _wfNum;
 
-             var subBoltSlotStrList = Strlist[2].Split(';');
 
-             for (int i = 0; i < subBoltSlotStrList.Length; i++)
 
-             {
 
-                 var getBoltSlot = ListBoltSlot.Where(x => x.No == i + 1).FirstOrDefault();
 
-                 if (getBoltSlot != null)
 
-                 {
 
-                     int.TryParse(subBoltSlotStrList[i], out int _boltSlotValue);
 
-                     getBoltSlot.SlotValue = _boltSlotValue;
 
-                 }
 
-             }
 
-             var transferCarrierStrList = Strlist[3].Split(';');
 
-             if (transferCarrierStrList.Length == 7)
 
-             {
 
-                 TransferCarrier1 = transferCarrierStrList[0];
 
-                 TransferCarrier2 = transferCarrierStrList[1];
 
-                 TransferCarrier3 = transferCarrierStrList[2];
 
-                 TransferCarrier4 = transferCarrierStrList[3];
 
-                 TransferCarrier5 = transferCarrierStrList[4];
 
-                 TransferCarrier6 = transferCarrierStrList[5];
 
-                 TransferCarrier7 = transferCarrierStrList[6];
 
-             }
 
-             AutoCarrier = Strlist[4];
 
-         }
 
-         private void LoadSetDefaultOption(object view)
 
-         {
 
-             var monitorTransferView = (RecipeLayoutSetMonitorTransferView)view;
 
-             switch (_waferChargeMonitor)
 
-             {
 
-                 case MonitorTransferType.AutoLayout:
 
-                     monitorTransferView.RdoAutoLayout.IsChecked = true;
 
-                     break;
 
-                 case MonitorTransferType.BoatSlot:
 
-                     monitorTransferView.RdoBoatSlot.IsChecked = true;
 
-                     break;
 
-                 case MonitorTransferType.DirectCarrier:
 
-                     monitorTransferView.RdoDirectCarrier.IsChecked = true;
 
-                     break;
 
-                 case MonitorTransferType.AutoCarrier:
 
-                     monitorTransferView.RdoAutoCarrier.IsChecked = true;
 
-                     break;
 
-                 case MonitorTransferType.None:
 
-                     //monitorTransferView.RdoAutoLayout.IsChecked = true;
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void TempSetSave()
 
-         {
 
-             IsSave = true;
 
-             GetWaferChargeMonitorValue();
 
-             ((Window)GetView()).DialogResult = true;
 
-         }
 
-         private void GetWaferChargeMonitorValue()
 
-         {
 
-             string[] strReturnList = new string[5];
 
-             strReturnList[0] = $"{WaferExist};{FillReplace}";
 
-             strReturnList[1] = WaferNum.ToString();
 
-             strReturnList[2] = string.Join(";", ListBoltSlot.Select(x => x.SlotValue.ToString()).ToArray());
 
-             strReturnList[3] = $"{TransferCarrier1};{TransferCarrier2};{TransferCarrier3};{TransferCarrier4};{TransferCarrier5};{TransferCarrier6};{TransferCarrier7}";
 
-             strReturnList[4] = AutoCarrier;
 
-             ReturnString = string.Join("|", strReturnList);
 
-         }
 
-         private string _waferExist = "None";
 
-         public string WaferExist
 
-         {
 
-             get => _waferExist;
 
-             set
 
-             {
 
-                 _waferExist = value;
 
-                 NotifyOfPropertyChange(nameof(WaferExist));
 
-             }
 
-         }
 
-         private string _fillReplace = "None";
 
-         public string FillReplace
 
-         {
 
-             get => _fillReplace;
 
-             set
 
-             {
 
-                 _fillReplace = value;
 
-                 NotifyOfPropertyChange(nameof(FillReplace));
 
-             }
 
-         }
 
-         private int _waferNum = 0;
 
-         public int WaferNum
 
-         {
 
-             get => _waferNum;
 
-             set
 
-             {
 
-                 _waferNum = value;
 
-                 NotifyOfPropertyChange(nameof(WaferNum));
 
-             }
 
-         }
 
-         public ObservableCollection<BoltSlot> ListBoltSlot { get; set; } = new ObservableCollection<BoltSlot>();
 
-         public void TextSelectCmdMouseDown(string cmd, object sender)
 
-         {
 
-             var colsender = (TextBox)sender;
 
-             WindowManager wm = new WindowManager();
 
-             bool? dialogReturn = false;
 
-             switch (cmd)
 
-             {
 
-                 case "WaferExist":
 
-                     SelectExistViewModel selectExistViewModel1 = new SelectExistViewModel();
 
-                     selectExistViewModel1.ProductZeroStr = WaferExist;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel1, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         WaferExist = selectExistViewModel1.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "FillReplace":
 
-                     SelectExistViewModel selectExistViewModel2 = new SelectExistViewModel();
 
-                     selectExistViewModel2.ProductZeroStr = WaferExist;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel2, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         FillReplace = selectExistViewModel2.DialogResultString;
 
-                     }
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void TransferCmdMouseDown(string cmd, object sender)
 
-         {
 
-             var colsender = (TextBox)sender;
 
-             WindowManager wm = new WindowManager();
 
-             bool? dialogReturn = false;
 
-             SelectExistViewModel selectExistViewModel = new SelectExistViewModel();
 
-             switch (cmd)
 
-             {
 
-                 case "1":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier1;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier1 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "2":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier2;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier2 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "3":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier3;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier3 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "4":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier4;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier4 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "5":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier5;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier5 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "6":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier6;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier6 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 case "7":
 
-                     selectExistViewModel.ProductZeroStr = TransferCarrier7;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         TransferCarrier7 = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void AutoCarrierCmdMouseDown(string cmd, object sender)
 
-         {
 
-             var colsender = (TextBox)sender;
 
-             WindowManager wm = new WindowManager();
 
-             bool? dialogReturn = false;
 
-             SelectExistViewModel selectExistViewModel = new SelectExistViewModel();
 
-             switch (cmd)
 
-             {
 
-                 case "Transfer":
 
-                     selectExistViewModel.ProductZeroStr = AutoCarrier;
 
-                     dialogReturn = wm.ShowDialogWithTitle(selectExistViewModel, null, "Select");
 
-                     if ((bool)dialogReturn)
 
-                     {
 
-                         AutoCarrier = selectExistViewModel.DialogResultString;
 
-                     }
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void TempSetCancel()
 
-         {
 
-             IsSave = false;
 
-             ((Window)GetView()).DialogResult = false;
 
-         }
 
-     }
 
-     public enum MonitorTransferType
 
-     {
 
-         AutoLayout,
 
-         BoatSlot,
 
-         DirectCarrier,
 
-         AutoCarrier,
 
-         None
 
-     }
 
-     public class BoltSlot : PropertyChangedBase
 
-     {
 
-         private int _no;
 
-         public int No
 
-         {
 
-             get => _no;
 
-             set
 
-             {
 
-                 _no = value;
 
-                 NotifyOfPropertyChange("No");
 
-             }
 
-         }
 
-         private int _slotValue;
 
-         public int SlotValue
 
-         {
 
-             get => _slotValue;
 
-             set
 
-             {
 
-                 _slotValue = value;
 
-                 NotifyOfPropertyChange("SlotValue");
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |