259 lines
11 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|