using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using CoreFS.CA06;
using CoreFS.SA06;
namespace Core.StlMes.Client.LgCommon
{
///
/// 服务端访问公用类、基础数据公用获取方法
///
public class ClsDataAccessPack
{
#region 访问服务端
public static DataSet GetData(string Sql, out bool bSuccess, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.DBHelp";
ccp.MethodName = "GetData";
ccp.ServerParams = new object[] { Sql };
ccp = Ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
if (!string.IsNullOrEmpty(strMsg) || ccp.SourceDataTable == null)
{
bSuccess = false;
return null;
}
DataSet ds = new DataSet();
ds.Tables.Add(ccp.SourceDataTable);
bSuccess = true;
return ds;
}
catch (Exception ex)
{
bSuccess = false;
strMsg = ex.Message;
return null;
}
}
public static DataSet GetData(string SqlID, ArrayList Args, out bool bSuccess, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.DBHelp";
ccp.MethodName = "GetData";
ccp.ServerParams = new object[] { SqlID, Args };
ccp = Ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
if (!string.IsNullOrEmpty(strMsg) || ccp.SourceDataTable == null)
{
bSuccess = false;
return null;
}
DataSet ds = new DataSet();
ds.Tables.Add(ccp.SourceDataTable);
bSuccess = true;
return ds;
}
catch (Exception ex)
{
bSuccess = false;
strMsg = ex.Message;
return null;
}
}
public static bool SetData(string Sql, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.DBHelp";
ccp.MethodName = "SetData";
ccp.ServerParams = new object[] { Sql };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
}
catch (Exception ex)
{
strMsg = ex.Message;
}
return string.IsNullOrEmpty(strMsg) ? true : false;
}
public static bool SetData(string SqlID, ArrayList Args, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.DBHelp";
ccp.MethodName = "SetData";
ccp.ServerParams = new object[] { SqlID, Args };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
}
catch (Exception ex)
{
strMsg = ex.Message;
}
return string.IsNullOrEmpty(strMsg) ? true : false;
}
public static bool DoProcedure(string ProcedureID, Hashtable Args, out string strMsg, OpeBase Ob)
{
strMsg = "";
CoreClientParam ccp = new CoreClientParam();
try
{
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.ComDBProcedure";
ccp.MethodName = "executeProcedure";
ccp.ServerParams = new object[] { ProcedureID, Args };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
}
catch (Exception ex)
{
string strErr = (ccp == null ? "" : ccp.ReturnInfo);
if (string.IsNullOrEmpty(strErr)) strMsg = ex.Message;
else strMsg = strErr;
}
if (string.IsNullOrEmpty(strMsg)) return true;
else return false;
}
public static bool DoProcedure(string ProcedureID, object[] Args, out string strMsg, OpeBase Ob)
{
strMsg = "";
CoreClientParam ccp = new CoreClientParam();
try
{
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.ComDBProcedure";
ccp.MethodName = "ExecProcWithCollParam";
ccp.ServerParams = new object[] { ProcedureID, Args };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
}
catch (Exception ex)
{
string strErr = (ccp == null ? "" : ccp.ReturnInfo);
if (string.IsNullOrEmpty(strErr)) strMsg = ex.Message;
else strMsg = strErr;
}
if (string.IsNullOrEmpty(strMsg)) return true;
else return false;
}
public static bool DoProcedure(string ProcedureID, ArrayList Args, out string strMsg, OpeBase Ob)
{
strMsg = "";
CoreClientParam ccp = new CoreClientParam();
try
{
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.ComDBProcedure";
ccp.MethodName = "ExecProcWithCollParam";
ccp.ServerParams = new object[] { ProcedureID, Args };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
}
catch (Exception ex)
{
string strErr = (ccp == null ? "" : ccp.ReturnInfo);
if (string.IsNullOrEmpty(strErr)) strMsg = ex.Message;
else strMsg = strErr;
}
if (string.IsNullOrEmpty(strMsg)) return true;
else return false;
}
public static bool DoProcedure(string ProcedureName, object[] Args, out int iRet, out string strMsg, OpeBase Ob)
{
iRet = 0;
strMsg = "";
CoreClientParam ccp = new CoreClientParam();
try
{
ccp.IfShowErrMsg = false;
ccp.ServerName = "Core.LgMes.Server.Common.DBHelp";
ccp.MethodName = "DoProcedure";
ccp.ServerParams = new object[] { ProcedureName, Args };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
ArrayList result = (ArrayList)ccp.ReturnObject;
iRet = Convert.ToInt32(result[2]);
strMsg = Convert.ToString(result[3]);
}
catch (Exception ex)
{
string strErr = (ccp == null ? "" : ccp.ReturnInfo);
iRet = iRet > 0 ? iRet : 0;
if (string.IsNullOrEmpty(strErr)) strMsg = ex.Message;
else strMsg = strErr;
}
return (iRet > 0 ? true : false);
}
public static object GetObject(string ServerName, string MethodName, out bool bSuccess, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = ServerName;
ccp.MethodName = MethodName;
ccp.ServerParams = new object[] { };
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
if (!string.IsNullOrEmpty(strMsg) || ccp.ReturnObject == null)
{
bSuccess = false;
return null;
}
bSuccess = true;
return ccp.ReturnObject;
}
catch (Exception ex)
{
bSuccess = false;
strMsg = ex.Message;
return null;
}
}
public static object GetObject(string ServerName, string MethodName, object[] ServerParams, out bool bSuccess, out string strMsg, OpeBase Ob)
{
try
{
CoreClientParam ccp = new CoreClientParam();
ccp.IfShowErrMsg = false;
ccp.ServerName = ServerName;
ccp.MethodName = MethodName;
ccp.ServerParams = (ServerParams == null ? new object[] { } : ServerParams);
ccp = Ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
strMsg = ccp.ReturnInfo;
if (!string.IsNullOrEmpty(strMsg) || ccp.ReturnObject == null)
{
bSuccess = false;
return null;
}
bSuccess = true;
return ccp.ReturnObject;
}
catch (Exception ex)
{
bSuccess = false;
strMsg = ex.Message;
return null;
}
}
#endregion
#region Procedure Debug Code General
public static string GetOracleDebugMethod(object[] ar)
{
string retstr = "";
Int32 num = 1;
//获取数组类型存储过程的 数组调试参数
for (Int32 i = 0; i < ar.Length; i++)
{
if (ar[i] is ArrayList)
{
retstr = retstr + "v" + num.ToString() + " str_ary_type := new str_ary_type(";
for (Int32 s = 0; s < ((ArrayList)ar[i]).Count; s++)
{
retstr = retstr + "'" + ((ArrayList)ar[i])[s] + "',";
}
retstr = retstr.Substring(0, retstr.Length - 1) + ");\n";
num = num + 1;
}
else
{
retstr = retstr + "v" + num.ToString() + " varchar2(50):= '" + ar[i].ToString() + "';\n";
num = num + 1;
}
}
return retstr;
}
#endregion
public static bool IPAdrressValid(string IP)
{
string Segment = @"(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)";
return Regex.IsMatch(IP, ("^" + Segment + @"\." + Segment + @"\." + Segment + @"\." + Segment + "$"));
}
///
/// 获取物料基础信息
///
public static DataSet GetMaterialData(out bool bSuccess, out string strMsg, OpeBase ob)
{
bSuccess = false;
strMsg = "";
DataSet ds = null;
try
{
string SqlID = "GetMaterialDataSet.Select";
ArrayList Args = new ArrayList();
ds = ClsDataAccessPack.GetData(SqlID, Args, out bSuccess, out strMsg, ob);
}
catch { }
return ds;
}
///
/// 获取当前班次
///
///
public static string GetCurrShift(OpeBase ob)
{
bool bSuccess = false;
string strMsg = "";
string strSql = "select mes_lg_common.getlgshift1(sysdate) from dual";
//获取班次班别信息
DataSet ds = GetData(strSql, out bSuccess, out strMsg, ob);
if (bSuccess && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
return Convert.ToString(ds.Tables[0].Rows[0][0]);
}
return "";
}
public static DateTime GetSysdate(OpeBase ob)
{
bool bSuccess = false;
string strMsg = "";
string strSql = "select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') TimeNow from dual";
DataSet ds = GetData(strSql, out bSuccess, out strMsg, ob);
try
{
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) return Convert.ToDateTime(ds.Tables[0].Rows[0][0].ToString());
}
catch { }
return DateTime.Now;
}
public static bool GetCurrShiftAndTime(out string Shift, out DateTime dtNow, OpeBase ob)
{
Shift = "";
dtNow = DateTime.Now;
string strMsg = "";
bool bSuccess = false;
string strSql = "select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') TimeNow, mes_lg_common.getlgshift1(sysdate) Shift from dual";
DataSet ds = GetData(strSql, out bSuccess, out strMsg, ob);
try
{
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
Shift = Convert.ToString(ds.Tables[0].Rows[0]["SHIFT"]);
dtNow = Convert.ToDateTime(ds.Tables[0].Rows[0]["TIMENOW"].ToString());
bSuccess = true;
}
}
catch
{
dtNow = DateTime.Now;
bSuccess = false;
}
return bSuccess;
}
///
/// 获取从界面调用其它界面工具栏信息
///
/// 窗体KEY
/// 参数
///
///
public static DataSet GetFromToolInfo(string strFromKey, string strCustominfo, OpeBase ob)
{
bool bSuccess = false;
string strMsg = "";
string strSql = "";
strSql += Convert.ToString("SELECT ID, KEY, CAPTION, IMAGE").Trim() + " ";
strSql += Convert.ToString(" FROM core_app_function t").Trim() + " ";
strSql += Convert.ToString(" WHERE PARENT_ID = (select max(ID) from core_app_function t where key ='" + strFromKey + "'").Trim() + " ";
if (strCustominfo.Length > 0)
strSql += Convert.ToString(" and custominfo = '" + strCustominfo + "' )").Trim() + " ";
else
strSql += Convert.ToString(" and custominfo is null )").Trim() + " ";
strSql += Convert.ToString(" order by id").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
//查询辅料配置信息表数据
public static DataSet GetProtectiveSlag(OpeBase ob)
{
bool bSuccess = false;
string strMsg = "";
string strSql = "";
strSql += Convert.ToString("select *").Trim() + " ";
strSql += Convert.ToString(" from com_materiel t").Trim() + " ";
strSql += Convert.ToString(" where t.materieltype = 'BH'").Trim() + " ";
strSql += Convert.ToString(" order by t.materielname").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
public static DataSet GetBaseInfo(string strSortCode, OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "select t.basecode, t.basename, t.sortcode"
+ " from com_base_info t"
+ " where 1 = 1"
+ " and t.sortcode in (" + strSortCode + ") "
+ " order by t.sortcode, t.basename";
return GetData(strSql, out bSuccess, out strMsg, ob);
}
//查询钢种
public static DataSet GetSteelInfo(string strLargeFlag, OpeBase ob)
{
bool bSuccess = false;
string strMsg = "";
string strSql = "";
strSql += Convert.ToString("select t.gradecode steelcode, t.gradename steel, '' largeflag").Trim() + " ";
strSql += Convert.ToString(" from COM_BASE_GRADE t").Trim() + " ";
strSql += Convert.ToString(" where VALIDFLAG='1' ").Trim() + " ";
strSql += Convert.ToString(" order by t.gradename").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
public static DataSet GetChemElementInfo(string strChemList, string strWhere, OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "select "
+ "a.CHECKNO, "
+ "a.HEATNO, "
+ "a.STEELNAME, "
+ "a.ASSAYDATE, "
+ "substr(a.SHIFTCODE, 2, 1) SHIFTCODE, "
+ "a.STATIONCODE, "
+ "a.ASSAYTYPECODE, "
+ strChemList + " "
+ "from "
+ "("
+ "select * from STL_CHEMELEMENT t where 1 = 1 " + strWhere + " "
+ "union "
+ "select * from J#STL_CHEMELEMENT t where 1 = 1 " + strWhere + " "
+ ") a "
+ "ORDER BY HEATNO DESC, DECODE(ASSAYTYPECODE, 'GT', '1', 'TS', '2', 'LD', '3', 'AR', '4', 'LF', '5', 'CC', '6', '7'), CHECKNO DESC";
return GetData(strSql, out bSuccess, out strMsg, ob);
}
//查询化学成分
public static DataSet GetChemElementStandard(string HeatNo, OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "";
strSql += Convert.ToString("select decode(t.stdstyle, '国标', '1', '内控', '2', '客户','3','') std_DC,").Trim() + " ";
strSql += Convert.ToString(" t1.basename,").Trim() + " ";
strSql += Convert.ToString(" case").Trim() + " ";
strSql += Convert.ToString(" when t.minsign is not null and t.maxsign is not null then").Trim() + " ";
strSql += Convert.ToString(" '~'").Trim() + " ";
strSql += Convert.ToString(" when t.minsign is not null and t.maxsign is null then").Trim() + " ";
strSql += Convert.ToString(" t.minsign").Trim() + " ";
strSql += Convert.ToString(" when t.minsign is null and t.maxsign is not null then").Trim() + " ";
strSql += Convert.ToString(" t.maxsign").Trim() + " ";
strSql += Convert.ToString(" end Stdsign,").Trim() + " ";
strSql += Convert.ToString(" t.minvalue stdmin,").Trim() + " ";
strSql += Convert.ToString(" t.maxvalue stdmax,").Trim() + " ";
strSql += Convert.ToString(" t.stdstyle Memo").Trim() + " ";
strSql += Convert.ToString(" from ppc_steel_heat x, qcm_designresult_d t, COM_BASE_INFO t1").Trim() + " ";
strSql += Convert.ToString(" where x.heatno = '" + HeatNo + "'").Trim() + " ";
strSql += Convert.ToString(" and x.ord_gon_id = t.intent_orderno").Trim() + " ";
strSql += Convert.ToString(" and t1.sortcode = '1006'").Trim() + " ";
strSql += Convert.ToString(" and t.item = t1.basecode(+)").Trim() + " ";
strSql += Convert.ToString(" order by decode(t.stdstyle, '国标', '1', '内控', '2','客户','3', '') desc, t.item").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
public static DataSet GetBilletMeterWeight(OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "";
strSql += Convert.ToString("select t.basename spec, t.memo1 cmw, t.remarks hmw").Trim() + " ";
strSql += Convert.ToString(" from COM_BASE_INFO t").Trim() + " ";
strSql += Convert.ToString(" where t.sortcode = '1014'").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
public static DataSet GetBilletCutInfo(string strWhere, string strWhere1,string strWhere2 , OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = @"
SELECT T.BILLETCODE,
T.MAT_NO,
T.STOVE_NO,
T.CAST_NO,
T.HEATCNT,
T.HEAT_SEQ,
T.CCMSTOVENO,
T.CCMID,
T.FLOWNO,
T.CUTSEQNO,
T.LENGTH,
T.DIAMETER,
--T.THICKNESS,
T.WEIGHT,
T.LASTBILLETFLAG,
-- T.PLATETYPE,
T.SHIFTCODE,
T.FLAG,
TO_CHAR(T.CUTTIME, 'yyyy-MM-dd hh24:mi:ss') CUTTIME,
T.OPTPERSONNEL,
--T.SPECRULE,
T.L2FLAG,
--T.RESFLAG,
--T.CHILDBLOCKNO,
T.ORDER_NO,
T.GRADECODE,
DECODE(NVL((SELECT CUTFINISHED
FROM STL_HEATNO_ASSIST
WHERE HEATNO = T.STOVE_NO
AND CCMID = T.CCMID
AND ROWNUM = 1),
'0'),
'1',
'√') CONFIRMFLAG
FROM (SELECT *
FROM STL_INCISION
{0} ) T,
(SELECT *
FROM (SELECT A.*,
ROW_NUMBER() OVER(PARTITION BY A.STOVE_NO, A.STATIONCODE ORDER BY A.DISPOSALTIME ASC) XH
FROM (SELECT *
FROM STL_CCM_OPTINFO
UNION
SELECT *
FROM J#STL_CCM_OPTINFO) A)
WHERE XH < 2) T2
WHERE 1 = 1
AND T.STOVE_NO = T2.STOVE_NO(+)
{1}
ORDER BY MAT_NO DESC
";
strSql = String.Format(strSql, strWhere, strWhere1);
// strSql += Convert.ToString("select t.billetcode,").Trim() + " ";
// strSql += Convert.ToString(" t.MAT_NO,").Trim() + " ";
// strSql += Convert.ToString(" t.STOVE_NO,").Trim() + " ";
// strSql += Convert.ToString(" t.CAST_NO,").Trim() + " ";
// strSql += Convert.ToString(" t.heatcnt,").Trim() + " ";
// strSql += Convert.ToString(" t.HEAT_SEQ,").Trim() + " ";
// strSql += Convert.ToString(" t.ccmstoveno,").Trim() + " ";
// strSql += Convert.ToString(" t.ccmid,").Trim() + " ";
// strSql += Convert.ToString(" t.flowno,").Trim() + " ";
// strSql += Convert.ToString(" t.cutseqno,").Trim() + " ";
// strSql += Convert.ToString(" t.length,").Trim() + " ";
// strSql += Convert.ToString(" t.width,").Trim() + " ";
// // strSql += Convert.ToString(" t.thickness,").Trim() + " ";
// strSql += Convert.ToString(" t.DIAMETER,").Trim() + " ";
// strSql += Convert.ToString(" t.lastbilletflag,").Trim() + " ";
// // strSql += Convert.ToString(" t.platetype,").Trim() + " ";
// strSql += Convert.ToString(" t.shiftcode,").Trim() + " ";
// strSql += Convert.ToString(" t.flag,").Trim() + " ";
// strSql += Convert.ToString(" to_char(t.cuttime, 'yyyy-MM-dd hh24:mi:ss') cuttime,").Trim() + " ";
// strSql += Convert.ToString(" t.optpersonnel,").Trim() + " ";
// strSql += Convert.ToString(" t.specrule,").Trim() + " ";
// strSql += Convert.ToString(" t.l2flag,").Trim() + " ";
// strSql += Convert.ToString(" t.resflag,").Trim() + " ";
// // strSql += Convert.ToString(" t.childblockno,").Trim() + " ";
// strSql += Convert.ToString(" t.orderno,").Trim() + " ";
// strSql += Convert.ToString(" t.steelcode,").Trim() + " ";
// strSql += Convert.ToString(" 0 confirmflag").Trim() + " ";
//// strSql += Convert.ToString(" nvl(t1.cutfinished, '0') confirmflag").Trim() + " ";
// strSql += Convert.ToString(" from (select * from stl_incision " + strWhere + " ").Trim() + " ";
// // strSql += Convert.ToString(" union").Trim() + " ";
// // strSql += Convert.ToString(" select * from j#stl_incision " + strWhere + " ").Trim() + " ";
// strSql += Convert.ToString(" ) t1,");
// // strSql += Convert.ToString(" (select * from stl_heatno_assist " + strWhere2 + ") t1,").Trim() + " ";
// strSql += Convert.ToString(" (select * from ( select a.*, ").Trim() + " ";
// strSql += Convert.ToString(" row_number() over(partition by a.heatno, a.stationcode order by a.disposaltime asc) xh ").Trim() + " ";
// strSql += Convert.ToString(" from (select * from stl_ccm_optinfo union select * from j#stl_ccm_optinfo) a) where xh<2) t2").Trim() + " ";
// strSql += Convert.ToString(" where 1=1 ").Trim() + " ";
// //strSql += Convert.ToString(" where t.STOVE_NO = t1.STOVE_NO(+)").Trim() + " ";
// strSql += Convert.ToString(" and t.STOVE_NO = t2.STOVE_NO(+)").Trim() + " " + strWhere1;
// strSql += Convert.ToString(" order by MAT_NO desc").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
public static DataSet GetSapMaterial(OpeBase ob)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "";
strSql += Convert.ToString("select t.matnr fs_wlh, t.maktx fs_wlms").Trim() + " ";
strSql += Convert.ToString(" from sap_stlmes_materialinfo t").Trim() + " ";
strSql += Convert.ToString(" where t.werks='8005' and (substr(t.matnr,1,2)='75' or substr(t.matnr,1,2)='74' )").Trim() + " ";
strSql += Convert.ToString(" order by t.matnr").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
///
/// 获取工序所属产线
///
/// 工序,如:BOF01,CAS01
///
///
public static string GetProduceSys(string strStationCode, OpeBase ob)
{
bool bSuccess = false;
string strMsg = ""; string strSql = "";
strSql = "select T.PROCESSCODE, T.PROCESSNAME, T.PROCESSTYPE, T.PRODUCESYS" +
" from com_processinfo t where t.processname = '" + strStationCode + "'";
DataSet ds = GetData(strSql, out bSuccess, out strMsg, ob);
if (bSuccess && ds != null && ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0]["PRODUCESYS"].ToString();
else
return "";
}
else
return "";
}
//查询温度表里的采样值
public static DataSet GetBofTept(OpeBase ob,string strHeatno)
{
string strMsg = "";
bool bSuccess = false;
string strSql = "";
strSql += Convert.ToString("select x.samplingvalue from ").Trim() + " ";
strSql += Convert.ToString(" (select distinct t.samplingvalue").Trim() + " ";
strSql += Convert.ToString(" from STL_TEMPSAMPLING t").Trim() + " ";
strSql += Convert.ToString(" where substr(t.stationcode, 0, 1) = 'C'").Trim() + " ";
strSql += Convert.ToString(" and t.STOVE_NO = '" + strHeatno + "'").Trim() + " ";
strSql += Convert.ToString(" union").Trim() + " ";
strSql += Convert.ToString(" select distinct t.samplingvalue").Trim() + " ";
strSql += Convert.ToString(" from J#STL_TEMPSAMPLING t").Trim() + " ";
strSql += Convert.ToString(" where substr(t.stationcode, 0, 1) = 'C' ").Trim() + " ";
strSql += Convert.ToString(" and t.STOVE_NO = '" + strHeatno + "') x ").Trim() + " ";
strSql += Convert.ToString(" order by x.samplingvalue asc").Trim() + " ";
return GetData(strSql, out bSuccess, out strMsg, ob);
}
///
/// 获取手动操作配置信息
///
/// 岗位编码:BOF
///
///
public static DataSet GetManualOperateConfig(string strStationCode,string strProduceSys, OpeBase ob)
{
bool bSuccess = false;
string strMsg = ""; string strSql = "";
strSql += Convert.ToString("select *").Trim() + " ";
strSql += Convert.ToString(" from COM_STL_COMMAND t").Trim() + " ";
strSql += Convert.ToString(" where t.stationcode = '" + strStationCode + "'").Trim() + " ";
strSql += Convert.ToString(" and t.valid = '1'").Trim() + " ";
strSql += Convert.ToString(" and ((t.optcommandtype = 'ASSIGNEDPOS' and t.producesys = '" + strProduceSys
+ "') or t.optcommandtype <> 'ASSIGNEDPOS' or (t.optcommandtype = 'ASSIGNEDPOS' and t.opttype='1') )").Trim() + " ";
strSql += Convert.ToString(" order by t.opttype, t.sortid").Trim();
return GetData(strSql, out bSuccess, out strMsg, ob);
}
///
/// 获取物料消耗标准
///
///
public static DataTable GetJobStandardMateriel(OpeBase ob, string strSteelCode)
{
bool bSuccess = false;
string strMsg = "";
string SqlID = "GetJobStandardMateriel.Select";
ArrayList Args = new ArrayList();
Args.Add(strSteelCode);
DataSet ds = GetData(SqlID, Args, out bSuccess, out strMsg, ob);
if (bSuccess && ds != null && ds.Tables.Count > 0)
{
return ds.Tables[0];
}
return null;
}
///
/// 获取作业温度标准
///
///
public static DataTable GetJobStandardTemp(OpeBase ob, string strCraftCode, string _DEVICE_POSITION)
{
bool bSuccess = false;
string strMsg = "";
string SqlID = "GetJobStandardTemp.Select";
ArrayList Args = new ArrayList();
Args.Add(strCraftCode);
Args.Add(_DEVICE_POSITION);
//获取作业温度标准
DataSet ds = GetData(SqlID, Args, out bSuccess, out strMsg, ob);
if (bSuccess && ds != null && ds.Tables.Count > 0)
{
return ds.Tables[0];
}
return null;
}
///
/// 时间计算返回分
///
///
///
///
public static int GetTotalMinutes(DateTime dtFrom, DateTime dtTo)
{
TimeSpan ts = new TimeSpan(0);
if (dtTo > dtFrom) ts = dtTo - dtFrom;
return Convert.ToInt32(ts.TotalMinutes);
}
///
/// 时间计算返回秒
///
///
///
///
public static int GetTotalSeconds(DateTime dtFrom, DateTime dtTo)
{
TimeSpan ts = new TimeSpan(0);
if (dtTo > dtFrom) ts = dtTo - dtFrom;
return Convert.ToInt32(ts.TotalSeconds);
}
///
/// 将秒转换成时间"0′0″
///
///
///
public static string GetTimeSpan(string Seconds)
{
try
{
Seconds = Seconds.Trim();
if (!string.IsNullOrEmpty(Seconds) && Seconds.Length > 0)
{
TimeSpan ts = new TimeSpan(0, 0, Convert.ToInt32(Seconds));
string strRet = "";
if (ts.Days > 0) strRet = ts.Days.ToString() + "d" + ts.Hours.ToString() + "°" + ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Hours > 0) strRet = ts.Hours.ToString() + "°" + ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Minutes > 0) strRet = ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Seconds > 0) strRet = ts.Seconds.ToString() + "″";
else strRet = "0";
return strRet;
}
}
catch { }
return "0";
}
///
/// 获取时间差"0′0″
///
///
///
///
public static string GetTimeSpan(DateTime dtFrom, DateTime dtTo)
{
TimeSpan ts = new TimeSpan(0);
if (dtTo > dtFrom) ts = dtTo - dtFrom;
string strRet = "";
if (ts.Days > 0) strRet = ts.Days.ToString() + "D " + ts.Hours.ToString() + "°" + ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Hours > 0) strRet = ts.Hours.ToString() + "°" + ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Minutes > 0) strRet = ts.Minutes.ToString() + "′" + ts.Seconds.ToString() + "″";
else if (ts.Seconds > 0) strRet = ts.Seconds.ToString() + "″";
else strRet = "0";
return strRet;
}
///
/// 获取两个时间段的差值
///
///
///
///
public static int JudgeTime(DateTime startTime, DateTime endTime)
{
int lStayDuration = 0;
TimeSpan odtSpan;
if (endTime > startTime)
{
odtSpan = endTime - startTime;
lStayDuration = Convert.ToInt32(System.Math.Round(odtSpan.TotalMinutes));
}
return lStayDuration;
}
///
/// 验证数据有效性(Number)
///
///
public static bool CheckNumValidate(string strVal)
{
decimal dValue = 0.0M;
return decimal.TryParse(strVal, out dValue);
}
///
/// 验证数据有效性(Double)
///
///
///
public static bool IsDouble(string AValue)
{
try
{
Convert.ToDouble(AValue);
return true;
}
catch
{
return false;
}
}
///
/// 将长整型转换浮点型
///
///
///
public static float LongToFloat(long lgValue)
{
float flValue = 0;
try
{
if (lgValue >= 0)
{
byte[] btValue = ClsDataAccessPack.LongToHex(lgValue);
flValue = ClsDataAccessPack.HexToFloat(btValue);
}
}
catch { }
return flValue;
}
private static unsafe byte[] LongToHex(long lValue)
{
long[] lValuePtr = new long[1];
int sizeOfValue = Marshal.SizeOf(typeof(long));
byte[] byteValue = new byte[sizeOfValue];
lValuePtr[0] = lValue;
fixed (long* pTempValue = lValuePtr)
{
Marshal.Copy(new IntPtr(pTempValue), byteValue, 0, sizeOfValue);
}
return byteValue;
}
private static unsafe float HexToFloat(byte[] byteValue)
{
float[] fltValuePtr = new float[1];
int sizeOfValue = Marshal.SizeOf(typeof(float));
fixed (float* pTempValue = fltValuePtr)
{
Marshal.Copy(byteValue, 0, new IntPtr(pTempValue), sizeOfValue);
}
return fltValuePtr[0];
}
}
///
/// 枚举对象长度
///
public enum OBJLEN : int
{
///
/// 加热处理号长度
///
nHeatProcessNo = 13,
///
/// 炉号长度
///
nHeatNo = 8,
///
/// 岗位编码长度
///
nDevCode = 2,
///
/// 处理次数长度
///
nDealTime = 2,
///
/// 岗位编码字母长度
///
nDevStr = 1,
///
/// 脱硫处理号
///
nHudwProcessNo = 14,
///
/// 脱硫号
///
nHudwId = 9
}
}