FrmDispatch.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Tool;
  11. using Core.StlMes.Client.ZGMil.Entity;
  12. using System.Collections;
  13. using Infragistics.Win.UltraWinEditors;
  14. using Core.Mes.Client.Comm.Server;
  15. using Infragistics.Win.UltraWinGrid;
  16. using Infragistics.Win;
  17. using System.Text.RegularExpressions;
  18. using Core.Mes.Client.Comm.Format;
  19. namespace Core.StlMes.Client.ZGMil.Result
  20. {
  21. public partial class FrmDispatch : FrmBase
  22. {
  23. public FrmDispatch()
  24. {
  25. InitializeComponent();
  26. }
  27. private void FrmDispatch_Load(object sender, EventArgs e)
  28. {
  29. RegStartTime.Value = DateTime.Parse(DateTime.Today.ToString("yyyy-MM-dd") + " 00:00:00");
  30. EntityHelper.ShowGridCaption<MilPlanEntity1>(ultraGrid1.DisplayLayout.Bands[0]);
  31. EntityHelper.ShowGridCaption<MilSizingRackEntity1>(ultraGrid1.DisplayLayout.Bands[1]);
  32. EntityHelper.ShowGridCaption<MilOpenStopResultEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  33. InitBase();
  34. }
  35. UltraComboEditor uReson = new UltraComboEditor();
  36. private void InitBase()
  37. {
  38. //ClsBaseInfo.FillComBaseInfo(uReson, "5006", ob, true);
  39. InitComboEditor(uReson, "com.steering.mes.zgmil.coup.FrmDispatch.doQueryBaseReason", "BASECODE", this.ob, true);
  40. BindColumn(uReson, "StopReason", this.Controls, this.ultraGrid1, 1);
  41. }
  42. /// <summary>
  43. /// 初始化下拉框
  44. /// </summary>
  45. /// <param name="uce">下拉框</param>
  46. /// <param name="methodId">请求的服务</param>
  47. /// <param name="valueMember">值成员</param>
  48. /// <param name="ob">ob对象</param>
  49. /// <param name="isEmpty">是否有空行</param>
  50. public static void InitComboEditor(UltraComboEditor uce, string methodId, string valueMember, OpeBase ob, bool isEmpty)
  51. {
  52. DataTable dt = ServerHelper.GetData(methodId, null, ob);
  53. if (dt != null && dt.Rows.Count > 0)
  54. {
  55. if (isEmpty)
  56. {
  57. Object[] obj = new Object[] { "", "" };
  58. DataRow dr = dt.NewRow();
  59. dr.ItemArray = obj;
  60. dt.Rows.InsertAt(dr, 0);
  61. }
  62. uce.DataSource = dt;
  63. uce.ValueMember = valueMember;
  64. SetComboItemHeight(uce);
  65. }
  66. }
  67. /// <summary>
  68. /// 将下拉框绑定到GRID列
  69. /// </summary>
  70. /// <param name="uce">下拉框(已经初始化完成)</param>
  71. /// <param name="ColumnName">列名</param>
  72. /// <param name="con">空间集合(每次只需填入this.Controls)</param>
  73. /// <param name="ug">GRID</param>
  74. /// <param name="i">GRID的第几层结构</param>
  75. static void BindColumn(UltraComboEditor uce, string ColumnName, System.Windows.Forms.Control.ControlCollection con, UltraGrid ug, int i)
  76. {
  77. con.Add(uce);
  78. uce.Visible = false;
  79. ug.DisplayLayout.Bands[i].Columns[ColumnName].EditorComponent = uce;
  80. ug.DisplayLayout.Bands[i].Columns[ColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  81. SetComboItemHeight(uce);
  82. }
  83. /// <summary>
  84. /// 设置UltraComboEditor中的中文和非中文统一高度。
  85. /// </summary>
  86. /// <param name="cmb"></param>
  87. public static void SetComboItemHeight(UltraComboEditor cmb)
  88. {
  89. foreach (ValueListItem item in cmb.Items)
  90. {
  91. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  92. {
  93. item.Appearance.FontData.SizeInPoints = 9.0F;
  94. }
  95. else
  96. {
  97. item.Appearance.FontData.SizeInPoints = 10.5F;
  98. }
  99. }
  100. }
  101. /// <summary>
  102. /// 重写基类方法
  103. /// </summary>
  104. /// <param name="sender"></param>
  105. /// <param name="ToolbarKey"></param>
  106. public override void ToolBar_Click(object sender, string ToolbarKey)
  107. {
  108. switch (ToolbarKey)
  109. {
  110. case "Query":
  111. doQueryData();
  112. break;
  113. case"QueryStop":
  114. doQueryStop();
  115. break;
  116. case "Delete":
  117. DeleteData();
  118. break;
  119. case "Close":
  120. this.Close();
  121. break;
  122. }
  123. }
  124. /// <summary>
  125. /// 查询停机记录
  126. /// </summary>
  127. private void doQueryStop()
  128. {
  129. string regTime = RegStartTime.Value.ToString("yyyy-MM-dd");
  130. string UserOrder = "";
  131. string UserGroup = "";
  132. if (this.cmbOrder.Text.Trim() != "")
  133. {
  134. UserOrder = this.cmbOrder.Value.ToString();
  135. }
  136. if (this.cmbGroup.Text.Trim() != "")
  137. {
  138. UserGroup = this.cmbGroup.Value.ToString();
  139. }
  140. string departm = "";
  141. string plineCode = "";
  142. NativeMethodNew na = new NativeMethodNew(this.ob);
  143. departm = UserInfo.GetDepartment();
  144. plineCode = na.GetPCode(departm);//获取 用户 对应的产线
  145. ArrayList parm = new ArrayList();
  146. parm.Add(regTime);
  147. parm.Add(UserOrder);
  148. parm.Add(UserGroup);
  149. parm.Add(plineCode);
  150. List<MilOpenStopResultEntity> listSource = EntityHelper.GetData<MilOpenStopResultEntity>(
  151. "com.steering.mes.zgmil.coup.FrmDispatch.doQueryStopData", new object[] { parm }, this.ob);
  152. MilOpenStopResultEntitybindingSource.DataSource = listSource;
  153. }
  154. /// <summary>
  155. /// 查询炉信息
  156. /// </summary>
  157. private void doQueryData()
  158. {
  159. string departm = "";
  160. string plineCode = "";
  161. NativeMethodNew na = new NativeMethodNew(this.ob);
  162. departm = UserInfo.GetDepartment();
  163. plineCode = na.GetPCode(departm);//获取 用户 对应的产线
  164. string regStartTim = RegStartTime.Value.ToString("yyyy-MM-dd");
  165. string[] L1 = new string[] { "JudgeStoveNo", "LotNo"};
  166. string[] L2 = new string[] { "JudgeStoveNo", "LotNo"};
  167. ArrayList parm = new ArrayList();
  168. parm.Add(regStartTim);
  169. List<MilPlanEntity1> listSource = EntityHelper.GetData<MilPlanEntity1>(
  170. "com.steering.mes.zgmil.coup.FrmDispatch.doQueryMilPlan", new object[] { parm, plineCode }, this.ob);
  171. List<MilSizingRackEntity1> listSource2 = EntityHelper.GetData<MilSizingRackEntity1>(
  172. "com.steering.mes.zgmil.coup.FrmDispatch.doQueryMilSizingRack", new object[] { }, this.ob);
  173. EntityHelper.AddEntityRelation(listSource, listSource2, L1, L2);
  174. MilPlanEntity1bindingSource.DataSource = listSource;
  175. }
  176. /// <summary>
  177. /// 删除停机记录
  178. /// </summary>
  179. private void DeleteData()
  180. {
  181. this.ultraGrid2.UpdateData();
  182. UltraGridRow uRow = this.ultraGrid2.ActiveRow;
  183. ArrayList list = new ArrayList();
  184. list.Add(uRow.Cells["MatNo"].Value.ToString());
  185. CoreClientParam ccp = new CoreClientParam();
  186. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmDispatch";
  187. ccp.MethodName = "deleteStopData";
  188. ccp.ServerParams = new object[] {list };
  189. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  190. if (ccp.ReturnCode != -1)
  191. {
  192. if (ccp.ReturnInfo.Equals("删除成功!"))
  193. {
  194. doQueryStop();
  195. MessageUtil.ShowTips(ccp.ReturnInfo);
  196. }
  197. else
  198. {
  199. MessageUtil.ShowTips(ccp.ReturnInfo);
  200. }
  201. }
  202. else
  203. {
  204. MessageUtil.ShowTips(ccp.ReturnInfo);
  205. }
  206. }
  207. private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
  208. {
  209. this.ultraGrid1.UpdateData();
  210. UltraGridRow row = this.ultraGrid1.ActiveRow;
  211. ArrayList list = new ArrayList();
  212. if (row.Cells["StartTime"].Text.Trim() == "" || row.Cells["StopReason"].Text.Trim() == "")
  213. {
  214. MessageUtil.ShowTips("开机时间和停机原因都不能为空!");
  215. return;
  216. }
  217. MilSizingRackEntity1 milSizRackEtity = (MilSizingRackEntity1)row.ListObject;
  218. string milSizingRackTity = JSONFormat.Format(milSizRackEtity);
  219. list.Add(milSizingRackTity);
  220. CoreClientParam ccp = new CoreClientParam();
  221. ccp.ServerName = "com.steering.mes.zgmil.coup.FrmDispatch";
  222. ccp.MethodName = "stopSizingRack";
  223. ccp.ServerParams = new object[] { list, row.Cells["StartTime"].Text.Trim(), row.Cells["StopReason"].Text.Trim(),this.UserInfo.GetUserName(),this.UserInfo.GetUserOrder(),this.UserInfo.GetUserGroup() };
  224. ccp = ob.ExecuteNonQuery(ccp,CoreInvokeType.Internal);
  225. if (ccp.ReturnCode != -1)
  226. {
  227. if (ccp.ReturnInfo.Equals("停机成功!"))
  228. {
  229. doQueryData();
  230. MessageUtil.ShowTips(ccp.ReturnInfo);
  231. }
  232. else
  233. {
  234. MessageUtil.ShowTips(ccp.ReturnInfo);
  235. }
  236. }
  237. else
  238. {
  239. MessageUtil.ShowTips(ccp.ReturnInfo);
  240. }
  241. }
  242. private void FrmDispatch_Shown(object sender, EventArgs e)
  243. {
  244. if (toolMenu == null) return;
  245. if (toolMenu.Toolbars[0].Tools.Exists("QueryStop"))
  246. {
  247. toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.False;
  248. }
  249. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  250. {
  251. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  252. }
  253. this.ultraLabel2.Visible = false;
  254. this.cmbOrder.Visible = false;
  255. this.ultraLabel3.Visible = false;
  256. this.cmbGroup.Visible = false;
  257. }
  258. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  259. {
  260. if (toolMenu == null) return;
  261. if (ultraTabControl1.SelectedTab.Key == "0")
  262. {
  263. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  264. {
  265. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.True;
  266. }
  267. if (toolMenu.Toolbars[0].Tools.Exists("QueryStop"))
  268. {
  269. toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.False;
  270. }
  271. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  272. {
  273. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
  274. }
  275. this.ultraLabel2.Visible = false;
  276. this.cmbOrder.Visible = false;
  277. this.ultraLabel3.Visible = false;
  278. this.cmbGroup.Visible = false;
  279. }
  280. else
  281. {
  282. if (toolMenu.Toolbars[0].Tools.Exists("Query"))
  283. {
  284. toolMenu.Toolbars[0].Tools["Query"].InstanceProps.Visible = DefaultableBoolean.False;
  285. }
  286. if (toolMenu.Toolbars[0].Tools.Exists("QueryStop"))
  287. {
  288. toolMenu.Toolbars[0].Tools["QueryStop"].InstanceProps.Visible = DefaultableBoolean.True;
  289. }
  290. if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
  291. {
  292. toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
  293. }
  294. this.ultraLabel2.Visible = true;
  295. this.cmbOrder.Visible = true;
  296. this.ultraLabel3.Visible = true;
  297. this.cmbGroup.Visible = true;
  298. }
  299. }
  300. }
  301. }