FrmCraftFileLv2.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. using Core.Mes.Client.Comm.Tool;
  2. using Core.StlMes.Client.SaleOrder.BLL;
  3. using Core.StlMes.Client.SaleOrder.Control;
  4. using CoreFS.CA06;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel;
  8. using System.Data;
  9. using System.Drawing;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Windows.Forms;
  13. namespace Core.StlMes.Client.SaleOrder.Dialog
  14. {
  15. public partial class FrmCraftFileLv2 : FrmBase
  16. {
  17. private CraftFileLv2Ctrl _craftFileLv2Ctrl;
  18. private CraftFileLv2CCtrl _craftFileLv2CCtrl;
  19. private CraftFileLv2BLL _craftFileLv2BLL;
  20. public FrmCraftFileLv2()
  21. {
  22. InitializeComponent();
  23. }
  24. private bool _isFilter = false;
  25. private string _designKey = "";
  26. private string _processCode = "";
  27. private string _craftFileLv2Pks = "";
  28. public string CraftFileLv2Pks
  29. {
  30. get { return _craftFileLv2Pks; }
  31. set { _craftFileLv2Pks = value; }
  32. }
  33. private string _craftFileLv2Nos = "";
  34. public string CraftFileLv2Nos
  35. {
  36. get { return _craftFileLv2Nos; }
  37. set { _craftFileLv2Nos = value; }
  38. }
  39. private string _craftNo = "";
  40. public string CraftNo
  41. {
  42. get { return _craftNo; }
  43. set { _craftNo = value; }
  44. }
  45. private string _msc = "";
  46. private bool _isAddAsk = false;//是否有附加要求
  47. private string _modelCode = "";//合同扣型
  48. private string _modelDesc = "";
  49. private string _dimater = "";
  50. private string _height = "";
  51. /// <summary>
  52. ///
  53. /// </summary>
  54. /// <param name="designKey"></param>
  55. /// <param name="processCode"></param>
  56. /// <param name="craftFileLv2Pks"></param>
  57. /// <param name="customInfo">类型 0选择二级工艺 1 查询二级工艺 2 维护二级工艺 3 查询所有二级工艺文件</param>
  58. /// <param name="ob"></param>
  59. public FrmCraftFileLv2(string designKey, string processCode, string craftFileLv2Pks,
  60. string craftNo, string customInfo, OpeBase ob, string msc, bool isAddAsk,
  61. string modelCode, string modelDesc, string dimater, string height) : this()
  62. {
  63. this.ob = ob;
  64. _craftFileLv2Pks = craftFileLv2Pks;
  65. _designKey = designKey;
  66. _processCode = processCode;
  67. _msc = msc;
  68. _isAddAsk = isAddAsk;
  69. CustomInfo = customInfo;
  70. _craftNo = craftNo;
  71. _modelCode = modelCode;
  72. _modelDesc = modelDesc;
  73. _dimater = dimater;
  74. _height = height;
  75. }
  76. private void FrmCraftFileLv2_Load(object sender, EventArgs e)
  77. {
  78. if (CustomInfo == "0")
  79. {
  80. ultraToolbarsManager1.Tools["保存"].SharedProps.Visible = false;
  81. ultraToolbarsManager1.Tools["作废"].SharedProps.Visible = false;
  82. ultraToolbarsManager1.Tools["恢复"].SharedProps.Visible = false;
  83. ultraToolbarsManager1.Tools["生成适用条件"].SharedProps.Visible = false;
  84. splitContainer1.Panel2Collapsed = true;
  85. _isFilter = true;
  86. }
  87. else if (CustomInfo == "1")
  88. {
  89. ultraToolbarsManager1.Tools["保存"].SharedProps.Visible = false;
  90. ultraToolbarsManager1.Tools["作废"].SharedProps.Visible = false;
  91. ultraToolbarsManager1.Tools["恢复"].SharedProps.Visible = false;
  92. ultraToolbarsManager1.Tools["生成适用条件"].SharedProps.Visible = false;
  93. ultraToolbarsManager1.Tools["确认"].SharedProps.Visible = false;
  94. ultraToolbarsManager1.Tools["维护二级工艺文件"].SharedProps.Visible = false;
  95. splitContainer1.Panel2Collapsed = true;
  96. _isFilter = true;
  97. }
  98. else if (CustomInfo == "3")
  99. {
  100. labelCheckBox1.Visible = false;
  101. ultraToolbarsManager1.Visible = false;
  102. }
  103. else
  104. {
  105. ultraToolbarsManager1.Tools["确认"].SharedProps.Visible = false;
  106. ultraToolbarsManager1.Tools["维护二级工艺文件"].SharedProps.Visible = false;
  107. _isFilter = false;
  108. }
  109. _craftFileLv2Ctrl = new CraftFileLv2Ctrl(splitContainer1.Panel1, ob, _msc, _processCode);
  110. if (CustomInfo == "3")
  111. {
  112. _craftFileLv2Ctrl.UltraGrid1.DisplayLayout.Bands[0].Columns["Chk"].Hidden = true;
  113. }
  114. if (!splitContainer1.Panel2Collapsed) _craftFileLv2Ctrl.UltraGrid1.AfterRowActivate += _craftFileLv2Ctrl_AfterRowActivate;
  115. _craftFileLv2CCtrl = new CraftFileLv2CCtrl(splitContainer1.Panel2, ob);
  116. _craftFileLv2CCtrl.UltraGrid1.BeforeRowInsert += _craftFileLv2CCtrl_BeforeRowInsert;
  117. _craftFileLv2CCtrl.UltraGrid1.AfterRowInsert += _craftFileLv2CCtrl_AfterRowInsert;
  118. if (CustomInfo == "0" || CustomInfo == "1" || CustomInfo == "3")
  119. {
  120. _craftFileLv2Ctrl.UltraGrid1.DisplayLayout.Bands[0].Override.AllowAddNew = Infragistics.Win.UltraWinGrid.AllowAddNew.No;
  121. }
  122. _craftFileLv2BLL = new CraftFileLv2BLL(ob);
  123. Query();
  124. }
  125. void _craftFileLv2CCtrl_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
  126. {
  127. e.Row.SetValue("FileLv2Pk", _craftFileLv2Ctrl.UltraGrid1.ActiveRow.GetValue("Pk"));
  128. }
  129. void _craftFileLv2CCtrl_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e)
  130. {
  131. if (_craftFileLv2Ctrl.UltraGrid1.ActiveRow == null)
  132. {
  133. e.Cancel = true;
  134. return;
  135. }
  136. CraftFileLv2Entity fileLv2Entity = (CraftFileLv2Entity)_craftFileLv2Ctrl.UltraGrid1.ActiveRow.ListObject;
  137. if (fileLv2Entity.Validflag == "")
  138. {
  139. e.Cancel = true;
  140. return;
  141. }
  142. }
  143. public override void ToolBar_Click(object sender, string ToolbarKey)
  144. {
  145. base.ToolBar_Click(sender, ToolbarKey);
  146. switch (ToolbarKey)
  147. {
  148. case "Query":
  149. Query();
  150. break;
  151. case "Save":
  152. Save();
  153. break;
  154. case "Delete":
  155. Delete();
  156. break;
  157. case "Resume":
  158. Resume();
  159. break;
  160. case "Close":
  161. this.Close();
  162. break;
  163. }
  164. }
  165. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  166. {
  167. switch (e.Tool.Key)
  168. {
  169. case "查询":
  170. Query();
  171. break;
  172. case "保存":
  173. Save();
  174. break;
  175. case "作废":
  176. Delete();
  177. break;
  178. case "恢复":
  179. Resume();
  180. break;
  181. case "确认":
  182. Submit();
  183. break;
  184. case "维护二级工艺文件":
  185. ShowCraftFileLv2();
  186. break;
  187. case "生成适用条件":
  188. CreateApplyCondition();
  189. break;
  190. case "关闭":
  191. this.Close();
  192. break;
  193. }
  194. }
  195. private void CreateApplyCondition()
  196. {
  197. var row = _craftFileLv2Ctrl.UltraGrid1.Rows.Where(a => a.GetValue("Chk") == "True").FirstOrDefault();
  198. if (row == null)
  199. {
  200. MessageUtil.ShowWarning("请选择一条记录!");
  201. return;
  202. }
  203. List<CraftFileLv2CEntity> parms = new List<CraftFileLv2CEntity>();
  204. CraftFileLv2CEntity parm = new CraftFileLv2CEntity();
  205. if(_isAddAsk)
  206. {
  207. parm.CraftNo = _craftNo;
  208. }
  209. parm.ModelCode = _modelCode;
  210. parm.ModelDesc = _modelDesc;
  211. parm.MinD = _dimater;
  212. parm.MaxD = _dimater;
  213. parm.MinDSign = ">=";
  214. parm.MaxDSign = "<=";
  215. parm.MinH = _height;
  216. parm.MaxH = _height;
  217. parm.MinHSign = ">=";
  218. parm.MaxHSign = "<=";
  219. parm.FileLv2Pk = _craftFileLv2Ctrl.UltraGrid1.ActiveRow.GetValue("Pk");
  220. parms.Add(parm);
  221. string[] results = (string[])_craftFileLv2BLL.Save(new List<CraftFileLv2Entity>(), parms);
  222. MessageUtil.ShowTips("生成成功!");
  223. _craftFileLv2CCtrl.Relocate(results[1]);
  224. }
  225. private void Query()
  226. {
  227. if (CustomInfo == "0" || CustomInfo == "1")
  228. {
  229. string craftNoLv2 = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
  230. string validflag = labelCheckBox1.Checked ? "0" : "1";
  231. _craftFileLv2Ctrl.FilterCraftFileLv2(_designKey, _processCode, craftNoLv2, validflag,
  232. _craftFileLv2Pks, _craftNo, _msc);
  233. }
  234. else if (CustomInfo == "3")
  235. {
  236. _craftFileLv2Ctrl.QueryAll();
  237. }
  238. else
  239. {
  240. string craftNoLv2 = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
  241. string validflag = labelCheckBox1.Checked ? "0" : "1";
  242. _craftFileLv2CCtrl.Clear();
  243. _craftFileLv2Ctrl.Query(craftNoLv2, validflag);
  244. }
  245. }
  246. private void Save()
  247. {
  248. _craftFileLv2Ctrl.Save(_craftFileLv2CCtrl);
  249. }
  250. void _craftFileLv2Ctrl_AfterRowActivate(object sender, EventArgs e)
  251. {
  252. var craftFileLv2 = (CraftFileLv2Entity)_craftFileLv2Ctrl.UltraGrid1.ActiveRow.ListObject;
  253. string validflag = labelCheckBox1.Checked ? "0" : "1";
  254. _craftFileLv2CCtrl.Query(craftFileLv2.Pk, validflag);
  255. }
  256. private void Delete()
  257. {
  258. _craftFileLv2Ctrl.UpdateValidflag("0", _craftFileLv2CCtrl);
  259. }
  260. private void Resume()
  261. {
  262. _craftFileLv2Ctrl.UpdateValidflag("1", _craftFileLv2CCtrl);
  263. }
  264. private void Submit()
  265. {
  266. _craftFileLv2Pks = "";
  267. _craftFileLv2Nos = "";
  268. List<string> plineList = new List<string>();
  269. foreach (var row in _craftFileLv2Ctrl.UltraGrid1.Rows)
  270. {
  271. if (row.GetValue("Chk") == "True")
  272. {
  273. string[] plineArray = row.GetValue("PlineCode").Split(',');
  274. foreach (string pline in plineArray)
  275. {
  276. if (plineList.Contains(pline))
  277. {
  278. MessageUtil.ShowWarning("选择的二级工艺文件中,存在重复产线!");
  279. return;
  280. }
  281. else
  282. {
  283. plineList.Add(pline);
  284. }
  285. }
  286. if (_craftFileLv2Pks == "")
  287. {
  288. _craftFileLv2Pks = row.GetValue("Pk");
  289. _craftFileLv2Nos = row.GetValue("CraftNoLv2");
  290. }
  291. else
  292. {
  293. _craftFileLv2Pks += ";" + row.GetValue("Pk");
  294. _craftFileLv2Nos += ";" + row.GetValue("CraftNoLv2");
  295. }
  296. }
  297. }
  298. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  299. }
  300. private void ShowCraftFileLv2()
  301. {
  302. FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(_designKey, _processCode,
  303. _craftFileLv2Pks, _craftNo, "2", ob, _msc, _isAddAsk, _modelCode, _modelDesc, _dimater, _height);
  304. frmCraftFileLv2.ob = ob;
  305. frmCraftFileLv2.ShowDialog();
  306. Query();
  307. }
  308. }
  309. }