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.SqMesService
{
///
/// 三期牌号成分基础信息
///
public class Tbb01FacIngrService : Core.LgMes.Client.lgServiceMgt.BaseService.LgBaseService
{
// 内控
private const string SQL_STR_CHEME = @"select fac_stl_grd,
fac_code,
chem_cd,
comp_yn,
chem_aim,
chem_min,
chem_max,
reg_pgm_id,
reg_id,
reg_dtime,
mod_pgm_id,
mod_id,
mod_dtime,
fac_detail from tbb01_fac_ingr t where 1 = 1 and t.fac_stl_grd = '{0}'";
//放行
private const string SQL_STR_LGCHEME = @"select TAFAC_STL_GRD,
chem_cd,
comp_yn,
chem_aim,
chem_min,
chem_max,
reg_pgm_id,
reg_id,
reg_dtime,
mod_pgm_id,
mod_id,
mod_dtime from tbb01_tafac_ingr@xg3q t where t.tafac_stl_grd = '{0}'";
//放行所有
private const string SQL_STR_LGCHEMEALL = @"select TAFAC_STL_GRD,
chem_cd,
comp_yn,
chem_aim,
chem_min,
chem_max,
reg_pgm_id,
reg_id,
reg_dtime,
mod_pgm_id,
mod_id,
mod_dtime from tbb01_tafac_ingr@xg3q t where 1 = 1 {0} ";
///
/// 获取三期牌号的内控标准
///
///
///
public DataSet ReturnDsTbb01FacIngr(ClientParamWithSqlConditionAndOpenBase param)
{
string sqlStr = string.Format(SQL_STR_CHEME, param.sqlCondition);
DataSet ds = new DataSet();
try
{
ds = base.ReturnDbCommondByCommondType(DbCommandType.TqMes).ExecuteReader(new DbClientParam(sqlStr, param.ob));
}
catch
{
}
return ds;
}
///
/// 获取三期牌号的放行标准
///
///
///
public DataSet ReturnDsTbb01TaFacIngr(ClientParamWithSqlConditionAndOpenBase param)
{
string sqlStr = string.Format(SQL_STR_LGCHEME, param.sqlCondition);
DataSet ds = new DataSet();
try
{
ds = base.ReturnDbCommondByCommondType(DbCommandType.TqMes).ExecuteReader(new DbClientParam(sqlStr, param.ob));
}
catch
{
}
return ds;
}
///
/// 获取放行所有信息
///
///
///
public DataSet ReturnDsTbb01TaFacIngrWithConditon(ClientParamWithSqlConditionAndOpenBase param)
{
string sqlStr = string.Format(SQL_STR_LGCHEMEALL, param.sqlCondition);
DataSet ds = new DataSet();
try
{
ds = base.ReturnDbCommondByCommondType(DbCommandType.TqMes).ExecuteReader(new DbClientParam(sqlStr, param.ob));
}
catch
{
}
return ds;
}
///
/// 将三期的成分标准按现有2.5级通用返回格式组合成一个数据集
/// 格式见ReturnStructDs 的组合
///
///
public DataSet ReturStandSteelChemeBySteelCode(ClientParamWithSqlConditionAndOpenBase param)
{
DataSet ds = ReturnStructDs();
DataSet dsStand01 = ReturnDsTbb01FacIngr(param);
DataSet dsStand02 = ReturnDsTbb01TaFacIngr(param);
DataRow dr = null;
ArrayList chemList = new ArrayList();
try
{
// 该成分标准存在H,P,Z情况,对2.5级同成分取一个即可
foreach (DataRow drs01 in dsStand01.Tables[0].Rows)
{
if (chemList.Contains(drs01["CHEM_CD"]))
continue;
dr = ds.Tables[0].NewRow();
dr["CIC"] = "";
dr["STDSTYLE"] = "1";
dr["STEEL"] = drs01["FAC_STL_GRD"];
dr["STD"] = drs01["CHEM_AIM"].ToString();
dr["STDMIN"] = drs01["CHEM_MIN"].ToString();
dr["STDMAX"] = drs01["CHEM_MAX"].ToString();
dr["STDSIGN"] = "";
dr["ITEMCODE"] = drs01["CHEM_CD"];
ds.Tables[0].Rows.Add(dr);
chemList.Add(drs01["CHEM_CD"]);
}
chemList = null;
foreach (DataRow drs02 in dsStand02.Tables[0].Rows)
{
dr = ds.Tables[0].NewRow();
dr["CIC"] = "";
dr["STDSTYLE"] = "2";
dr["STEEL"] = drs02["TAFAC_STL_GRD"];
dr["STD"] = drs02["CHEM_AIM"].ToString();
dr["STDMIN"] = drs02["CHEM_MIN"].ToString();
dr["STDMAX"] = drs02["CHEM_MAX"].ToString();
dr["STDSIGN"] = "";
dr["ITEMCODE"] = drs02["CHEM_CD"];
ds.Tables[0].Rows.Add(dr);
}
}
catch(Exception ex)
{
}
return ds;
}
private DataSet ReturnStructDs()
{
DataSet ds = new DataSet();
string[] columnList = new string[] { "CIC", "STDSTYLE", "STEEL", "STD", "STDMIN", "STDMAX", "STDSIGN", "ITEMCODE" };
DataTable dt = new DataTable();
foreach(string s in columnList)
{
dt.Columns.Add(new DataColumn(s, System.Type.GetType("System.String")));
}
ds.Tables.Add(dt);
return ds;
}
}
}