StlIncisionDtlCtrl.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.StlMes.Client.Judge.Commons;
  3. using CoreFS.CA06;
  4. using Infragistics.Win.UltraWinGrid;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data;
  8. using System.Windows.Forms;
  9. namespace Core.StlMes.Client.Judge.Controls
  10. {
  11. public partial class StlIncisionDtlCtrl : UserControl
  12. {
  13. private Dal _d;
  14. private OpeBase ob;
  15. public StlIncisionDtlCtrl(Control container, OpeBase ob)
  16. {
  17. InitializeComponent();
  18. _d = new Dal(ob);
  19. this.ob = ob;
  20. container.Controls.Add(this);
  21. this.Dock = DockStyle.Fill;
  22. this.BringToFront();
  23. }
  24. public void QueryStl(string judgeStoveNo)
  25. {
  26. DataTable dt = _d.GetTableByXmlId("StlIncisionDAL.queryStlDtlByJudgeStoveNo", judgeStoveNo);
  27. ultraGrid1.BeginUpdate();
  28. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  29. BindCraftNo(true);
  30. GridHelper.RefreshAndAutoSize(ultraGrid1);
  31. ultraGrid1.EndUpdate();
  32. }
  33. public void QueryApply(string judgeApplyCode, string judgeApplySeq, string judgeStoveNo)
  34. {
  35. DataTable dt = _d.GetTableByXmlId("StlIncisionDAL.queryApplyDtlByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo);
  36. ultraGrid1.BeginUpdate();
  37. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  38. BindCraftNo(false);
  39. GridHelper.RefreshAndAutoSize(ultraGrid1);
  40. ultraGrid1.EndUpdate();
  41. }
  42. private void BindCraftNo(bool stl)
  43. {
  44. for (int i = dataTable1.Columns.Count - 1; i >= 0; i--)
  45. {
  46. if (dataTable1.Columns[i].ColumnName.Contains("craft") || dataTable1.Columns[i].ColumnName.Contains("orderNo"))
  47. {
  48. dataTable1.Columns.RemoveAt(i);
  49. }
  50. }
  51. foreach (DataRow drStl in dataTable1.Rows)
  52. {
  53. string[] zgProPlanIds;
  54. if (stl)
  55. {
  56. zgProPlanIds = GetStlInsitionZgPlanId(drStl);
  57. }
  58. else
  59. {
  60. zgProPlanIds = GetGpJudgeApplyZgPlanId(drStl);
  61. }
  62. DataTable dtCraftNo = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftNoByZgProPlanId", new object[] { zgProPlanIds });
  63. for (int i = 0; i < dtCraftNo.Rows.Count; i++)
  64. {
  65. if (dataTable1.Columns.Contains("craftNo" + i.ToString())) continue;
  66. dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftNo" + i.ToString(), Caption = "工艺文件" });
  67. dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftPath" + i.ToString(), Caption = "工艺文件路径" });
  68. }
  69. DataTable dtOrderNo = _d.GetTableByXmlId("JdgPlnOrderZgS.queryOrderNoByZgProPlanId", new object[] { zgProPlanIds });
  70. for (int i = 0; i < dtOrderNo.Rows.Count; i++)
  71. {
  72. if (dataTable1.Columns.Contains("orderNo" + i.ToString())) continue;
  73. dataTable1.Columns.Add(new DataColumn() { ColumnName = "orderNo" + i.ToString(), Caption = "合同号" });
  74. }
  75. for (int i = 0; i < dtCraftNo.Rows.Count; i++)
  76. {
  77. drStl["craftNo" + i.ToString()] = dtCraftNo.Rows[i]["craftNo"].ToString();
  78. drStl["craftPath" + i.ToString()] = dtCraftNo.Rows[i]["craftPath"].ToString();
  79. }
  80. for (int i = 0; i < dtOrderNo.Rows.Count; i++)
  81. {
  82. drStl["orderNo" + i.ToString()] = dtOrderNo.Rows[i]["orderNo"].ToString();
  83. }
  84. }
  85. foreach (var col in ultraGrid1.DisplayLayout.Bands[0].Columns)
  86. {
  87. if (col.Key.Contains("craftPath"))
  88. {
  89. col.Hidden = true;
  90. }
  91. else if (col.Key.Contains("craftNo"))
  92. {
  93. col.EditorComponent = ultraTextEditor1;
  94. col.ButtonDisplayStyle = ButtonDisplayStyle.Always;
  95. }
  96. }
  97. }
  98. private string[] GetStlInsitionZgPlanId(DataRow drStl)
  99. {
  100. List<string> zgProPlanIds = new List<string>();
  101. string[] aryProPlanIds = drStl["proPlanId"].ToString().Split(',');
  102. string[] aryGxPlanNos = drStl["gxPlanNo"].ToString().Split(',');
  103. for (int i = 0; i < aryProPlanIds.Length; i++)
  104. {
  105. string proPlanId = aryProPlanIds[i];
  106. string gxPlanNo = aryGxPlanNos[i];
  107. if (proPlanId.StartsWith("ZG"))
  108. {
  109. zgProPlanIds.Add(proPlanId + gxPlanNo);
  110. }
  111. else
  112. {
  113. DataTable dtZgProPlanIds = _d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", proPlanId);
  114. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  115. {
  116. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  117. }
  118. }
  119. }
  120. return zgProPlanIds.ToArray();
  121. }
  122. private string[] GetGpJudgeApplyZgPlanId(DataRow gpJudgeApply)
  123. {
  124. List<string> zgProPlanIds = new List<string>();
  125. string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString();
  126. string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString();
  127. string proPlanId = gpJudgeApply["proPlanId"].ToString();
  128. if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG"))
  129. {
  130. zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext);
  131. }
  132. else
  133. {
  134. string zzProPlanId = "";
  135. if (proPlanIdNext != "")
  136. {
  137. zzProPlanId = proPlanIdNext;
  138. }
  139. else
  140. {
  141. zzProPlanId = proPlanId;
  142. }
  143. DataTable dtZgProPlanIds = _d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId);
  144. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  145. {
  146. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  147. }
  148. }
  149. return zgProPlanIds.ToArray();
  150. }
  151. public void Clear()
  152. {
  153. this.dataTable1.Clear();
  154. }
  155. FormFileDown askDown;
  156. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  157. {
  158. var row = ultraGrid1.ActiveRow;
  159. string filePath = row.GetValue(ultraGrid1.ActiveCell.Column.Key.Replace("craftNo", "craftPath"));
  160. askDown = new FormFileDown(ob, filePath);
  161. askDown.DeleteButton.Visible = false;
  162. askDown.Show();
  163. }
  164. }
  165. }