ClsResCcmBLL.cs 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. using System;
  2. using System.Collections;
  3. using System.Data;
  4. using System.Linq;
  5. using Core.Mes.Client.Comm.Tool;
  6. using Core.StlMes.Client.LgClassModel;
  7. using Core.StlMes.Client.LgCommon;
  8. using CoreFS.CA06;
  9. namespace Core.StlMes.Client.LgResMgt
  10. {
  11. public class ClsResCcmBLL
  12. {
  13. public static Hashtable GetHashtableFromDataset(DataSet ds)
  14. {
  15. try
  16. {
  17. Hashtable htbl = new Hashtable();
  18. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  19. {
  20. DataRow row = ds.Tables[0].Rows[0];
  21. DataColumn col = null;
  22. for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
  23. {
  24. col = ds.Tables[0].Columns[i];
  25. try
  26. {
  27. if (htbl.Contains(col.ColumnName.ToUpper()))
  28. htbl.Remove(col.ColumnName.ToUpper());
  29. htbl.Add(col.ColumnName.ToUpper(), row[i]);
  30. }
  31. catch { }
  32. }
  33. }
  34. return htbl;
  35. }
  36. catch { }
  37. return null;
  38. }
  39. //查询连铸机工序操作记录表
  40. public static StlCcmOptinfoEntity GetStlCcmOptinfoEntity(string strStoveNo, OpeBase ob, string stationcode)
  41. {
  42. try
  43. {
  44. var list =
  45. EntityHelper.GetData<StlCcmOptinfoEntity>(
  46. "Core.LgMes.Server.LgDeviceManager.PerformanceManage.SelectStlCcmOptinfoEntity",
  47. new object[] { strStoveNo }, ob);
  48. if (list == null || list.Count <= 0)
  49. {
  50. return new StlCcmOptinfoEntity() { StoveNo = strStoveNo, Disposaltime = "01", Stationcode = stationcode };
  51. }
  52. return list.FirstOrDefault();
  53. }
  54. catch (Exception ex)
  55. {
  56. return new StlCcmOptinfoEntity() { StoveNo = strStoveNo };
  57. }
  58. }
  59. public static Hashtable GetJobInfo(string strHeatProcessNo, string strStoveNo, OpeBase ob)
  60. {
  61. try
  62. {
  63. string strMsg = "";
  64. bool bSuccess = false;
  65. //string strSql = "select * from stl_ccm_optinfo t where t.heatprocessno = '" + strHeatProcessNo + "' "
  66. // + "union all select * from j#stl_ccm_optinfo t where t.heatprocessno = '" + strHeatProcessNo + "' ";
  67. //strSql = "select a.*, b.fact_route from (" + strSql + ") a, ppc_steel_heat b where a.STOVE_NO = b.STOVE_NO(+)";
  68. string strSql = @"
  69. SELECT A.*,
  70. B.AIM_STEEL_QTY,
  71. DECODE(B.IF_MONITOR_LG, '1', '监制', '不监制') MONITORFLAG,
  72. B.PLAN_ROUTE
  73. FROM (SELECT *
  74. FROM STL_CCM_OPTINFO T
  75. WHERE T.STOVE_NO = '{0}'
  76. UNION ALL
  77. SELECT *
  78. FROM J#STL_CCM_OPTINFO T
  79. WHERE T.STOVE_NO = '{0}') A
  80. LEFT JOIN PLN_STEELFORFURNACE B
  81. ON A.STOVE_NO = B.STOVE_NO
  82. LEFT JOIN PPC_STEEL_HEAT C
  83. ON A.STOVE_NO = C.STOVE_NO";
  84. strSql = string.Format(strSql, strStoveNo);
  85. DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
  86. if (ds.Tables[0].Rows.Count <= 0)
  87. {
  88. var rows = ds.Tables[0].NewRow();
  89. rows["STOVE_NO"] = strStoveNo;
  90. ds.Tables[0].Rows.Add(rows);
  91. }
  92. Hashtable htbl = GetHashtableFromDataset(ds);
  93. return htbl;
  94. }
  95. catch { }
  96. return null;
  97. }
  98. //查询浇次信息
  99. public static Hashtable GetCastInfo(string strCastNo, OpeBase ob)
  100. {
  101. try
  102. {
  103. string strMsg = "";
  104. bool bSuccess = false;
  105. string strSql = "SELECT * FROM STL_CCM_MOULDINFO T WHERE T.MOULDNO = '" + strCastNo + "'";
  106. DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
  107. Hashtable htbl = GetHashtableFromDataset(ds);
  108. return htbl;
  109. }
  110. catch { }
  111. return null;
  112. }
  113. //手动温度的表
  114. public static DataSet GetManualTempData(string HeatNo, string DisposalTime, int DEVICE_POS, OpeBase ob)
  115. {
  116. string strTableName = "";
  117. if (DEVICE_POS == 1) strTableName = "STL_CCM_F1SAMPLING";
  118. else if (DEVICE_POS == 2) strTableName = "STL_CCM_F2SAMPLING";
  119. else if (DEVICE_POS == 3) strTableName = "STL_CCM_F3SAMPLING";
  120. else if (DEVICE_POS == 4) strTableName = "STL_CCM_F4SAMPLING";
  121. else if (DEVICE_POS == 5) strTableName = "STL_CCM_F5SAMPLING";
  122. if (string.IsNullOrEmpty(strTableName)) return null;
  123. string strMsg = "";
  124. bool bSuccess = false;
  125. string strSql = "";
  126. strSql += Convert.ToString("SELECT *").Trim() + " ";
  127. strSql += Convert.ToString(" FROM (SELECT ROW_NUMBER() OVER(PARTITION BY T.TEMP ORDER BY T.SAMPLINGTIME) XH,").Trim() + " ";
  128. strSql += Convert.ToString(" T.*").Trim() + " ";
  129. strSql += Convert.ToString(" FROM (SELECT ROUND(T.MIDLADLETEMP) TEMP,").Trim() + " ";
  130. strSql += Convert.ToString(" T.S1CASTSPEED,").Trim() + " ";
  131. strSql += Convert.ToString(" T.S2CASTSPEED,").Trim() + " ";
  132. strSql += Convert.ToString(" T.S3CASTSPEED,").Trim() + " ";
  133. strSql += Convert.ToString(" T.S4CASTSPEED,").Trim() + " ";
  134. strSql += Convert.ToString(" T.S5CASTSPEED,").Trim() + " ";
  135. strSql += Convert.ToString(" DECODE(T.S6CASTSPEED, 0, NULL, T.S6CASTSPEED) S6CASTSPEED,").Trim() + " ";
  136. // strSql += Convert.ToString(" DECODE(T.S7CASTSPEED, 0, NULL, T.S7CASTSPEED) S7CASTSPEED,").Trim() + " ";
  137. strSql += Convert.ToString(" GREATEST(T.ARMLADLEAWEIGHT, T.ARMLADLEBWEIGHT) ARMBIGPOTTOTALWEIGHT,").Trim() + " ";
  138. strSql += Convert.ToString(" GREATEST(T.MIDLADLE1WEIGHT, T.MIDLADLE2WEIGHT) MIDLADLEWEIGHT,").Trim() + " ";
  139. strSql += Convert.ToString(" TO_CHAR(T.LASTFRESHTIME, 'YYYY-MM-DD HH24:MI:SS') SAMPLINGTIME").Trim() + " ";
  140. strSql += Convert.ToString(" FROM " + strTableName + " T").Trim() + " ";
  141. strSql += Convert.ToString(" WHERE T.HEATNO = '" + HeatNo + "'").Trim() + " ";
  142. strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + DisposalTime + "'").Trim() + " ";
  143. strSql += Convert.ToString(" AND T.MIDLADLETEMP > 1390 AND T.MIDLADLETEMP < 1800 ").Trim() + " ";
  144. strSql += Convert.ToString(" UNION ALL").Trim() + " ";
  145. strSql += Convert.ToString(" SELECT ROUND(T.MIDLADLETEMP) TEMP,").Trim() + " ";
  146. strSql += Convert.ToString(" T.S1CASTSPEED,").Trim() + " ";
  147. strSql += Convert.ToString(" T.S2CASTSPEED,").Trim() + " ";
  148. strSql += Convert.ToString(" T.S3CASTSPEED,").Trim() + " ";
  149. strSql += Convert.ToString(" T.S4CASTSPEED,").Trim() + " ";
  150. strSql += Convert.ToString(" T.S5CASTSPEED,").Trim() + " ";
  151. strSql += Convert.ToString(" DECODE(T.S6CASTSPEED, 0, NULL, T.S6CASTSPEED) S6CASTSPEED,").Trim() + " ";
  152. // strSql += Convert.ToString(" DECODE(T.S7CASTSPEED, 0, NULL, T.S7CASTSPEED) S7CASTSPEED,").Trim() + " ";
  153. strSql += Convert.ToString(" GREATEST(T.ARMLADLEAWEIGHT, T.ARMLADLEBWEIGHT) ARMBIGPOTTOTALWEIGHT,").Trim() + " ";
  154. strSql += Convert.ToString(" GREATEST(T.MIDLADLE1WEIGHT, T.MIDLADLE2WEIGHT) MIDLADLEWEIGHT,").Trim() + " ";
  155. strSql += Convert.ToString(" TO_CHAR(T.LASTFRESHTIME, 'YYYY-MM-DD HH24:MI:SS') SAMPLINGTIME").Trim() + " ";
  156. strSql += Convert.ToString(" FROM J#" + strTableName + " T").Trim() + " ";
  157. strSql += Convert.ToString(" WHERE T.HEATNO = '" + HeatNo + "'").Trim() + " ";
  158. strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + DisposalTime + "'").Trim() + " ";
  159. strSql += Convert.ToString(" AND T.MIDLADLETEMP > 1390 AND T.MIDLADLETEMP < 1800 ) T)").Trim() + " ";
  160. strSql += Convert.ToString(" WHERE XH = 1 ORDER BY SAMPLINGTIME").Trim();
  161. strSql = @"
  162. SELECT *
  163. FROM (SELECT ROW_NUMBER() OVER(PARTITION BY T.TEMP ORDER BY T.SAMPLINGTIME) XH,
  164. T.*
  165. FROM (SELECT ROUND(T.MIDLADLETEMP) TEMP,
  166. T.S1CASTSPEED,
  167. T.S2CASTSPEED,
  168. T.S3CASTSPEED,
  169. T.S4CASTSPEED,
  170. T.S5CASTSPEED,
  171. DECODE(T.S6CASTSPEED, 0, NULL, T.S6CASTSPEED) S6CASTSPEED,
  172. GREATEST(T.ARMLADLEAWEIGHT, T.ARMLADLEBWEIGHT) ARMBIGPOTTOTALWEIGHT,
  173. GREATEST(T.MIDLADLE1WEIGHT, T.MIDLADLE2WEIGHT) MIDLADLEWEIGHT,
  174. TO_CHAR(T.LASTFRESHTIME, 'YYYY-MM-DD HH24:MI:SS') SAMPLINGTIME
  175. FROM {0} T
  176. WHERE T.HEATNO = '{1}'
  177. AND T.DISPOSALTIME = '{2}'
  178. AND T.MIDLADLETEMP > 1390
  179. AND T.MIDLADLETEMP < 1800) T)
  180. WHERE XH = 1
  181. ORDER BY SAMPLINGTIME
  182. ";
  183. strSql = string.Format(strSql, strTableName, HeatNo, DisposalTime);
  184. DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob);
  185. return ds;
  186. }
  187. }
  188. }