StaticFunction.cs 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Drawing;
  5. using System.Windows.Forms;
  6. using Infragistics.Win.UltraWinGrid;
  7. using System.Data;
  8. using CoreFS.CA06;
  9. using System.Collections;
  10. using Core.Mes.Client.Common;
  11. namespace Core.LgMes.Client.LgResMgt
  12. {
  13. class StaticFunction
  14. {
  15. CoreFS.CA06.OpeBase ob=null;
  16. public static DataSet FrmDataSet = new DataSet();
  17. public static Point GetChildWindowLocation(Size ChildWindowSize)
  18. {
  19. int width = Cursor.Position.X + ChildWindowSize.Width - Screen.PrimaryScreen.Bounds.Width;
  20. int height = Cursor.Position.Y + ChildWindowSize.Height - Screen.PrimaryScreen.Bounds.Height + 30;
  21. width = (width > 0) ? (Cursor.Position.X - width) : Cursor.Position.X; // X坐标
  22. height = (height > 0) ? (Cursor.Position.Y - height + 10) : (Cursor.Position.Y + 10); // Y坐标
  23. return new Point(width, height);
  24. }
  25. public static bool IsDouble(string AValue)
  26. {
  27. try
  28. {
  29. Convert.ToDouble(AValue);
  30. return true;
  31. }
  32. catch
  33. {
  34. return false;
  35. }
  36. }
  37. public static void CheckNumValidate(string szVal)
  38. {
  39. try
  40. {
  41. Convert.ToDecimal(szVal);
  42. }
  43. catch (Exception ex)
  44. {
  45. MessageBox.Show(ex.Message, "提示");
  46. }
  47. }
  48. public static bool CheckNumIsValidated(string szVal)
  49. {
  50. try
  51. {
  52. if (szVal != "")
  53. Convert.ToDecimal(szVal);
  54. return true;
  55. }
  56. catch (Exception ex)
  57. {
  58. MessageBox.Show(ex.Message, "提示");
  59. return false;
  60. }
  61. }
  62. /// <summary>
  63. /// 设置Grid 的编辑性
  64. /// </summary>
  65. /// <param name="Grid"></param>
  66. public static void SetRowEdit(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
  67. {
  68. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in Grid.Rows)
  69. {
  70. row.Activation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;
  71. }
  72. }
  73. /// <summary>
  74. /// 设置Grid的Cell的DropDownList绑定下拉的形式
  75. /// </summary>
  76. /// <param name="MasterColumnName">要设置的列</param>
  77. /// <param name="TableName">要设置的表名</param>
  78. /// <param name="caption">列头的中文</param>
  79. /// <param name="ColumnWidth">列宽</param>
  80. /// <param name="Grid">要设置的Grid</param>
  81. /// <param name="DropTable">下拉绑定的表</param>
  82. /// <param name="ValueMember">值对应的字段名</param>
  83. /// <param name="DisplayMember">显示对应的字段名</param>
  84. public static void SetGridDropDownList(string MasterColumnName, string TableName, string caption, int ColumnWidth, Infragistics.Win.UltraWinGrid.UltraGridBase Grid, System.Data.DataTable DropTable, string ValueMember, string DisplayMember)
  85. {
  86. try
  87. {
  88. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Hidden = false;
  89. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Caption = caption;
  90. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center;
  91. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Width = ColumnWidth;
  92. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  93. Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown();
  94. Grid.FindForm().Controls.Add(ultraCombo);
  95. ultraCombo.DisplayMember = DisplayMember;
  96. ultraCombo.ValueMember = ValueMember;
  97. ultraCombo.Visible = false;
  98. ultraCombo.DataSource = DropTable.DefaultView;
  99. ultraCombo.Width = ColumnWidth;
  100. foreach (System.Data.DataColumn col in DropTable.Columns)
  101. {
  102. if (col.ColumnName != DisplayMember)
  103. {
  104. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true;
  105. }
  106. else
  107. {
  108. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false;
  109. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width;
  110. }
  111. }
  112. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].ValueList = ultraCombo;
  113. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextHAlign = Infragistics.Win.HAlign.Left;
  114. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextVAlign = Infragistics.Win.VAlign.Middle;
  115. }
  116. catch (System.Exception ex)
  117. {
  118. Console.WriteLine(ex.ToString());
  119. }
  120. }
  121. /// <summary>
  122. /// 设置Grid的Cell的DropDownList绑定下拉的形式
  123. /// </summary>
  124. /// <param name="MasterColumnName">要设置的列</param>
  125. /// <param name="TableName">要设置的表名</param>
  126. /// <param name="caption">列头的中文</param>
  127. /// <param name="ColumnWidth">列宽</param>
  128. /// <param name="Grid">要设置的Grid</param>
  129. /// <param name="DropTable">下拉绑定的表</param>
  130. /// <param name="ValueMember">值对应的字段名</param>
  131. /// <param name="DisplayMember">显示对应的字段名</param>
  132. public static void SetGridDropDown(string MasterColumnName, string TableName, string caption, int ColumnWidth, Infragistics.Win.UltraWinGrid.UltraGridBase Grid, System.Data.DataTable DropTable, string ValueMember, string DisplayMember)
  133. {
  134. try
  135. {
  136. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Hidden = false;
  137. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Caption = caption;
  138. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Header.Appearance.TextHAlign = Infragistics.Win.HAlign.Center;
  139. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Width = ColumnWidth;
  140. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDown;
  141. Infragistics.Win.UltraWinGrid.UltraDropDown ultraCombo = new Infragistics.Win.UltraWinGrid.UltraDropDown();
  142. Grid.FindForm().Controls.Add(ultraCombo);
  143. ultraCombo.DisplayMember = DisplayMember;
  144. ultraCombo.ValueMember = ValueMember;
  145. ultraCombo.Visible = false;
  146. ultraCombo.DataSource = DropTable.DefaultView;
  147. ultraCombo.Width = ColumnWidth;
  148. foreach (System.Data.DataColumn col in DropTable.Columns)
  149. {
  150. if (col.ColumnName != DisplayMember)
  151. {
  152. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Hidden = true;
  153. }
  154. else
  155. {
  156. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Band.ColHeadersVisible = false;
  157. ultraCombo.DisplayLayout.Bands[0].Columns[col.ColumnName].Width = ultraCombo.Width;
  158. }
  159. }
  160. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].ValueList = ultraCombo;
  161. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextHAlign = Infragistics.Win.HAlign.Left;
  162. Grid.DisplayLayout.Bands[TableName].Columns[MasterColumnName].CellAppearance.TextVAlign = Infragistics.Win.VAlign.Middle;
  163. }
  164. catch (System.Exception ex)
  165. {
  166. Console.WriteLine(ex.ToString());
  167. }
  168. }
  169. /// <summary>
  170. /// 新增数据
  171. /// </summary>
  172. /// <param name="Grid"></param>
  173. public static void Add(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
  174. {
  175. try
  176. {
  177. Grid.UpdateData();
  178. UltraGridRow ur = Grid.DisplayLayout.Bands[0].AddNew();
  179. ur.Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  180. }
  181. catch { }
  182. }
  183. /// <summary>
  184. /// 查询数据
  185. /// </summary>
  186. public static void Query(string szTableName)
  187. {
  188. string szOut = "";
  189. object obj = null; //hengxing RemotingHelp.ExecuteMethod(par, out szOut);
  190. if (szOut == "" && obj != null)
  191. {
  192. DataTable dt = ((DataSet)obj).Tables[0];
  193. dt.TableName = szTableName;
  194. if (FrmDataSet.Tables.Contains(szTableName))
  195. FrmDataSet.Tables[szTableName].Clear();
  196. FrmDataSet.Merge(dt);
  197. }
  198. }
  199. /// <summary>
  200. /// 修改数据
  201. /// </summary>
  202. /// <param name="Grid"></param>
  203. public static void Update(Infragistics.Win.UltraWinGrid.UltraGridBase Grid)
  204. {
  205. if (Grid.ActiveRow == null)
  206. {
  207. MessageBox.Show("请确认你要修改的记录行", "提示", System.Windows.Forms.MessageBoxButtons.OK);
  208. return;
  209. }
  210. SetRowEdit(Grid);
  211. Grid.ActiveRow.Activation = Activation.AllowEdit;
  212. }
  213. /// <summary>
  214. /// 删除数据
  215. /// </summary>
  216. /// <param name="Grid"></param>
  217. public static void Delete(Infragistics.Win.UltraWinGrid.UltraGrid Grid)
  218. {
  219. if (Grid.Selected.Rows.Count > 0)
  220. {
  221. System.Windows.Forms.DialogResult t = MessageBox.Show("你确认要删除选择行?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo);
  222. if (t == System.Windows.Forms.DialogResult.Yes)
  223. {
  224. Grid.DeleteSelectedRows(false);
  225. }
  226. Grid.UpdateData();
  227. return;
  228. }
  229. else if (Grid.DisplayLayout.ActiveRow != null)
  230. {
  231. System.Windows.Forms.DialogResult t = MessageBox.Show("你确认要删除选择行?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo);
  232. if (t == System.Windows.Forms.DialogResult.Yes)
  233. {
  234. Grid.DisplayLayout.ActiveRow.Delete(false);
  235. }
  236. Grid.UpdateData();
  237. return;
  238. }
  239. else
  240. {
  241. MessageBox.Show("请确认你要删除的行", "提示", System.Windows.Forms.MessageBoxButtons.OK);
  242. }
  243. }
  244. /// <summary>
  245. /// 取消当前操作
  246. /// </summary>
  247. /// <param name="Grid"></param>
  248. public static void Cancel(Infragistics.Win.UltraWinGrid.UltraGrid Grid, string szTableName)
  249. {
  250. if (Grid.DisplayLayout.ActiveRow != null && Grid.DisplayLayout.ActiveRow.IsAddRow)
  251. {
  252. System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo);
  253. if (t == System.Windows.Forms.DialogResult.Yes)
  254. {
  255. Grid.DisplayLayout.ActiveRow.Delete(false);
  256. FrmDataSet.Tables[szTableName].RejectChanges();
  257. SetRowEdit(Grid);
  258. return;
  259. }
  260. else
  261. {
  262. return;
  263. }
  264. }
  265. Grid.UpdateData();
  266. if (FrmDataSet.GetChanges() != null)
  267. {
  268. System.Windows.Forms.DialogResult t = MessageBox.Show("已有数据改变,确认取消?", "提示", System.Windows.Forms.MessageBoxButtons.YesNo);
  269. if (t == System.Windows.Forms.DialogResult.Yes)
  270. {
  271. FrmDataSet.RejectChanges();
  272. SetRowEdit(Grid);
  273. if (Grid.ActiveCell != null)
  274. {
  275. Grid.ActiveCell.Activated = false;
  276. }
  277. }
  278. }
  279. }
  280. /// <summary>
  281. /// 检查是否正常交班
  282. /// </summary>
  283. /// <returns></returns>
  284. public static bool CheckIsChangeClass(string szGW, string szBC, DateTime currTime)
  285. {
  286. try
  287. {
  288. string szOut = "", szWhere = "", szClass = "", strError = "";
  289. szClass = GetPrevClass(szBC);
  290. #region "取交接班标志"
  291. szWhere = " where StationCode='" + szGW + "' and ShiftCode='" + szClass + "' and to_char(ESDATE,'yyyy-MM-dd')='" + currTime.ToString("yyyy-MM-dd") + "' and ABNORMITYFLAG = '0'";
  292. DataSet ds = null;//hengxing (DataSet)Core.Mes.ClientFrameWork.ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.LfsCollect", "GetChangeClassInfo", new object[] { szWhere }, out strError);
  293. //szWhere = " where GWCode='" + szGW + "' and BCCode='" + szClass + "' and to_char(JJBDateTime,'yyyy-MM-dd')='" + DateTime.Now.ToString("yyyy-MM-dd") + "' and YCJJBFLAG='0'";
  294. //CallingMessage par = new CallingMessage();
  295. //par.ServerName = "lgResMgt";
  296. //par.AssemblyName = "Core.LgMes.Server.LgResMgt";
  297. //par.ClassName = "Core.LgMes.Server.LgResMgt.HopperConfigure";
  298. //par.MethodName = "GetChangeClassInfo";
  299. //par.args = new object[] { szWhere };
  300. //object obj = RemotingHelp.ExecuteMethod(par, out szOut);
  301. if (szOut == "" && ds.Tables.Count > 0)
  302. {
  303. DataTable dt = ds.Tables[0];
  304. if (dt.Rows.Count > 0 && dt.Rows[0]["AFFIRMFLAG"].ToString() == "1")
  305. {
  306. return true;
  307. }
  308. else
  309. {
  310. return false;
  311. }
  312. }
  313. #endregion
  314. }
  315. catch { }
  316. return false;
  317. }
  318. /// <summary>
  319. /// 获取当前班次的上一个班次
  320. /// </summary>
  321. /// <returns></returns>
  322. private static string GetPrevClass(string szBC)
  323. {
  324. int n = 0, k = 0;
  325. string szClass = "";
  326. try
  327. {
  328. n = Convert.ToInt32(szBC.Substring(0, 1));
  329. k = Convert.ToInt32(szBC.Substring(1, 1));
  330. switch (n)
  331. {
  332. case 1:
  333. n = 3;
  334. break;
  335. case 2:
  336. n = 1;
  337. break;
  338. case 3:
  339. n = 2;
  340. break;
  341. default:
  342. break;
  343. }
  344. switch (k)
  345. {
  346. case 1:
  347. k = 4;
  348. break;
  349. case 2:
  350. k = 1;
  351. break;
  352. case 3:
  353. k = 2;
  354. break;
  355. case 4:
  356. k = 3;
  357. break;
  358. default:
  359. break;
  360. }
  361. szClass = n.ToString() + k.ToString();
  362. }
  363. catch { }
  364. return szClass;
  365. }
  366. /// <summary>
  367. /// 检查是否异常交班
  368. /// </summary>
  369. /// <returns></returns>
  370. public static bool CheckIsExceptionClass(string szGW, string szBC, DateTime currTime)
  371. {
  372. try
  373. {
  374. string szOut = "", szWhere = "", strError = "";
  375. #region "取交接班标志"
  376. szWhere = " where StationCode='" + szGW + "' and ShiftCode='" + szBC + "' and to_char(ESDATE,'yyyy-MM-dd')='" + currTime.ToString("yyyy-MM-dd") + "' and ABNORMITYFLAG = '1'";
  377. DataSet ds = null;//hengxing (DataSet)Core.Mes.ClientFrameWork.ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.LfsCollect", "GetChangeClassInfo", new object[] { szWhere }, out strError);
  378. //szWhere = " where GWCode='" + szGW + "' and BCCode='" + szBC + "' and to_char(JJBDateTime,'yyyy-MM-dd')='" + DateTime.Now.ToString("yyyy-MM-dd") + "' and YCJJBFLAG='1'";
  379. //CallingMessage par = new CallingMessage();
  380. //par.ServerName = "lgResMgt";
  381. //par.AssemblyName = "Core.LgMes.Server.LgResMgt";
  382. //par.ClassName = "Core.LgMes.Server.LgResMgt.HopperConfigure";
  383. //par.MethodName = "GetChangeClassInfo";
  384. //par.args = new object[] { szWhere };
  385. //object obj = RemotingHelp.ExecuteMethod(par, out szOut);
  386. if (szOut == "" && ds.Tables.Count > 0)
  387. {
  388. if (ds.Tables[0].Rows.Count > 0)
  389. {
  390. return true;
  391. }
  392. else
  393. {
  394. return false;
  395. }
  396. }
  397. #endregion
  398. }
  399. catch { }
  400. return false;
  401. }
  402. /// <summary>
  403. /// 取当前班次
  404. /// </summary>
  405. public static string GetClassCode()
  406. {
  407. #region "取班次编码"
  408. string szOut = "", m_szCurrClass = "";
  409. m_szCurrClass = null;//hengxing ((string)ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.Iron", "BanCiBanBie", null, out szOut)).Trim().ToString();
  410. if (m_szCurrClass.Length > 1)
  411. m_szCurrClass = m_szCurrClass.Substring(0, 1);
  412. return (m_szCurrClass);
  413. #endregion
  414. }
  415. /// <summary>
  416. /// 获取项目数据
  417. /// </summary>
  418. /// <param name="strXMType">项目类型</param>
  419. private static DataTable GetJJBXMData( string strXMType, string strGWCode)
  420. {
  421. try
  422. {
  423. //string szWhere = " Where XMType = '" + strXMType + "' and GWCode = '" + strGWCode + "' ", strError = "";
  424. //CallingMessage par = new CallingMessage();
  425. //par.ServerName = "lgResMgt";
  426. //par.AssemblyName = "Core.LgMes.Server.LgResMgt";
  427. //par.ClassName = "Core.LgMes.Server.LgResMgt.HopperConfigure";
  428. //par.MethodName = "GetHCXMData";
  429. //par.args = new object[] { szWhere };
  430. //object obj = RemotingHelp.ExecuteMethod(par, out strError);
  431. string strError = "";
  432. string szWhere = " Where ITEMTYPE = '" + strXMType + "' and STATIONCODE = '" + strGWCode + "' ";
  433. DataSet ds = null;//hengxing (DataSet)Core.Mes.ClientFrameWork.ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.LfsCollect", "GetHCXMData", new object[] { szWhere }, out strError);
  434. if (strError == "" && ds.Tables.Count > 0)
  435. {
  436. DataTable dt = ds.Tables[0];
  437. return dt;
  438. }
  439. else
  440. {
  441. return null;
  442. }
  443. }//end try
  444. catch
  445. {
  446. //WriteLog("Core.LgMes.Server.LgResMgt.HopperConfigure" + exp.Message);
  447. return null;
  448. }
  449. }
  450. private static void AddQG_DT_JJBXMDetail(string strJJBID, string strXMCode, string strXMSJType, string strXMValue)
  451. {
  452. try
  453. {
  454. string strError = "";
  455. //hengxing Core.Mes.ClientFrameWork.ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.LfsCollect", "AddQG_DT_JJBXMDetail", new object[] { strJJBID, strXMCode, strXMSJType, strXMValue }, out strError);
  456. if (strError != "")
  457. {
  458. MessageBox.Show(strError);
  459. }
  460. }//end try
  461. catch
  462. {
  463. //WriteLog("Core.LgMes.Server.LgResMgt.HopperConfigure" + exp.Message);
  464. }
  465. }
  466. /// <summary>
  467. /// 确认交班数据
  468. /// </summary>
  469. public static void SetChangeClassInfo( string szBC, string szGW, string szJBR, DateTime currTime)
  470. {
  471. return;
  472. try
  473. {
  474. //if (CheckIsExceptionClass(RemotingHelp, szGW, szBC))
  475. // return;
  476. string strJJBID = szGW + currTime.ToString("yyyyMMddHHmm"), strError = "";
  477. //hengxing ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt", "Core.LgMes.Server.LgResMgt.LfsCollect", "Add_DT_JJBMain", new object[] { strJJBID, szGW, szBC, currTime.ToString("yyyy-MM-dd HH:mm:ss"), szJBR, "1", "", "1" }, out strError);
  478. if (strError != "")
  479. {
  480. MessageBox.Show(strError);
  481. }
  482. //获取设备运行状态项目数据
  483. DataTable SBYXDt = GetJJBXMData("设备运行", szGW);
  484. //获取耗材消耗项目数据
  485. DataTable HCXHDt = GetJJBXMData("耗材消耗", szGW);
  486. //新增交接班详表数据
  487. //耗材消耗
  488. for (int i = 0; i < HCXHDt.Rows.Count; i++)
  489. {
  490. AddQG_DT_JJBXMDetail( strJJBID, HCXHDt.Rows[i]["ITEMCODE"].ToString(), "1", "0");
  491. }
  492. //交接班设备运行
  493. for (int i = 0; i < SBYXDt.Rows.Count; i++)
  494. {
  495. AddQG_DT_JJBXMDetail( strJJBID, SBYXDt.Rows[i]["ITEMCODE"].ToString(), "0", "1");
  496. }
  497. }//end try
  498. catch (System.Exception exp)
  499. {
  500. string str = exp.Message;
  501. }
  502. finally
  503. {
  504. }
  505. }
  506. public static int caculateTime(DateTime startTime, DateTime endTime)
  507. {
  508. int lStayDuration = 0;
  509. TimeSpan odtSpan;
  510. if (endTime > startTime)
  511. {
  512. odtSpan = endTime - startTime;
  513. lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
  514. }
  515. else if (startTime != endTime)
  516. {
  517. if (startTime > DateTime.Now)
  518. lStayDuration = 0;
  519. else
  520. {
  521. odtSpan = DateTime.Now - startTime;
  522. lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
  523. }
  524. }
  525. return lStayDuration;
  526. }
  527. /// <summary>
  528. /// 检查是否为当天的记录
  529. /// </summary>
  530. /// <param name="RemotingHelp"></param>
  531. /// <param name="szGW"></param>
  532. /// <param name="szBC"></param>
  533. /// <returns></returns>
  534. public static bool CheckIsTodayNote( string szTableName, string szWhere)
  535. {
  536. try
  537. {
  538. string szOut = "";//, szWhere = "";
  539. #region "在数据库里面查找炉号是否为当天生成的炉号记录"
  540. //szWhere = " where to_char(czsj, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd') and HEATNO='"+szHEATNO+"'";
  541. //hengxing
  542. //CallingMessage par = new CallingMessage();
  543. //par.ServerName = "lgResMgt";
  544. //par.AssemblyName = "Core.LgMes.Server.LgResMgt";
  545. //par.ClassName = "Core.LgMes.Server.LgResMgt.SendCommand";
  546. //par.MethodName = "QueryStove";
  547. //par.args = new object[] { szTableName, szWhere };
  548. object obj = null;// RemotingHelp.ExecuteMethod(par, out szOut);
  549. if (szOut == "" && obj != null)
  550. {
  551. DataTable dt = ((DataSet)obj).Tables[0];
  552. if (dt.Rows.Count > 0)
  553. {
  554. return true;
  555. }
  556. else
  557. {
  558. return false;
  559. }
  560. }
  561. #endregion
  562. }
  563. catch { }
  564. return false;
  565. }
  566. /// <summary>
  567. /// 检查是否有修改权限
  568. /// </summary>
  569. /// <param name="RemotingHelp"></param>
  570. /// <param name="szTableName"></param>
  571. /// <param name="szWhere"></param>
  572. /// <returns></returns>
  573. public static bool CheckIsPurview()
  574. {
  575. try
  576. {
  577. string szOut = "";//, szWhere = "";
  578. #region ""
  579. CoreFS.CA06.FrmBase frmb = new FrmBase();
  580. string szWhere = " and a.loginid='" + frmb.UserInfo.GetUserID() + "'";
  581. //hengxing
  582. //CallingMessage par = new CallingMessage();
  583. //par.ServerName = "lgResMgt";
  584. //par.AssemblyName = "Core.LgMes.Server.LgResMgt";
  585. //par.ClassName = "Core.LgMes.Server.LgResMgt.SendCommand";
  586. //par.MethodName = "QueryUpdatePurview";
  587. //par.args = new object[] { szWhere };
  588. object obj = null;// RemotingHelp.ExecuteMethod(par, out szOut);
  589. if (szOut == "" && obj != null)
  590. {
  591. DataTable dt = ((DataSet)obj).Tables[0];
  592. if (dt.Rows.Count > 0 && dt.Rows[0]["UPDATEFLAG"].ToString() == "1")
  593. {
  594. return true;
  595. }
  596. else
  597. {
  598. return false;
  599. }
  600. }
  601. #endregion
  602. }
  603. catch { }
  604. return false;
  605. }
  606. /// <summary>
  607. /// 保存实绩修改日志
  608. /// </summary>
  609. /// <param name="strHeatNo">炉号</param>
  610. /// <param name="strStationCode">岗位</param>
  611. /// <param name="strDisposalTime">处理次数</param>
  612. /// <param name="strOptName">操作员</param>
  613. /// <param name="_UpdateColumnName">字段</param>
  614. /// <param name="_UpdateBefore">修改之前的值</param>
  615. /// <param name="_UpdateAfter">修改之后的值</param>
  616. public static bool SaveUpdateLog(string strHeatNo, string strStationCode, string strDisposalTime,
  617. Hashtable _UpdateColumnName, Hashtable _UpdateBefore, Hashtable _UpdateAfter,OpeBase ob)
  618. {
  619. ArrayList alColumnName = new ArrayList(); //保存字段名
  620. ArrayList alColumnCaption = new ArrayList(); //保存字段中文名
  621. ArrayList alUpdateBefore = new ArrayList(); //保存字段修改之前的值
  622. ArrayList alUpdateAfter = new ArrayList(); //保存字段修改之后的值
  623. foreach (DictionaryEntry deColumnName in _UpdateColumnName)
  624. {
  625. alColumnName.Add(deColumnName.Key);
  626. alColumnCaption.Add(deColumnName.Value);
  627. if (_UpdateBefore.Contains(deColumnName.Key))
  628. alUpdateBefore.Add(_UpdateBefore[deColumnName.Key]);
  629. if (_UpdateAfter.Contains(deColumnName.Key))
  630. alUpdateAfter.Add(_UpdateAfter[deColumnName.Key]);
  631. }
  632. string strSqlID = "SaveUpdateLog.Update";
  633. object[] sArgs = new object[8];
  634. sArgs[0] = strHeatNo; //熔炼号
  635. sArgs[1] = strStationCode; //岗位
  636. sArgs[2] = strDisposalTime; //处理次数
  637. FrmBase frmb = new FrmBase();
  638. sArgs[3] = frmb.UserInfo.GetUserName(); //操作员
  639. sArgs[4] = alColumnName; //保存字段名
  640. sArgs[5] = alColumnCaption; //保存字段中文名
  641. sArgs[6] = alUpdateBefore; //保存字段修改之前的值
  642. sArgs[7] = alUpdateAfter; //保存字段修改之后的值
  643. string strError = "";
  644. try
  645. {
  646. CommonClientToServer ccTs = new CommonClientToServer();
  647. ccTs.ob = ob;
  648. string strRCode = ccTs.ExecuteProcedureFunctions("Core.LgMes.Server.Common.ComDBProcedure",
  649. "ExecProcWithCollParam", strSqlID, sArgs, out strError);
  650. //hengxing Core.Mes.ClientFrameWork.ClientCommon._RemotingHelp.ExecuteMethod("lgResMgt",
  651. // "Core.LgMes.Server.LgResMgt.Bof",
  652. // "SaveUpdateLog", new object[] { sArgs }, out strError);
  653. if (strError != "")
  654. {
  655. MessageBox.Show("实绩修改日志保存不成功!\n" + strError, "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  656. return false;
  657. }
  658. else
  659. return true;
  660. }
  661. catch (System.Exception exp)
  662. {
  663. MessageBox.Show("实绩修改日志保存不成功!\n" + exp.ToString(), "错误!", MessageBoxButtons.OK, MessageBoxIcon.Error);
  664. return false;
  665. }
  666. }
  667. /// <summary>
  668. /// 获取铁水化学成分检验号
  669. /// </summary>
  670. /// <param name="strMolirnSource">上道工序主键</param>
  671. /// <returns></returns>
  672. public static string GetMolirnSource(string strMolirnSource,OpeBase ob)
  673. {
  674. string strErr = "";
  675. string strCheckNo = "";
  676. string strSqlID = "";
  677. bool blHmp = false;
  678. ArrayList arry = new ArrayList();
  679. switch (strMolirnSource.Substring(0, 1))
  680. {
  681. case "M":
  682. strSqlID = "GetMisMMolirnSource.select";
  683. break;
  684. case "Z":
  685. strSqlID = "GetMisZMolirnSource.select";
  686. break;
  687. case "D":
  688. case "B":
  689. strSqlID = "GetHmpMolirnSource.select";
  690. blHmp = true;
  691. break;
  692. default:
  693. break;
  694. }
  695. if (strSqlID != "")
  696. {
  697. arry.Add(strSqlID);
  698. arry.Add(strMolirnSource);
  699. if (blHmp == true) arry.Add(strMolirnSource);
  700. CommonClientToServer cctos = new CommonClientToServer();
  701. cctos.ob = ob;
  702. DataSet ds = cctos.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery",
  703. "doSimpleQuery", arry, out strErr);
  704. if (strErr == "" && ds != null)
  705. {
  706. if (ds.Tables[0].Rows.Count > 0)
  707. strCheckNo = ds.Tables[0].Rows[0][0].ToString();
  708. }
  709. }
  710. return strCheckNo;
  711. }
  712. }
  713. }