CraftOrdDesignStdCicCtrl.cs 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
  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 Infragistics.Win.UltraWinEditors;
  13. using Core.StlMes.Client.Qcm;
  14. using Infragistics.Win.UltraWinGrid;
  15. using CoreFS.SA06;
  16. using Infragistics.Win;
  17. using Core.Mes.Client.Comm.Control;
  18. namespace Core.StlMes.Client.SaleOrder.Control
  19. {
  20. public partial class CraftOrdDesignStdCicCtrl : UserControl
  21. {
  22. private CraftOrdDesignStdCicBLL _designStdCicBLL;
  23. private CraftOrdDesignMscPlBLL _designMscPlBLL;
  24. private CraftOrdDesignMscPlPrcBLL _designMscPlPrcBLL;
  25. private UltraComboEditor[] ultras = new UltraComboEditor[13];
  26. private OpeBase _ob;
  27. public CraftOrdDesignStdCicCtrl(System.Windows.Forms.Control container, OpeBase ob)
  28. {
  29. InitializeComponent();
  30. _ob = ob;
  31. _designStdCicBLL = new CraftOrdDesignStdCicBLL(ob);
  32. _designMscPlBLL = new CraftOrdDesignMscPlBLL(ob);
  33. _designMscPlPrcBLL = new CraftOrdDesignMscPlPrcBLL(ob);
  34. container.Controls.Add(this);
  35. this.Dock = DockStyle.Fill;
  36. for (int i = 0; i < ultras.Length; i++)
  37. {
  38. ultras[i] = new UltraComboEditor();
  39. Controls.Add(ultras[i]);
  40. ultras[i].Visible = false;
  41. ultras[i].DropDownListWidth = -1;
  42. }
  43. LoadBaseData();
  44. }
  45. private void LoadBaseData()
  46. {
  47. UltraGridBand ugbC = entityGrid1.DisplayLayout.Bands[0];
  48. QcmBaseQuery.NitializeSignMin(ultras[0]);
  49. //标准范围下限符号
  50. QcmBaseQuery.BindColumn(ultras[0], "StdminSign", ugbC);
  51. //上限
  52. QcmBaseQuery.NitializeSignMax(ultras[1]);
  53. //标准范围上限符号
  54. QcmBaseQuery.BindColumn(ultras[1], "StdmaxSign", ugbC);
  55. //化学元素描述
  56. QcmBaseQuery.NitializeChemicalElement(ultras[2], false, _ob);
  57. QcmBaseQuery.BindColumn(ultras[2], "ChemCode", ugbC);
  58. //结箍
  59. QcmBaseQuery.NitializeJG(ultras[3], true, _ob);
  60. QcmBaseQuery.BindColumn(ultras[3], "SpecJg", ugbC);
  61. //限制元素下限符号
  62. QcmBaseQuery.BindColumn(ultras[0], "EleMinSign", ugbC);
  63. //限制规格(一)下限符号
  64. QcmBaseQuery.BindColumn(ultras[0], "SizeMinSign2", ugbC);
  65. //限制规格(二)下限符号
  66. QcmBaseQuery.BindColumn(ultras[0], "SizeMinSign", ugbC);
  67. //限制元素上限符号
  68. QcmBaseQuery.BindColumn(ultras[1], "EleMaxSign", ugbC);
  69. //限制规格(一)上限符号
  70. QcmBaseQuery.BindColumn(ultras[1], "SizeMaxSign2", ugbC);
  71. //限制规格(二)上限符号
  72. QcmBaseQuery.BindColumn(ultras[1], "SizeMaxSign", ugbC);
  73. //限制规格(一)
  74. QcmBaseQuery.NitializeLimitSpecifications(ultras[5], true, _ob);
  75. QcmBaseQuery.BindColumn(ultras[5], "SizeCode2", ugbC);
  76. //限制规格(二)
  77. QcmBaseQuery.BindColumn(ultras[5], "SizeCode", ugbC);
  78. //限制元素
  79. QcmBaseQuery.NitializeChemicalElement(ultras[11], true, _ob);
  80. QcmBaseQuery.BindColumn(ultras[11], "EleCode", ugbC);
  81. //替代元素
  82. QcmBaseQuery.BindColumn(ultras[0], "RepMinSign", ugbC);
  83. QcmBaseQuery.BindColumn(ultras[1], "RepMaxSign", ugbC);
  84. QcmBaseQuery.BindColumn(ultras[2], "RepCode", ugbC);
  85. QcmBaseQuery.NitializeProductBigType(ultras[12], false, _ob);
  86. }
  87. /// <summary>
  88. /// 查询质量设计成分
  89. /// </summary>
  90. /// <param name="designStdCicEntity"></param>
  91. public void Query(CraftOrdDesignStdCicEntity designStdCicEntity)
  92. {
  93. this.CraftOrdDesignStdCicEntityBindingSource.DataSource = _designStdCicBLL.Query(designStdCicEntity);
  94. }
  95. private string designKey = "";
  96. private string[] _parms;
  97. public void QueryByDesignKeyCic(string[] parms)
  98. {
  99. designKey = parms[0];
  100. _parms = parms;
  101. var data = _designStdCicBLL.QueryByDesignKeyCic(parms);
  102. /*
  103. ultras[6].DataSource = data.Select(p=>p.Cic).Distinct().ToList();
  104. QcmBaseQuery.BindColumn(ultras[6], "Cic", entityGrid1.DisplayLayout.Bands[0]);*/
  105. this.CraftOrdDesignStdCicEntityBindingSource.DataSource = data;
  106. //UltraComboEditor cmb = new UltraComboEditor();
  107. foreach (var row in entityGrid1.Rows)
  108. {
  109. GridEdite(row);
  110. if (row.GetValue("CraftSource") == "0")
  111. {
  112. row.Cells["Chk"].Value = null;
  113. row.Cells["Chk"].Activation = Activation.ActivateOnly;
  114. }
  115. row.Update();
  116. //if (cmb.ValueList.FindString(row.GetValue("Cic")) == -1)
  117. //{
  118. // cmb.ValueList.ValueListItems.Add(row.GetValue("Cic"));
  119. //}
  120. }
  121. //cmb.DisplayStyle = EmbeddableElementDisplayStyle.WindowsVista;
  122. //entityGrid1.DisplayLayout.Bands[0].Columns["Cic"].EditorComponent = cmb;
  123. //entityGrid1.DisplayLayout.Bands[0].Columns["Cic"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  124. }
  125. public void Clear()
  126. {
  127. this.CraftOrdDesignStdCicEntityBindingSource.Clear();
  128. }
  129. public void Save()
  130. {
  131. List<CraftOrdDesignStdCicEntity> parms = new List<CraftOrdDesignStdCicEntity>();
  132. var rows = entityGrid1.Rows.Where(a=>a.GetValue("Chk") == "True");
  133. foreach (var row in rows)
  134. {
  135. CraftOrdDesignStdCicEntity parm = EntityHelper.CopyEntity<CraftOrdDesignStdCicEntity>(row.ListObject);
  136. if (parm.MscPline == "")
  137. {
  138. MessageUtil.ShowWarning("请选择制程!");
  139. row.SetCellActive("MscPline");
  140. return;
  141. }
  142. //if (parm.ProcessDescC == "")
  143. //{
  144. // MessageUtil.ShowWarning("请选择二级工序!");
  145. // row.SetCellActive("ProcessDescC");
  146. // return;
  147. //}
  148. if (parm.Cic == "")
  149. {
  150. MessageUtil.ShowWarning("请选择成分索引码!");
  151. row.SetCellActive("Cic");
  152. return;
  153. }
  154. if (parm.ChemCode == "")
  155. {
  156. MessageUtil.ShowWarning("请选化学元素!");
  157. row.SetCellActive("ChemCode");
  158. return;
  159. }
  160. if (!parm.StdminSign.Equals(""))
  161. {
  162. if (parm.Stdmin.Equals(""))
  163. {
  164. MessageUtil.ShowWarning("请输入标准范围下限值!");
  165. row.SetCellActive("Stdmin");
  166. return;
  167. }
  168. if (parm.ComplexType.Equals("0"))
  169. {
  170. if (!StringUtil.IsNumber(parm.Stdmin))
  171. {
  172. MessageUtil.ShowWarning("标准范围下限值请输入数字!");
  173. row.SetCellActive("Stdmin");
  174. return;
  175. }
  176. }
  177. else
  178. {
  179. if (!QcmBaseCommon.CheckElement(parm.Stdmin, _ob))
  180. {
  181. MessageUtil.ShowWarning("标准范围下限值输入公式不合法,请重新输入!");
  182. row.SetCellActive("Stdmin");
  183. return;
  184. }
  185. }
  186. }
  187. else
  188. {
  189. if (!parm.Stdmin.Equals(""))
  190. {
  191. MessageUtil.ShowWarning("请选择标准范围下限符号!");
  192. row.SetCellActive("Stdmin");
  193. return;
  194. }
  195. }
  196. if (parm.StdminSign.Equals("=") && !parm.StdmaxSign.Equals(""))
  197. {
  198. MessageUtil.ShowWarning("标准范围下限符号为'=',不能选择上限符号!");
  199. row.SetCellActive("StdminSign");
  200. return;
  201. }
  202. if (parm.Isjudge.ToString().Equals("True") && parm.StdminSign.Equals("") && parm.StdmaxSign.Equals(""))
  203. {
  204. MessageUtil.ShowWarning("请选择标准范围下限符号或者上限符号!");
  205. row.SetCellActive("StdminSign");
  206. return;
  207. }
  208. if (!parm.StdmaxSign.Equals(""))
  209. {
  210. if (parm.Stdmax.Equals(""))
  211. {
  212. MessageUtil.ShowWarning("请输入标准范围上限值!");
  213. row.SetCellActive("Stdmax");
  214. return;
  215. }
  216. if (parm.ComplexType.Equals("0"))
  217. {
  218. if (!StringUtil.IsNumber(parm.Stdmax))
  219. {
  220. MessageUtil.ShowWarning("标准范围上限值请输入数字!");
  221. row.SetCellActive("Stdmax");
  222. return;
  223. }
  224. }
  225. else
  226. {
  227. if (!QcmBaseCommon.CheckElement(parm.Stdmax, _ob))
  228. {
  229. MessageUtil.ShowWarning("标准范围上限值输入公式不合法,请重新输入!");
  230. row.SetCellActive("Stdmax");
  231. return;
  232. }
  233. }
  234. }
  235. else
  236. {
  237. if (!parm.Stdmax.Equals(""))
  238. {
  239. MessageUtil.ShowWarning("请选择标准范围上限符号!");
  240. row.SetCellActive("Stdmax");
  241. return;
  242. }
  243. }
  244. if (parm.ComplexType.Equals("0") && !parm.Stdmin.Equals("") && !parm.Stdmax.Equals("")) //&& double.Parse(stdMin) > double.Parse(stdMax)
  245. {
  246. int i = QcmBaseInfo.CheckStdData(parm.StdminSign, parm.StdmaxSign, parm.Stdmin, parm.Stdmax);
  247. if (i == 0)
  248. {
  249. MessageUtil.ShowWarning("输入的数据不完整!");
  250. return;
  251. }
  252. if (i == 1)
  253. {
  254. MessageUtil.ShowWarning("标准范围下限值与上限值相等,上下限符号请选择<=和>=!");
  255. row.SetCellActive("StdminSign");
  256. return;
  257. }
  258. if (i == 2)
  259. {
  260. MessageUtil.ShowWarning("标准范围下限值不能大于上限值!");
  261. row.SetCellActive("Stdmin");
  262. return;
  263. }
  264. }
  265. if (parm.EleMinSign.Equals("=") && !parm.EleMaxSign.Equals(""))
  266. {
  267. MessageUtil.ShowWarning("限制元素下限符号为'=',不能选择上限符号!");
  268. row.SetCellActive("EleMaxSign");
  269. return;
  270. }
  271. if (parm.SizeMinSign2.Equals("=") && !parm.SizeMaxSign2.Equals(""))
  272. {
  273. MessageUtil.ShowWarning("限制规格(一)下限符号为'=',不能选择上限符号!");
  274. row.SetCellActive("SizeMaxSign2");
  275. return;
  276. }
  277. if (parm.SizeMinSign.Equals("=") && !parm.SizeMaxSign.Equals(""))
  278. {
  279. MessageUtil.ShowWarning("限制规格(二)下限符号为'=',不能选择上限符号!");
  280. row.SetCellActive("SizeMaxSign");
  281. return;
  282. }
  283. if (parm.RepMinSign.Equals("=") && !parm.RepMaxSign.Equals(""))
  284. {
  285. MessageUtil.ShowWarning("替代元素下限符号为'=',不能选择上限符号!");
  286. row.SetCellActive("RepMaxSign");
  287. return;
  288. }
  289. if (!parm.EleName.Equals(""))
  290. {
  291. if (parm.EleName.Equals(parm.ChemName))
  292. {
  293. MessageUtil.ShowWarning("化学元素描述不能与限制元素描述相同!");
  294. row.SetCellActive("ChemName");
  295. return;
  296. }
  297. if (parm.EleMinSign.Equals("") && parm.EleMaxSign.Equals(""))
  298. {
  299. MessageUtil.ShowWarning("请选择限制元素上限符号或者下限符号!");
  300. row.SetCellActive("EleMinSign");
  301. return;
  302. }
  303. if (!parm.EleMinSign.Equals("") && parm.EleMin.Equals(""))
  304. {
  305. MessageUtil.ShowWarning("请输入限制元素下限值!");
  306. row.SetCellActive("EleMin");
  307. return ;
  308. }
  309. if (parm.EleMinSign.Equals("") && !parm.EleMin.Equals(""))
  310. {
  311. MessageUtil.ShowWarning("请选择限制元素下限符号!");
  312. row.SetCellActive("EleMinSign");
  313. return;
  314. }
  315. if (!parm.EleMaxSign.Equals("") && parm.EleMax.Equals(""))
  316. {
  317. MessageUtil.ShowWarning("请输入限制元素上限值!");
  318. row.SetCellActive("EleMax");
  319. return;
  320. }
  321. if (parm.EleMaxSign.Equals("") && !parm.EleMax.Equals(""))
  322. {
  323. MessageUtil.ShowWarning("请选择限制元素上限符号!");
  324. row.SetCellActive("EleMaxSign");
  325. return;
  326. }
  327. if (!parm.EleMax.Equals("") && !StringUtil.IsNumber(parm.EleMax))
  328. {
  329. MessageUtil.ShowWarning("限制元素上限值请输入数字!");
  330. row.SetCellActive("EleMax");
  331. return;
  332. }
  333. if (!parm.EleMin.Equals("") && !StringUtil.IsNumber(parm.EleMin))
  334. {
  335. MessageUtil.ShowWarning("限制元素下限值请输入数字!");
  336. row.SetCellActive("EleMin");
  337. return;
  338. }
  339. if (!parm.EleMaxSign.Equals("") && !parm.EleMinSign.Equals("")) //&& Convert.ToInt32(ele_min) > Convert.ToInt32(ele_max)
  340. {
  341. int i = QcmBaseInfo.CheckStdData(parm.EleMinSign, parm.EleMaxSign, parm.EleMin, parm.EleMax);
  342. if (i == 0)
  343. {
  344. MessageUtil.ShowWarning("输入的数据不完整!");
  345. return;
  346. }
  347. if (i == 1)
  348. {
  349. MessageUtil.ShowWarning("限制元素下限值与上限值相等,上下限符号请选择<=和>=!");
  350. row.SetCellActive("EleMinSign");
  351. return;
  352. }
  353. if (i == 2)
  354. {
  355. MessageUtil.ShowWarning("限制元素下限值不能大于上限值!");
  356. row.SetCellActive("EleMin");
  357. return;
  358. }
  359. }
  360. }
  361. else
  362. {
  363. if (!parm.EleMaxSign.Equals("") || !parm.EleMinSign.Equals("") || !parm.EleMin.Equals("") || !parm.EleMax.Equals(""))
  364. {
  365. MessageUtil.ShowWarning("请选择限制元素描述!");
  366. row.SetCellActive("EleMinSign");
  367. return;
  368. }
  369. }
  370. //-------------------新增的7个字段-----------------------------------------
  371. if (!parm.RepName.Equals(""))
  372. {
  373. if (parm.RepName.Equals(parm.ChemName))
  374. {
  375. MessageUtil.ShowWarning("化学元素描述不能与替代元素描述相同!");
  376. row.SetCellActive("ChemName");
  377. return;
  378. }
  379. if (parm.RepMinSign.Equals("") && parm.RepMaxSign.Equals(""))
  380. {
  381. MessageUtil.ShowWarning("请选择替代元素上限符号或者下限符号!");
  382. row.SetCellActive("RepMinSign");
  383. return;
  384. }
  385. if (!parm.RepMinSign.Equals("") && parm.RepMin.Equals(""))
  386. {
  387. MessageUtil.ShowWarning("请输入替代元素下限值!");
  388. row.SetCellActive("RepMin");
  389. return;
  390. }
  391. if (parm.RepMinSign.Equals("") && !parm.RepMin.Equals(""))
  392. {
  393. MessageUtil.ShowWarning("请选择替代元素下限符号!");
  394. row.SetCellActive("RepMinSign");
  395. return;
  396. }
  397. if (!parm.RepMaxSign.Equals("") && parm.RepMax.Equals(""))
  398. {
  399. MessageUtil.ShowWarning("请输入替代元素上限值!");
  400. row.SetCellActive("RepMax");
  401. return;
  402. }
  403. if (parm.RepMaxSign.Equals("") && !parm.RepMax.Equals(""))
  404. {
  405. MessageUtil.ShowWarning("请选择替代元素上限符号!");
  406. row.SetCellActive("RepMaxSign");
  407. return;
  408. }
  409. if (!parm.RepMax.Equals("") && !StringUtil.IsNumber(parm.RepMax))
  410. {
  411. MessageUtil.ShowWarning("替代元素上限值请输入数字!");
  412. row.SetCellActive("RepMax");
  413. return;
  414. }
  415. if (!parm.RepMin.Equals("") && !StringUtil.IsNumber(parm.RepMin))
  416. {
  417. MessageUtil.ShowWarning("替代元素下限值请输入数字!");
  418. row.SetCellActive("RepMin");
  419. return;
  420. }
  421. if (!parm.RepMaxSign.Equals("") && !parm.RepMinSign.Equals("")) //&& Convert.ToInt32(repmin) > Convert.ToInt32(repmax)
  422. {
  423. int i = QcmBaseInfo.CheckStdData(parm.RepMinSign, parm.RepMaxSign, parm.RepMin, parm.RepMax);
  424. if (i == 0)
  425. {
  426. MessageUtil.ShowWarning("输入的数据不完整!");
  427. return;
  428. }
  429. if (i == 1)
  430. {
  431. MessageUtil.ShowWarning("替代元素下限值与上限值相等,上下限符号请选择<=和>=!");
  432. row.SetCellActive("RepMinSign");
  433. return;
  434. }
  435. if (i == 2)
  436. {
  437. MessageUtil.ShowWarning("替代元素下限值不能大于上限值!");
  438. row.SetCellActive("RepMin");
  439. return;
  440. }
  441. }
  442. }
  443. else
  444. {
  445. if (!parm.RepMaxSign.Equals("") || !parm.RepMinSign.Equals("") || !parm.RepMin.Equals("") || !parm.RepMax.Equals(""))
  446. {
  447. MessageUtil.ShowWarning("请选择替代元素!");
  448. row.SetCellActive("RepMinSign");
  449. return;
  450. }
  451. }
  452. //----------------新增的7个字段处理结束-------------
  453. if (!parm.SpecJgDesc.Equals("") && !parm.SpecJgDesc.Equals("-1"))
  454. {
  455. if (!parm.SizeName.Equals("") || !parm.SizeName2.Equals(""))
  456. {
  457. MessageUtil.ShowWarning("存在接箍描述,不能选择限制规格(一)或者(二)!");
  458. row.SetCellActive("SizeCode");
  459. return;
  460. }
  461. }
  462. if (!parm.SizeName.Equals("") || !parm.SizeName2.Equals(""))
  463. {
  464. if (!parm.SpecJgDesc.Equals("") && !parm.SpecJgDesc.Equals("-1"))
  465. {
  466. MessageUtil.ShowWarning("存在限制规格(一)或者限制规格(二),不能选择接箍描述!");
  467. row.SetCellActive("SpecJgCode");
  468. return;
  469. }
  470. }
  471. if (!parm.SizeName2.Equals(""))
  472. {
  473. if (parm.SizeMinSign2.Equals("") && parm.SizeMaxSign2.Equals(""))
  474. {
  475. MessageUtil.ShowWarning("请选择限制规格(一)下限符号或者上限符号!");
  476. row.SetCellActive("SpecJgCode");
  477. return;
  478. }
  479. if (!parm.SizeMinSign2.Equals("") && parm.SizeMin2.Equals(""))
  480. {
  481. MessageUtil.ShowWarning("请输入限制规格!");
  482. row.SetCellActive("SizeMin2");
  483. return;
  484. }
  485. if (parm.SizeMinSign2.Equals("") && !parm.SizeMin2.Equals(""))
  486. {
  487. MessageUtil.ShowWarning("请选择限制规格(一)下限符号!");
  488. row.SetCellActive("SizeMinSign2");
  489. return;
  490. }
  491. if (!parm.SizeMaxSign2.Equals("") && parm.SizeMax2.Equals(""))
  492. {
  493. MessageUtil.ShowWarning("请输入限制规格(一)下限值!");
  494. row.SetCellActive("SizeMax2");
  495. return;
  496. }
  497. if (parm.SizeMaxSign2.Equals("") && !parm.SizeMax2.Equals(""))
  498. {
  499. MessageUtil.ShowWarning("请选择限制规格(一)下限符号!");
  500. row.SetCellActive("SizeMaxSign2");
  501. return;
  502. }
  503. if (!parm.SizeMax2.Equals("") && !StringUtil.IsNumber(parm.SizeMax2))
  504. {
  505. MessageUtil.ShowWarning("限制规格(一)上限值请输入数字!");
  506. row.SetCellActive("SizeMax2");
  507. return;
  508. }
  509. if (!parm.SizeMin2.Equals("") && !StringUtil.IsNumber(parm.SizeMin2))
  510. {
  511. MessageUtil.ShowWarning("限制规格(一)下限值请输入数字!");
  512. row.SetCellActive("SizeMin2");
  513. return;
  514. }
  515. if (!parm.SizeMax2.Equals("") && !parm.SizeMin2.Equals("")) //&& Convert.ToDouble(size_min2) > Convert.ToDouble(size_max2)
  516. {
  517. int i = QcmBaseInfo.CheckStdData(parm.SizeMinSign2, parm.SizeMaxSign2, parm.SizeMin2, parm.SizeMax2);
  518. if (i == 0)
  519. {
  520. MessageUtil.ShowWarning("输入的数据不完整!");
  521. return;
  522. }
  523. if (i == 1)
  524. {
  525. MessageUtil.ShowWarning("限制规格(一)下限值与上限值相等,上下限符号请选择<=和>=!");
  526. row.SetCellActive("SizeMinSign2");
  527. return;
  528. }
  529. if (i == 2)
  530. {
  531. MessageUtil.ShowWarning("限制规格(一)下限值不能大于上限值!");
  532. row.SetCellActive("SizeMin2");
  533. return;
  534. }
  535. }
  536. }
  537. else
  538. {
  539. if (!parm.SizeMinSign2.Equals("") || !parm.SizeMax2.Equals("") || !parm.SizeMax2.Equals("") || !parm.SizeMin2.Equals(""))
  540. {
  541. MessageUtil.ShowWarning("请选择限制规格(一)描述!");
  542. row.SetCellActive("SizeMinSign2");
  543. return;
  544. }
  545. }
  546. if (!parm.SizeName.Equals(""))
  547. {
  548. if (parm.SizeMinSign.Equals("") && parm.SizeMaxSign.Equals(""))
  549. {
  550. MessageUtil.ShowWarning("请选择限制规格(二)下限符号或者上限符号!");
  551. row.SetCellActive("SizeMinSign");
  552. return;
  553. }
  554. if (!parm.SizeMinSign.Equals("") && parm.SizeMin.Equals(""))
  555. {
  556. MessageUtil.ShowWarning("请输入限制规格(二)下限值!");
  557. row.SetCellActive("SizeMin");
  558. return;
  559. }
  560. if (parm.SizeMinSign.Equals("") && !parm.SizeMin.Equals(""))
  561. {
  562. MessageUtil.ShowWarning("请选择限制规格(二)下限符号!");
  563. row.SetCellActive("SizeMinSign");
  564. return;
  565. }
  566. if (!parm.SizeMaxSign.Equals("") && parm.SizeMax.Equals(""))
  567. {
  568. MessageUtil.ShowWarning("请输入限制规格(二)下限值!");
  569. row.SetCellActive("SizeMax");
  570. return;
  571. }
  572. if (parm.SizeMaxSign.Equals("") && !parm.SizeMax.Equals(""))
  573. {
  574. MessageUtil.ShowWarning("请选择限制规格(二)上限符号!");
  575. row.SetCellActive("SizeMaxSign");
  576. return;
  577. }
  578. if (!parm.SizeMax.Equals("") && !StringUtil.IsNumber(parm.SizeMax))
  579. {
  580. MessageUtil.ShowWarning("限制规格(二)上限值请输入数字!");
  581. row.SetCellActive("SizeMax");
  582. return;
  583. }
  584. if (!parm.SizeMin.Equals("") && !StringUtil.IsNumber(parm.SizeMin))
  585. {
  586. MessageUtil.ShowWarning("限制规格(二)下限值请输入数字!");
  587. row.SetCellActive("SizeMin");
  588. return;
  589. }
  590. if (!parm.SizeMax.Equals("") && !parm.SizeMin.Equals("")) //&& Convert.ToDouble(size_min) > Convert.ToDouble(size_max)
  591. {
  592. int i = QcmBaseInfo.CheckStdData(parm.SizeMinSign, parm.SizeMaxSign, parm.SizeMin, parm.SizeMax);
  593. if (i == 0)
  594. {
  595. MessageUtil.ShowWarning("输入的数据不完整!");
  596. return;
  597. }
  598. if (i == 1)
  599. {
  600. MessageUtil.ShowWarning("限制规格(二)下限值与上限值相等,上下限符号请选择<=和>=!");
  601. row.SetCellActive("SizeMinSign");
  602. return;
  603. }
  604. if (i == 2)
  605. {
  606. MessageUtil.ShowWarning("限制规格(二)下限值不能大于上限值!");
  607. row.SetCellActive("SizeMin");
  608. return;
  609. }
  610. }
  611. }
  612. else
  613. {
  614. if (!parm.SizeMinSign.Equals("") || !parm.SizeMax.Equals("") || !parm.SizeMax.Equals("") || !parm.SizeMin.Equals(""))
  615. {
  616. MessageUtil.ShowWarning("请选择限制规格(二)描述!");
  617. row.SetCellActive("SizeMinSign");
  618. return;
  619. }
  620. }
  621. if (!parm.SizeName.Equals("") && !parm.SizeName2.Equals("") && parm.SizeName.Equals(parm.SizeName2))
  622. {
  623. MessageUtil.ShowWarning("限制规格(二)描述不能与限制规格(一)描述相同!");
  624. row.SetCellActive("SizeCode");
  625. return;
  626. }
  627. parm.CreateName = CoreUserInfo.UserInfo.GetUserName();
  628. parm.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  629. parm.DeleteName = CoreUserInfo.UserInfo.GetUserName();
  630. parm.SpeclFl = "2";
  631. parm.DesginKey = designKey;
  632. parms.Add(parm);
  633. }
  634. if (MessageUtil.ShowYesNoAndQuestion("是否确认保存?") == DialogResult.No)
  635. {
  636. return;
  637. }
  638. _designStdCicBLL.Save(parms);
  639. MessageUtil.ShowTips("保存成功!");
  640. QueryByDesignKeyCic(_parms);
  641. }
  642. public void Delete()
  643. {
  644. List<CraftOrdDesignStdCicEntity> parms = new List<CraftOrdDesignStdCicEntity>();
  645. var rows = entityGrid1.Rows.Where(a => a.GetValue("Chk") == "True");
  646. foreach (var row in rows)
  647. {
  648. CraftOrdDesignStdCicEntity parm = EntityHelper.CopyEntity<CraftOrdDesignStdCicEntity>(row.ListObject);
  649. parm.CreateName = CoreUserInfo.UserInfo.GetUserName();
  650. parm.UpdateName = CoreUserInfo.UserInfo.GetUserName();
  651. parm.DeleteName = CoreUserInfo.UserInfo.GetUserName();
  652. parm.SpeclFl = "2";
  653. parm.DesginKey = designKey;
  654. parms.Add(parm);
  655. }
  656. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == DialogResult.No)
  657. {
  658. return;
  659. }
  660. _designStdCicBLL.Delete(parms);
  661. MessageUtil.ShowTips("删除成功!");
  662. }
  663. private void GridEdite(UltraGridRow row)
  664. {
  665. if (row.GetValue("Chk") == "True")
  666. {
  667. foreach (UltraGridCell cell in row.Cells)
  668. {
  669. if (cell.Column.CellActivation == Activation.AllowEdit
  670. || (row.Cells["CraftSource"].Value.ToString() == "轧管排产录入" && cell.Column.Key == "Cic"))
  671. {
  672. cell.Activation = Activation.AllowEdit;
  673. }
  674. }
  675. }
  676. else
  677. {
  678. foreach (UltraGridCell cell in row.Cells)
  679. {
  680. if (cell.Column.Key == "Chk") continue;
  681. cell.Activation = Activation.ActivateOnly;
  682. }
  683. }
  684. }
  685. private void entityGrid1_CellChange(object sender, CellEventArgs e)
  686. {
  687. var row = e.Cell.Row;
  688. entityGrid1.UpdateData();
  689. GridEdite(row);
  690. row.SetValue("ChemName", row.GetText("ChemCode"));
  691. row.SetValue("SizeName", row.GetText("SizeCode"));
  692. row.SetValue("SizeName2", row.GetText("SizeCode2"));
  693. row.SetValue("EleName", row.GetText("EleCode"));
  694. row.SetValue("RepName", row.GetText("RepCode"));
  695. row.SetValue("SpecJgDesc", row.GetText("SpecJg"));
  696. }
  697. private void entityGrid1_AfterRowInsert(object sender, RowEventArgs e)
  698. {
  699. e.Row.Cells["IsCheck"].Value = true;
  700. e.Row.Cells["IsJudge"].Value = true;
  701. e.Row.Cells["IsQuote"].Value = true;
  702. e.Row.Cells["ComplexType"].Value = false;
  703. e.Row.Cells["CraftSource"].Value = "1";
  704. e.Row.Cells["SPeclFl"].Value = "2";
  705. var row = entityGrid1.Rows.Where(a=>a.GetValue("SpecFl") == "2");
  706. e.Row.Cells["Cic"].Value = "" ;
  707. e.Row.Update();
  708. }
  709. private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
  710. {
  711. UltraGridRow row = entityGrid1.ActiveRow;
  712. string key = entityGrid1.ActiveCell.Column.Key;
  713. if (key == "MscPline")
  714. {
  715. DataTable dt = _designMscPlBLL.QueryMscPlineProcess(designKey);
  716. dt.Columns["MSC_PLINE"].Caption = "制程号";
  717. dt.Columns["WHOLE_BACKLOG"].Caption = "全程途径码";
  718. dt.Columns["WHOLE_BACKLOG_DESC"].Caption = "全程途径描述";
  719. dt.Columns["PROCESS_DESC"].Caption = "工序";
  720. dt.Columns["PROCESS_DESC_C"].Caption = "二级工序";
  721. dt.Columns["CIC"].Caption = "成分内控索引码";
  722. DataTable dtNew = dt.Clone();
  723. foreach (DataRow dr in dt.Rows)
  724. {
  725. string[] cics = dr["CIC"].ToString().Split(',');
  726. foreach (string cic in cics)
  727. {
  728. DataRow drNew = dtNew.NewRow();
  729. drNew["MSC_PLINE"] = dr["MSC_PLINE"];
  730. drNew["WHOLE_BACKLOG"] = dr["WHOLE_BACKLOG"];
  731. drNew["WHOLE_BACKLOG_DESC"] = dr["WHOLE_BACKLOG_DESC"];
  732. drNew["PROCESS_DESC"] = dr["PROCESS_DESC"];
  733. drNew["PROCESS_DESC_C"] = dr["PROCESS_DESC_C"];
  734. drNew["PROCESS_CODE"] = dr["PROCESS_CODE"];
  735. drNew["PROCESS_CODE_C"] = dr["PROCESS_CODE_C"];
  736. drNew["CIC"] = cic.Trim();
  737. dtNew.Rows.Add(drNew);
  738. }
  739. }
  740. BaseInfoPopup popup = new BaseInfoPopup(dtNew, "MSC_PLINE", "PIC", "SIC", "DIC", "WIC", "GIC", "PROCESS_CODE", "PROCESS_CODE_C");
  741. GridHelper.RefreshAndAutoSize(popup.UltraGrid1);
  742. popup.LabelTextBox1.Caption = "制程号";
  743. if (popup.ShowDialog() == DialogResult.OK)
  744. {
  745. row.SetValue("MscPline", popup.ChoicedRow.GetValue("MSC_PLINE"));
  746. row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C"));
  747. row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C"));
  748. row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC"));
  749. row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE"));
  750. row.SetValue("Cic", popup.ChoicedRow.GetValue("CIC"));
  751. }
  752. }
  753. else if (key == "ProcessDescC")
  754. {
  755. string mscPline = entityGrid1.ActiveRow.GetValue("MscPline");
  756. DataTable dt = _designMscPlPrcBLL.queryProcess(designKey, mscPline);
  757. dt.Columns["PROCESS_DESC"].Caption = "工序";
  758. dt.Columns["PROCESS_DESC_C"].Caption = "二级工序";
  759. BaseInfoPopup popup = new BaseInfoPopup(dt, "PROCESS_DESC_C", "PROCESS_CODE", "PROCESS_CODE_C");
  760. popup.LabelTextBox1.Caption = "二级工序";
  761. if (popup.ShowDialog() == DialogResult.OK)
  762. {
  763. row.SetValue("ProcessDescC", popup.ChoicedRow.GetValue("PROCESS_DESC_C"));
  764. row.SetValue("ProcessCodeC", popup.ChoicedRow.GetValue("PROCESS_CODE_C"));
  765. row.SetValue("ProcessDesc", popup.ChoicedRow.GetValue("PROCESS_DESC"));
  766. row.SetValue("ProcessCode", popup.ChoicedRow.GetValue("PROCESS_CODE"));
  767. }
  768. }
  769. else if (key == "Cic")
  770. {
  771. string mscPline = entityGrid1.ActiveRow.GetValue("MscPline");
  772. string processCode = entityGrid1.ActiveRow.GetValue("ProcessCode");
  773. DataTable dt = _designMscPlPrcBLL.queryProcessNkIndex(designKey, mscPline, processCode);
  774. dt.Columns["CIC"].Caption = "成分内控索引码";
  775. BaseInfoPopup popup = new BaseInfoPopup(dt, "CIC", "PIC", "SIC", "DIC", "WIC", "GIC");
  776. popup.LabelTextBox1.Caption = "成分内控索引码";
  777. if (popup.ShowDialog() == DialogResult.OK)
  778. {
  779. row.SetValue("Cic", popup.ChoicedRow.GetValue("CIC"));
  780. }
  781. }
  782. }
  783. }
  784. }