using System; using System.Data; using System.Data.OracleClient; using WX.CRM.Model.Enum; namespace WX.CRM.DAL.QH { public class QH_Gonthlystatement_DAL { /// /// 月结 /// /// 月结码 /// 月结操作人 /// public bool MonthBalance(int balanceCode, decimal opUser) { bool r = false; try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter() { ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter() {ParameterName = "p_month", OracleType = OracleType.Number, Value = m}, new OracleParameter() { ParameterName = "p_operuser",OracleType = OracleType.Number, Value = opUser } }; //OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_GJS_CUSTOMERLIST.OpentAccountPgroess", p2); OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_QH_MON_BALANCE.MonthlyBalance", p2); } catch (Exception ex) { r = false; throw ex; } return r; } /// /// 分步月结 /// /// 月结码 /// 月结操作人 /// public bool MonthBalanceStep(int balanceCode, decimal opUser) { bool r = false; try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter() { ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter() {ParameterName = "p_month", OracleType = OracleType.Number, Value = m}, new OracleParameter() { ParameterName = "p_operuser",OracleType = OracleType.Number, Value = opUser } }; OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_QH_MON_BALANCE_STEP.MonthlyBalanceStep", p2); } catch (Exception ex) { r = false; throw ex; } return r; } /// /// 反月结 /// /// 月结码 /// 反月结操作人 /// 基于月结记录的ID /// public bool MonthUnBalance(int balanceCode, decimal opUser, decimal baseRef) { bool r = false; try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter() { ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter() { ParameterName = "p_month", OracleType = OracleType.Number, Value = m}, new OracleParameter() { ParameterName = "p_operuser",OracleType = OracleType.Number, Value = opUser }, new OracleParameter() { ParameterName = "p_baseRefId",OracleType = OracleType.Number, Value = baseRef } }; //OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_GJS_CUSTOMERLIST.OpentAccountPgroess", p2); OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_QH_MON_BALANCE.MonthlyUnBalance", p2); } catch (Exception ex) { r = false; throw ex; } return r; } /// ///月结校验 /// /// 月结码 /// public DataSet MonthCheckBalance(int balanceCode) { OracleConnection conn = new OracleConnection(OracleHelper.AYCRMConn); if (conn.State == ConnectionState.Closed) conn.Open(); OracleTransaction trans = conn.BeginTransaction(); try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter(){ ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter(){ ParameterName = "p_month", OracleType = OracleType.Number, Value = m}, new OracleParameter(){ ParameterName = "p_checkResult", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output }, new OracleParameter(){ ParameterName = "p_checkDetail", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output } }; var ds = OracleHelper.DataQueray(trans, CommandType.StoredProcedure, "PACK_QH_MON_CHECK.PreMonthlyCheck", p2); trans.Commit(); return ds; } catch (Exception) { trans.Rollback(); throw; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } } public bool OrganizeStructureBackup(int balanceCode, BakOrganizeStructure bakType) { bool r = false; try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter() { ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter() {ParameterName = "p_month", OracleType = OracleType.Number, Value = m} }; string sql = "PACK_QH_MON.GenOrganizeStructure"; switch (bakType) { case BakOrganizeStructure.all: sql = "PACK_QH_MON.GenOrganizeStructure"; break; case BakOrganizeStructure.GroupLeader: sql = "PACK_QH_MON.GenMonGroupLeader"; break; case BakOrganizeStructure.InnerDept: sql = "PACK_QH_MON.GenMonInneruserGroup"; break; case BakOrganizeStructure.InnerGroup: sql = "PACK_QH_MON.GenMonInneruser"; break; case BakOrganizeStructure.Inneruser: sql = "PACK_QH_MON.GenMonInneruserRole"; break; case BakOrganizeStructure.InneruserGroup: sql = "PACK_QH_MON.GenMonInnerGroup"; break; case BakOrganizeStructure.InneruserRole: sql = "PACK_QH_MON.GenMonInnerDept"; break; case BakOrganizeStructure.TutorUser: sql = "PACK_QH_MON.GenMonTutorUser"; break; case BakOrganizeStructure.gjs_customercategory: sql = "PACK_QH_MON.GenCutomerCategory"; break; default: sql = null; break; }; if (string.IsNullOrEmpty(sql)) { throw new Exception("过程参数名称错误!"); } OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, sql, p2); } catch (Exception ex) { r = false; throw ex; } return r; } /// /// 生成下个月规则 /// /// /// public bool GenNextRule(decimal opUser) { bool r = false; try { OracleParameter[] p2 = { new OracleParameter() { ParameterName = "v_operuser",OracleType = OracleType.Number, Value = opUser } }; //OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_GJS_CUSTOMERLIST.OpentAccountPgroess", p2); OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_QH_MON_BALANCE.GenNextMonthCommissionRule", p2); } catch (Exception ex) { r = false; throw ex; } return r; } /// /// 备份佣金分成规则 /// /// /// /// public bool BackupCommissionRule(int balanceCode, decimal opUser) { bool r = false; try { int y = int.Parse(balanceCode.ToString().Substring(0, 4)); int m = int.Parse(balanceCode.ToString().Substring(4, 2)); OracleParameter[] p2 = { new OracleParameter() { ParameterName = "p_year", OracleType = OracleType.Number,Value = y }, new OracleParameter() {ParameterName = "p_month", OracleType = OracleType.Number, Value = m}, new OracleParameter() { ParameterName = "p_operuser",OracleType = OracleType.Number, Value = opUser } }; OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_QH_MON_BALANCE.BackupCommissionRule", p2); } catch (Exception ex) { r = false; throw ex; } return r; } } }