FrmChoiceCraftFileLv2.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Tool;
  3. using Core.StlMes.Client.SaleOrder.BLL;
  4. using Core.StlMes.Client.SaleOrder.Dialog;
  5. using CoreFS.CA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Windows.Forms;
  15. namespace Core.StlMes.Client.SaleOrder.ReviewForm
  16. {
  17. public partial class FrmChoiceCraftFileLv2 : FrmBase
  18. {
  19. private CraftOrdDesignBLL _craftOrdDesignBLL;
  20. public FrmChoiceCraftFileLv2()
  21. {
  22. InitializeComponent();
  23. EntityHelper.ShowGridCaption<CraftOrdDesignEntityChoiceCraftLv2>(ultraGrid1.DisplayLayout.Bands[0]);
  24. this.IsLoadUserView = true;
  25. }
  26. private void FrmChoiceCraftFileLv2_Load(object sender, EventArgs e)
  27. {
  28. _craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  29. lblCmbPlanStatus.ComboBox.SelectedIndex = 0;
  30. ultraGrid1.DisplayLayout.Bands[0].Columns["CraftFileLv2" + CustomInfo + "Desc"].Hidden = false;
  31. if (CustomInfo != "D")
  32. {
  33. GridHelper.HidenColumns(ultraGrid1.DisplayLayout.Bands[0], "PlanTimeBZg", "CraftFileLv2DDesc");
  34. }
  35. if (CustomInfo != "E")
  36. {
  37. GridHelper.HidenColumns(ultraGrid1.DisplayLayout.Bands[0], "PlanTimeBDbk", "CraftFileLv2EDesc");
  38. }
  39. if (CustomInfo != "F")
  40. {
  41. GridHelper.HidenColumns(ultraGrid1.DisplayLayout.Bands[0], "PlanTimeBRcl", "CraftFileLv2FDesc");
  42. }
  43. if (CustomInfo != "G")
  44. {
  45. GridHelper.HidenColumns(ultraGrid1.DisplayLayout.Bands[0], "PlanTimeBJgx", "CraftFileLv2GDesc");
  46. }
  47. if (CustomInfo != "H")
  48. {
  49. GridHelper.HidenColumns(ultraGrid1.DisplayLayout.Bands[0], "PlanTimeBProp", "CraftFileLv2HDesc");
  50. }
  51. }
  52. public override void ToolBar_Click(object sender, string ToolbarKey)
  53. {
  54. base.ToolBar_Click(sender, ToolbarKey);
  55. switch (ToolbarKey)
  56. {
  57. case "Query":
  58. Query();
  59. break;
  60. case "Save":
  61. Save();
  62. break;
  63. case "Close":
  64. this.Close();
  65. break;
  66. }
  67. }
  68. private void Query()
  69. {
  70. WaitingForm2 wf = new WaitingForm2("正在查询,请稍候....");
  71. try
  72. {
  73. this.Cursor = Cursors.WaitCursor;
  74. string craftNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
  75. string orderNo = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : "";
  76. string planStatus = lblCmbPlanStatus.Checked ? lblCmbPlanStatus.SelecteValue.ToString2() : "";
  77. string maintenanceStatus = labelCheckBox1.Checked ? "1" : "";
  78. ultraGrid1.BeginUpdate();
  79. craftOrdDesignEntityBindingSource.DataSource = _craftOrdDesignBLL.QueryCraftLv2(
  80. craftNo, orderNo, planStatus, maintenanceStatus, CustomInfo);
  81. foreach (var row in ultraGrid1.Rows)
  82. {
  83. Color color = row.Cells["CraftNo"].Appearance.BackColor;
  84. if (!row.GetValue("ProcessCodes").Contains("D"))
  85. {
  86. row.Cells["CraftFileLv2DDesc"].Appearance.BackColor = color;
  87. row.Cells["CraftFileLv2DDesc"].Value = "无";
  88. }
  89. if (!row.GetValue("ProcessCodes").Contains("E"))
  90. {
  91. row.Cells["CraftFileLv2EDesc"].Appearance.BackColor = color;
  92. row.Cells["CraftFileLv2EDesc"].Value = "无";
  93. }
  94. if (!row.GetValue("ProcessCodes").Contains("F"))
  95. {
  96. row.Cells["CraftFileLv2FDesc"].Appearance.BackColor = color;
  97. row.Cells["CraftFileLv2FDesc"].Value = "无";
  98. }
  99. if (!row.GetValue("ProcessCodes").Contains("G"))
  100. {
  101. row.Cells["CraftFileLv2GDesc"].Appearance.BackColor = color;
  102. row.Cells["CraftFileLv2GDesc"].Value = "无";
  103. }
  104. if (!row.GetValue("ProcessCodes").Contains("H"))
  105. {
  106. row.Cells["CraftFileLv2HDesc"].Appearance.BackColor = color;
  107. row.Cells["CraftFileLv2HDesc"].Value = "无";
  108. }
  109. }
  110. ultraGrid1.EndUpdate();
  111. ultraGrid1.UpdateData();
  112. }
  113. finally
  114. {
  115. wf.Close();
  116. this.Cursor = Cursors.Default;
  117. }
  118. }
  119. private void Relocat(string ordLnPk, string craftSeq)
  120. {
  121. Query();
  122. var row = ultraGrid1.Rows.Where(a => a.GetValue("OrdLnPk") == ordLnPk
  123. && a.GetValue("CraftSeq") == craftSeq).FirstOrDefault();
  124. if (row != null)
  125. {
  126. row.Activate();
  127. }
  128. }
  129. private void Save()
  130. {
  131. ultraGrid1.UpdateData();
  132. var rows = ultraGrid1.Rows.Where(a=>a.GetValue("Chk") == "True");
  133. if (rows.Count() == 0)
  134. {
  135. MessageUtil.ShowWarning("请选择记录!");
  136. return;
  137. }
  138. List<CraftOrdDesignEntity> craftOrdDesignList = new List<CraftOrdDesignEntity>();
  139. string ordLnPk = "";
  140. string craftSeq = "";
  141. foreach (var row in rows)
  142. {
  143. CraftOrdDesignEntity craftOrdDesign = EntityHelper.CopyEntity<CraftOrdDesignEntity>(row.ListObject);
  144. craftOrdDesign.UpdateName = UserInfo.GetUserName();
  145. craftOrdDesignList.Add(craftOrdDesign);
  146. ordLnPk = craftOrdDesign.OrdLnPk;
  147. craftSeq = craftOrdDesign.CraftSeq.ToString();
  148. }
  149. if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == System.Windows.Forms.DialogResult.No)
  150. {
  151. return;
  152. }
  153. _craftOrdDesignBLL.SaveCraftLv2(craftOrdDesignList);
  154. MessageUtil.ShowTips("保存成功!");
  155. Relocat(ordLnPk, craftSeq);
  156. }
  157. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  158. {
  159. CraftOrdDesignEntity craftOrdDesign = _craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  160. {
  161. OrdLnPk = ultraGrid1.ActiveRow.GetValue("OrdLnPk"),
  162. CraftSeq = decimal.Parse(ultraGrid1.ActiveRow.GetValue("CraftSeq"))
  163. });
  164. //if (craftOrdDesign.Validflag != "1")
  165. //{
  166. // MessageUtil.ShowWarning("只有生效状态才能选择二级工艺文件!");
  167. // return;
  168. //}
  169. if (e.Button.Key.Equals("select"))
  170. {
  171. string msc = ultraGrid1.ActiveRow.GetValue("Msc");
  172. switch (ultraGrid1.ActiveCell.Column.Key)
  173. {
  174. case "CraftFileLv2DDesc":
  175. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "D", "轧制", craftOrdDesign.CraftNo, msc);
  176. break;
  177. case "CraftFileLv2EDesc":
  178. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "E", "镦拔扩", craftOrdDesign.CraftNo, msc);
  179. break;
  180. case "CraftFileLv2FDesc":
  181. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "F", "热处理", craftOrdDesign.CraftNo, msc);
  182. break;
  183. case "CraftFileLv2GDesc":
  184. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "G", "加工", craftOrdDesign.CraftNo, msc);
  185. break;
  186. case "CraftFileLv2HDesc":
  187. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "H", "接箍加工", craftOrdDesign.CraftNo, msc);
  188. break;
  189. }
  190. }
  191. if (e.Button.Key.Equals("down"))
  192. {
  193. var strurl = "";
  194. string ordNo = craftOrdDesign.CraftNo;
  195. strurl =
  196. "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepHttGjgProcess.cpt&orderManageNo={0}&desginKey={1}";
  197. strurl = String.Format(strurl, ordNo.Substring(0, ordNo.Length - 4), craftOrdDesign.DesginKey);
  198. var fre = new FrmRepExcel(ob, strurl);
  199. fre.AutoSize = true;
  200. fre.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width,
  201. Screen.PrimaryScreen.WorkingArea.Height);
  202. fre.WindowState = FormWindowState.Maximized;
  203. fre.Show();
  204. }
  205. }
  206. private void ChoiceCraftFileLv2(string designKey, string processCode, string processDesc, string craftNo, string msc)
  207. {
  208. var rows = ultraGrid1.Rows.Where(a => a.GetValue("Chk") == "True");
  209. //if (rows.Count() == 0)
  210. //{
  211. // MessageUtil.ShowWarning("请至少勾选一条记录!");
  212. // return;
  213. //}
  214. int cnt = _craftOrdDesignBLL.GetCntByDesignKeyProcess(designKey, processCode);
  215. if (cnt == 0)
  216. {
  217. MessageUtil.ShowWarning("一级工艺文件不包含" + processDesc + "工序!");
  218. return;
  219. }
  220. string craftFileLv2Pks = ultraGrid1.GetActiveRowValue("CraftFileLv2" + processCode);
  221. bool isAddAsk = ultraGrid1.GetActiveRowValue("DescriptionDiff") == "" ? false : true;
  222. string modelCode = ultraGrid1.GetActiveRowValue("ModelCode");
  223. string modelDesc = ultraGrid1.GetActiveRowValue("ModelDesc");
  224. string dimater = ultraGrid1.GetActiveRowValue("Dimater");
  225. string height = ultraGrid1.GetActiveRowValue("Height");
  226. FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(designKey, processCode, craftFileLv2Pks,
  227. craftNo, "0", ob, msc, isAddAsk, modelCode, modelDesc, dimater, height);
  228. if (frmCraftFileLv2.ShowDialog() == DialogResult.OK)
  229. {
  230. foreach (var row in rows)
  231. {
  232. row.SetValue("CraftFileLv2" + processCode, frmCraftFileLv2.CraftFileLv2Pks);
  233. row.SetValue("CraftFileLv2" + processCode + "Desc", frmCraftFileLv2.CraftFileLv2Nos);
  234. }
  235. }
  236. }
  237. private PopupTextBox popupTextBox;
  238. private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  239. {
  240. switch (ultraGrid1.ActiveCell.Column.Key)
  241. {
  242. case "CraftPath":
  243. var row = ultraGrid1.ActiveRow;
  244. CraftOrdDesignEntity craftOrdDesign = (CraftOrdDesignEntity)row.ListObject;
  245. string filePathOld = row.GetValue("CraftPathOld");
  246. string filePathNew = "Qcm/Craft/" + craftOrdDesign.OrdLnPk + "/" + craftOrdDesign.CraftSeq + "/";
  247. if (e.Button.Key.ToLower().Equals("select"))
  248. {
  249. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, filePathOld);
  250. down.DeleteButton.Visible = false;
  251. down.ShowDialog();
  252. }
  253. break;
  254. case "OrderSpecialDesc":
  255. case "DescriptionDiff":
  256. case "DescriptionAll":
  257. case "ChgeVal":
  258. case "Memo":
  259. case "CraftChangeMemo":
  260. popupTextBox = new PopupTextBox(ultraGrid1.ActiveCell.Value.ToString());
  261. popupTextBox.TxtInfo.ReadOnly = true;
  262. popupTextBox.UltraPanel1.Visible = false;
  263. popupTextBox.Show();
  264. break;
  265. }
  266. }
  267. private void lblCmbPlanStatus_CheckBox_CheckedChanged(object sender, EventArgs e)
  268. {
  269. }
  270. private void ultraGrid1_MouseUp(object sender, MouseEventArgs e)
  271. {
  272. //foreach (var row in ultraGrid1.Rows)
  273. //{
  274. // if (row.Selected)
  275. // {
  276. // row.Cells["CHK"].Value = true;
  277. // }
  278. //}
  279. ultraGrid1.UpdateData();
  280. }
  281. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  282. {
  283. if (e.Cell.Column.Key == "Chk")
  284. {
  285. UltraGridRow chkRow = e.Cell.Row;
  286. foreach (UltraGridRow row in ultraGrid1.Rows)
  287. {
  288. if (row.Cells["Chk"].Value.ToString() == "True" && row != chkRow)
  289. {
  290. row.Cells["Chk"].Value = false;
  291. row.Update();
  292. }
  293. }
  294. }
  295. ultraGrid1.UpdateData();
  296. }
  297. }
  298. }