ComplianceServer/oldcode/DAL/QH/QH_Gonthlystatement_DAL.cs

259 lines
11 KiB
C#

using System;
using System.Data;
using System.Data.OracleClient;
using WX.CRM.Model.Enum;
namespace WX.CRM.DAL.QH
{
public class QH_Gonthlystatement_DAL
{
/// <summary>
/// 月结
/// </summary>
/// <param name="balanceCode">月结码</param>
/// <param name="opUser">月结操作人</param>
/// <returns></returns>
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;
}
/// <summary>
/// 分步月结
/// </summary>
/// <param name="balanceCode">月结码</param>
/// <param name="opUser">月结操作人</param>
/// <returns></returns>
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;
}
/// <summary>
/// 反月结
/// </summary>
/// <param name="balanceCode">月结码</param>
/// <param name="opUser">反月结操作人</param>
/// <param name="baseRef">基于月结记录的ID</param>
/// <returns></returns>
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;
}
/// <summary>
///月结校验
/// </summary>
/// <param name="balanceCode">月结码</param>
/// <returns></returns>
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;
}
/// <summary>
/// 生成下个月规则
/// </summary>
/// <param name="opUser"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 备份佣金分成规则
/// </summary>
/// <param name="balanceCode"></param>
/// <param name="opUser"></param>
/// <returns></returns>
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;
}
}
}