FrmBaseModelLen.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using Core.Mes.Client.Comm.Tool;
  4. using CoreFS.CA06;
  5. using Infragistics.Win.UltraWinGrid;
  6. using System;
  7. using System.Collections;
  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.PlnSaleOrd
  16. {
  17. public partial class FrmBaseModelLen : FrmBase
  18. {
  19. public FrmBaseModelLen()
  20. {
  21. InitializeComponent();
  22. }
  23. private void FrmBaseModelLen_Load(object sender, EventArgs e)
  24. {
  25. getModelCode();
  26. }
  27. public override void ToolBar_Click(object sender, string ToolbarKey)
  28. {
  29. switch (ToolbarKey)
  30. {
  31. case "doQuery":
  32. DoQuery();
  33. break;
  34. case "doAdd":
  35. DoAdd();
  36. break;
  37. case "doModify":
  38. DoUpdate();
  39. break;
  40. case "doDelete":
  41. DoDelete();
  42. break;
  43. case "Export":
  44. GridHelper.ulGridToExcel(GridStorage, "扣型与长度加长关系");
  45. break;
  46. case "Close":
  47. this.Close();
  48. break;
  49. }
  50. }
  51. /// <summary>
  52. /// 查询
  53. /// </summary>
  54. private void DoQuery()
  55. {
  56. string modelCode = "";
  57. string groupNo = "";
  58. if (chkModel.Checked)
  59. {
  60. if (cmbModel.Text.Equals(""))
  61. {
  62. MessageUtil.ShowTips("请选择扣型!");
  63. return;
  64. }
  65. else
  66. {
  67. if (cmbModel.SelectedItem == null)
  68. {
  69. MessageUtil.ShowTips("请重新输入或选择下拉框中的扣型!");
  70. return;
  71. }
  72. modelCode = cmbModel.Value.ToString();
  73. }
  74. }
  75. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQuery", new Object[] { modelCode }, this.ob);
  76. GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true);
  77. GridHelper.RefreshAndAutoSize(GridStorage);
  78. }
  79. private bool conditions()
  80. {
  81. if (cmbModelt.Text.Equals(""))
  82. {
  83. MessageUtil.ShowTips("扣型不能为空,请选择!");
  84. return false;
  85. }
  86. else
  87. {
  88. if (cmbModelt.SelectedItem == null)
  89. {
  90. MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!");
  91. return false;
  92. }
  93. }
  94. if (!txtLenToleraMin.Text.Equals("") && !txtLenToleraMax.Text.Equals(""))
  95. {
  96. if (double.Parse(txtLenToleraMin.Text.Trim()) > double.Parse(txtLenToleraMax.Text.Trim()))
  97. {
  98. MessageUtil.ShowTips("长度公差范围有误,请重新输入!");
  99. return false;
  100. }
  101. }
  102. if (!txtDiameterMin.Text.Equals("") && !txtDiameterMax.Text.Equals(""))
  103. {
  104. if (double.Parse(txtDiameterMin.Text.Trim()) > double.Parse(txtDiameterMax.Text.Trim()))
  105. {
  106. MessageUtil.ShowTips("外径范围有误,请重新输入!");
  107. return false;
  108. }
  109. }
  110. if (!txtWallthickMin.Text.Equals("") && !txtWallthickMax.Text.Equals(""))
  111. {
  112. if (double.Parse(txtWallthickMin.Text.Trim()) > double.Parse(txtWallthickMax.Text.Trim()))
  113. {
  114. MessageUtil.ShowTips("壁厚范围有误,请重新输入!");
  115. return false;
  116. }
  117. }
  118. if (!txtLenLongerMin.Text.Equals("") && !txtLenLongerMax.Text.Equals(""))
  119. {
  120. if (double.Parse(txtLenLongerMin.Text.Trim()) > double.Parse(txtLenLongerMax.Text.Trim()))
  121. {
  122. MessageUtil.ShowTips("长度加长范围有误,请重新输入!");
  123. return false;
  124. }
  125. }
  126. return true;
  127. }
  128. /// <summary>
  129. /// 新增
  130. /// </summary>
  131. private void DoAdd()
  132. {
  133. if(!conditions())return;
  134. string cmbModelCode = "";
  135. string cmbModelName = "";
  136. if (cmbModelt.Text.Equals(""))
  137. {
  138. MessageUtil.ShowTips("扣型不能为空,请选择!");
  139. return;
  140. }
  141. else
  142. {
  143. if (cmbModelt.SelectedItem == null)
  144. {
  145. MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!");
  146. return;
  147. }
  148. cmbModelCode = cmbModelt.Value.ToString();
  149. cmbModelName = cmbModelt.Text.Trim();
  150. }
  151. if (txtLenLongerMin.Text.Trim() == "" || txtLenLongerMax.Text.Trim() == "")
  152. {
  153. MessageUtil.ShowTips("长度公差不能为空,请选择!");
  154. return;
  155. }
  156. if (txtDiameterMin.Text.Trim() == "" || txtDiameterMax.Text.Trim() == "")
  157. {
  158. MessageUtil.ShowTips("外径不能为空,请选择!");
  159. return;
  160. }
  161. if (txtWallthickMin.Text.Trim() == "" || txtWallthickMax.Text.Trim() == "")
  162. {
  163. MessageUtil.ShowTips("壁厚不能为空,请选择!");
  164. return;
  165. }
  166. if (jgNum.SelectedItem == null)
  167. {
  168. MessageUtil.ShowTips("加工分切数不能为空,请选择!");
  169. return;
  170. }
  171. //查询是否扣型重复
  172. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryNew", new Object[] { cmbModelCode,
  173. txtLenLongerMin.Text.Trim(),txtLenLongerMax.Text.Trim(),
  174. txtDiameterMin.Text.Trim(),txtDiameterMax.Text.Trim(),
  175. txtWallthickMin.Text.Trim(),txtWallthickMax.Text.Trim(),
  176. jgNum.Value.ToString()}, this.ob);
  177. if (dt.Rows.Count > 0)
  178. {
  179. string repeat = dt.Rows[0][0].ToString();
  180. if (repeat != "")
  181. {
  182. MessageUtil.ShowTips("你选择的数据已存在,请重新选择!");
  183. return;
  184. }
  185. }
  186. if (MessageBox.Show("是否新增数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  187. //查询最大ID
  188. DataTable dtMax = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryMaxId", null, this.ob);
  189. string idMax = "KXJC00001";
  190. if (dtMax.Rows.Count > 0)
  191. {
  192. idMax = dtMax.Rows[0]["ID_MAX"].ToString();
  193. }
  194. ArrayList parm = new ArrayList();
  195. parm.Add(idMax);
  196. parm.Add(txtLenToleraMin.Text.ToString().Trim());
  197. parm.Add(txtLenToleraMax.Text.ToString().Trim());
  198. parm.Add(cmbModelCode);
  199. parm.Add(cmbModelName);
  200. parm.Add(this.UserInfo.GetUserName());
  201. parm.Add(txtMemo.Text.ToString().Trim());
  202. parm.Add(txtDiameterMin.Text.ToString().Trim());
  203. parm.Add(txtDiameterMax.Text.ToString().Trim());
  204. parm.Add(txtWallthickMin.Text.ToString().Trim());
  205. parm.Add(txtWallthickMax.Text.ToString().Trim());
  206. parm.Add(txtLenLongerMin.Text.ToString().Trim());
  207. parm.Add(txtLenLongerMax.Text.ToString().Trim());
  208. parm.Add(jgNum.Value.ToString());
  209. CoreClientParam ccp = new CoreClientParam();
  210. ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen";
  211. ccp.MethodName = "doAdd";
  212. ccp.ServerParams = new object[] { parm };
  213. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  214. if (ccp.ReturnCode == -1) return;
  215. MessageUtil.ShowTips("新增成功!");
  216. DoQuery();
  217. }
  218. /// <summary>
  219. /// 修改
  220. /// </summary>
  221. private void DoUpdate()
  222. {
  223. UltraGridRow row = GridStorage.ActiveRow;
  224. if (row == null) return;
  225. string cmbModelCode = "";
  226. string cmbModelName = "";
  227. if (cmbModelt.Text.Equals(""))
  228. {
  229. MessageUtil.ShowTips("扣型不能为空,请选择!");
  230. return;
  231. }
  232. else
  233. {
  234. if (cmbModelt.SelectedItem == null)
  235. {
  236. MessageUtil.ShowTips("请输入或选择下拉框存在的扣型!");
  237. return;
  238. }
  239. cmbModelCode = cmbModelt.Value.ToString();
  240. cmbModelName = cmbModelt.Text.Trim();
  241. }
  242. if (txtLenLongerMin.Text.Trim() == "" || txtLenLongerMax.Text.Trim() == "")
  243. {
  244. MessageUtil.ShowTips("长度公差不能为空,请选择!");
  245. return;
  246. }
  247. if (txtDiameterMin.Text.Trim() == "" || txtDiameterMax.Text.Trim() == "")
  248. {
  249. MessageUtil.ShowTips("外径不能为空,请选择!");
  250. return;
  251. }
  252. if (txtWallthickMin.Text.Trim() == "" || txtWallthickMax.Text.Trim() == "")
  253. {
  254. MessageUtil.ShowTips("壁厚不能为空,请选择!");
  255. return;
  256. }
  257. if (jgNum.SelectedItem == null)
  258. {
  259. MessageUtil.ShowTips("加工分切数不能为空,请选择!");
  260. return;
  261. }
  262. //查询是否扣型重复
  263. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.doQueryNew", new Object[] { cmbModelCode,
  264. txtLenLongerMin.Text.Trim(),txtLenLongerMax.Text.Trim(),
  265. txtDiameterMin.Text.Trim(),txtDiameterMax.Text.Trim(),
  266. txtWallthickMin.Text.Trim(),txtWallthickMax.Text.Trim(),
  267. jgNum.Value.ToString()}, this.ob);
  268. if (dt.Rows.Count > 0)
  269. {
  270. string repeat = dt.Rows[0][0].ToString();
  271. if (repeat != row.Cells["ID"].Value.ToString())
  272. {
  273. MessageUtil.ShowTips("你选择的数据已存在,请重新选择!");
  274. return;
  275. }
  276. }
  277. if (MessageBox.Show("是否修改选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  278. ArrayList parm = new ArrayList();
  279. parm.Add(txtLenToleraMin.Text.ToString().Trim());
  280. parm.Add(txtLenToleraMax.Text.ToString().Trim());
  281. parm.Add(cmbModelCode);
  282. parm.Add(cmbModelName);
  283. parm.Add(this.UserInfo.GetUserName());
  284. parm.Add(txtMemo.Text.ToString().Trim());
  285. parm.Add(txtDiameterMin.Text.ToString().Trim());
  286. parm.Add(txtDiameterMax.Text.ToString().Trim());
  287. parm.Add(txtWallthickMin.Text.ToString().Trim());
  288. parm.Add(txtWallthickMax.Text.ToString().Trim());
  289. parm.Add(txtLenLongerMin.Text.ToString().Trim());
  290. parm.Add(txtLenLongerMax.Text.ToString().Trim());
  291. parm.Add(jgNum.Value.ToString());
  292. parm.Add(row.Cells["ID"].Text.ToString());
  293. CoreClientParam ccp = new CoreClientParam();
  294. ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen";
  295. ccp.MethodName = "doUpdate";
  296. ccp.ServerParams = new object[] { parm };
  297. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  298. if (ccp.ReturnCode == -1) return;
  299. MessageUtil.ShowTips("修改成功!");
  300. DoQuery();
  301. }
  302. /// <summary>
  303. /// 删除
  304. /// </summary>
  305. private void DoDelete()
  306. {
  307. UltraGridRow row = GridStorage.ActiveRow;
  308. if (row == null) return;
  309. ArrayList parm = new ArrayList();
  310. parm.Add(row.Cells["ID"].Value.ToString());
  311. if (MessageBox.Show("是否删除选择数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) return;
  312. CoreClientParam ccp = new CoreClientParam();
  313. ccp.ServerName = "com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen";
  314. ccp.MethodName = "doDelete";
  315. ccp.ServerParams = new object[] { parm };
  316. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  317. if (ccp.ReturnCode == -1) return;
  318. MessageUtil.ShowTips("删除成功!");
  319. DoQuery();
  320. }
  321. /// <summary>
  322. /// 产线扣型
  323. /// </summary>
  324. private void getModelCode()
  325. {
  326. DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.order.baseMethod.FrmBaseModelLen.queryModel", null, this.ob);
  327. cmbModel.DataSource = dt;
  328. cmbModel.DisplayMember = "MODEL_DESC";
  329. cmbModel.ValueMember = "MODEL_CODE";
  330. ClsBaseInfo.SetComboItemHeight(cmbModel);
  331. cmbModelt.DataSource = dt;
  332. cmbModelt.DisplayMember = "MODEL_DESC";
  333. cmbModelt.ValueMember = "MODEL_CODE";
  334. ClsBaseInfo.SetComboItemHeight(cmbModelt);
  335. }
  336. private void chkModel_CheckedChanged(object sender, EventArgs e)
  337. {
  338. if (chkModel.Checked) { cmbModel.Enabled = true; } else { cmbModel.Enabled = false; }
  339. }
  340. private void GridStorage_AfterRowActivate(object sender, EventArgs e)
  341. {
  342. UltraGridRow row = GridStorage.ActiveRow;
  343. if (row == null) return;
  344. cmbModelt.Value = row.Cells["MODEL_DESC"].Text.ToString();
  345. txtLenToleraMin.Text = row.Cells["LEN_TOLERA_MIN"].Text.ToString();
  346. txtLenToleraMax.Text = row.Cells["LEN_TOLERA_MAX"].Text.ToString();
  347. txtDiameterMin.Text = row.Cells["DIAMETER_MIN"].Text.ToString();
  348. txtDiameterMax.Text = row.Cells["DIAMETER_MAX"].Text.ToString();
  349. txtWallthickMin.Text = row.Cells["WALLTHICK_MIN"].Text.ToString();
  350. txtWallthickMax.Text = row.Cells["WALLTHICK_MAX"].Text.ToString();
  351. txtLenLongerMin.Text = row.Cells["LEN_LONGER_MIN"].Text.ToString();
  352. txtLenLongerMax.Text = row.Cells["LEN_LONGER_MAX"].Text.ToString();
  353. txtMemo.Value = row.Cells["MEMO"].Text.ToString();
  354. jgNum.Value = row.Cells["JG_NUM"].Text.ToString();
  355. }
  356. private void txtLenToleraMin_KeyPress(object sender, KeyPressEventArgs e)
  357. {
  358. NumberTextbox(sender, e, txtLenToleraMin);
  359. }
  360. private void txtLenToleraMax_KeyPress(object sender, KeyPressEventArgs e)
  361. {
  362. NumberTextbox(sender, e, txtLenToleraMax);
  363. }
  364. public void NumberTextbox(object sender, KeyPressEventArgs e, TextBox txtBox)
  365. {
  366. if (e.KeyChar == (char)13)
  367. {
  368. e.Handled = true;
  369. SendKeys.Send("{tab}");
  370. return;
  371. }
  372. //允许输入数字、小数点、删除键和负号
  373. if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-'))
  374. {
  375. MessageUtil.ShowTips("请输入正确的数字!");
  376. txtBox.Text = "";
  377. e.Handled = true;
  378. return;
  379. }
  380. if (e.KeyChar == (char)('-'))
  381. {
  382. if ((sender as TextBox).Text != "")
  383. {
  384. MessageUtil.ShowTips("请输入正确的数字!");
  385. txtBox.Text = "";
  386. e.Handled = true;
  387. return;
  388. }
  389. }
  390. //小数点只能输入一次
  391. if (e.KeyChar == (char)('.') && ((TextBox)sender).Text.IndexOf('.') != -1)
  392. {
  393. MessageUtil.ShowTips("请输入正确的数字!");
  394. txtBox.Text = "";
  395. e.Handled = true;
  396. return;
  397. }
  398. //第一位不能为小数点
  399. if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
  400. {
  401. MessageUtil.ShowTips("请输入正确的数字!");
  402. txtBox.Text = "";
  403. e.Handled = true;
  404. return;
  405. }
  406. //第一位是0,第二位必须为小数点
  407. if (e.KeyChar != (char)('.') && e.KeyChar != 8 && ((TextBox)sender).Text == "0")
  408. {
  409. MessageUtil.ShowTips("请输入正确的数字!");
  410. txtBox.Text = "";
  411. e.Handled = true;
  412. return;
  413. }
  414. //第一位是负号,第二位不能为小数点
  415. if (((TextBox)sender).Text == "-" && e.KeyChar == (char)('.'))
  416. {
  417. MessageUtil.ShowTips("请输入正确的数字!");
  418. txtBox.Text = "";
  419. e.Handled = true;
  420. return;
  421. }
  422. }
  423. private void txtDiameterMin_KeyPress(object sender, KeyPressEventArgs e)
  424. {
  425. NumberTextbox(sender, e, txtDiameterMin);
  426. }
  427. private void txtDiameterMax_KeyPress(object sender, KeyPressEventArgs e)
  428. {
  429. NumberTextbox(sender, e, txtDiameterMax);
  430. }
  431. private void txtWallthickMin_KeyPress(object sender, KeyPressEventArgs e)
  432. {
  433. NumberTextbox(sender, e, txtWallthickMin);
  434. }
  435. private void txtWallthickMax_KeyPress(object sender, KeyPressEventArgs e)
  436. {
  437. NumberTextbox(sender, e, txtWallthickMax);
  438. }
  439. private void txtLenLongerMin_KeyPress(object sender, KeyPressEventArgs e)
  440. {
  441. NumberTextbox(sender, e, txtLenLongerMin);
  442. }
  443. private void txtLenLongerMax_KeyPress(object sender, KeyPressEventArgs e)
  444. {
  445. NumberTextbox(sender, e, txtLenLongerMax);
  446. }
  447. }
  448. }