using System; using System.Data; using System.Collections; using System.Reflection; using CoreFS.CA06; using Core.StlMes.Client.LgClassModel; namespace Core.StlMes.Client.LgCommon { public class ClsResAdditiveBLL { //查询各工序添加料 public static DataSet GetResAdditiveData(LG_PROCESS PROCESS, string strHeatNo, string strStationCode, string strDisposalTime, OpeBase ob) { string str = ""; string strSql = ""; strSql += Convert.ToString("SELECT A.STOVE_NO HEATNO,").Trim() + " "; strSql += Convert.ToString(" A.STATIONCODE,").Trim() + " "; strSql += Convert.ToString(" A.DISPOSALTIME,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELCODE,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELTYPE,").Trim() + " "; strSql += Convert.ToString(" A.JMTYPE,").Trim() + " "; strSql += Convert.ToString(" ROUND(SUM(NVL(JMWGT, 0)),3) JMWGT").Trim() + " "; strSql += Convert.ToString(" FROM (SELECT *").Trim() + " "; strSql += Convert.ToString(" FROM STL_ADDITIVES T").Trim() + " "; strSql += Convert.ToString(" WHERE T.STOVE_NO = '" + strHeatNo + "'").Trim() + " "; strSql += Convert.ToString(" AND T.STATIONCODE = '" + strStationCode + "'").Trim() + " "; strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + strDisposalTime + "'").Trim() + " "; strSql += Convert.ToString(" UNION").Trim() + " "; strSql += Convert.ToString(" SELECT *").Trim() + " "; strSql += Convert.ToString(" FROM J#STL_ADDITIVES T").Trim() + " "; strSql += Convert.ToString(" WHERE T.STOVE_NO = '" + strHeatNo + "'").Trim() + " "; strSql += Convert.ToString(" AND T.STATIONCODE = '" + strStationCode + "'").Trim() + " "; strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + strDisposalTime + "') A").Trim() + " "; strSql += Convert.ToString(" GROUP BY A.STOVE_NO,").Trim() + " "; strSql += Convert.ToString(" A.STATIONCODE,").Trim() + " "; strSql += Convert.ToString(" A.DISPOSALTIME,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELCODE,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELTYPE,").Trim() + " "; strSql += Convert.ToString(" A.JMTYPE").Trim() + " "; strSql += Convert.ToString("HAVING ROUND(SUM(NVL(JMWGT, 0)),3) > 0").Trim(); string strMsg = ""; bool bSuccess = false; DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob); return ds; } //查询各个过程添加剂采样 public static DataSet GetResAdditiveProcess(LG_PROCESS PROCESS, string strHeatNo, string strStationCode, string strDisposalTime, OpeBase ob) { string TableName = ""; if (PROCESS == LG_PROCESS.BOF) TableName = "STL_BOF_ADDITIVES"; else if (PROCESS == LG_PROCESS.EAF) TableName = "STL_EAF_ADDITIVES"; else if (PROCESS == LG_PROCESS.CAS) TableName = "STL_CAS_ADDITIVES"; else if (PROCESS == LG_PROCESS.LF) TableName = "STL_LFS_ADDITIVES"; else return null; string strSql = ""; strSql += Convert.ToString("SELECT A.STOVE_NO,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELCODE,").Trim() + " "; strSql += Convert.ToString(" A.MATERIELTYPE,").Trim() + " "; strSql += Convert.ToString(" TO_CHAR(A.JMDATE, 'YYYY-MM-DD hh24:mi:ss') JMDATE,").Trim() + " "; strSql += Convert.ToString(" A.JMTYPE,").Trim() + " "; strSql += Convert.ToString(" A.HOPPERNUMID,").Trim() + " "; strSql += Convert.ToString(" ROUND(A.JMWGT, 2) JMWGT").Trim() + " "; strSql += Convert.ToString(" FROM (SELECT *").Trim() + " "; strSql += Convert.ToString(" FROM " + TableName + " T").Trim() + " "; strSql += Convert.ToString(" WHERE T.STOVE_NO = '" + strHeatNo + "'").Trim() + " "; strSql += Convert.ToString(" AND T.STATIONCODE = '" + strStationCode + "'").Trim() + " "; strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + strDisposalTime + "'").Trim() + " "; strSql += Convert.ToString(" UNION").Trim() + " "; strSql += Convert.ToString(" SELECT *").Trim() + " "; strSql += Convert.ToString(" FROM J#" + TableName + " T").Trim() + " "; strSql += Convert.ToString(" WHERE T.STOVE_NO = '" + strHeatNo + "'").Trim() + " "; strSql += Convert.ToString(" AND T.STATIONCODE = '" + strStationCode + "'").Trim() + " "; strSql += Convert.ToString(" AND T.DISPOSALTIME = '" + strDisposalTime + "') A").Trim() + " "; strSql += Convert.ToString(" ORDER BY A.JMDATE DESC").Trim(); string strMsg = ""; bool bSuccess = false; DataSet ds = ClsDataAccessPack.GetData(strSql, out bSuccess, out strMsg, ob); return ds; } public static void DataSetToAdditive(ref DataSet ds, ref CommonAdditive obj) { try { if (obj == null) return; if (ds == null || ds.Tables.Count == 0) return; obj.ClearElement(); PropertyInfo[] PropertyInfos = null; foreach (DataRow dr in ds.Tables[0].Rows) { STL_COMMON_ADDITIVES detail = new STL_COMMON_ADDITIVES(); if (PropertyInfos == null) PropertyInfos = detail.GetType().GetProperties(); foreach (PropertyInfo oPropertyInfo in PropertyInfos) { try { if (ds.Tables[0].Columns.Contains(oPropertyInfo.Name)) { if (dr[oPropertyInfo.Name] != System.DBNull.Value) { object value = DBNull.Value; try { value = Convert.ChangeType(dr[oPropertyInfo.Name.ToString()], oPropertyInfo.PropertyType); } catch { value = dr[oPropertyInfo.Name.ToString()]; } oPropertyInfo.SetValue(detail, value, null); } } } catch { } } obj.Add(ref detail); } } catch { } } } }