QcmZgJudgeApplyDtlCtrl.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using Core.StlMes.Client.Judge.Commons;
  5. using Core.StlMes.Client.Judge.Forms;
  6. using CoreFS.CA06;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Data;
  10. using System.Windows.Forms;
  11. namespace Core.StlMes.Client.Judge.Controls
  12. {
  13. public partial class QcmZgJudgeApplyDtlCtrl : UserControl
  14. {
  15. private Dal _d;
  16. private OpeBase ob;
  17. public QcmZgJudgeApplyDtlCtrl(Control container, OpeBase ob)
  18. {
  19. InitializeComponent();
  20. _d = new Dal(ob);
  21. this.ob = ob;
  22. container.Controls.Add(this);
  23. this.Dock = DockStyle.Fill;
  24. this.BringToFront();
  25. }
  26. private string _judgeApplyCode = "";
  27. private string _judgeStoveNo = "";
  28. private string _batchNo = "";
  29. public void Query(string judgeApplyCode, string judgeStoveNo, string batchNo)
  30. {
  31. _judgeApplyCode = judgeApplyCode;
  32. _judgeStoveNo = judgeStoveNo;
  33. _batchNo = batchNo;
  34. DataTable dt = _d.GetTableByXmlId("QcmZgJugdeApplyDAL.querDtlByJudgeStoveNoApplyNo", judgeApplyCode, judgeStoveNo, batchNo);
  35. ultraGrid1.BeginUpdate();
  36. if (dt.Rows.Count > 0 && dt.Rows[0]["processCode"].ToString() == "H")
  37. {
  38. ultraGrid1.DisplayLayout.Bands[0].Columns["actCount"].Header.Caption = "个数";
  39. }
  40. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  41. BindCraftNo();
  42. GridHelper.RefreshAndAutoSize(ultraGrid1);
  43. ultraGrid1.EndUpdate();
  44. }
  45. private void BindCraftNo()
  46. {
  47. DataRow apply = _d.GetRowByXmlId("QcmZgJugdeApplyDAL.QueryByBatchNo", _judgeApplyCode, _judgeStoveNo, _batchNo);
  48. for (int i = dataTable1.Columns.Count - 1; i >= 0; i--)
  49. {
  50. if ((dataTable1.Columns[i].ColumnName.Contains("craft") || dataTable1.Columns[i].ColumnName.Contains("orderNo"))
  51. && dataTable1.Columns[i].ColumnName != "craftSeq")
  52. {
  53. dataTable1.Columns.RemoveAt(i);
  54. }
  55. }
  56. foreach (DataRow drZgJudgeApply in dataTable1.Rows)
  57. {
  58. DataTable dtCraftNo = GetCraftNo(drZgJudgeApply, apply);
  59. for (int i = 0; i < dtCraftNo.Rows.Count; i++)
  60. {
  61. if (dataTable1.Columns.Contains("craftNo" + i.ToString())) continue;
  62. dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftNo" + i.ToString(), Caption = "工艺文件" });
  63. dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftPath" + i.ToString(), Caption = "工艺文件路径" });
  64. }
  65. DataTable dtOrderNo = GetOrderNo(drZgJudgeApply, apply);
  66. for (int i = 0; i < dtOrderNo.Rows.Count; i++)
  67. {
  68. if (dataTable1.Columns.Contains("orderNo" + i.ToString())) continue;
  69. dataTable1.Columns.Add(new DataColumn() { ColumnName = "orderNo" + i.ToString(), Caption = "合同号" });
  70. }
  71. for (int i = 0; i < dtCraftNo.Rows.Count; i++)
  72. {
  73. drZgJudgeApply["craftNo" + i.ToString()] = dtCraftNo.Rows[i]["craftNo"].ToString();
  74. drZgJudgeApply["craftPath" + i.ToString()] = dtCraftNo.Rows[i]["craftPath"].ToString();
  75. }
  76. for (int i = 0; i < dtOrderNo.Rows.Count; i++)
  77. {
  78. drZgJudgeApply["orderNo" + i.ToString()] = dtOrderNo.Rows[i]["orderNo"].ToString();
  79. }
  80. }
  81. foreach (var col in ultraGrid1.DisplayLayout.Bands[0].Columns)
  82. {
  83. if (col.Key.Contains("craftPath"))
  84. {
  85. col.Hidden = true;
  86. }
  87. else if (col.Key.Contains("craftNo"))
  88. {
  89. col.EditorComponent = ultraTextEditor1;
  90. col.ButtonDisplayStyle = ButtonDisplayStyle.Always;
  91. }
  92. }
  93. }
  94. public DataTable GetCraftNo(DataRow zgJudgeApply, DataRow apply)
  95. {
  96. string ordLnPk = "";
  97. if (apply.Table.Columns.Contains("isAllScrap") && apply["isAllScrap"].ToString() == "4")
  98. {
  99. DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgSlmOrderLineDelivery.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString());
  100. ordLnPk = drPlnSaleOrd["ordLnPk"].ToString();
  101. }
  102. else
  103. {
  104. DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgPlnSaleOrd.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString());
  105. if (drPlnSaleOrd == null) return new DataTable();
  106. ordLnPk = drPlnSaleOrd["ordLnPk"].ToString();
  107. }
  108. DataTable dt = _d.GetTableByXmlId("JdgCraftOrdDesign.queryCraftNoByOrdLnPk", ordLnPk, zgJudgeApply["craftSeq"].ToString());
  109. return dt;
  110. }
  111. public DataTable GetOrderNo(DataRow zgJudgeApply, DataRow apply)
  112. {
  113. string ordLnPk = "";
  114. if (apply.Table.Columns.Contains("isAllScrap") && apply["isAllScrap"].ToString() == "4")
  115. {
  116. DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgSlmOrderLineDelivery.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString());
  117. ordLnPk = drPlnSaleOrd["ordLnPk"].ToString();
  118. }
  119. else
  120. {
  121. DataRow drPlnSaleOrd = _d.GetRowByXmlId("JdgPlnSaleOrd.getOrdLnPkByDlyPk", zgJudgeApply["ordLnDlyPk"].ToString());
  122. if (drPlnSaleOrd == null) return new DataTable();
  123. ordLnPk = drPlnSaleOrd["ordLnPk"].ToString();
  124. }
  125. DataTable dt = _d.GetTableByXmlId("JdgCraftOrdDesign.queryOrderNoByOrdLnPk", ordLnPk);
  126. return dt;
  127. }
  128. public void Clear()
  129. {
  130. this.dataTable1.Clear();
  131. }
  132. FormFileDown askDown;
  133. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  134. {
  135. if (e.Button.Key.Equals("1"))
  136. {
  137. string filePath = ultraGrid1.ActiveRow.GetValue(ultraGrid1.ActiveCell.Column.Key.Replace("craftNo", "craftPath"));
  138. askDown = new FormFileDown(ob, filePath);
  139. askDown.DeleteButton.Visible = false;
  140. askDown.Show();
  141. }
  142. else {
  143. try {
  144. var row = ultraGrid1.ActiveRow;
  145. CraftSelect craftSelect = new CraftSelect(ob);
  146. string ordLnDlyPk = row.Cells["ordLnDlyPk"].Text.ToString();
  147. //string ordLnPk = ordLnDlyPk.Substring(0, ordLnDlyPk.Length - 3).ToString();
  148. craftSelect.Query(ordLnDlyPk);
  149. if (craftSelect.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  150. {
  151. UltraGridRow ugrow = craftSelect.row;
  152. string craftSeq = ugrow.Cells["craftSeq"].Value.ToString();
  153. string craftNo = ugrow.Cells["craftNo"].Value.ToString();
  154. String[] parm = new String[] { craftSeq, craftNo, _judgeApplyCode, _judgeStoveNo, _batchNo };
  155. ServerHelper.SetData("com.steering.pss.judge.Bll.BllZcColligateJudge.updateCraftNo", new object[] { parm }, ob);
  156. Query(_judgeApplyCode, _judgeStoveNo, _batchNo);
  157. }
  158. }
  159. catch (Exception ex)
  160. {
  161. MessageUtil.ShowTips(ex.Message);
  162. }
  163. }
  164. }
  165. }
  166. }