NormalJobViewModel.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. using Caliburn.Micro;
  2. using Caliburn.Micro.Core;
  3. using FurnaceUI.Client;
  4. using FurnaceUI.Models;
  5. using MECF.Framework.Common.OperationCenter;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. using System.Windows;
  12. namespace FurnaceUI.Views.Jobs
  13. {
  14. public class NormalJobViewModel : FurnaceModuleUIViewModelBase
  15. {
  16. public bool IsPermission { get => this.Permission == 3; }
  17. public NormalJobViewModel()
  18. {
  19. this.DisplayName = "NormalJobViewModel";
  20. }
  21. protected override void OnInitialize()
  22. {
  23. base.OnInitialize();
  24. //base.InitFOUP();
  25. //base.InitLL();
  26. //base.InitTM();
  27. //base.InitEFEM();
  28. //base.InitPM();
  29. //base.InitBuffer();
  30. }
  31. protected override void OnActivate()
  32. {
  33. base.OnActivate();
  34. }
  35. protected override void InvokeAfterUpdateProperty(Dictionary<string, object> data)
  36. {
  37. }
  38. public void ExecuteCmd(string cmd)
  39. {
  40. string cmdStr = "";
  41. switch (cmd)
  42. {
  43. case "Process":
  44. cmdStr = "Execute Process";
  45. break;
  46. case "Unload":
  47. cmdStr = "Execute Unload";
  48. break;
  49. case "ProcessUnload":
  50. cmdStr = "Execute Load -> Process ->Unload";
  51. {
  52. List<string> smifALotIds = new List<string>()
  53. {
  54. "1;AD00001",
  55. "2;AD00002",
  56. "3;AD00003",
  57. };
  58. List<string> smifBLotIds = new List<string>()
  59. {
  60. "4;AD00004",
  61. "5;AD00005",
  62. "6;AD00006",
  63. };
  64. Dictionary<string, object> param = new Dictionary<string, object>()
  65. {
  66. {"Batch","A" },
  67. {"WaferType","P" },
  68. {"LayoutRecipe","layout" },
  69. {"SMIFALotID", smifALotIds.ToArray()},
  70. {"SMIFBLotID", smifBLotIds.ToArray()},
  71. };
  72. InvokeClient.Instance.Service.DoOperation("System.ExpertChargeWafer", param);
  73. }
  74. break;
  75. case "MLoad":
  76. cmdStr = "Execute M load";
  77. InvokeClient.Instance.Service.DoOperation("System.ExpertDischargeWafer");
  78. break;
  79. case "MUnload":
  80. cmdStr = "Execute M Unload";
  81. break;
  82. case "DExchange":
  83. cmdStr = "Execute D Exchange";
  84. break;
  85. case "EDExchange":
  86. cmdStr = "Execute ED Exchange";
  87. break;
  88. default:
  89. break;
  90. }
  91. MessageBox.Show(cmdStr);
  92. }
  93. public void SwitchPage(string page)
  94. {
  95. switch (page)
  96. {
  97. case "LoadJOB":
  98. ClientApp.Instance.SwitchPage("jobs", "LoadJOB", null);
  99. break;
  100. case "Normal":
  101. ClientApp.Instance.SwitchPage("jobs", "normalJob", null);
  102. break;
  103. case "Customize":
  104. ClientApp.Instance.SwitchPage("jobs", "Customize", null);
  105. break;
  106. case "Maintainance":
  107. ClientApp.Instance.SwitchPage("jobs", "maintenanceJob", null);
  108. break;
  109. }
  110. }
  111. public void PopupPage(string page)
  112. {
  113. var windowManager = IoC.Get<IWindowManager>();
  114. switch (page)
  115. {
  116. case "LoadProcessStock":
  117. {
  118. JOBProcessStockViewModel jOBProcessStockViewModel = new JOBProcessStockViewModel();
  119. jOBProcessStockViewModel.ExecCommand = "LoadProcessStocker";
  120. jOBProcessStockViewModel.IsWithUnloadButtonVisible = false;
  121. jOBProcessStockViewModel.IsStockNumberChangeButtonVisible = true;
  122. (windowManager as WindowManager)?.ShowDialogWithTitle(jOBProcessStockViewModel, null, "Load->Process->Stock");
  123. }
  124. break;
  125. case "LoadProcessUnload":
  126. {
  127. JOBProcessStockViewModel jOBProcessStockViewModel = new JOBProcessStockViewModel();
  128. jOBProcessStockViewModel.ExecCommand = "LoadProcessUnload";
  129. jOBProcessStockViewModel.IsWithUnloadButtonVisible = false;
  130. jOBProcessStockViewModel.IsStockNumberChangeButtonVisible = true;
  131. (windowManager as WindowManager)?.ShowDialogWithTitle(jOBProcessStockViewModel, null, "Load->Process->Unload");
  132. }
  133. break;
  134. case "LoadJOB":
  135. {
  136. LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel();
  137. loadJOBViewModel.ExecCommand = "Load";
  138. (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "Load");
  139. }
  140. break;
  141. case "Unload":
  142. {
  143. LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel();
  144. unloadJOBViewModel.ExecCommand = "Unload";
  145. (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "Unload");
  146. }
  147. break;
  148. case "Process":
  149. {
  150. //JOBProcessViewModel jOBProcessStockViewModel = new JOBProcessViewModel();
  151. CreateJobViewModel createPJJobViewModel = new CreateJobViewModel();
  152. createPJJobViewModel.ExecCommand = "ChargeProcessDischarge";
  153. createPJJobViewModel.IsOnlyCharge = false;
  154. (windowManager as WindowManager)?.ShowDialogWithTitle(createPJJobViewModel, null, "Charge->Process->Discharge");
  155. }
  156. break;
  157. case "Charge":
  158. {
  159. //JOBProcessViewModel jOBProcessStockViewModel = new JOBProcessViewModel();
  160. CreateJobViewModel createPJJobViewModel = new CreateJobViewModel();
  161. createPJJobViewModel.ExecCommand = "ChargeProcessDischarge";
  162. createPJJobViewModel.IsOnlyCharge = true;
  163. (windowManager as WindowManager)?.ShowDialogWithTitle(createPJJobViewModel, null, "Charge->Process");
  164. }
  165. break;
  166. case "Discharge":
  167. {
  168. InvokeClient.Instance.Service.DoOperation("System.ReturnAllWafer");
  169. }
  170. break;
  171. case "MLoad":
  172. {
  173. LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel();
  174. loadJOBViewModel.ExecCommand = "Load";
  175. loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  176. loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Visible;
  177. loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed;
  178. loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed;
  179. loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Collapsed;
  180. loadJOBViewModel.IsM1Checked = true;
  181. loadJOBViewModel.IsSetValue = true;
  182. loadJOBViewModel.WaferType = "M1";
  183. (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "M Load");
  184. }
  185. break;
  186. case "MUnload":
  187. {
  188. LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel();
  189. unloadJOBViewModel.ExecCommand = "Unload";
  190. unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  191. unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Visible;
  192. unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed;
  193. unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Collapsed;
  194. unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed;
  195. unloadJOBViewModel.M1TypeVisibility = Visibility.Visible;
  196. unloadJOBViewModel.SDTypeVisibility = Visibility.Collapsed;
  197. unloadJOBViewModel.EDTypeVisibility = Visibility.Collapsed;
  198. //unloadJOBViewModel.IsExecuteRTCommand = false;
  199. unloadJOBViewModel.WaferType = "M1";
  200. unloadJOBViewModel.IsM1Checked = true;
  201. (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "M Unload");
  202. }
  203. break;
  204. case "SDLoad":
  205. {
  206. LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel();
  207. loadJOBViewModel.ExecCommand = "Load";
  208. loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  209. loadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed;
  210. loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Collapsed;
  211. loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed;
  212. loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible;
  213. loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible;
  214. loadJOBViewModel.IsPChecked = false;
  215. loadJOBViewModel.IsSDChecked = true;
  216. loadJOBViewModel.IsMChecked = false;
  217. loadJOBViewModel.IsM1Checked = false;
  218. loadJOBViewModel.IsM2Checked = false;
  219. loadJOBViewModel.IsEDChecked = false;
  220. loadJOBViewModel.WaferType = "SD";
  221. loadJOBViewModel.IsSetValue = true;
  222. (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "D Load");
  223. }
  224. break;
  225. case "SDUnload":
  226. {
  227. LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel();
  228. unloadJOBViewModel.ExecCommand = "Unload";
  229. unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  230. unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed;
  231. unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible;
  232. unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Visible;
  233. unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible;
  234. unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed;
  235. unloadJOBViewModel.MTypeVisibility = Visibility.Collapsed;
  236. unloadJOBViewModel.SDTypeVisibility = Visibility.Visible;
  237. unloadJOBViewModel.EDTypeVisibility = Visibility.Collapsed;
  238. unloadJOBViewModel.WaferType = "SD";
  239. unloadJOBViewModel.IsSDChecked = true;
  240. (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "D Unload");
  241. }
  242. break;
  243. case "EDLoad":
  244. {
  245. LoadJOBViewModel loadJOBViewModel = new LoadJOBViewModel();
  246. loadJOBViewModel.ExecCommand = "Load";
  247. loadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  248. loadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed;
  249. loadJOBViewModel.M1TypeRadioButtonVisibility = Visibility.Collapsed;
  250. loadJOBViewModel.M2TypeRadioButtonVisibility = Visibility.Collapsed;
  251. loadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed;
  252. loadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible;
  253. loadJOBViewModel.IsPChecked = false;
  254. loadJOBViewModel.IsSDChecked = false;
  255. loadJOBViewModel.IsMChecked = false;
  256. loadJOBViewModel.IsM1Checked = false;
  257. loadJOBViewModel.IsM2Checked = false;
  258. loadJOBViewModel.IsEDChecked = true;
  259. loadJOBViewModel.WaferType = "ED";
  260. loadJOBViewModel.IsSetValue = true;
  261. (windowManager as WindowManager)?.ShowDialogWithTitle(loadJOBViewModel, null, "D Load");
  262. }
  263. break;
  264. case "EDUnload":
  265. {
  266. LoadJOBUnLoadViewModel unloadJOBViewModel = new LoadJOBUnLoadViewModel();
  267. unloadJOBViewModel.ExecCommand = "Unload";
  268. unloadJOBViewModel.PTypeRadioButtonVisibility = Visibility.Collapsed;
  269. unloadJOBViewModel.MTypeRadioButtonVisibility = Visibility.Collapsed;
  270. unloadJOBViewModel.SDTypeRadioButtonVisibility = Visibility.Collapsed;
  271. unloadJOBViewModel.EDTypeRadioButtonVisibility = Visibility.Visible;
  272. unloadJOBViewModel.PTypeVisibility = Visibility.Collapsed;
  273. unloadJOBViewModel.MTypeVisibility = Visibility.Collapsed;
  274. unloadJOBViewModel.M1TypeVisibility = Visibility.Collapsed;
  275. unloadJOBViewModel.M2TypeVisibility = Visibility.Collapsed;
  276. unloadJOBViewModel.SDTypeVisibility = Visibility.Collapsed;
  277. unloadJOBViewModel.EDTypeVisibility = Visibility.Visible;
  278. //unloadJOBViewModel.IsExecuteRTCommand = false;
  279. unloadJOBViewModel.WaferType = "ED";
  280. unloadJOBViewModel.IsEDChecked = true;
  281. (windowManager as WindowManager)?.ShowDialogWithTitle(unloadJOBViewModel, null, "D Unload");
  282. }
  283. break;
  284. default:
  285. break;
  286. }
  287. }
  288. }
  289. }