153 lines
5.6 KiB
C#
153 lines
5.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using WX.CRM.DAL.QH;
|
|
using WX.CRM.IBLL.QH;
|
|
using WX.CRM.Model.Enum;
|
|
|
|
namespace WX.CRM.BLL.QH
|
|
{
|
|
public class QH_MONTHLYSTATEMENT_BL : IQH_MONTHLYSTATEMENT_Q, IQH_MONTHLYSTATEMENT
|
|
{
|
|
public Model.Entity.QH_MONTHLYSTATEMENT getMonthlyStatement(decimal monthCode)
|
|
{
|
|
using (var contex = new Model.Entity.crmContext())
|
|
{
|
|
return contex.QH_MONTHLYSTATEMENT.FirstOrDefault(p => p.MONTHCODE == monthCode && p.OPTYPE == 1);
|
|
}
|
|
}
|
|
public decimal? getMaxMonthCode()
|
|
{
|
|
using (var contex = new Model.Entity.crmContext())
|
|
{
|
|
var list = contex.QH_MONTHLYSTATEMENT.Where(p => p.OPTYPE == 1);
|
|
return list.Any() ? (decimal?)list.Max(p => p.MONTHCODE) : null;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 是否已经月结
|
|
/// </summary>
|
|
/// <param name="monthcode">月结码</param>
|
|
/// <returns></returns>
|
|
public bool GetIsYueJie(decimal monthcode)
|
|
{
|
|
using (var contex = new Model.Entity.crmContext())
|
|
{
|
|
var model = contex.QH_MONTHLYSTATEMENT.Where(m => m.MONTHCODE == monthcode).OrderByDescending(m => m.OPTIME).FirstOrDefault();
|
|
if (model == null)
|
|
{
|
|
return false;//没有月结
|
|
}
|
|
else if (model.OPTYPE == -1)
|
|
{
|
|
return false;//已做反月结
|
|
}
|
|
else
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public List<decimal> GetAllOpYeanAndMonth()
|
|
{
|
|
using (var db = new Model.Entity.crmContext())
|
|
{
|
|
return db.QH_MONTHLYSTATEMENT.Where(p => p.OPTYPE == 1).Select(m => m.MONTHCODE).Distinct().OrderByDescending(m => m).ToList();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取所有月结年月(不包含反月结)
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<decimal> GetAllMonth()
|
|
{
|
|
using (var db = new Model.Entity.crmContext())
|
|
{
|
|
return db.QH_MONTHLYSTATEMENT.Where(o => o.OPTYPE == 1).Select(m => m.MONTHCODE).Distinct().OrderByDescending(m => m).ToList();
|
|
}
|
|
}
|
|
|
|
public List<decimal> GetAllBalanceCode()
|
|
{
|
|
using (var db = new Model.Entity.crmContext())
|
|
{
|
|
List<decimal?> list0 = db.QH_MONTHLYSTATEMENT.Where(p => p.OPTYPE == -1).Select(f => f.MONTHLYPKID).Distinct().ToList();
|
|
return db.QH_MONTHLYSTATEMENT.Where(p => p.OPTYPE == 1 && !list0.Contains(p.PKID)).Select(m => m.MONTHCODE).Distinct().ToList();
|
|
}
|
|
}
|
|
public List<Model.Entity.QH_MONTHLYSTATEMENT> GetMONTHLYSTATEMENTList(int pageIndex, int pageSize, out int rcount)
|
|
{
|
|
rcount = 0;
|
|
using (var db = new Model.Entity.crmContext())
|
|
{
|
|
var q = db.QH_MONTHLYSTATEMENT.OrderByDescending(p => p.PKID);
|
|
rcount = q.Count();
|
|
int startIndex = 0;
|
|
if (pageIndex > 1)
|
|
startIndex = (pageIndex - 1) * pageSize;
|
|
return q.Skip(startIndex).Take(pageSize).ToList<Model.Entity.QH_MONTHLYSTATEMENT>();
|
|
}
|
|
}
|
|
public bool MonthBalance(int balanceCode, decimal opUser)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().MonthBalance(balanceCode, opUser);
|
|
}
|
|
public bool MonthBalanceStep(int balanceCode, decimal opUser)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().MonthBalanceStep(balanceCode, opUser);
|
|
}
|
|
public bool MonthUnBalance(int balanceCode, decimal opUser, decimal baseRef)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().MonthUnBalance(balanceCode, opUser, baseRef);
|
|
}
|
|
public DataSet MonthCheckBalance(int balanceCode)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().MonthCheckBalance(balanceCode);
|
|
}
|
|
public bool OrganizeStructureBackup(int balanceCode, BakOrganizeStructure bakType)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().OrganizeStructureBackup(balanceCode, bakType);
|
|
}
|
|
public bool GenNextRule(decimal opUser)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().GenNextRule(opUser);
|
|
}
|
|
|
|
public List<string> GetMonthByUserPerformanct()
|
|
{
|
|
List<string> lis = new List<string>();
|
|
var m = getMaxMonthCode();
|
|
var curDate = System.DateTime.Now;
|
|
lis.Clear();
|
|
if (m == null)
|
|
{
|
|
lis.Add(curDate.ToString("yyyyMM"));
|
|
curDate = curDate.AddMonths(-1);
|
|
lis.Add(curDate.ToString("yyyyMM"));
|
|
curDate = curDate.AddMonths(-1);
|
|
lis.Add(curDate.ToString("yyyyMM"));
|
|
}
|
|
else
|
|
{
|
|
string s = string.Format("{0}01", m);
|
|
curDate = System.DateTime.ParseExact(s, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
|
|
curDate = curDate.AddMonths(1);
|
|
lis.Add(curDate.ToString("yyyyMM"));
|
|
if (DateTime.Now > curDate)
|
|
{
|
|
curDate = curDate.AddMonths(1);
|
|
lis.Add(curDate.ToString("yyyyMM"));
|
|
}
|
|
}
|
|
return lis;
|
|
}
|
|
|
|
public bool BackupCommissionRule(int balanceCode, decimal opUser)
|
|
{
|
|
return new QH_Gonthlystatement_DAL().BackupCommissionRule(balanceCode, opUser);
|
|
}
|
|
|
|
}
|
|
}
|