using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.Diagnostics;
using System.Linq;
using WX.CRM.Common;
namespace WX.CRM.DAL.Ord
{
public class Ord_Memo_DAL
{
public DataTable GetMemoListByResId(ref Pager pager, string ResId, WX.CRM.Model.Enum.EnumMemoType type, string isValid)
{
string sql = string.Empty;
switch (type)
{
case WX.CRM.Model.Enum.EnumMemoType.服务工单: sql = "PACK_ORD_MEMO.ord_servicememo_get"; break;
case WX.CRM.Model.Enum.EnumMemoType.特殊订单: sql = "PACK_ORD_MEMO.ord_specialmemo_get"; break;
case WX.CRM.Model.Enum.EnumMemoType.销售工单: sql = "PACK_ORD_MEMO.ord_salememo_get"; break;
case WX.CRM.Model.Enum.EnumMemoType.意向工单: sql = "PACK_ORD_MEMO.ord_purposememo_get"; break;
}
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
DataSet ds = null;
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleParameter[] p =
{
new OracleParameter("v_pageIndex",OracleType.Number),
new OracleParameter("v_pageSize",OracleType.Number),
new OracleParameter("v_resid",OracleType.Char),
new OracleParameter("v_isValid",OracleType.VarChar),
new OracleParameter(){ParameterName="v_total",OracleType=OracleType.Number,Direction = ParameterDirection.Output},
new OracleParameter(){ParameterName="v_tab",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output},
};
p[0].Value = pager.page;
p[1].Value = pager.rows;
p[2].Value = ResId;
p[3].Value = isValid;
ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, sql, p);
pager.totalRows = int.Parse(string.Format("{0}", p.Single(m => m.ParameterName == "v_total").Value));
}
}
catch { throw; }
finally
{
conn.Close();
//conn.Dispose();
}
return ds.Tables[0];
}
public DataTable GetAllMemoListByResId(int pageSize, string ResId, string isValid,string procedureName)
{
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
DataSet ds = null;
if (conn.State == ConnectionState.Closed)
conn.Open();
Stopwatch watch = new Stopwatch();
watch.Start();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleParameter[] p =
{
new OracleParameter("v_pageSize",OracleType.Number),
new OracleParameter("v_resid",OracleType.Char),
new OracleParameter("v_isValid",OracleType.VarChar),
new OracleParameter(){ParameterName="v_tab",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output},
};
p[0].Value = pageSize;
p[1].Value = ResId;
p[2].Value = isValid;
ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, procedureName, p);
trans.Commit();
}
}
catch { throw; }
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
watch.Stop();
LogHelper.Info($"{ResId}查询工单花费时间{watch.ElapsedMilliseconds}");
return ds.Tables[0];
}
///
/// 获取投顾工单
///
///
///
///
///
public DataTable GetTGAllMemoListByResId(int pageSize, string ResId, string isValid)
{
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
DataSet ds = null;
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleParameter[] p =
{
new OracleParameter("v_pageSize",OracleType.Number),
new OracleParameter("v_resid",OracleType.Char),
new OracleParameter("v_isValid",OracleType.VarChar),
new OracleParameter(){ParameterName="v_tab",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output},
};
p[0].Value = pageSize;
p[1].Value = ResId;
p[2].Value = isValid;
ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_ORD_MEMO.ord_tg_allmemo_get", p);
trans.Commit();
}
}
catch { throw; }
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
return ds.Tables[0];
}
public DataTable GetProtectResIdList(decimal protectDay, DateTime? stime, DateTime? etime, decimal BusinessTypeid1, decimal memoTypeid1, decimal memoSubTypeid1, decimal BusinessTypeid2, decimal memoTypeid2, decimal memoSubTypeid2)
{
List list = new List();
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
DataSet ds = null;
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleParameter[] p =
{
new OracleParameter("p_protectDay",OracleType.Number),
new OracleParameter("p_stime",OracleType.DateTime),
new OracleParameter("p_etime",OracleType.DateTime),
new OracleParameter("p_businessTypeid1",OracleType.Number),
new OracleParameter("p_memoTypeid1",OracleType.Number),
new OracleParameter("p_memoSubTypeid1",OracleType.Number),
new OracleParameter("p_BusinessTypeid2",OracleType.Number),
new OracleParameter("p_memoTypeid2",OracleType.Number),
new OracleParameter("p_memoSubTypeid2",OracleType.Number),
new OracleParameter(){ParameterName="v_tab",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output},
};
p[0].Value = protectDay;
p[1].Value = stime;
p[2].Value = etime;
p[3].Value = BusinessTypeid1;
p[4].Value = memoTypeid1;
p[5].Value = memoSubTypeid1;
p[6].Value = BusinessTypeid2;
p[7].Value = memoTypeid2;
p[8].Value = memoSubTypeid2;
ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_ORD_MEMO.ProtectMemo", p);
trans.Commit();
//foreach (DataRow item in ds.Tables[0].Rows)
//{
// list.Add(string.Format("{0}", item["resid"]));
//}
//return list;
return ds.Tables[0];
}
}
catch { throw; }
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
public DataTable GetCacheOrdMemo()
{
List list = new List();
OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn);
DataSet ds = null;
if (conn.State == ConnectionState.Closed)
conn.Open();
try
{
using (OracleTransaction trans = conn.BeginTransaction())
{
OracleParameter[] p =
{
new OracleParameter(){ParameterName="v_data",OracleType=OracleType.Cursor,Direction = ParameterDirection.Output},
};
ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_ORD_MEMO.QC_SYNCORD", p);
trans.Commit();
return ds.Tables[0];
}
}
catch { throw; }
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
}
}
}