using System; using System.Collections.Generic; using System.Data; using System.Data.OracleClient; 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) { 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_allmemo_get", p); trans.Commit(); } } catch { throw; } finally { if (conn.State == ConnectionState.Open) conn.Close(); } 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(); } } } }