using Edu.Model.Entity.Bonus;
using Edu.Model.ViewModel.Bonus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Bonus
{
///
/// 甲鹤小语种班课销售提成(西语,法语,韩语)奖励仓储层
///
public class RB_Language_PeopleRepository : BaseRepository
{
///
/// 甲鹤小语种班课销售提成(西语,法语,韩语)奖励详情仓储层对象
///
private readonly RB_Language_PeopleDetailRepository personnel_BonusDetailRepository = new RB_Language_PeopleDetailRepository();
///
/// 获取甲鹤小语种班课销售提成(西语,法语,韩语)奖励分页列表
///
///
///
///
///
///
public List GetPersonnelBonusPageRepository(int pageIndex,int pageSize,out long rowsCount, RB_Language_People_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Language_People AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Language_People_Extend.Group_Id), query.Group_Id);
}
if (query.YearNum>0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.YearNum), query.YearNum);
}
if (query.MonthNum > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.MonthNum), query.MonthNum);
}
if (query.EmployeeId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Language_People_Extend.EmployeeId), query.EmployeeId);
}
if (query.PeriodId > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.PeriodId), query.PeriodId);
}
}
return GetPage(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList();
}
///
/// 获取甲鹤小语种班课销售提成(西语,法语,韩语)奖励列表
///
///
/// true-查询详情
///
public List GetPersonnelBonusListRepository(RB_Language_People_Extend query,bool isGetDetail=false)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Language_People AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Language_People_Extend.Group_Id), query.Group_Id);
}
if (query.YearNum > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.YearNum), query.YearNum);
}
if (query.MonthNum > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.MonthNum), query.MonthNum);
}
if (query.EmployeeId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Language_People_Extend.EmployeeId), query.EmployeeId);
}
if (!string.IsNullOrEmpty(query.QEmployeeIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.EmployeeId), query.QEmployeeIds);
}
if (query.IsNoBalance == 1)
{
builder.AppendFormat(" AND A.DeductionMoney<>A.FinishDeductionMoney ");
}
if (query.PeriodId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Language_People_Extend.PeriodId), query.PeriodId);
}
if (!string.IsNullOrEmpty(query.QPeriodIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Language_People_Extend.PeriodId), query.QPeriodIds);
}
}
var list= Get(builder.ToString()).ToList();
if (list != null && list.Count > 0)
{
string ids = string.Join(",", list.Select(qitem => qitem.Id));
List detailsList = personnel_BonusDetailRepository.GetPersonnelBonusDetailListRepository(new RB_Language_PeopleDetail_Extend()
{
QBonusIds = ids
});
foreach (var item in list)
{
item.DetailList = detailsList?.Where(qitem => qitem.BonusId == item.Id)?.ToList();
}
}
return list;
}
///
/// 设置甲鹤小语种班课销售提成(西语,法语,韩语)奖励未已发放
///
///
///
public bool SetEmployeeBounsIsIssueRepository(string Ids)
{
string sql = string.Format(@" UPDATE RB_Language_People SET IsIssue=1 WHERE Id IN({0})", Ids);
return base.Execute(sql) > 0;
}
}
}