CraftFileLv2CCtrl.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Core.StlMes.Client.SaleOrder.BLL;
  10. using CoreFS.CA06;
  11. using Core.Mes.Client.Comm.Tool;
  12. using CoreFS.SA06;
  13. using Infragistics.Win.UltraWinGrid;
  14. using Core.StlMes.Client.Qcm;
  15. using Core.StlMes.Client.SaleOrder.Dialog;
  16. using Core.Mes.Client.Comm.Control;
  17. namespace Core.StlMes.Client.SaleOrder.Control
  18. {
  19. public partial class CraftFileLv2CCtrl : UserControl
  20. {
  21. private CraftFileLv2CBLL _craftFileLv2CBLL;
  22. private OpeBase _ob;
  23. public CraftFileLv2CCtrl(System.Windows.Forms.Control container, OpeBase ob)
  24. {
  25. InitializeComponent();
  26. _ob = ob;
  27. _craftFileLv2CBLL = new CraftFileLv2CBLL(ob);
  28. container.Controls.Add(this);
  29. this.Dock = DockStyle.Fill;
  30. EntityHelper.ShowGridCaption<CraftFileLv2CEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  31. }
  32. private string _fileLv2Pk;
  33. private string _validflag;
  34. public void Query(string fileLv2Pk, string validflag)
  35. {
  36. _fileLv2Pk = fileLv2Pk;
  37. _validflag = validflag;
  38. var dataSource = _craftFileLv2CBLL.Query(fileLv2Pk, validflag);
  39. craftFileLv2CEntityBindingSource.DataSource = dataSource;
  40. foreach (var row in ultraGrid1.Rows)
  41. {
  42. GridEdite(row);
  43. if (row.GetValue("VALIDFLAG") == "无效")
  44. {
  45. row.Appearance.ForeColor = Color.Red;
  46. }
  47. }
  48. }
  49. public void Clear()
  50. {
  51. craftFileLv2CEntityBindingSource.Clear();
  52. }
  53. public List<CraftFileLv2CEntity> GetSaveParms()
  54. {
  55. ultraGrid1.UpdateData();
  56. var rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("Chk") == "True");
  57. var parms = new List<CraftFileLv2CEntity>();
  58. foreach (var row in rows)
  59. {
  60. var craftFileLv2C = EntityHelper.CopyEntity<CraftFileLv2CEntity>(row.ListObject);
  61. if (craftFileLv2C.Gradecode == "" && craftFileLv2C.MaxDSign == "" && craftFileLv2C.MaxHSign == "" &&
  62. craftFileLv2C.MinDSign == "" && craftFileLv2C.MinHSign == "" && craftFileLv2C.ModelCode == "" &&
  63. craftFileLv2C.Produccode == "" && craftFileLv2C.StdCode == "" && craftFileLv2C.Steelcode == "" && craftFileLv2C.CraftNo == "")
  64. {
  65. MessageUtil.ShowWarning("请至少输入一种适用条件");
  66. row.Activate();
  67. return null;
  68. }
  69. if (craftFileLv2C.MinDSign != "" && craftFileLv2C.MinD == "")
  70. {
  71. MessageUtil.ShowWarning("请输入外径下限值!");
  72. row.SetCellActive("MinD");
  73. return null;
  74. }
  75. else if (craftFileLv2C.MinDSign == "" && craftFileLv2C.MinD != "")
  76. {
  77. MessageUtil.ShowWarning("请选择外径下限符号!");
  78. row.SetCellActive("MinDSign");
  79. return null;
  80. }
  81. else if (craftFileLv2C.MaxHSign != "" && craftFileLv2C.MaxH == "")
  82. {
  83. MessageUtil.ShowWarning("请输入壁厚上限值!");
  84. row.SetCellActive("MaxH");
  85. return null;
  86. }
  87. else if (craftFileLv2C.MaxHSign == "" && craftFileLv2C.MaxH != "")
  88. {
  89. MessageUtil.ShowWarning("请选择壁厚上限符号!");
  90. row.SetCellActive("MaxHSign");
  91. return null;
  92. }
  93. else if (craftFileLv2C.MinHSign != "" && craftFileLv2C.MinH == "")
  94. {
  95. MessageUtil.ShowWarning("请输入壁厚下限值!");
  96. row.SetCellActive("MinH");
  97. return null;
  98. }
  99. else if (craftFileLv2C.MinHSign == "" && craftFileLv2C.MinH != "")
  100. {
  101. MessageUtil.ShowWarning("请选择壁厚下限符号!");
  102. row.SetCellActive("MinHSign");
  103. return null;
  104. }
  105. else if (craftFileLv2C.MaxHSign != "" && craftFileLv2C.MaxH == "")
  106. {
  107. MessageUtil.ShowWarning("请输入壁厚上限值!");
  108. row.SetCellActive("MaxH");
  109. return null;
  110. }
  111. else if (craftFileLv2C.MaxHSign == "" && craftFileLv2C.MaxH != "")
  112. {
  113. MessageUtil.ShowWarning("请选择壁厚上限符号!");
  114. row.SetCellActive("MaxHSign");
  115. return null;
  116. }
  117. else if (craftFileLv2C.MinD != "" && craftFileLv2C.MaxD != ""
  118. && decimal.Parse(craftFileLv2C.MinD) > decimal.Parse(craftFileLv2C.MaxD))
  119. {
  120. MessageUtil.ShowWarning("外径下限值不能大于外径上限值!");
  121. row.SetCellActive("MinD");
  122. return null;
  123. }
  124. else if (craftFileLv2C.MinH != "" && craftFileLv2C.MaxH != ""
  125. && decimal.Parse(craftFileLv2C.MinH) > decimal.Parse(craftFileLv2C.MaxH))
  126. {
  127. MessageUtil.ShowWarning("壁厚下限值不能大于壁厚上限值!");
  128. row.SetCellActive("MinH");
  129. return null;
  130. }
  131. craftFileLv2C.CreateName = CoreUserInfo.UserInfo.GetUserName();
  132. craftFileLv2C.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  133. parms.Add(craftFileLv2C);
  134. }
  135. return parms;
  136. }
  137. public List<CraftFileLv2CEntity> GetUpdateValidflagParms()
  138. {
  139. ultraGrid1.UpdateData();
  140. var rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("Chk") == "True");
  141. var parms = new List<CraftFileLv2CEntity>();
  142. string pk = "";
  143. foreach (var row in rows)
  144. {
  145. var craftFileLv2C = EntityHelper.CopyEntity<CraftFileLv2CEntity>(row.ListObject);
  146. craftFileLv2C.CreateName = CoreUserInfo.UserInfo.GetUserName();
  147. craftFileLv2C.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  148. parms.Add(craftFileLv2C);
  149. pk = craftFileLv2C.Pk;
  150. }
  151. return parms;
  152. }
  153. public void Relocate(string pk)
  154. {
  155. Query(_fileLv2Pk, _validflag);
  156. var row = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("Pk") == pk).FirstOrDefault();
  157. if (row != null)
  158. {
  159. row.Activate();
  160. }
  161. }
  162. private void GridEdite(UltraGridRow row)
  163. {
  164. if (row.GetValue("Chk") == "True")
  165. {
  166. foreach (UltraGridCell cell in row.Cells)
  167. {
  168. if (cell.Column.CellActivation == Activation.AllowEdit)
  169. {
  170. cell.Activation = Activation.AllowEdit;
  171. }
  172. }
  173. }
  174. else
  175. {
  176. foreach (UltraGridCell cell in row.Cells)
  177. {
  178. if (cell.Column.Key == "Chk") continue;
  179. if (cell.Column.CellActivation == Activation.AllowEdit)
  180. {
  181. cell.Activation = Activation.ActivateOnly;
  182. }
  183. }
  184. }
  185. ultraGrid1.UpdateData();
  186. }
  187. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  188. {
  189. e.Cell.Row.Update();
  190. GridEdite(e.Cell.Row);
  191. }
  192. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  193. {
  194. switch (ultraGrid1.ActiveCell.Column.Key)
  195. {
  196. case "CraftNo":
  197. CraftOrdDesignFilePopup popup = new CraftOrdDesignFilePopup(null, "ChoiceCraftNo", _ob);
  198. popup.IsMultiChoice = true;
  199. GridHelper.SetExcludeColumnsActive(popup.UltraGrid1.DisplayLayout.Bands[0], "CHK");
  200. popup.CraftNos = ultraGrid1.ActiveRow.GetValue("CraftNo");
  201. if (popup.ShowDialog() == DialogResult.OK)
  202. {
  203. ultraGrid1.ActiveRow.SetValue("CraftNo", popup.CraftNos);
  204. }
  205. break;
  206. case "Producname":
  207. string producCodes = ultraGrid1.ActiveRow.GetValue("Produccode");
  208. PopupProductName popupProduct = new PopupProductName(producCodes, _ob);
  209. if (popupProduct.ShowDialog() == DialogResult.OK)
  210. {
  211. ultraGrid1.ActiveRow.SetValue("Produccode", popupProduct.ProductCodes);
  212. ultraGrid1.ActiveRow.SetValue("Producname", popupProduct.ProductNames);
  213. }
  214. break;
  215. case "Steelname":
  216. string steelCodes = ultraGrid1.ActiveRow.GetValue("Steelcode");
  217. FrmRepSteel frmRepSteel = new FrmRepSteel();
  218. frmRepSteel.Ob1 = _ob;
  219. frmRepSteel.Code = steelCodes;
  220. if (frmRepSteel.ShowDialog() == DialogResult.OK)
  221. {
  222. ultraGrid1.ActiveRow.SetValue("Steelcode", frmRepSteel.Code);
  223. ultraGrid1.ActiveRow.SetValue("Steelname", frmRepSteel.Desc);
  224. }
  225. break;
  226. case "StdName":
  227. string stdCodes = ultraGrid1.ActiveRow.GetValue("StdCode");
  228. ComBaseStdChoice baseStdChoice = new ComBaseStdChoice(new string[] { "G", "X" }, stdCodes, _ob);
  229. if (baseStdChoice.ShowDialog() == DialogResult.OK)
  230. {
  231. ultraGrid1.ActiveRow.SetValue("StdCode", baseStdChoice.ChoiceStdCodes);
  232. ultraGrid1.ActiveRow.SetValue("StdName", baseStdChoice.ChoiceStdNames);
  233. }
  234. break;
  235. case "Gradename":
  236. string gradeNames = ultraGrid1.ActiveRow.GetValue("Gradename");
  237. FrmGradeChoice gradeChoice = new FrmGradeChoice(gradeNames, _ob);
  238. if (gradeChoice.ShowDialog() == DialogResult.OK)
  239. {
  240. ultraGrid1.ActiveRow.SetValue("Gradecode", gradeChoice.GradeCodes);
  241. ultraGrid1.ActiveRow.SetValue("Gradename", gradeChoice.GradeNames);
  242. }
  243. break;
  244. case "ModelDesc":
  245. string modelDescs = ultraGrid1.ActiveRow.GetValue("ModelDesc");
  246. FrmModel frmModel = new FrmModel();
  247. frmModel.FrmOb = _ob;
  248. frmModel.Desc = modelDescs;
  249. if(frmModel.ShowDialog() == DialogResult.OK)
  250. {
  251. ultraGrid1.ActiveRow.SetValue("ModelCode", frmModel.Code);
  252. ultraGrid1.ActiveRow.SetValue("ModelDesc", frmModel.Desc);
  253. }
  254. break;
  255. }
  256. }
  257. }
  258. }