using System; using System.Collections.Generic; using System.Linq; using System.Text; using CoreFS.CA06; using System.Data; using System.Collections; using Core.Mes.Client.Common; using Core.LgMes.Client.lgDbMgt; namespace Core.LgMes.Client.lgServiceMgt.LgChemeLementService { public class LgChemeLementService : Core.LgMes.Client.lgServiceMgt.BaseService.LgBaseService { 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} "; 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} "; private const string SQL_STR_CHEME02 = "select {0} from dual "; 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}"; /// /// 按试样号获取成分实绩 /// /// /// public DataSet ReturnDsOfChemeByCheckNo(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and checkno = '{0}'",param.sqlCondition)); DataSet ds = new DataSet(); try { ds = base.GetEjDataSet(new DbClientParam(sqlStr,param.ob)); } catch { } return ds; } /// /// 按炉号获取成分信息 /// /// /// public DataSet ReturnDsOfChemeByHeatNo(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and heatno = '{0}'", param.sqlCondition)); sqlStr = string.Format(sqlStr, param.sqlCondition); DataSet ds = new DataSet(); try { ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob)); } catch { } return ds; } /// /// 通过化验时间获取成分数据 /// /// /// public DataSet ReturnDsOfChemeByAssayDate(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = string.Format(SQL_STR_CHEME, string.Format("and assaydate >= {0} and assaydate < {1} ", param.param[0].ToString(),param.param[1].ToString())); sqlStr = string.Format(sqlStr, param.sqlCondition); DataSet ds = new DataSet(); try { ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob)); } catch { } return ds; } /// /// 获取复合成分信息 /// /// /// public DataSet ReturnDsOfChemeCeq(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = string.Format(SQL_STR_CHEMCEQ, param.sqlCondition); DataSet ds = new DataSet(); try { ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob)); } catch { } return ds; } public string ReturnChemCeqByMathRound(ClientParamWithSqlConditionAndOpenBase param) { DataSet ds = new DataSet(); string sqlStr = SQL_STR_CHEME1; sqlStr = string.Format(sqlStr, param.param[0].ToString(),param.param[1].ToString()); try { ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob)); } catch { } if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString(); } return ""; } public string ReturnChemCeqByMathRoundWithRealData(ClientParamWithSqlConditionAndOpenBase param) { DataSet ds = new DataSet(); string sqlStr = SQL_STR_CHEME02; sqlStr = string.Format(sqlStr, param.param[0].ToString()); try { ds = base.dbCommond.ExecuteReader(new DbClientParam(sqlStr, param.ob)); } catch { } if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString(); } return ""; } /// /// 每天计算复合元素,并写入到表stl_chemelement_ceq /// /// public void StlChemelementCeq_Insert(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date) 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 and steelname = '{2}' and a.assaydate >= trunc(sysdate ) - 2 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') ) "; string sqlStrhis = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date) 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 and steelname = '{2}' and a.assaydate >= trunc(sysdate ) - 2 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') ) "; try { sqlStr = string.Format(sqlStr,param.param[0].ToString(), param.param[1].ToString(),param.param[2].ToString()); base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStr,param.ob)); } catch { } try { sqlStrhis = string.Format(sqlStrhis, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString()); base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStrhis, param.ob)); } catch { } } public void StlChemelementCeqByAssaydate_Insert(ClientParamWithSqlConditionAndOpenBase param) { string sqlStr = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date) 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 and steelname = '{2}' {3} 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') ) "; string sqlStrhis = @" insert into stl_chemelement_ceq(heatno ,assaydate ,chem_cd,chem_value,create_date) 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 and steelname = '{2}' {3} 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') ) "; try { sqlStr = string.Format(sqlStr, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString(), param.param[3].ToString()); base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStr, param.ob)); } catch { } try { sqlStrhis = string.Format(sqlStrhis, param.param[0].ToString(), param.param[1].ToString(), param.param[2].ToString(), param.param[3].ToString()); base.dbCommond.ExecuteNonQuery(new DbClientParam(sqlStrhis, param.ob)); } catch { } } } }