BaoKai_202508-Wms-Jingwang..../WMS.IData/SystemDataObject.cs

439 lines
14 KiB
C#
Raw Permalink Normal View History

2025-08-24 09:35:55 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.DBUtility;
using System.Data.SqlClient;
using Oracle.ManagedDataAccess.Client;
namespace WMS.IData
{
/// <summary>
/// 数据处理类
/// </summary>
public class SystemDataObject
{
#region
private static SystemDataObject dataObject;
private static object _lock = new object();
/// <summary>
/// 通过Singleton模式返回当前数据访问层实例
/// </summary>
public static SystemDataObject Instance
{
get
{
if (dataObject == null)
{
lock (_lock)
{
if (dataObject == null)
{
dataObject = new SystemDataObject();
}
}
}
return dataObject;
}
}
#endregion
Model.Base.LogDataModel _logModel;
/// <summary>
/// 日志处理类
/// </summary>
public Model.Base.LogDataModel logModel
{
get { lock ("logModel") { return _logModel; } }
}
#region DataSet数据集
/// <summary>
/// 返回DataSet数据集
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public DataTable GetDataTable(string sqlStr)
{
return GetDataTable(sqlStr, null);
}
public DataSet GetDataSet(string sqlStr)
{
return GetDataSet(sqlStr, null);
}
/// <summary>
/// 返回DataSet数据集
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public DataSet GetDataSet(string sqlStr, OracleParameter[] param)
{
// _logModel = new Model.Base.LogDataModel();
DataSet ds = new DataSet();
// _logModel.SqlStr = sqlStr;
// logModel.Operator_id = DataProvider.Instance.userNumber;
try
{
if (param == null)
{
ds = OracleHelper.ExecuteDataset(CommandType.Text, sqlStr);
}
else
{
ds = OracleHelper.ExecuteDataset(CommandType.Text,sqlStr, param);
}
}
catch (Exception ex)
{
// _logModel.Content = "数据库连接错误" + ex.Message;
if (ex.Message.ToString().PadLeft(3).ToString().ToUpper() == "ORA")
{
return null;
}
// DataProvider.Instance.ErrLog.InsertLog(_logModel);
return null;
}
return ds;
}
/// <summary>
/// 返回DataSet数据集
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public DataTable GetDataTable(string sqlStr, OracleParameter[] param)
{
// _logModel = new Model.Base.LogDataModel();
DataTable ds = new DataTable();
// _logModel.SqlStr = sqlStr;
try
{
if (param == null)
{
ds = OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr);
}
else
{
ds = OracleHelper.ExecuteDataTable(CommandType.Text, sqlStr, param);
}
}
catch (Exception ex)
{
// _logModel.Content = "数据库连接错误" + ex.Message;
WMS.Common.LogWriteText.WriteLog(ex.Message + ex.TargetSite);
// DataProvider.Instance.ErrLog.InsertLog(_logModel);
return null;
}
return ds;
}
/// <summary>
/// 调用存储过程返回DataTable
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <returns></returns>
public DataTable GetDataTableProc(string sqlStr)
{
return GetDataTableProc(sqlStr, null);
}
/// <summary>
/// 调用存储过程返回DataTable
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <returns></returns>
public DataTable GetDataTableProc(string sqlStr, OracleParameter[] param)
{
// _logModel = new Model.Base.LogDataModel();
DataTable ds = new DataTable();
// _logModel.SqlStr = sqlStr;
try
{
if (param == null)
{
ds = OracleHelper.ExecuteDataTable(CommandType.StoredProcedure, sqlStr);
}
else
{
ds = OracleHelper.ExecuteDataTable(CommandType.StoredProcedure, sqlStr, param);
}
}
catch (Exception ex)
{
// _logModel.Content = "数据库连接错误" + ex.Message;
if (ex.Message.ToString().PadLeft(3).ToString().ToUpper() == "ORA")
{
return null;
}
WMS.Common.LogWriteText.WriteLog(ex.Message + ex.TargetSite);
// DataProvider.Instance.ErrLog.InsertLog(_logModel);
return null;
}
return ds;
}
/// <summary>
/// 调用查询存储过程,并且记录错误日志
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <param name="errRow"></param>
/// <param name="errMsg"></param>
/// <returns></returns>
public DataTable GetDataTableProc(string sqlStr, OracleParameter[] param, int errRow, int errMsg)
{
// _logModel = new Model.Base.LogDataModel();
DataTable ds = new DataTable();
// _logModel.SqlStr = sqlStr;
try
{
if (param == null)
{
ds = OracleHelper.ExecuteDataTable(CommandType.StoredProcedure, sqlStr);
}
else
{
ds = OracleHelper.ExecuteDataTable(CommandType.StoredProcedure, sqlStr, param);
}
}
catch (Exception ex)
{
// _logModel.Content = "数据库连接错误" + ex.Message;
// DataProvider.Instance.ErrLog.InsertLog(_logModel);
return null;
}
return ds;
}
#endregion
#region sql语句返回执行语句的事务
/// <summary>
/// 执行sql语句返回执行语句的数量
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <returns></returns>
public int ExecuteSqlCommit(string sqlStr, OracleParameter[] param)
{
int row = 0;
// _logModel = new Model.Base.LogDataModel();
// _logModel.SqlStr = sqlStr;
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sqlStr, param);
}
catch (Exception ex)
{
// _logModel.Content = ex.Message;
return row;
}
return row;
}
/// <summary>
/// 执行sql语句返回执行语句的数量
/// </summary>
/// <param name="sqlStr"></param>
/// <returns></returns>
public int ExecuteSqlCommit(string sqlStr)
{
int row = 0;
// _logModel = new Model.Base.LogDataModel();
// _logModel.SqlStr = sqlStr;
try
{
row = OracleHelper.ExecuteNonQuery(CommandType.Text, sqlStr);
}
catch (Exception ex)
{
// _logModel.Content = ex.Message;
return row;
}
return row;
}
/// <summary>
/// 执行sql语句返回执行语句的事务
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <returns></returns>
public OracleTransaction ExecuteSql(string sqlStr, OracleParameter[] param)
{
_logModel = new Model.Base.LogDataModel();
_logModel.SqlStr = sqlStr;
try
{
OracleHelper.ExecuteNonQuery(DataProvider.Instance.TranOracle, CommandType.Text, sqlStr, param);
}
catch (Exception ex)
{
_logModel.Content = ex.Message;
}
return DataProvider.Instance.TranOracle;
}
/// <summary>
/// 执行sql语句返回执行语句的事务
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <returns></returns>
public OracleTransaction ExecuteSql(string sqlStr)
{
_logModel = new Model.Base.LogDataModel();
_logModel.SqlStr = sqlStr;
try
{
OracleHelper.ExecuteNonQuery(DataProvider.Instance.TranOracle, CommandType.Text, sqlStr);
}
catch (Exception ex)
{
_logModel.Content = ex.Message;
}
return DataProvider.Instance.TranOracle;
}
/// <summary>
/// 执行sql语句返回执行语句的事务
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <param name="errNum"></param>
/// <param name="errMsg"></param>
/// <returns></returns>
public OracleTransaction ExecuteProc(string sqlStr, OracleParameter[] param, int errNum, int errMsg)
{
_logModel = new Model.Base.LogDataModel();
_logModel.SqlStr = sqlStr;
//logModel.Operator_id = DataProvider.Instance.userNumber;
try
{
OracleHelper.ExecuteNonQuery(DataProvider.Instance.TranOracle, CommandType.StoredProcedure, sqlStr, param);
}
catch (Exception ex)
{
_logModel.Content = ex.Message;
}
return DataProvider.Instance.TranOracle;
}
#endregion
#region
/// <summary>
/// 执行sql语句集合返回执行语句的事务
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="param"></param>
/// <param name="errNum"></param>
/// <param name="errMsg"></param>
/// <returns></returns>
public OracleTransaction ExecuteList(List<string> sqllist, List<OracleParameter[]> OracleParameters)
{
_logModel = new Model.Base.LogDataModel();
string errstr = "";
StringBuilder sqlstr = new StringBuilder();
foreach (string t in sqllist)
{
sqlstr.Append(t + ";");
}
_logModel.SqlStr = sqlstr.ToString();
//logModel.Operator_id = DataProvider.Instance.userNumber;
try
{
OracleHelper.ExecuteNonSQLList(CommandType.Text, sqllist, OracleParameters, ref errstr);
}
catch (Exception ex)
{
_logModel.Content = ex.Message;
DataProvider.Instance.ErrLog.InsertLog(_logModel);
}
return DataProvider.Instance.TranOracle;
}
public OracleTransaction ExecuteList(List<string> sqllist, ref string str_msg)
{
_logModel = new Model.Base.LogDataModel();
string errstr = "";
StringBuilder sqlstr = new StringBuilder();
foreach (string t in sqllist)
{
sqlstr.Append(t + ";");
}
_logModel.SqlStr = sqlstr.ToString();
//logModel.Operator_id = DataProvider.Instance.userNumber;
try
{
OracleHelper.ExecuteNonSQLList(CommandType.Text, sqllist, ref errstr);
}
catch (Exception ex)
{
str_msg = ex.Message;
_logModel.Content = ex.Message;
DataProvider.Instance.ErrLog.InsertLog(_logModel);
}
return DataProvider.Instance.TranOracle;
}
///// <summary>
///// 执行sql语句集合返回执行语句的事务
///// </summary>
///// <param name="sqlStr"></param>
///// <returns></returns>
public OracleTransaction ExecuteList(List<string> sqllist)
{
_logModel = new Model.Base.LogDataModel();
string errstr = "";
StringBuilder sqlstr = new StringBuilder();
foreach (string t in sqllist)
{
sqlstr.Append(t + ";");
}
try
{
OracleHelper.ExecuteNonSQLList(CommandType.Text, sqllist, ref errstr);
}
catch (Exception ex)
{
_logModel.Content = ex.Message;
DataProvider.Instance.ErrLog.InsertLog(_logModel);
}
return DataProvider.Instance.TranOracle;
}
#endregion
}
}