frmSendIron.cs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using CoreFS.CA06;
  9. using Core.Mes.Client.Common;
  10. using System.Collections;
  11. namespace Core.LgMes.Client.LgJobMgt
  12. {
  13. public partial class frmSendIron : frmStyleBase
  14. {
  15. public frmSendIron()
  16. {
  17. InitializeComponent();
  18. }
  19. private string _szCZSJ;
  20. private DataSet _dsTBH = new DataSet();
  21. public string _szTBH = "", _szTLCLH = "", _szMolirnsource = "", _szIronpotwgt = "", _szIrontemPerature = "", _szRsstoveNo = "", _szRsWgt;
  22. public string strVan = "";
  23. public OpeBase ob; //服务端URL
  24. public string strKR_Charge_NO = "";
  25. /// <summary>
  26. /// 获取铁水发送数据
  27. /// </summary>
  28. private void GetIronSendData(string strFlag)
  29. {
  30. string strErr = "";
  31. string strHmp = "1";
  32. string strMis = "1";
  33. if (strFlag == "True")
  34. {
  35. strHmp = "10";
  36. strMis = "9";
  37. }
  38. ArrayList arry = new ArrayList();
  39. arry.Add("GetIronSendData.Select");//此ID为XML文件ID
  40. arry.Add(strHmp); //是否显已发送数据
  41. arry.Add(strMis); //是否显已发送数据
  42. arry.Add(strHmp); //是否显已发送数据
  43. CommonClientToServer ccTs = new CommonClientToServer();
  44. ccTs.ob = ob;
  45. // 获取铁水发送数据
  46. DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob",
  47. "GetIronSendData", arry, out strErr);
  48. if (strErr == "" && ds != null)
  49. {
  50. ultraDataSource2.Rows.Clear();
  51. if (ds.Tables.Count > 0)
  52. {
  53. int intIndex = 0;
  54. foreach (DataRow dr in ds.Tables[0].Rows)
  55. {
  56. ultraDataSource2.Rows.Add(new object[] {dr["FLAG"].ToString()=="0"?false:true,
  57. dr["HEATPROCESSNO"].ToString(),
  58. dr["EQUIPMENTNO"].ToString(),
  59. dr["HUDWID"].ToString(),
  60. dr["MOLIRNLEAVE"].ToString(),
  61. dr["IRONPWRAPNO"].ToString(),
  62. dr["LEAVEWGT"].ToString(),
  63. dr["DFRSTARTTIME"],
  64. dr["DFRENDTIME"],
  65. dr["DFRTIME"].ToString(),
  66. dr["SWBTEMPERATURE"].ToString(),
  67. dr["LEAVEWGTTIME"],
  68. dr["MN"].ToString(),
  69. dr["SI"].ToString(),
  70. dr["P"].ToString(),
  71. dr["S"].ToString(),
  72. dr["IRONSOURCE"].ToString()
  73. });
  74. if (ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Value.ToString().Length > 0)
  75. {
  76. ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Appearance.BackColor = Color.LawnGreen;
  77. for (int i = 0; i < ultragridHeatNo.Rows.Count; i++)
  78. {
  79. if (ultragridHeatNo.Rows[i].Cells["HEATNO"].Value.ToString() == ultragridInIron.Rows[intIndex].Cells["MOLIRNLEAVE"].Value.ToString())
  80. ultragridHeatNo.Rows[i].Cells["HEATNO"].Appearance.BackColor = Color.LawnGreen;
  81. }
  82. }
  83. intIndex++;
  84. }
  85. }
  86. else
  87. MessageBox.Show("铁水信息查询失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  88. }
  89. }
  90. /// <summary>
  91. /// 获取计划炉次号
  92. /// </summary>
  93. private void GetPlanHeatNoData()
  94. {
  95. string strErr = "";
  96. int intBof1Count = 5;
  97. int intBof2Count = 5;
  98. int intBof1Index = 0;
  99. int intBof2Index = 0;
  100. string strBof1HeatNo = "";
  101. string strBof2HeatNo = "";
  102. ArrayList arry = new ArrayList();
  103. arry.Add("GetPlanHeatNoData.Select");//此ID为XML文件ID
  104. CommonClientToServer ccTs = new CommonClientToServer();
  105. ccTs.ob = ob;
  106. // 获取计划炉次号
  107. DataSet ds = ccTs.ExecuteQueryFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob",
  108. "GetPlanHeatNoData", arry, out strErr);
  109. if (strErr == "" && ds != null)
  110. {
  111. ultradsHeatNo.Rows.Clear();
  112. if (ds.Tables.Count > 0)
  113. {
  114. foreach (DataRow dr in ds.Tables[0].Rows)
  115. {
  116. ultradsHeatNo.Rows.Add(new object[] {dr["FLAG"].ToString()=="0"?false:true,
  117. dr["STATIONCODE"].ToString(),
  118. dr["HEATNO"].ToString(),
  119. dr["STEELNAME"].ToString()
  120. });
  121. if (dr["STATIONCODE"].ToString() == "1")
  122. {
  123. intBof1Index = intBof1Index + 1;
  124. strBof1HeatNo = dr["HEATNO"].ToString();
  125. }
  126. if (dr["STATIONCODE"].ToString() == "2")
  127. {
  128. intBof2Index = intBof2Index + 1;
  129. strBof2HeatNo = dr["HEATNO"].ToString();
  130. }
  131. }
  132. string NowTime = DateTime.Now.ToString("yyyy").Substring(3, 1);
  133. if (intBof1Index < intBof1Count)
  134. {
  135. int intMaxHeat = 0;
  136. int intMaxIndex = 1;
  137. for (int i = intBof1Index; i < intBof1Count; i++)
  138. {
  139. intMaxHeat = (Int32.Parse(strBof1HeatNo.Substring(4, 5), System.Globalization.NumberStyles.AllowLeadingSign) + intMaxIndex);
  140. ultradsHeatNo.Rows.Add(new object[] {false,
  141. "1",
  142. "J"+NowTime+"1-" + intMaxHeat.ToString().PadLeft(5, '0') + "A",
  143. ""
  144. });
  145. intMaxIndex = intMaxIndex + 1;
  146. }
  147. }
  148. if (intBof2Index < intBof2Count)
  149. {
  150. int intMaxHeat = 0;
  151. int intMaxIndex = 1;
  152. for (int i = intBof2Index; i < intBof2Count; i++)
  153. {
  154. intMaxHeat = (Int32.Parse(strBof2HeatNo.Substring(4, 5), System.Globalization.NumberStyles.AllowLeadingSign) + intMaxIndex);
  155. ultradsHeatNo.Rows.Add(new object[] {false,
  156. "2",
  157. "J"+NowTime+"2-" + intMaxHeat.ToString().PadLeft(5, '0')+ "A",
  158. ""
  159. });
  160. intMaxIndex = intMaxIndex + 1;
  161. }
  162. }
  163. ultragridHeatNo.DisplayLayout.Bands[0].Columns["HEATNO"].SortIndicator = Infragistics.Win.UltraWinGrid.SortIndicator.Ascending;
  164. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultrRow in ultragridHeatNo.Rows)
  165. {
  166. if (ultrRow.Cells["STATIONCODE"].Value.ToString() == "2")
  167. ultrRow.Appearance.BackColor = Color.LightCyan;
  168. }
  169. }
  170. else
  171. MessageBox.Show("计划炉次信息查询失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  172. }
  173. }
  174. /// <summary>
  175. /// 发送铁水数据到转炉模型
  176. /// </summary>
  177. private void SendIronDataBof()
  178. {
  179. string strSqlID = ""; //sqlId
  180. string strErr = ""; //错误信息
  181. string strCharge_NO = "";
  182. string strLadle_NO = "";
  183. string strIron_Weight = "";
  184. string strKR_Charge_NO = "";
  185. string strIron_Temp = "";
  186. string strSample_NO = "";
  187. ultragridHeatNo.UpdateData();
  188. ultragridInIron.UpdateData();
  189. //炉次计划,获取炉号
  190. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridHeatNo.Rows)
  191. {
  192. if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true)
  193. strCharge_NO = ultragr.Cells["HEATNO"].Value.ToString();
  194. }
  195. //铁水信息
  196. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridInIron.Rows)
  197. {
  198. if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true)
  199. {
  200. strLadle_NO = ultragr.Cells["IRONPWRAPNO"].Value.ToString();
  201. strIron_Weight = ultragr.Cells["LEAVEWGT"].Value.ToString();
  202. strKR_Charge_NO = ultragr.Cells["HUDWID"].Value.ToString();
  203. strIron_Temp = ultragr.Cells["SWBTEMPERATURE"].Value.ToString().Trim();//SWBTEMPERATURE
  204. if (strIron_Temp == "")//不允许铁水温度为空
  205. {
  206. if (MessageBox.Show("铁水温度不能为空,你可以在温度栏中输入温度(不推荐)!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.No)
  207. {
  208. MessageBox.Show("取消发送", "提示!", MessageBoxButtons.OK);
  209. return;
  210. }
  211. }
  212. if (ultragr.Cells["HUDWID"].Value.ToString().Substring(2, 1) != "3")
  213. strSample_NO = ultragr.Cells["IRONSOURCE"].Value.ToString();
  214. break; ;
  215. }
  216. }
  217. if (string.IsNullOrEmpty(strCharge_NO) || string.IsNullOrEmpty(strKR_Charge_NO))
  218. {
  219. MessageBox.Show("请选择要发送的铁水信息和目标炉号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  220. return;
  221. }
  222. if (MessageBox.Show("是否确认将【处理号:" + strKR_Charge_NO + "铁包号:" + strLadle_NO +
  223. "】发送给【" + strCharge_NO + "】炉次!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes)
  224. {
  225. strSqlID = "SendIronDataBof.Send"; //SQLID
  226. Hashtable ht = new Hashtable();
  227. ht.Add("I1", strCharge_NO); //炉号
  228. ht.Add("I2", strLadle_NO); //铁水罐号
  229. ht.Add("I3", strIron_Weight); //铁水重量
  230. ht.Add("I4", strKR_Charge_NO); //脱硫预处理号
  231. ht.Add("I5", strIron_Temp); //铁水温度
  232. ht.Add("I6", strSample_NO); //平台取样号
  233. ht.Add("O1", "");
  234. CommonClientToServer ccTs = new CommonClientToServer();
  235. ccTs.ob = ob;
  236. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob",
  237. "SendIronDataBof", strSqlID, ht, out strErr);
  238. if (strErr == "")
  239. {
  240. MessageBox.Show("铁水信息发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  241. GetPlanHeatNoData();
  242. GetIronSendData("False");
  243. }
  244. else
  245. MessageBox.Show("铁水信息发送失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  246. }
  247. }
  248. /// <summary>
  249. /// 取消铁水发送数据
  250. /// </summary>
  251. private void CancelIronSendData()
  252. {
  253. string strSqlID = ""; //sqlId
  254. string strErr = ""; //错误信息
  255. string strCharge_NO = "";
  256. string strLadle_NO = "";
  257. string strIron_Weight = "";
  258. string strKR_Charge_NO = "";
  259. string strIron_Temp = "";
  260. string strSample_NO = "";
  261. ultragridHeatNo.UpdateData();
  262. ultragridInIron.UpdateData();
  263. //铁水信息
  264. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ultragr in ultragridInIron.Rows)
  265. {
  266. if (Convert.ToBoolean(ultragr.Cells["FLAG"].Value) == true)
  267. {
  268. strLadle_NO = ultragr.Cells["IRONPWRAPNO"].Value.ToString();
  269. strKR_Charge_NO = ultragr.Cells["HUDWID"].Value.ToString();
  270. strCharge_NO = ultragr.Cells["MOLIRNLEAVE"].Value.ToString();
  271. break; ;
  272. }
  273. }
  274. if (string.IsNullOrEmpty(strKR_Charge_NO))
  275. {
  276. MessageBox.Show("请选择要取消发送的铁水信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  277. return;
  278. }
  279. if (string.IsNullOrEmpty(strCharge_NO))
  280. {
  281. MessageBox.Show("您选择的是未发送的铁水信息,请选择已经发送的铁水信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  282. return;
  283. }
  284. if (MessageBox.Show("是否确认取消【处理号:" + strKR_Charge_NO + "铁包号:" + strLadle_NO +
  285. "】目标炉次【" + strCharge_NO + "】铁水信息!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk) == DialogResult.Yes)
  286. {
  287. strSqlID = "CancelIronSendData.Send"; //SQLID
  288. Hashtable ht = new Hashtable();
  289. ht.Add("I1", strLadle_NO); //铁水罐号
  290. ht.Add("I2", strKR_Charge_NO); //脱硫预处理号
  291. ht.Add("O1", "");
  292. CommonClientToServer ccTs = new CommonClientToServer();
  293. ccTs.ob = ob;
  294. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.LgJobMgt.ClassHmpJob",
  295. "CancelIronSendData", strSqlID, ht, out strErr);
  296. if (strErr == "")
  297. {
  298. MessageBox.Show("铁水信息取消发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  299. GetPlanHeatNoData();
  300. GetIronSendData("False");
  301. }
  302. else
  303. MessageBox.Show("铁水信息取消发送失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  304. }
  305. }
  306. private void frmSendIron_Load(object sender, EventArgs e)
  307. {
  308. ultragridHeatNo.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.True;
  309. ultragridInIron.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.True;
  310. GetPlanHeatNoData();
  311. GetIronSendData("False");
  312. if (!string.IsNullOrEmpty(strKR_Charge_NO))
  313. {
  314. for (int i = 0; i < ultragridInIron.Rows.Count; i++)
  315. {
  316. if (ultragridInIron.Rows[i].Cells["HUDWID"].Value.ToString() == strKR_Charge_NO)
  317. ultragridInIron.Rows[i].Cells["Flag"].Value = true;
  318. }
  319. }
  320. }
  321. private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  322. {
  323. switch (e.ClickedItem.Name)
  324. {
  325. case "tlSend":
  326. {
  327. SendIronDataBof();
  328. break;
  329. }
  330. case "blCancel":
  331. {
  332. CancelIronSendData();
  333. break;
  334. }
  335. case "blExit":
  336. {
  337. this.Close();
  338. break;
  339. }
  340. case "SendOver":
  341. {
  342. GetIronSendData("True");
  343. break;
  344. }
  345. case "HideSendOver":
  346. {
  347. GetIronSendData("False");
  348. break;
  349. }
  350. default:
  351. break;
  352. }
  353. }
  354. private void ultragridInIron_Click(object sender, EventArgs e)
  355. {
  356. for (int j = 0; j < ultragridInIron.Rows.Count; j++)
  357. {
  358. if (j != ultragridInIron.ActiveRow.Index)
  359. ultragridInIron.DisplayLayout.Rows[j].Cells["Flag"].Value = false;
  360. }
  361. }
  362. private void ultragridHeatNo_Click(object sender, EventArgs e)
  363. {
  364. for (int j = 0; j < ultragridHeatNo.Rows.Count; j++)
  365. {
  366. if (j != ultragridHeatNo.ActiveRow.Index)
  367. ultragridHeatNo.DisplayLayout.Rows[j].Cells["Flag"].Value = false;
  368. }
  369. }
  370. private void ultragridInIron_AfterCellActivate(object sender, EventArgs e)
  371. {
  372. //if (e.ToString..Cell.Column.Key == "SWBTEMPERATURE") // 温度
  373. //{
  374. frmBfIronTemp frm = new frmBfIronTemp();
  375. frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
  376. frm.ob = this.ob;
  377. frm.ShowDialog();
  378. //if (frm._strHeatProcessNo != "")
  379. //{
  380. // ultragridInIronEdit.Rows[0].Cells["Temptrue"].Value = frm._strPTIronTemp;
  381. // ultragridInIronEdit.Rows[0].Cells["Temptrue"].Tag = frm._strHeatProcessNo;
  382. //}
  383. }
  384. /// <summary>
  385. /// 从弹出窗口选取温度
  386. /// </summary>
  387. /// <param name="sender"></param>
  388. /// <param name="e"></param>
  389. private void ultragridInIron_DoubleClickCell(object sender, Infragistics.Win.UltraWinGrid.DoubleClickCellEventArgs e)
  390. {
  391. if (e.Cell.Column.Key == "SWBTEMPERATURE")
  392. {
  393. frmBfIronTemp frm = new frmBfIronTemp();
  394. frm.Location = CStaticMethod.GetChildWindowLocation(frm.Size);
  395. frm.ob = this.ob;
  396. frm.ShowDialog();
  397. if (frm._strHeatProcessNo != "")
  398. {
  399. //string UserName = CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName().Trim();
  400. //string FormerTemperature= ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Text;//修改前温度
  401. //string AfterTemperature ="";//修改后温度
  402. //string MisId = ultragridInIron.ActiveRow.Cells["HUDWID"].Text;//贴
  403. object A = frm._strPTIronTemp;
  404. ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Value = frm._strPTIronTemp;
  405. //AfterTemperature = ultragridInIron.ActiveRow.Cells["SWBTEMPERATURE"].Text;
  406. //ModifyRecord(UserName, FormerTemperature, AfterTemperature, MisId);
  407. }
  408. }
  409. }
  410. //private void ModifyRecord(string UserName, string FormerTemperature, string AfterTemperature, string MisId)
  411. //{
  412. // string sql = string.Format("insert into tpm_Modify_importiron(UserName,FormerTemperature, AfterTemperature,Misid,Uptime) values('{0}','{1}','{2}','{3}',sysdate) ", UserName, FormerTemperature, AfterTemperature, MisId);
  413. // ccp.ServerName = "Core.JgMcms.BaseDataManage.OtherBaseInfo";
  414. // ccp.MethodName = "ExcuteNonQuery";
  415. // ccp.ServerParams = new object[] { strSql };
  416. // this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  417. //}
  418. }
  419. }