frmSendIron.cs 21 KB

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