SteelMakingChemJudgeFrm.cs 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929
  1. using Core.Mes.Client.Comm.Server;
  2. using Core.Mes.Client.Comm.Tool;
  3. using Core.StlMes.Client.Judge.Commons;
  4. using Core.StlMes.Client.Judge.Controls;
  5. using Core.StlMes.Client.Judge.Models;
  6. using CoreFS.CA06;
  7. using Infragistics.Win.UltraWinGrid;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Windows.Forms;
  14. namespace Core.StlMes.Client.Judge.Forms
  15. {
  16. public partial class SteelMakingChemJudgeFrm : FrmBase
  17. {
  18. //private PlnSteelforfurnaceCtrl _steelMakingCtrl;
  19. //private PlnSteelforOrdCtrl _steelForOrdCtrl;
  20. private QcmJhyElementsCtrl _jhyElementsCtrl;
  21. private QcmJhyPhyDbResultCtrl _jhyPhyDbResultCtrl;
  22. private QcmLgChemJudgeCtrl _lgChemJudgeCtrl;
  23. private QcmLgChemJudgeExceptionCtrl _lgChemJudgeExceptionCtrl;
  24. private MeltingStoveNoCtrl _meltingStoveNoCtrl;
  25. private StlIncisionCtrl _stlIncisionCtrl;
  26. private StlIncisionDtlCtrl _stlIncisionDtlCtrl;
  27. //private QcmJhyElementsBLL _jhyElementsBLL = null;
  28. private Dal _d;
  29. private PlnSteelforfurnaceEntity _steelMakingEntity = new PlnSteelforfurnaceEntity();
  30. public SteelMakingChemJudgeFrm()
  31. {
  32. InitializeComponent();
  33. IsLoadUserView = true;
  34. }
  35. protected override void OnLoad(EventArgs e)
  36. {
  37. base.OnLoad(e);
  38. _jhyElementsCtrl.UltraGrid1.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsAndCells;
  39. _stlIncisionCtrl.UltraGrid1.DisplayLayout.Override.DataErrorRowAppearance.BackColor = Color.Transparent;
  40. }
  41. private void RolledTubeChemJudgeFrm_Load(object sender, EventArgs e)
  42. {
  43. _jhyElementsCtrl = new QcmJhyElementsCtrl(ultraTabPageControl3, ob, false);
  44. _jhyElementsCtrl.BringToFront();
  45. _jhyElementsCtrl.UltraGrid1.AfterRowActivate += jhyElementsCtrl_AfterRowActivate;
  46. _jhyElementsCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
  47. _jhyPhyDbResultCtrl = new QcmJhyPhyDbResultCtrl(ultraTabPageControl4, ob);
  48. _jhyPhyDbResultCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
  49. _lgChemJudgeCtrl = new QcmLgChemJudgeCtrl(splitContainer2.Panel1, ob);
  50. _lgChemJudgeCtrl.UltraGrid1.AfterRowActivate += lgChemJudgeCtrl_AfterRowActivate;
  51. _lgChemJudgeCtrl.BringToFront();
  52. _lgChemJudgeCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
  53. _lgChemJudgeCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
  54. _lgChemJudgeExceptionCtrl = new QcmLgChemJudgeExceptionCtrl(splitContainer2.Panel2, ob);
  55. _lgChemJudgeExceptionCtrl.BringToFront();
  56. _lgChemJudgeExceptionCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False;
  57. _lgChemJudgeExceptionCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
  58. _meltingStoveNoCtrl = new MeltingStoveNoCtrl(ultraExpandableGroupBoxPanel1, ob);
  59. _meltingStoveNoCtrl.BringToFront();
  60. _meltingStoveNoCtrl.UltraGrid1.AfterRowActivate += meltingStoveNoCtrl_AfterRowActivate;
  61. _meltingStoveNoCtrl.UltraGrid1.Click += meltingStoveNoCtrl_Click;
  62. dataTable1.Clear();
  63. dataTable1.Rows.Add("00", "编制中");
  64. dataTable1.Rows.Add("10", "已下发");
  65. dataTable1.Rows.Add("20", "生产中");
  66. dataTable1.Rows.Add("30", "已生产");
  67. dataTable1.Rows.Add("40", "关闭");
  68. _stlIncisionCtrl = new StlIncisionCtrl(splitContainer3.Panel1, ob,CustomInfo);
  69. _stlIncisionCtrl.UltraGrid1.AfterRowActivate += stlIncisionCtrl_AfterRowActivate;
  70. _stlIncisionCtrl.UltraGrid1.Click += stlIncisionCtrl_Click;
  71. _stlIncisionDtlCtrl = new StlIncisionDtlCtrl(splitContainer3.Panel2, ob);
  72. _d = new Dal(ob);
  73. //_popupGridCtrl.UltraGrid1.DisplayLayout.Bands[0].Columns["State"].Hidden = true;
  74. //labelDateTimePicker1.Checked = true;
  75. labelDateTimePicker1.Checked = true;
  76. labelDateTimePicker1.Value = DateTime.Now.Date.AddDays(-3);
  77. labelDateTimePicker2.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  78. checkBox3.Checked = true;
  79. dateTimePicker1.Value = DateTime.Now.Date.AddDays(-3);
  80. dateTimePicker2.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  81. labelDateTimePicker4.Checked = true;
  82. labelDateTimePicker4.Value = DateTime.Now.Date.AddDays(-3);
  83. labelDateTimePicker3.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  84. JudgeBaseInfo.LoadPlineName(ultraComboEditor2, ob, true, "A");
  85. ClsBaseInfo.FillComBaseInfo(labelComboBox1.ComboBox, "407401", ob, false);
  86. //判定结果只显示内控合格和不合格。 40740101内控合格 40740102内控不合格
  87. DataTable dt = (DataTable)labelComboBox1.ComboBox.DataSource;
  88. for (int i = 0; i < dt.Rows.Count; i++)
  89. {
  90. if (dt.Rows[i]["BASECODE"].ToString() != "40740101"
  91. && dt.Rows[i]["BASECODE"].ToString() != "40740102")
  92. {
  93. dt.Rows[i].Delete();
  94. }
  95. }
  96. DataRow dr = dt.NewRow();
  97. dr["BASECODE"] = "1";
  98. dr["BASENAME"] = "已判";
  99. dt.Rows.InsertAt(dr, 0);
  100. dr = dt.NewRow();
  101. dr["BASECODE"] = "0";
  102. dr["BASENAME"] = "未判";
  103. dt.Rows.InsertAt(dr, 0);
  104. dt.AcceptChanges();
  105. ClsBaseInfo.SetComboItemHeight(labelComboBox1.ComboBox);
  106. labelComboBox3.ComboBox.DataSource = dt;
  107. labelComboBox3.ComboBox.ValueMember = "BASECODE";
  108. labelComboBox3.ComboBox.DisplayMember = "BASENAME";
  109. ClsBaseInfo.SetComboItemHeight(labelComboBox3.ComboBox);
  110. JudgeBaseInfo.LoadPlineName(labelComboBox2.ComboBox, ob, false, "A");
  111. JudgeBaseInfo.LoadPlineName(labelComboBox5.ComboBox, ob, false, "B", "C");
  112. JudgeBaseInfo.LoadPlineName(labelComboBox4.ComboBox, ob, false, "B", "C");
  113. }
  114. void stlIncisionCtrl_Click(object sender, EventArgs e)
  115. {
  116. }
  117. void meltingStoveNoCtrl_Click(object sender, EventArgs e)
  118. {
  119. //string stoveNo = _meltingStoveNoCtrl.UltraGrid1.GetActiveRowValue("StoveNo");
  120. //_stlIncisionCtrl.Query(stoveNo);
  121. }
  122. void stlIncisionCtrl_AfterRowActivate(object sender, EventArgs e)
  123. {
  124. try
  125. {
  126. this.Cursor = Cursors.WaitCursor;
  127. var row = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  128. DataRow craftDbCnt = _d.GetRowByXmlId("QcmJhyPhyDbResultDAL.queryJhyDbCnt", row.GetValue("judgeStoveNo"));
  129. if (craftDbCnt["COUNT"].ToString() == "0" && !row.GetValue("steelStandrad").Contains("PIC"))
  130. {
  131. ultraTabControl2.Tabs[1].Visible = false;
  132. }
  133. else
  134. {
  135. ultraTabControl2.Tabs[1].Visible = true;
  136. }
  137. DataRow drGpApply = _d.GetRowByXmlId("QcmGpJugdeApplyDAL.queryGpApplyByJudgeStoveNo2", row.GetValue("judgeStoveNo"));
  138. QueryJhyElements(drGpApply);
  139. if (row.GetValue("plineCode") == "C063" || row.GetValue("plineCode") == "C064" || row.GetValue("lkFlag") == "利库"
  140. || row.GetValue("gpType") == "2" || drGpApply != null && drGpApply["oldGradecode"].ToString() != ""
  141. && drGpApply["oldCic"].ToString() != "") //外购坯、利库
  142. {
  143. _stlIncisionDtlCtrl.QueryApply(row.GetValue("jugdeApplyCode"), row.GetValue("jugdeApplySqe"), row.GetValue("judgeStoveNo"));
  144. }
  145. else
  146. {
  147. _stlIncisionDtlCtrl.QueryStl(row.GetValue("judgeStoveNo"));
  148. }
  149. }
  150. finally
  151. {
  152. this.Cursor = Cursors.Default;
  153. }
  154. }
  155. void meltingStoveNoCtrl_AfterRowActivate(object sender, EventArgs e)
  156. {
  157. //if (_meltingStoveNoCtrlQuery == false) return;
  158. if (_meltingStoveNoCtrl.UltraGrid1.ActiveRow == null) return;
  159. _jhyElementsCtrl.ClearData();
  160. _jhyPhyDbResultCtrl.ClearData();
  161. _stlIncisionDtlCtrl.Clear();
  162. string stoveNo = _meltingStoveNoCtrl.UltraGrid1.ActiveRow.GetValue("StoveNo");
  163. _stlIncisionCtrl.Query(stoveNo);
  164. }
  165. void jhyElementsCtrl_AfterRowActivate(object sender, EventArgs e)
  166. {
  167. //if (_jhyElementsCtrl.TipMsg != "无")
  168. //{
  169. // var stlRow = ((DataRowView)_stlIncisionCtrl.UltraGrid1.ActiveRow.ListObject).Row;
  170. // stlRow.RowError = _jhyElementsCtrl.TipMsg;
  171. //}
  172. //else
  173. //{
  174. // var stlRow = ((DataRowView)_stlIncisionCtrl.UltraGrid1.ActiveRow.ListObject).Row;
  175. // stlRow.RowError = "";
  176. //}
  177. }
  178. public override void ToolBar_Click(object sender, string ToolbarKey)
  179. {
  180. base.ToolBar_Click(sender, ToolbarKey);
  181. switch (ToolbarKey)
  182. {
  183. case "Query":
  184. Query();
  185. break;
  186. case "Judge":
  187. Judge();
  188. break;
  189. case "UpdateMemo":
  190. UpdateMemo();
  191. break;
  192. case "Delete":
  193. Delete();
  194. break;
  195. }
  196. }
  197. private bool _stlIncisionQuery = true;
  198. private void Query()
  199. {
  200. try
  201. {
  202. this.Cursor = Cursors.WaitCursor;
  203. //_d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.AddChemData");
  204. string judgeTimeB = labelDateTimePicker1.Checked ? labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
  205. string judgeTimeE = labelDateTimePicker1.Checked ? labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
  206. string judgeState = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : "";
  207. string stoveNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "";
  208. string judgeStoveNo = labelTextBox4.Checked ? labelTextBox4.Text.Trim() : "";
  209. string[] plines;
  210. if (labelComboBox2.ComboBox.Value == null || !labelComboBox2.Checked)
  211. {
  212. plines = new string[0];
  213. }
  214. else
  215. {
  216. plines = ((List<object>)labelComboBox2.ComboBox.Value).Select(a => a.ToString()).ToArray();
  217. }
  218. string chemType = ultraOptionSet2.Value.ToString();
  219. string gpSource = ultraOptionSet3.Value.ToString2();
  220. string[] plinesGp;
  221. if (labelComboBox5.ComboBox.Value == null || !labelComboBox5.Checked)
  222. {
  223. plinesGp = new string[0];
  224. }
  225. else
  226. {
  227. plinesGp = ((List<object>)labelComboBox5.ComboBox.Value).Select(a => a.ToString()).ToArray();
  228. }
  229. switch (ultraTabControl1.SelectedTab.Text)
  230. {
  231. case "成分判定":
  232. _stlIncisionQuery = true;
  233. _jhyElementsCtrl.ClearData();
  234. _jhyPhyDbResultCtrl.ClearData();
  235. _stlIncisionDtlCtrl.Clear();
  236. _stlIncisionCtrl.Query(stoveNo, judgeStoveNo, judgeState, judgeTimeB, judgeTimeE, plines, chemType, gpSource, plinesGp);
  237. break;
  238. case "判定记录":
  239. _lgChemJudgeExceptionCtrl.Clear();
  240. string stoveNo2 = labelTextBox3.Checked ? labelTextBox3.Text.Trim() : "";
  241. string judgeStoveNo2 = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : "";
  242. string judgeResult = labelComboBox3.Checked ? labelComboBox3.SelecteValue.ToString2() : "";
  243. string judgeTimeB2 = labelDateTimePicker4.Checked ? labelDateTimePicker4.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
  244. string judgeTimeE2 = labelDateTimePicker4.Checked ? labelDateTimePicker3.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
  245. string[] plines2;
  246. if (labelComboBox4.ComboBox.Value == null || !labelComboBox4.Checked)
  247. {
  248. plines2 = new string[0];
  249. }
  250. else
  251. {
  252. plines2 = ((List<object>)labelComboBox4.ComboBox.Value).Select(a => a.ToString()).ToArray();
  253. }
  254. QueryJudgeRecord(stoveNo2, judgeStoveNo2, judgeResult, judgeTimeB2, judgeTimeE2, plines2);
  255. break;
  256. }
  257. }
  258. finally
  259. {
  260. this.Cursor = Cursors.Default;
  261. }
  262. }
  263. private void Judge()
  264. {
  265. if (_stlIncisionCtrl.UltraGrid1.ActiveRow == null)
  266. {
  267. MessageUtil.ShowWarning("请选择切割记录!");
  268. return;
  269. }
  270. var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  271. string judgeStoveNo = stlRow.GetValue("judgeStoveNo");
  272. string stoveNo = stlRow.GetValue("stoveNo");
  273. //if (stlRow.GetValue("judgeresultChem") == "")
  274. //{
  275. // MessageUtil.ShowWarning("请选择判定结果!", _stlIncisionCtrl.UltraGrid1, _stlIncisionCtrl.UltraGrid1.ActiveRow.Cells["judgeresultChem"]);
  276. // return;
  277. //}
  278. //IQueryable<UltraGridRow> chkRows = _jhyElementsCtrl.UltraGrid1.Rows.AsQueryable().Where(a=>a.GetValue("Chk") == "True");
  279. //if (chkRows.Count() == 0)
  280. //{
  281. // if (_jhyElementsCtrl.UltraGrid1.Rows.Count >= 4)
  282. // {
  283. // MessageUtil.ShowWarning("请选择成分实绩信息!", _jhyElementsCtrl.UltraGrid1, _jhyElementsCtrl.UltraGrid1.Rows[3]);
  284. // }
  285. // else
  286. // {
  287. // MessageUtil.ShowWarning("请选择成分实绩信息!", _jhyElementsCtrl.UltraGrid1);
  288. // }
  289. // return;
  290. //}
  291. if (_jhyElementsCtrl.UltraGrid1.Rows.Count == 6)
  292. {
  293. MessageUtil.ShowWarning("没有成分实绩信息!");
  294. return;
  295. }
  296. //DataRow drSteelMaking = null;
  297. //if (stlRow.GetValue("proPlanId").StartsWith("ZG"))
  298. //{
  299. // drSteelMaking = _d.GetRowByXmlId("SteelMakingAdvanceJudgeDAL.queryCraftDesignKeyByZgProPlanId", stlRow.GetValue("proPlanId"));
  300. //}
  301. //else
  302. //{
  303. // drSteelMaking = _d.GetRowByXmlId("SteelMakingAdvanceJudgeDAL.queryCraftDesignKeyByGpreqId", stlRow.GetValue("proPlanId"));
  304. //}
  305. //_jhyElementsBLL.QuerySteelMakingDesignKey(stlRow.GetValue("Pro_Plan_Id"));
  306. //DataRow drChemCnt = _d.GetRowByXmlId("QcmJhyElementsDAL.QueryCraftChemCnt", drSteelMaking["desginKey"].ToString());
  307. // //_jhyElementsBLL.QueryCraftChemCnt(drSteelMaking["DESGIN_KEY"].ToString());
  308. //if (drChemCnt != null)
  309. //{
  310. // if (int.Parse(drChemCnt["SmeltingCntN"].ToString()) != chkRows.Count())
  311. // {
  312. // string msg = string.Format("内控要求熔炼成分套数为{0}套, 请勾选{0}条成分实绩!", drChemCnt["SmeltingCntN"].ToString());
  313. // var row = chkRows.FirstOrDefault();
  314. // MessageUtil.ShowWarning(msg, _jhyElementsCtrl.UltraGrid1, row);
  315. // return;
  316. // }
  317. //}
  318. //只有内控合格的需要判断,内控不合格不需要。
  319. //string chemResultCode = "";
  320. //foreach (var chkRow in chkRows)
  321. //{
  322. // string errMsg = "";
  323. // var ccp = _d.Set("com.steering.pss.judge.comm.ChemJudgeHelper.Judge", drSteelMaking["desginKey"].ToString(), stlRow.GetValue("cic"),
  324. // drSteelMaking["mscPline"].ToString(), "A", new string[] { "2" }, chkRow.GetValue("Assayno"));
  325. // errMsg = ((object[])ccp.ReturnObject)[1].ToString();
  326. // if (errMsg != "")
  327. // {
  328. // chemResultCode = "40740102";
  329. // break;
  330. // }
  331. // else
  332. // {
  333. // chemResultCode = "40740101";
  334. // }
  335. //}
  336. if (MessageUtil.ShowYesNoAndQuestion("是否确认进行判定?") == System.Windows.Forms.DialogResult.No)
  337. {
  338. return;
  339. }
  340. //List<QcmJhyElementsEntity> jhyElements = new List<QcmJhyElementsEntity>();
  341. //QcmLgChemjudgeEntity lgChemJudge = new QcmLgChemjudgeEntity();
  342. //lgChemJudge.CreateName = UserInfo.GetUserName();
  343. //lgChemJudge.JudgeOrderno = stlRow.GetValue("proPlanId");
  344. ////lgChemJudge.JudgeresultChem = chemResultCode;
  345. //lgChemJudge.JudgeStoveNo = stlRow.GetValue("judgeStoveNo");
  346. //lgChemJudge.Memo = _stlIncisionCtrl.UltraGrid1.GetActiveRowValue("Memo");
  347. //lgChemJudge.Orderisunchain = "0";
  348. //lgChemJudge.PlanOrderno = stlRow.GetValue("proPlanId");
  349. //lgChemJudge.PlineCode = stlRow.GetValue("plineCode");
  350. //lgChemJudge.ProcessCdoe = "B";
  351. //lgChemJudge.ProcessDesc = "铸造";
  352. //lgChemJudge.StoveNo = stlRow.GetValue("stoveNo");
  353. //lgChemJudge.Assayno = string.Join(",", chkRows.Select(a => a.GetValue("Assayno")).ToArray());//逗号分隔
  354. //lgChemJudge.DesignKey = drSteelMaking["desginKey"].ToString();
  355. //lgChemJudge.MscPline = drSteelMaking["mscPline"].ToString();
  356. //lgChemJudge.Cic = drSteelMaking["cic"].ToString();
  357. //foreach (var chkRow in chkRows)
  358. //{
  359. // QcmJhyElementsEntity jhyElement = new QcmJhyElementsEntity();
  360. // jhyElement.Assayno = chkRow.GetValue("Assayno");
  361. // jhyElements.Add(jhyElement);
  362. //}
  363. var judgeResult = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.judge", stlRow.GetValue("judgeStoveNo"),
  364. stlRow.GetValue("plineCode"), stlRow.GetValue("lkFlag"), UserInfo.GetUserName(), stlRow.GetValue("memo"));
  365. if (judgeResult.ReturnInfo != "")
  366. {
  367. MessageUtil.ShowWarning(judgeResult.ReturnInfo);
  368. return;
  369. }
  370. MessageUtil.ShowTips("判定成功!");
  371. if (_stlIncisionQuery)
  372. {
  373. _stlIncisionCtrl.UltraGrid1.BeginUpdate();
  374. Query();
  375. var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault();
  376. if (reloacteStlRow != null)
  377. {
  378. reloacteStlRow.Activate();
  379. }
  380. _stlIncisionCtrl.UltraGrid1.EndUpdate();
  381. }
  382. else
  383. {
  384. meltingStoveNoCtrl_AfterRowActivate(null, null);
  385. var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault();
  386. if (relocateMeltingRow != null)
  387. {
  388. relocateMeltingRow.Activate();
  389. }
  390. }
  391. }
  392. private void Delete()
  393. {
  394. var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  395. if (stlRow == null)
  396. {
  397. MessageUtil.ShowWarning("请选择切割记录!");
  398. return;
  399. }
  400. string judgeStoveNo = stlRow.GetValue("judgeStoveNo");
  401. string stoveNo = stlRow.GetValue("stoveNo");
  402. DataRow dr = _d.GetRowByXmlId("QcmLgJudgeDAL.queryCntByJudgeStoveNo", judgeStoveNo, "B");
  403. if (dr[0].ToString() != "0")
  404. {
  405. MessageUtil.ShowWarning("该记录已综合判定,不能删除!");
  406. return;
  407. }
  408. if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == System.Windows.Forms.DialogResult.No)
  409. {
  410. return;
  411. }
  412. var ccp = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.deleteJhyElements", stlRow.GetValue("stoveNo"));
  413. if (ccp.ReturnInfo != "")
  414. {
  415. MessageUtil.ShowWarning(ccp.ReturnInfo);
  416. return;
  417. }
  418. else
  419. {
  420. MessageUtil.ShowTips("删除成功!");
  421. }
  422. if (_stlIncisionQuery)
  423. {
  424. _stlIncisionCtrl.UltraGrid1.BeginUpdate();
  425. Query();
  426. var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault();
  427. if (reloacteStlRow != null)
  428. {
  429. reloacteStlRow.Activate();
  430. }
  431. _stlIncisionCtrl.UltraGrid1.EndUpdate();
  432. }
  433. else
  434. {
  435. meltingStoveNoCtrl_AfterRowActivate(null, null);
  436. var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault();
  437. if (relocateMeltingRow != null)
  438. {
  439. relocateMeltingRow.Activate();
  440. }
  441. }
  442. }
  443. private void UpdateMemo()
  444. {
  445. var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  446. if (stlRow == null)
  447. {
  448. MessageUtil.ShowWarning("请选择切割记录!");
  449. return;
  450. }
  451. string judgeStoveNo = stlRow.GetValue("judgeStoveNo");
  452. string stoveNo = stlRow.GetValue("stoveNo");
  453. DataRow drChemJudge = _d.GetRowByXmlId("QcmLgChemJudgeDAL.queryCntByJudgeStoveNo", judgeStoveNo, "B");
  454. if (drChemJudge[0].ToString() == "0")
  455. {
  456. MessageUtil.ShowWarning("该记录没有成分判定记录,不能修改备注!");
  457. return;
  458. }
  459. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == System.Windows.Forms.DialogResult.No)
  460. {
  461. return;
  462. }
  463. var ccp = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.updateMemo", judgeStoveNo, stlRow.GetValue("memo"));
  464. if (ccp.ReturnInfo != "")
  465. {
  466. MessageUtil.ShowWarning(ccp.ReturnInfo);
  467. return;
  468. }
  469. else
  470. {
  471. MessageUtil.ShowTips("修改成功!");
  472. }
  473. if (_stlIncisionQuery)
  474. {
  475. _stlIncisionCtrl.UltraGrid1.BeginUpdate();
  476. Query();
  477. var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault();
  478. if (reloacteStlRow != null)
  479. {
  480. reloacteStlRow.Activate();
  481. }
  482. _stlIncisionCtrl.UltraGrid1.EndUpdate();
  483. }
  484. else
  485. {
  486. meltingStoveNoCtrl_AfterRowActivate(null, null);
  487. var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault();
  488. if (relocateMeltingRow != null)
  489. {
  490. relocateMeltingRow.Activate();
  491. }
  492. }
  493. }
  494. private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e)
  495. {
  496. labelDateTimePicker2.DateTimeEnabled = labelDateTimePicker1.Checked;
  497. }
  498. private void QueryJhyElements(DataRow drGpApply)
  499. {
  500. if (_jhyElementsCtrl == null || _jhyPhyDbResultCtrl == null || _stlIncisionCtrl == null || _stlIncisionCtrl.UltraGrid1.ActiveRow == null)
  501. {
  502. return;
  503. }
  504. _jhyElementsCtrl.ClearData();
  505. _jhyPhyDbResultCtrl.ClearData();
  506. var row = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  507. DataTable dtCraftCic = null;
  508. string[] zgProPlanIds;
  509. if (row.GetValue("plineCode") == "C063" || row.GetValue("plineCode") == "C064" || row.GetValue("lkFlag") == "利库"
  510. || row.GetValue("gpType") == "2") //外购坯、利库
  511. {
  512. string judgeApplyCode = drGpApply["jugdeApplyCode"].ToString();
  513. string judgeApplySeq = drGpApply["jugdeApplySqe"].ToString();
  514. string judgeStoveNo = drGpApply["judgeStoveNo"].ToString();
  515. string stoveNo = drGpApply["stoveNo"].ToString();
  516. DataTable dtGpApply = _d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo);
  517. zgProPlanIds = GetGpJudgeApplyZgPlanId(judgeApplyCode, judgeApplySeq, judgeStoveNo,stoveNo, _d.Ob);
  518. }
  519. else
  520. {
  521. zgProPlanIds = GetStlInsitionZgPlanId(row.GetValue("judgeStoveNo"),row.GetValue("stoveNo"), _d.Ob);
  522. }
  523. DataRow drPlnCic = _d.GetRowByXmlId("PlnSteelforOrdDAL.getCicByJudgeStoveNo", row.GetValue("judgeStoveNo"));
  524. string[] cics = new string[1];
  525. if (drPlnCic != null)
  526. {
  527. cics = drPlnCic["cic"].ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  528. }
  529. else if (drGpApply != null)
  530. {
  531. cics[0] = drGpApply["cic"].ToString();
  532. }
  533. dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanId", new object[] { zgProPlanIds, cics.Length, cics });
  534. //增加余材获取成分
  535. if (dtCraftCic.Rows.Count <= 0)
  536. {
  537. drPlnCic = _d.GetRowByXmlId("PlnSteelforOrdDAL.getCicByProPlanId", new object[] { zgProPlanIds });
  538. cics = new string[1];
  539. if (drPlnCic != null)
  540. {
  541. cics = drPlnCic["cic"].ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
  542. }
  543. else if (drGpApply != null)
  544. {
  545. cics[0] = drGpApply["cic"].ToString();
  546. }
  547. dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanId", new object[] { zgProPlanIds, cics.Length, cics });
  548. if (dtCraftCic.Rows.Count <= 0)
  549. {
  550. dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanIdNew", new object[] { zgProPlanIds });
  551. }
  552. }
  553. if (dtCraftCic == null) return;
  554. //FillLkCic(drGpApply, dtCraftCic);
  555. if (ultraTabControl2.SelectedTab.Text == "低倍信息")
  556. {
  557. string lgJudgeStoveNo = row.GetValue("judgeStoveNo");
  558. if (drGpApply != null && drGpApply["judgeStoveNoLg"].ToString() != "")
  559. {
  560. lgJudgeStoveNo = drGpApply["judgeStoveNoLg"].ToString();
  561. }
  562. _jhyPhyDbResultCtrl.Query(lgJudgeStoveNo);
  563. }
  564. else
  565. {
  566. _jhyElementsCtrl.QueryCraftResultByStoveNo(row.GetValue("stoveNo"), row.GetValue("judgeStoveNo"), dtCraftCic, "A",zgProPlanIds);
  567. }
  568. }
  569. private void FillLkCic(DataRow drGpApply, DataTable dtCraftCic)
  570. {
  571. if (drGpApply != null && drGpApply["Cic"].ToString() != "" && drGpApply["lkFlag"].ToString() == "1")
  572. {
  573. bool sameCic = false;
  574. foreach (DataRow drCraftCic in dtCraftCic.Rows)
  575. {
  576. if (drCraftCic["cic"].ToString() == drGpApply["cic"].ToString())
  577. {
  578. sameCic = true;
  579. }
  580. }
  581. if (!sameCic)
  582. {
  583. foreach (DataRow drCraftCic in dtCraftCic.Rows)
  584. {
  585. drCraftCic["cic"] = drGpApply["cic"].ToString();
  586. }
  587. }
  588. }
  589. }
  590. public static string[] GetGpJudgeApplyZgPlanId(string judgeApplyCode, string judgeApplySeq, string judgeStoveNo,string stoveNo, OpeBase ob)
  591. {
  592. Dal d = new Dal(ob);
  593. DataTable dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo);
  594. List<string> zgProPlanIds = new List<string>();
  595. foreach (DataRow gpJudgeApply in dtGpApply.Rows)
  596. {
  597. string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString();
  598. string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString();
  599. string proPlanId = gpJudgeApply["proPlanId"].ToString();
  600. if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG"))
  601. {
  602. zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext);
  603. }
  604. else
  605. {
  606. string zzProPlanId = "";
  607. if (proPlanIdNext != "")
  608. {
  609. zzProPlanId = proPlanIdNext;
  610. }
  611. else
  612. {
  613. zzProPlanId = proPlanId;
  614. }
  615. if (proPlanIdNext.StartsWith("ZG"))
  616. {
  617. zgProPlanIds.Add(proPlanIdNext);
  618. }
  619. DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId);
  620. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  621. {
  622. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  623. }
  624. }
  625. }
  626. //增加余材获取成分
  627. if (zgProPlanIds.Count <= 0)
  628. {
  629. dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo,stoveNo);
  630. foreach (DataRow gpJudgeApply in dtGpApply.Rows)
  631. {
  632. string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString();
  633. string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString();
  634. string proPlanId = gpJudgeApply["proPlanId"].ToString();
  635. if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG"))
  636. {
  637. zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext);
  638. }
  639. else
  640. {
  641. string zzProPlanId = "";
  642. if (proPlanIdNext != "")
  643. {
  644. zzProPlanId = proPlanIdNext;
  645. }
  646. else
  647. {
  648. zzProPlanId = proPlanId;
  649. }
  650. DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId);
  651. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  652. {
  653. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  654. }
  655. }
  656. }
  657. }
  658. return zgProPlanIds.ToArray();
  659. }
  660. public static string[] GetStlInsitionZgPlanId(string judgeStoveNo,string stoveNo, OpeBase ob)
  661. {
  662. Dal d = new Dal(ob);
  663. DataTable dtStl = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getStlPlnIdByJudgeStoveNo", judgeStoveNo);
  664. List<string> zgProPlanIds = new List<string>();
  665. foreach (DataRow drStl in dtStl.Rows)
  666. {
  667. string[] aryProPlanIds = drStl["proPlanId"].ToString().Split(',');
  668. string[] aryGxPlanNos = drStl["gxPlanNo"].ToString().Split(',');
  669. for (int i = 0; i < aryProPlanIds.Length; i++)
  670. {
  671. string proPlanId = aryProPlanIds[i];
  672. string gxPlanNo = aryGxPlanNos[i];
  673. if (proPlanId.StartsWith("ZG"))
  674. {
  675. zgProPlanIds.Add(proPlanId + gxPlanNo);
  676. }
  677. else
  678. {
  679. DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", proPlanId);
  680. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  681. {
  682. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  683. }
  684. }
  685. }
  686. }
  687. //增加余材获取成分 查询分切表
  688. if (zgProPlanIds.Count <= 0)
  689. {
  690. dtStl = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getStlPlnIdByStoveNo", judgeStoveNo, stoveNo);
  691. foreach (DataRow drStl in dtStl.Rows)
  692. {
  693. string[] aryProPlanIds = drStl["proPlanId"].ToString().Split(',');
  694. string[] aryGxPlanNos = drStl["gxPlanNo"].ToString().Split(',');
  695. for (int i = 0; i < aryProPlanIds.Length; i++)
  696. {
  697. string proPlanId = aryProPlanIds[i];
  698. string gxPlanNo = aryGxPlanNos[i];
  699. if (proPlanId.StartsWith("ZG"))
  700. {
  701. zgProPlanIds.Add(proPlanId + gxPlanNo);
  702. }
  703. else
  704. {
  705. DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", proPlanId);
  706. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  707. {
  708. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  709. }
  710. }
  711. }
  712. }
  713. }
  714. //增加余材获取成分 查询申判表
  715. if (zgProPlanIds.Count <= 0)
  716. {
  717. DataTable dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByStoveNoApplyNo", "", "", judgeStoveNo, stoveNo);
  718. foreach (DataRow gpJudgeApply in dtGpApply.Rows)
  719. {
  720. string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString();
  721. string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString();
  722. string proPlanId = gpJudgeApply["proPlanId"].ToString();
  723. if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG"))
  724. {
  725. zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext);
  726. }
  727. else
  728. {
  729. string zzProPlanId = "";
  730. if (proPlanIdNext != "")
  731. {
  732. zzProPlanId = proPlanIdNext;
  733. }
  734. else
  735. {
  736. zzProPlanId = proPlanId;
  737. }
  738. DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId);
  739. foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows)
  740. {
  741. zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString());
  742. }
  743. }
  744. }
  745. }
  746. return zgProPlanIds.ToArray();
  747. }
  748. private void QueryJudgeRecord(string stoveNo, string judgeStoveNo, string judgeResult, string judgeTimeB, string judgeTimeE, string[] plines)
  749. {
  750. _lgChemJudgeCtrl.QuerySteelMaking(stoveNo, judgeStoveNo, judgeResult, judgeTimeB, judgeTimeE, plines);
  751. }
  752. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  753. {
  754. //PlnOrderZgFrm plnOrderZgFrm = new PlnOrderZgFrm(ultraTextEditor1.Text.Trim(), ob);
  755. //if (plnOrderZgFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  756. //{
  757. // ultraTextEditor1.Text = plnOrderZgFrm.ActiveProOrderNo;
  758. //}
  759. }
  760. private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  761. {
  762. try
  763. {
  764. this.Cursor = Cursors.WaitCursor;
  765. _stlIncisionQuery = false;
  766. string[] values;
  767. if (ultraComboEditor1.Value == null || !checkBox1.Checked)
  768. {
  769. values = new string[0];
  770. }
  771. else
  772. {
  773. values = ((List<object>)ultraComboEditor1.Value).Select(a => a.ToString()).ToArray();
  774. }
  775. _stlIncisionCtrl.Clear();
  776. _jhyElementsCtrl.ClearData();
  777. _jhyPhyDbResultCtrl.ClearData();
  778. string stoveNo = ultraTextEditor2.Text.Trim();
  779. string plineCode = checkBox2.Checked ? ultraComboEditor2.Value.ToString2() : "";
  780. string judgeState = ultraOptionSet1.Value.ToString2();
  781. string timeB = checkBox3.Checked ? dateTimePicker1.Value.ToString("yyy-MM-dd HH:mm:ss") : "";
  782. string timeE = checkBox3.Checked ? dateTimePicker2.Value.ToString("yyy-MM-dd HH:mm:ss") : "";
  783. _meltingStoveNoCtrl.LgChemQuery(stoveNo, values, plineCode, judgeState, timeB, timeE);
  784. }
  785. finally
  786. {
  787. this.Cursor = Cursors.Default;
  788. }
  789. }
  790. private void labelDateTimePicker4_CheckBox_CheckedChanged(object sender, EventArgs e)
  791. {
  792. labelDateTimePicker3.DateTimeEnabled = labelDateTimePicker4.Checked;
  793. }
  794. void lgChemJudgeCtrl_AfterRowActivate(object sender, EventArgs e)
  795. {
  796. var row = _lgChemJudgeCtrl.UltraGrid1.ActiveRow;
  797. _lgChemJudgeExceptionCtrl.QuerySteelMaking(row.GetValue("chemJudgeId"));
  798. }
  799. private void checkBox1_CheckedChanged(object sender, EventArgs e)
  800. {
  801. ultraComboEditor1.Enabled = checkBox1.Checked;
  802. }
  803. private void checkBox3_CheckedChanged(object sender, EventArgs e)
  804. {
  805. dateTimePicker2.Enabled = dateTimePicker1.Enabled = checkBox3.Checked;
  806. }
  807. private void checkBox2_CheckedChanged(object sender, EventArgs e)
  808. {
  809. ultraComboEditor2.Enabled = checkBox2.Checked;
  810. }
  811. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  812. {
  813. try
  814. {
  815. this.Cursor = Cursors.WaitCursor;
  816. if (toolMenu == null || toolMenu.Toolbars.Count == 0) return;
  817. if (ultraTabControl1.ActiveTab.Index == 0)
  818. {
  819. if (this.toolMenu.Toolbars[0].Tools.Exists("Judge")) this.toolMenu.Toolbars[0].Tools["Judge"].SharedProps.Visible = true;
  820. if (this.toolMenu.Toolbars[0].Tools.Exists("UpdateMemo")) this.toolMenu.Toolbars[0].Tools["UpdateMemo"].SharedProps.Visible = true;
  821. if (this.toolMenu.Toolbars[0].Tools.Exists("Delete")) this.toolMenu.Toolbars[0].Tools["Delete"].SharedProps.Visible = true;
  822. }
  823. else if (ultraTabControl1.ActiveTab.Index == 1)
  824. {
  825. if (this.toolMenu.Toolbars[0].Tools.Exists("Judge")) this.toolMenu.Toolbars[0].Tools["Judge"].SharedProps.Visible = false;
  826. if (this.toolMenu.Toolbars[0].Tools.Exists("UpdateMemo")) this.toolMenu.Toolbars[0].Tools["UpdateMemo"].SharedProps.Visible = false;
  827. if (this.toolMenu.Toolbars[0].Tools.Exists("Delete")) this.toolMenu.Toolbars[0].Tools["Delete"].SharedProps.Visible = false;
  828. }
  829. }
  830. finally
  831. {
  832. this.Cursor = Cursors.Default;
  833. }
  834. }
  835. private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  836. {
  837. try
  838. {
  839. this.Cursor = Cursors.WaitCursor;
  840. if (_stlIncisionCtrl == null || _stlIncisionCtrl.UltraGrid1 == null) return;
  841. var row = _stlIncisionCtrl.UltraGrid1.ActiveRow;
  842. DataRow drGpApply = _d.GetRowByXmlId("QcmGpJugdeApplyDAL.queryGpApplyByJudgeStoveNo2", row.GetValue("judgeStoveNo"));
  843. QueryJhyElements(drGpApply);
  844. }
  845. finally
  846. {
  847. this.Cursor = Cursors.Default;
  848. }
  849. }
  850. private void labelTextBox4_TextBox_KeyDown(object sender, KeyEventArgs e)
  851. {
  852. if (e.KeyData == Keys.Enter)
  853. {
  854. Query();
  855. }
  856. }
  857. private void ultraTextEditor2_KeyDown(object sender, KeyEventArgs e)
  858. {
  859. if (e.KeyData == Keys.Enter)
  860. {
  861. ultraTextEditor2_EditorButtonClick(null, null);
  862. }
  863. }
  864. private void labelTextBox2_TextBox_KeyDown(object sender, KeyEventArgs e)
  865. {
  866. if (e.KeyData == Keys.Enter)
  867. {
  868. Query();
  869. }
  870. }
  871. }
  872. }