using Edu.Common.Enum; using Edu.Model.Entity.Course; using Edu.Model.Entity.Sell; using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Sell; using System; using System.Collections.Generic; using System.Linq; using System.Text; using VT.FW.DB.Dapper; namespace Edu.Repository.Sell { /// <summary> /// 销售提成期数明细仓储层 /// </summary> public class RB_Sell_StudyAbroad_DetailsRepository : BaseRepository<RB_Sell_StudyAbroad_Details> { /// <summary> /// 获取列表 /// </summary> /// <param name="demodel"></param> /// <returns></returns> public List<RB_Sell_StudyAbroad_Details_ViewModel> GetList(RB_Sell_StudyAbroad_Details_ViewModel demodel) { string where = $@" 1=1"; if (demodel.Group_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Group_Id)} ={demodel.Group_Id}"; } if (demodel.PeriodId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.PeriodId)} ={demodel.PeriodId}"; } if (demodel.UserId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.UserId)} ={demodel.UserId}"; } if (!string.IsNullOrEmpty(demodel.UserIds)) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.UserId)} in({demodel.UserIds})"; } if (demodel.SourceId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.SourceId)} ={demodel.SourceId}"; } if (demodel.OrderId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.OrderId)} ={demodel.OrderId}"; } if (!string.IsNullOrEmpty(demodel.OrderIds)) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.OrderId)} in({demodel.OrderIds})"; } string sql = $@" select r.* from RB_Sell_StudyAbroad_Details r where {where} order by r.Id asc"; return Get<RB_Sell_StudyAbroad_Details_ViewModel>(sql).ToList(); } /// <summary> /// 获取分页列表 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="count"></param> /// <param name="demodel"></param> /// <returns></returns> public List<RB_Sell_StudyAbroad_Details_ViewModel> GetPageList(int pageIndex, int pageSize, out long count, RB_Sell_StudyAbroad_Details_ViewModel demodel) { string where = $@" 1=1"; if (demodel.Group_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Group_Id)} ={demodel.Group_Id}"; } if (demodel.School_Id >= 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.School_Id)} ={demodel.School_Id}"; } if (demodel.Depart_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Depart_Id)} ={demodel.Depart_Id}"; } if (demodel.PeriodId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.PeriodId)} ={demodel.PeriodId}"; } if (demodel.UserId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.UserId)} ={demodel.UserId}"; } if (demodel.SourceId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.SourceId)} ={demodel.SourceId}"; } if (demodel.OrderId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.OrderId)} ={demodel.OrderId}"; } string sql = $@" select r.* from RB_Sell_StudyAbroad_Details r where {where} order by r.Id desc"; return GetPage<RB_Sell_StudyAbroad_Details_ViewModel>(pageIndex, pageSize, out count, sql).ToList(); } /// <summary> /// 获取用户提成列表 /// </summary> /// <param name="dmodel"></param> /// <returns></returns> public List<RB_Sell_StudyAbroad_Details_ViewModel> GetSellCommissionUserList(RB_Sell_StudyAbroad_Details_ViewModel demodel) { string where = $@" 1=1"; if (demodel.Group_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Group_Id)} ={demodel.Group_Id}"; } if (demodel.School_Id >= 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.School_Id)} ={demodel.School_Id}"; } if (demodel.PeriodId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.PeriodId)} ={demodel.PeriodId}"; } if (demodel.UserId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.UserId)} ={demodel.UserId}"; } if (demodel.SourceId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.SourceId)} ={demodel.SourceId}"; } if (demodel.OrderId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.OrderId)} ={demodel.OrderId}"; } string sql = $@" select r.UserId,r.Depart_Id,r.School_Id,sum(r.StudentCount) as StudentCount,sum(r.CommissionMoney) as CommissionMoney,sum(r.OtherMoney) as OtherMoney,sum(r.BackMoney) as BackMoney from RB_Sell_StudyAbroad_Details r where {where} group by r.UserId,r.Depart_Id,r.School_Id"; return Get<RB_Sell_StudyAbroad_Details_ViewModel>(sql).ToList(); } /// <summary> /// 获取每期校区对应提成 /// </summary> /// <param name="schoolId"></param> /// <param name="periodsIds"></param> /// <returns></returns> public List<RB_Sell_StudyAbroad_Details_ViewModel> GetSchoolCommission(int schoolId, string periodsIds) { string sql = $@"select PeriodId,SUM(CommissionMoney + OtherMoney - BackMoney) as CommissionMoney from RB_Sell_StudyAbroad_Details WHERE School_Id ={schoolId} and PeriodId in ({periodsIds}) GROUP BY PeriodId "; return Get<RB_Sell_StudyAbroad_Details_ViewModel>(sql).ToList(); } /// <summary> /// 累计提成金额 /// </summary> /// <param name="demodel"></param> /// <returns></returns> public decimal GetSellStudyAbroadStatistics(RB_Sell_StudyAbroad_Details_ViewModel demodel) { string where = $@" 1=1"; if (demodel.Group_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Group_Id)} ={demodel.Group_Id}"; } if (demodel.School_Id >= 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.School_Id)} ={demodel.School_Id}"; } if (demodel.Depart_Id > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.Depart_Id)} ={demodel.Depart_Id}"; } if (demodel.PeriodId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.PeriodId)} ={demodel.PeriodId}"; } if (demodel.UserId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.UserId)} ={demodel.UserId}"; } if (demodel.SourceId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.SourceId)} ={demodel.SourceId}"; } if (demodel.OrderId > 0) { where += $@" and r.{nameof(RB_Sell_StudyAbroad_Details_ViewModel.OrderId)} ={demodel.OrderId}"; } string sql = $@" select sum(r.CommissionMoney + r.OtherMoney - r.BackMoney) from RB_Sell_StudyAbroad_Details r where {where}"; var obj = ExecuteScalar(sql); return obj == null ? 0 : Convert.ToDecimal(obj); } } }