LgChemeLementService.cs.svn-base 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using CoreFS.CA06;
  6. using System.Data;
  7. using System.Collections;
  8. using Core.Mes.Client.Common;
  9. using Core.LgMes.Client.lgDbMgt;
  10. namespace Core.LgMes.Client.lgServiceMgt.LgChemeLementService
  11. {
  12. public class LgChemeLementService : Core.LgMes.Client.lgServiceMgt.BaseService.LgBaseService
  13. {
  14. private const string SQL_STR_CHEME = "select * from stl_chemelement where 1 = 1 {0} union all select * from j#stl_chemelement where 1 = 1 {0} ";
  15. private const string SQL_STR_CHEME1 = "select {1} from stl_chemelement where 1 = 1 {0} union all select {1} from j#stl_chemelement where 1 = 1 {0} ";
  16. private const string SQL_STR_CHEME02 = "select {0} from dual ";
  17. private const string SQL_STR_CHEMCEQ = "select a.heatno,a.assaydate,a.chem_cd,a.chem_value,a.create_date from stl_chemelement_ceq a where 1 = 1 {0}";
  18. /// <summary>
  19. /// 按试样号获取成分实绩
  20. /// </summary>
  21. /// <param name="chargeNo"></param>
  22. /// <returns></returns>
  23. public DataSet ReturnDsOfChemeByCheckNo(ClientParamWithSqlConditionAndOpenBase param)
  24. {
  25. string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and checkno = '{0}'",param.sqlCondition));
  26. DataSet ds = new DataSet();
  27. try
  28. {
  29. ds = base.GetEjDataSet(new DbClientParam(sqlStr,param.ob));
  30. }
  31. catch
  32. {
  33. }
  34. return ds;
  35. }
  36. /// <summary>
  37. /// 按炉号获取成分信息
  38. /// </summary>
  39. /// <param name="param"></param>
  40. /// <returns></returns>
  41. public DataSet ReturnDsOfChemeByHeatNo(ClientParamWithSqlConditionAndOpenBase param)
  42. {
  43. string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and heatno = '{0}'", param.sqlCondition));
  44. sqlStr = string.Format(sqlStr, param.sqlCondition);
  45. DataSet ds = new DataSet();
  46. try
  47. {
  48. ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob));
  49. }
  50. catch
  51. {
  52. }
  53. return ds;
  54. }
  55. /// <summary>
  56. /// 通过化验时间获取成分数据
  57. /// </summary>
  58. /// <param name="param"></param>
  59. /// <returns></returns>
  60. public DataSet ReturnDsOfChemeByAssayDate(ClientParamWithSqlConditionAndOpenBase param)
  61. {
  62. string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and assaydate >= {0} and assaydate < {1} ", param.param[0].ToString(),param.param[1].ToString()));
  63. sqlStr = string.Format(sqlStr, param.sqlCondition);
  64. DataSet ds = new DataSet();
  65. try
  66. {
  67. ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob));
  68. }
  69. catch
  70. {
  71. }
  72. return ds;
  73. }
  74. /// <summary>
  75. /// 获取复合成分信息
  76. /// </summary>
  77. /// <param name="param"></param>
  78. /// <returns></returns>
  79. public DataSet ReturnDsOfChemeCeq(ClientParamWithSqlConditionAndOpenBase param)
  80. {
  81. string sqlStr = string.Format(SQL_STR_CHEMCEQ, param.sqlCondition);
  82. DataSet ds = new DataSet();
  83. try
  84. {
  85. ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob));
  86. }
  87. catch
  88. {
  89. }
  90. return ds;
  91. }
  92. public string ReturnChemCeqByMathRound(ClientParamWithSqlConditionAndOpenBase param)
  93. {
  94. DataSet ds = new DataSet();
  95. string sqlStr = SQL_STR_CHEME1;
  96. sqlStr = string.Format(sqlStr, param.param[0].ToString(),param.param[1].ToString());
  97. try
  98. {
  99. ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob));
  100. }
  101. catch
  102. {
  103. }
  104. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  105. {
  106. return ds.Tables[0].Rows[0][0].ToString();
  107. }
  108. return "";
  109. }
  110. public string ReturnChemCeqByMathRoundWithRealData(ClientParamWithSqlConditionAndOpenBase param)
  111. {
  112. DataSet ds = new DataSet();
  113. string sqlStr = SQL_STR_CHEME02;
  114. sqlStr = string.Format(sqlStr, param.param[0].ToString());
  115. try
  116. {
  117. ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob));
  118. }
  119. catch
  120. {
  121. }
  122. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  123. {
  124. return ds.Tables[0].Rows[0][0].ToString();
  125. }
  126. return "";
  127. }
  128. /// <summary>
  129. /// 每天计算复合元素,并写入到表stl_chemelement_ceq
  130. /// </summary>
  131. /// <param name="param"></param>
  132. public void StlChemelementCeq_Insert(ClientParamWithSqlConditionAndOpenBase param)
  133. {
  134. string sqlStr = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date)
  135. select heatno,to_char(a.assaydate,'yyyy-mm-dd HH24:mi:ss'),'{0}',{1},to_char(sysdate,'yyyymmddhh24miss' ) from stl_chemelement a where 1 = 1
  136. and steelname = '{2}' and a.assaydate >= trunc(sysdate ) - 2
  137. and not exists (select 1 from stl_chemelement_ceq b where 1 = 1 and b.chem_cd = '{0}' and a.heatno = b.heatno and a.assaydate = to_date(b.assaydate,'yyyy-mm-dd HH24:mi:ss')
  138. )
  139. ";
  140. string sqlStrhis = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date)
  141. select heatno,to_char(a.assaydate,'yyyy-mm-dd HH24:mi:ss'),'{0}',{1},to_char(sysdate,'yyyymmddhh24miss' ) from j#stl_chemelement a where 1 = 1
  142. and steelname = '{2}' and a.assaydate >= trunc(sysdate ) - 2
  143. and not exists (select 1 from stl_chemelement_ceq b where 1 = 1 and b.chem_cd = '{0}' and a.heatno = b.heatno and a.assaydate = to_date(b.assaydate,'yyyy-mm-dd HH24:mi:ss')
  144. )
  145. ";
  146. try
  147. {
  148. sqlStr = string.Format(sqlStr,param.param[0].ToString(), param.param[1].ToString(),param.param[2].ToString());
  149. base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStr,param.ob));
  150. }
  151. catch
  152. {
  153. }
  154. try
  155. {
  156. sqlStrhis = string.Format(sqlStrhis, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString());
  157. base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStrhis, param.ob));
  158. }
  159. catch
  160. { }
  161. }
  162. public void StlChemelementCeqByAssaydate_Insert(ClientParamWithSqlConditionAndOpenBase param)
  163. {
  164. string sqlStr = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date)
  165. select heatno,to_char(a.assaydate,'yyyy-mm-dd HH24:mi:ss'),'{0}',{1},to_char(sysdate,'yyyymmddhh24miss' ) from stl_chemelement a where 1 = 1
  166. and steelname = '{2}' {3}
  167. and not exists (select 1 from stl_chemelement_ceq b where 1 = 1 and b.chem_cd = '{0}' and a.heatno = b.heatno and a.assaydate = to_date(b.assaydate,'yyyy-mm-dd HH24:mi:ss')
  168. )
  169. ";
  170. string sqlStrhis = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date)
  171. select heatno,to_char(a.assaydate,'yyyy-mm-dd HH24:mi:ss'),'{0}',{1},to_char(sysdate,'yyyymmddhh24miss' ) from j#stl_chemelement a where 1 = 1
  172. and steelname = '{2}' {3}
  173. and not exists (select 1 from stl_chemelement_ceq b where 1 = 1 and b.chem_cd = '{0}' and a.heatno = b.heatno and a.assaydate = to_date(b.assaydate,'yyyy-mm-dd HH24:mi:ss')
  174. )
  175. ";
  176. try
  177. {
  178. sqlStr = string.Format(sqlStr, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString(), param.param[3].ToString());
  179. base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStr, param.ob));
  180. }
  181. catch
  182. {
  183. }
  184. try
  185. {
  186. sqlStrhis = string.Format(sqlStrhis, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString(), param.param[3].ToString());
  187. base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStrhis, param.ob));
  188. }
  189. catch
  190. { }
  191. }
  192. }
  193. }