QcmZbsTemplateRMscCtrl.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. using Core.Mes.Client.Comm.Tool;
  2. using Core.StlMes.Client.Qcm.BLL;
  3. using Core.StlMes.Client.Qcm.model;
  4. using CoreFS.CA06;
  5. using CoreFS.SA06;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Linq;
  12. using System.Windows.Forms;
  13. namespace Core.StlMes.Client.Qcm.Control
  14. {
  15. public partial class QcmZbsTemplateRMscCtrl : UserControl
  16. {
  17. private QcmZbsTemplateRMscBLL _zbsTemplateRMscBLL;
  18. private QcmZbsTemplateRMscSpecBLL _zbsTemplateRMscSpecBLL;
  19. private OpeBase ob;
  20. public QcmZbsTemplateRMscCtrl(System.Windows.Forms.Control container, OpeBase ob)
  21. {
  22. InitializeComponent();
  23. this.ob = ob;
  24. _zbsTemplateRMscBLL = new QcmZbsTemplateRMscBLL(ob);
  25. _zbsTemplateRMscSpecBLL = new QcmZbsTemplateRMscSpecBLL(ob);
  26. container.Controls.Add(this);
  27. this.Dock = DockStyle.Fill;
  28. EntityHelper.ShowGridCaption<QcmZbsTemplateRMscEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  29. EntityHelper.ShowGridCaption<QcmZbsTemplateRMscSpecEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  30. }
  31. private string _msc = "";
  32. private string _validflag = "";
  33. public void Query(string msc, string validflag)
  34. {
  35. _msc = msc;
  36. _validflag = validflag;
  37. qcmZbsTemplateRMscEntityBindingSource.DataSource = _zbsTemplateRMscBLL.Query(msc, validflag);
  38. foreach (var row in ultraGrid1.Rows)
  39. {
  40. GridEdite(row);
  41. }
  42. }
  43. private void Relocate(string primaryKey, string msc, string validflag)
  44. {
  45. Query(msc, validflag);
  46. var row = ultraGrid1.Rows.Where(a => a.GetValue("PrimaryKey") == primaryKey).FirstOrDefault();
  47. if (row != null)
  48. {
  49. row.Activate();
  50. }
  51. }
  52. public void Save()
  53. {
  54. var rows = ultraGrid1.Rows.Where(a => a.GetValue("Chk") == "True");
  55. var rows2 = ultraGrid2.Rows.Where(a => a.GetValue("Chk") == "True");
  56. if (rows.Count() + rows2.Count() == 0)
  57. {
  58. MessageUtil.ShowWarning("请选择一条记录!");
  59. return;
  60. }
  61. List<QcmZbsTemplateRMscEntity> zbsTemplateRMscList = new List<QcmZbsTemplateRMscEntity>();
  62. string tbh = "";
  63. foreach (var row in rows)
  64. {
  65. var zbsTemplateRMsc = EntityHelper.CopyEntity<QcmZbsTemplateRMscEntity>(row.ListObject);
  66. if (zbsTemplateRMsc.Tbh == "")
  67. {
  68. MessageUtil.ShowWarning("请选择质保书模板");
  69. return;
  70. }
  71. if (_zbsTemplateRMscBLL.GetZbsRMscCnt(zbsTemplateRMsc.Msc, zbsTemplateRMsc.Tbh) > 0)
  72. {
  73. MessageUtil.ShowWarning(string.Format("{0}已经关联模板编号为{1}的质保书模板!",
  74. zbsTemplateRMsc.Msc, zbsTemplateRMsc.Description));
  75. return;
  76. }
  77. zbsTemplateRMsc.CreateName = CoreUserInfo.UserInfo.GetUserName();
  78. zbsTemplateRMsc.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  79. zbsTemplateRMscList.Add(zbsTemplateRMsc);
  80. tbh = zbsTemplateRMsc.Tbh;
  81. }
  82. List<QcmZbsTemplateRMscSpecEntity> zbsTemplateRMscSpecList = new List<QcmZbsTemplateRMscSpecEntity>();
  83. foreach (var row in rows2)
  84. {
  85. var zbsTemplateRMscSpec = EntityHelper.CopyEntity<QcmZbsTemplateRMscSpecEntity>(row.ListObject);
  86. if (zbsTemplateRMscSpec.MinDSign != "" && zbsTemplateRMscSpec.MinD == "")
  87. {
  88. MessageUtil.ShowWarning("请输入外径下限值!");
  89. row.SetCellActive("MinD");
  90. return;
  91. }
  92. else if (zbsTemplateRMscSpec.MinDSign == "" && zbsTemplateRMscSpec.MinD != "")
  93. {
  94. MessageUtil.ShowWarning("请选择外径下限符号!");
  95. row.SetCellActive("MinDSign");
  96. return;
  97. }
  98. else if (zbsTemplateRMscSpec.MaxHSign != "" && zbsTemplateRMscSpec.MaxH == "")
  99. {
  100. MessageUtil.ShowWarning("请输入壁厚上限值!");
  101. row.SetCellActive("MaxH");
  102. return;
  103. }
  104. else if (zbsTemplateRMscSpec.MaxHSign == "" && zbsTemplateRMscSpec.MaxH != "")
  105. {
  106. MessageUtil.ShowWarning("请选择壁厚上限符号!");
  107. row.SetCellActive("MaxHSign");
  108. return;
  109. }
  110. else if (zbsTemplateRMscSpec.MinHSign != "" && zbsTemplateRMscSpec.MinH == "")
  111. {
  112. MessageUtil.ShowWarning("请输入壁厚下限值!");
  113. row.SetCellActive("MinH");
  114. return;
  115. }
  116. else if (zbsTemplateRMscSpec.MinHSign == "" && zbsTemplateRMscSpec.MinH != "")
  117. {
  118. MessageUtil.ShowWarning("请选择壁厚下限符号!");
  119. row.SetCellActive("MinHSign");
  120. return;
  121. }
  122. else if (zbsTemplateRMscSpec.MaxHSign != "" && zbsTemplateRMscSpec.MaxH == "")
  123. {
  124. MessageUtil.ShowWarning("请输入壁厚上限值!");
  125. row.SetCellActive("MaxH");
  126. return;
  127. }
  128. else if (zbsTemplateRMscSpec.MaxHSign == "" && zbsTemplateRMscSpec.MaxH != "")
  129. {
  130. MessageUtil.ShowWarning("请选择壁厚上限符号!");
  131. row.SetCellActive("MaxHSign");
  132. return;
  133. }
  134. else if (zbsTemplateRMscSpec.MinD != "" && zbsTemplateRMscSpec.MaxD != ""
  135. && decimal.Parse(zbsTemplateRMscSpec.MinD) >= decimal.Parse(zbsTemplateRMscSpec.MaxD))
  136. {
  137. MessageUtil.ShowWarning("外径下限值不能大于等于外径上限值!");
  138. row.SetCellActive("MinD");
  139. return;
  140. }
  141. else if (zbsTemplateRMscSpec.MinH != "" && zbsTemplateRMscSpec.MaxH != ""
  142. && decimal.Parse(zbsTemplateRMscSpec.MinH) >= decimal.Parse(zbsTemplateRMscSpec.MaxH))
  143. {
  144. MessageUtil.ShowWarning("壁厚下限值不能大于等于壁厚上限值!");
  145. row.SetCellActive("MinH");
  146. return;
  147. }
  148. zbsTemplateRMscSpec.CreateName = CoreUserInfo.UserInfo.GetUserName();
  149. zbsTemplateRMscSpec.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  150. zbsTemplateRMscSpecList.Add(zbsTemplateRMscSpec);
  151. }
  152. if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No)
  153. {
  154. return;
  155. }
  156. _zbsTemplateRMscBLL.Save(zbsTemplateRMscList, zbsTemplateRMscSpecList);
  157. MessageUtil.ShowTips("保存成功!");
  158. Relocate(tbh, _msc, _validflag);
  159. }
  160. public void UpdateValidflag(string validflag)
  161. {
  162. var row1 = ultraGrid1.Rows.Where(a => a.GetValue("Chk") == "True").FirstOrDefault();
  163. var rows2 = ultraGrid2.Rows.Where(a => a.GetValue("Chk") == "True");
  164. if (row1 == null && rows2.Count() == 0)
  165. {
  166. MessageUtil.ShowWarning("请选择一条记录!");
  167. return;
  168. }
  169. string primaryKey = "";
  170. List<QcmZbsTemplateRMscEntity> zbsTemplateRMscList = new List<QcmZbsTemplateRMscEntity>();
  171. if (row1 != null)
  172. {
  173. var zbsTemplateRMsc = EntityHelper.CopyEntity<QcmZbsTemplateRMscEntity>(row1.ListObject);
  174. zbsTemplateRMsc.CreateName = CoreUserInfo.UserInfo.GetUserName();
  175. zbsTemplateRMsc.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  176. zbsTemplateRMscList.Add(zbsTemplateRMsc);
  177. primaryKey = zbsTemplateRMsc.PrimaryKey;
  178. }
  179. List<QcmZbsTemplateRMscSpecEntity> zbsTemplateRMscSpecList = new List<QcmZbsTemplateRMscSpecEntity>();
  180. foreach (var row in rows2)
  181. {
  182. var zbsTemplateRMscSpec = EntityHelper.CopyEntity<QcmZbsTemplateRMscSpecEntity>(row.ListObject);
  183. if (ultraGrid1.ActiveRow.GetValue("Validflag") == "无效"
  184. && ultraGrid1.ActiveRow.GetValue("Chk") == "False"
  185. && validflag == "1")
  186. {
  187. MessageUtil.ShowWarning("请先恢复主记录!");
  188. return;
  189. }
  190. zbsTemplateRMscSpec.CreateName = CoreUserInfo.UserInfo.GetUserName();
  191. zbsTemplateRMscSpec.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  192. zbsTemplateRMscSpecList.Add(zbsTemplateRMscSpec);
  193. }
  194. if (MessageUtil.ShowYesNoAndQuestion(string.Format("是否确认{0}?",
  195. validflag == "0" ? "作废" : "恢复")) == DialogResult.No)
  196. {
  197. return;
  198. }
  199. _zbsTemplateRMscBLL.UpdateValidflag(zbsTemplateRMscList, zbsTemplateRMscSpecList, validflag);
  200. MessageUtil.ShowTips(string.Format("{0}成功!", validflag == "0" ? "作废" : "恢复"));
  201. Relocate(primaryKey, _msc, _validflag);
  202. }
  203. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  204. {
  205. string primaryKey = ultraGrid1.ActiveRow.GetValue("PrimaryKey");
  206. qcmZbsTemplateRMscSpecEntityBindingSource.DataSource = _zbsTemplateRMscSpecBLL.Query(primaryKey, _validflag);
  207. foreach (var row in ultraGrid2.Rows)
  208. {
  209. GridEdite(row);
  210. }
  211. }
  212. private void ultraGrid2_BeforeRowInsert(object sender, Infragistics.Win.UltraWinGrid.BeforeRowInsertEventArgs e)
  213. {
  214. if (ultraGrid1.ActiveRow.GetValue("Validflag") == "")
  215. {
  216. e.Cancel = true;
  217. }
  218. }
  219. private void ultraGrid1_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
  220. {
  221. e.Row.SetValue("Msc", _msc);
  222. }
  223. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  224. {
  225. ultraGrid1.UpdateData();
  226. GridEdite(e.Cell.Row);
  227. if (e.Cell.Column.Key == "Chk")
  228. {
  229. UltraGridRow chkRow = e.Cell.Row;
  230. foreach (UltraGridRow row in ultraGrid1.Rows)
  231. {
  232. if (row.Cells["Chk"].Value.ToString() == "True" && row != chkRow)
  233. {
  234. row.Cells["Chk"].Value = "False";
  235. row.Update();
  236. }
  237. }
  238. }
  239. }
  240. private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  241. {
  242. ultraGrid2.UpdateData();
  243. GridEdite(e.Cell.Row);
  244. }
  245. private void ultraGrid2_AfterRowInsert(object sender, Infragistics.Win.UltraWinGrid.RowEventArgs e)
  246. {
  247. e.Row.SetValue("TemplateRMscPk", ultraGrid1.ActiveRow.GetValue("PrimaryKey"));
  248. }
  249. private void ultraGrid1_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  250. {
  251. if (e.Row.GetValue("Validflag") == "无效")
  252. {
  253. e.Row.Appearance.ForeColor = Color.Red;
  254. }
  255. else
  256. {
  257. e.Row.Appearance.ForeColor = Color.Black;
  258. }
  259. }
  260. private void ultraGrid2_InitializeRow(object sender, Infragistics.Win.UltraWinGrid.InitializeRowEventArgs e)
  261. {
  262. ultraGrid1_InitializeRow(sender, e);
  263. }
  264. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  265. {
  266. if (ultraGrid2.ActiveCell.Column.Key == "ModelDesc")
  267. {
  268. FrmModel frmModel = new FrmModel();
  269. frmModel.FrmOb = ob;
  270. frmModel.Desc = ultraGrid2.ActiveRow.GetValue("ModelDesc");
  271. if (frmModel.ShowDialog() == DialogResult.OK)
  272. {
  273. ultraGrid2.ActiveRow.SetValue("ModelDesc", frmModel.Desc);
  274. ultraGrid2.ActiveRow.SetValue("ModelCode", frmModel.Code);
  275. }
  276. }
  277. else if (ultraGrid2.ActiveCell.Column.Key == "SpecJgDesc")
  278. {
  279. string specJgs = ultraGrid2.ActiveRow.GetValue("SpecJg");
  280. PopupSpecificationsBasics specifiction = new PopupSpecificationsBasics(specJgs, ob);
  281. if (specifiction.ShowDialog() == DialogResult.OK)
  282. {
  283. string specs = "";
  284. string specDescs = "";
  285. foreach (string[] strs in specifiction.ChoiceSpecs)
  286. {
  287. if (specs == "")
  288. {
  289. specs = strs[0];
  290. specDescs = strs[1];
  291. }
  292. else
  293. {
  294. specs += ";" + strs[0];
  295. specDescs += ";" + strs[1];
  296. }
  297. }
  298. ultraGrid2.ActiveRow.SetValue("SpecJgDesc", specDescs);
  299. ultraGrid2.ActiveRow.SetValue("SpecJg", specs);
  300. }
  301. }
  302. }
  303. private void GridEdite(UltraGridRow row)
  304. {
  305. if (row.GetValue("Chk") == "True")
  306. {
  307. foreach (UltraGridCell cell in row.Cells)
  308. {
  309. if (cell.Column.CellActivation == Activation.AllowEdit)
  310. {
  311. cell.Activation = Activation.AllowEdit;
  312. }
  313. }
  314. }
  315. else
  316. {
  317. foreach (UltraGridCell cell in row.Cells)
  318. {
  319. if (cell.Column.Key == "Chk") continue;
  320. if (cell.Column.CellActivation == Activation.AllowEdit)
  321. {
  322. cell.Activation = Activation.ActivateOnly;
  323. }
  324. }
  325. }
  326. }
  327. private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  328. {
  329. string tbh = ultraGrid1.ActiveRow.GetValue("Tbh");
  330. if (ultraGrid1.ActiveCell.Column.Key == "Description")
  331. {
  332. QcmZbsTemplateHeadPop zbsTemplateHeadPop = new QcmZbsTemplateHeadPop(tbh, ob);
  333. if (zbsTemplateHeadPop.ShowDialog() == DialogResult.OK)
  334. {
  335. ultraGrid1.ActiveCell.Value = zbsTemplateHeadPop.Description;
  336. ultraGrid1.ActiveRow.SetValue("Tbh", zbsTemplateHeadPop.Tbh);
  337. }
  338. }
  339. }
  340. }
  341. }