Commit 793c4472 authored by 黄奎's avatar 黄奎

页面修改

parent fc756a33
...@@ -10,5 +10,9 @@ namespace Edu.Model.ViewModel.Bonus ...@@ -10,5 +10,9 @@ namespace Edu.Model.ViewModel.Bonus
/// </summary> /// </summary>
public class RB_Personnel_BonusLog_Extend : RB_Personnel_BonusLog public class RB_Personnel_BonusLog_Extend : RB_Personnel_BonusLog
{ {
/// <summary>
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
} }
} }
...@@ -14,6 +14,16 @@ namespace Edu.Model.ViewModel.Bonus ...@@ -14,6 +14,16 @@ namespace Edu.Model.ViewModel.Bonus
/// 人头奖励详情列表 /// 人头奖励详情列表
/// </summary> /// </summary>
public List<RB_Personnel_BonusDetail_Extend> DetailList { get; set; } public List<RB_Personnel_BonusDetail_Extend> DetailList { get; set; }
/// <summary>
/// 抵扣列表
/// </summary>
public List<RB_Personnel_Deduction_Extend> DeductionList { get; set; }
/// <summary>
/// 变更日志列表
/// </summary>
public List<RB_Personnel_BonusLog_Extend> BonusLogList { get; set; }
/// <summary> /// <summary>
/// 是否查询未平账 /// 是否查询未平账
......
...@@ -75,6 +75,42 @@ namespace Edu.Module.Course ...@@ -75,6 +75,42 @@ namespace Edu.Module.Course
return list; return list;
} }
/// <summary>
/// 获取员工人头奖励分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_Bonus_Extend> GetPersonnelBonusPageModule(int pageIndex, int pageSize, out long rowsCount, RB_Personnel_Bonus_Extend query)
{
var list = personnel_BonusRepository.GetPersonnelBonusPageRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null&&list.Count>0)
{
string Ids = string.Join(",", list.Select(qitem => qitem.Id));
var detailList= personnel_BonusDetailRepository.GetPersonnelBonusDetailListRepository(new RB_Personnel_BonusDetail_Extend()
{
QBonusIds = Ids
});
var deductionList = personnel_DeductionRepository.GetPersonnelBonusListRepository(new RB_Personnel_Deduction_Extend()
{
QBonusIds = Ids
});
var logList = personnel_BonusLogRepository.GetPersonnelBonusLogListRepository(new RB_Personnel_BonusLog_Extend()
{
QBonusIds = Ids
});
foreach (var item in list)
{
item.DetailList = detailList?.Where(qitem => qitem.BonusId == item.Id)?.ToList();
item.DeductionList = deductionList?.Where(qitem => qitem.BonusId == item.Id)?.ToList();
item.BonusLogList = logList?.Where(qitem => qitem.BonusId == item.Id)?.ToList();
}
}
return list;
}
/// <summary> /// <summary>
/// 生成业绩 /// 生成业绩
/// </summary> /// </summary>
...@@ -102,17 +138,17 @@ namespace Edu.Module.Course ...@@ -102,17 +138,17 @@ namespace Edu.Module.Course
string endDate = Common.ConvertHelper.FormatDate(endTime); string endDate = Common.ConvertHelper.FormatDate(endTime);
var empPeriod = new RB_Personnel_Period() var empPeriod = new RB_Personnel_Period()
{ {
Name= string.Format("{0}-{1}期人头奖励", endTime.Year,endTime.Month), Name = string.Format("{0}-{1}期人头奖励", endTime.Year, endTime.Month),
Periods= string.Format("{0}-{1}", endTime.Year, endTime.Month), Periods = string.Format("{0}-{1}", endTime.Year, endTime.Month),
CreateBy=userInfo.Id, CreateBy = userInfo.Id,
CreateTime=DateTime.Now, CreateTime = DateTime.Now,
SumPrice=0, SumPrice = 0,
Group_Id=userInfo.Group_Id, Group_Id = userInfo.Group_Id,
Financials="", Financials = "",
EmpIds="", EmpIds = "",
Remark="", Remark = "",
}; };
var newId= personnel_PeriodRepository.Insert(empPeriod); var newId = personnel_PeriodRepository.Insert(empPeriod);
empPeriod.Id = newId; empPeriod.Id = newId;
flag = newId > 0; flag = newId > 0;
if (flag) if (flag)
...@@ -124,7 +160,7 @@ namespace Edu.Module.Course ...@@ -124,7 +160,7 @@ namespace Edu.Module.Course
}, isGetDetail: true); }, isGetDetail: true);
if (planList == null || (planList != null && planList.Count <= 0)) if (planList == null || (planList != null && planList.Count <= 0))
{ {
flag= false; flag = false;
message = "请先配置市场人员和课程顾问的提成配置"; message = "请先配置市场人员和课程顾问的提成配置";
return flag; return flag;
} }
...@@ -133,7 +169,7 @@ namespace Edu.Module.Course ...@@ -133,7 +169,7 @@ namespace Edu.Module.Course
var saleList = Common.ConvertHelper.StringToList(item.SaleIds); var saleList = Common.ConvertHelper.StringToList(item.SaleIds);
foreach (var saleId in saleList) foreach (var saleId in saleList)
{ {
CalcPersionBonusModule(empPeriod,item, userInfo.Group_Id, startDate, endDate, saleId); CalcPersionBonusModule(empPeriod, item, userInfo.Group_Id, startDate, endDate, saleId);
} }
} }
} }
...@@ -153,9 +189,9 @@ namespace Edu.Module.Course ...@@ -153,9 +189,9 @@ namespace Edu.Module.Course
//查询销售已发放的奖励 //查询销售已发放的奖励
var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend() var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{ {
QEmployeeIds = orderModel.EnterID.ToString()+","+(orderModel?.CourseConsultantId??0).ToString(), QEmployeeIds = orderModel.EnterID.ToString() + "," + (orderModel?.CourseConsultantId ?? 0).ToString(),
YearNum=orderModel.CreateTime.Year, YearNum = orderModel.CreateTime.Year,
MonthNum=orderModel.CreateTime.Month, MonthNum = orderModel.CreateTime.Month,
}); });
if (saleBonusList != null && saleBonusList.Count > 0) if (saleBonusList != null && saleBonusList.Count > 0)
{ {
...@@ -173,7 +209,7 @@ namespace Edu.Module.Course ...@@ -173,7 +209,7 @@ namespace Edu.Module.Course
Dictionary<string, object> detailFileds = new Dictionary<string, object>(); Dictionary<string, object> detailFileds = new Dictionary<string, object>();
detailFileds.Clear(); detailFileds.Clear();
var tempCurMonthOrder = orderModel; var tempCurMonthOrder = orderModel;
if (dItem.OrderId==orderModel.OrderId) if (dItem.OrderId == orderModel.OrderId)
{ {
var newMoney = tempCurMonthOrder.Income - tempCurMonthOrder.Refund - tempCurMonthOrder.PlatformTax; var newMoney = tempCurMonthOrder.Income - tempCurMonthOrder.Refund - tempCurMonthOrder.PlatformTax;
detailFileds.Add(nameof(RB_Personnel_BonusDetail_Extend.OrderGuestNum), 0); detailFileds.Add(nameof(RB_Personnel_BonusDetail_Extend.OrderGuestNum), 0);
...@@ -219,7 +255,7 @@ namespace Edu.Module.Course ...@@ -219,7 +255,7 @@ namespace Edu.Module.Course
/// <param name="GroupId"></param> /// <param name="GroupId"></param>
/// <param name="endDate"></param> /// <param name="endDate"></param>
/// <param name="saleId"></param> /// <param name="saleId"></param>
private void CalcPersionBonusModule(RB_Personnel_Period period,RB_Bonus_PlanExtend item, int GroupId,string startDate,string endDate, int saleId) private void CalcPersionBonusModule(RB_Personnel_Period period, RB_Bonus_PlanExtend item, int GroupId, string startDate, string endDate, int saleId)
{ {
var orderList = GetSaleOrderList(item, GroupId, endDate, saleId, out List<RB_Order_ViewModel> allOrderList); var orderList = GetSaleOrderList(item, GroupId, endDate, saleId, out List<RB_Order_ViewModel> allOrderList);
var curNum = orderList?.Sum(qitem => qitem.GuestNum) ?? 0; var curNum = orderList?.Sum(qitem => qitem.GuestNum) ?? 0;
...@@ -229,19 +265,19 @@ namespace Edu.Module.Course ...@@ -229,19 +265,19 @@ namespace Edu.Module.Course
var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend() var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{ {
EmployeeId = saleId, EmployeeId = saleId,
PlanType=item.PlanType, PlanType = item.PlanType,
IsNoBalance=1, IsNoBalance = 1,
}); });
//计算差额 //计算差额
var chaE = saleBonusList?.Sum(qitem => qitem.DeductionMoney - qitem.FinishDeductionMoney) ?? 0; var chaE = saleBonusList?.Sum(qitem => qitem.DeductionMoney - qitem.FinishDeductionMoney) ?? 0;
decimal DeductionMoney = 0; decimal DeductionMoney = 0;
var stuModel= studentRepository.GetStudentStaticRepository(saleId.ToString(), startDate, endDate)?.FirstOrDefault(); var stuModel = studentRepository.GetStudentStaticRepository(saleId.ToString(), startDate, endDate)?.FirstOrDefault();
//新增当月的人头奖励 //新增当月的人头奖励
var pModel = new RB_Personnel_Bonus() var pModel = new RB_Personnel_Bonus()
{ {
Id = 0, Id = 0,
PeriodId=period.Id, PeriodId = period.Id,
PlanId = item.Id, PlanId = item.Id,
PlanType = item.PlanType, PlanType = item.PlanType,
YearNum = Convert.ToDateTime(startDate).Year, YearNum = Convert.ToDateTime(startDate).Year,
...@@ -267,7 +303,7 @@ namespace Edu.Module.Course ...@@ -267,7 +303,7 @@ namespace Edu.Module.Course
{ {
pModel.BeforeMoney = chaE; pModel.BeforeMoney = chaE;
} }
else else
{ {
pModel.BeforeMoney = totalMoney; pModel.BeforeMoney = totalMoney;
} }
...@@ -304,8 +340,8 @@ namespace Edu.Module.Course ...@@ -304,8 +340,8 @@ namespace Edu.Module.Course
BonusId = sItem.Id, BonusId = sItem.Id,
CreateBy = 1, CreateBy = 1,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
DeductionMoney= tempChaE, DeductionMoney = tempChaE,
DeductionContent = "抵扣" + sItem.YearNum + "年" + sItem.MonthNum + "月超出金额" + tempChaE+"元.", DeductionContent = "抵扣" + sItem.YearNum + "年" + sItem.MonthNum + "月超出金额" + tempChaE + "元.",
}; };
personnel_DeductionRepository.Insert(deductionModel); personnel_DeductionRepository.Insert(deductionModel);
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
......
...@@ -20,7 +20,7 @@ namespace Edu.Repository.Bonus ...@@ -20,7 +20,7 @@ namespace Edu.Repository.Bonus
/// <param name="rowsCount"></param> /// <param name="rowsCount"></param>
/// <param name="query"></param> /// <param name="query"></param>
/// <returns></returns> /// <returns></returns>
public List<RB_Personnel_BonusLog_Extend> GetPersonnelBonusLogPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Personnel_BonusLog_Extend query) public List<RB_Personnel_BonusLog_Extend> GetPersonnelBonusLogListRepository(RB_Personnel_BonusLog_Extend query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
...@@ -34,6 +34,10 @@ WHERE 1=1 ...@@ -34,6 +34,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.BonusId), query.BonusId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.BonusId), query.BonusId);
} }
if (!string.IsNullOrEmpty(query.QBonusIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_BonusLog_Extend.BonusId), query.QBonusIds);
}
if (query.LogType > 0) if (query.LogType > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.LogType), query.LogType); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.LogType), query.LogType);
...@@ -42,8 +46,9 @@ WHERE 1=1 ...@@ -42,8 +46,9 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.OrderId), query.OrderId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.OrderId), query.OrderId);
} }
} }
return GetPage<RB_Personnel_BonusLog_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList(); return Get<RB_Personnel_BonusLog_Extend>( builder.ToString()).ToList();
} }
/// <summary> /// <summary>
......
...@@ -36,6 +36,7 @@ WHERE 1=1 ...@@ -36,6 +36,7 @@ WHERE 1=1
"); ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.Group_Id), query.Group_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.Group_Id), query.Group_Id);
...@@ -48,6 +49,10 @@ WHERE 1=1 ...@@ -48,6 +49,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum);
} }
if (query.PeriodId > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.PeriodId);
}
} }
return GetPage<RB_Personnel_Bonus_Extend>(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList(); return GetPage<RB_Personnel_Bonus_Extend>(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList();
} }
......
...@@ -220,6 +220,60 @@ namespace Edu.WebApi.Controllers.Bonus ...@@ -220,6 +220,60 @@ namespace Edu.WebApi.Controllers.Bonus
pageModel.PageData = result; pageModel.PageData = result;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
/// <summary>
/// 获取员工期数提成明细
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPersonnelPeriodDetails()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Personnel_Bonus_Extend()
{
PeriodId = base.ParmJObj.GetInt("PeriodId")
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = employeeBonusModule.GetPersonnelBonusPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
string EmployeeName = UserReidsCache.GetUserLoginInfo(item.EmployeeId)?.AccountName ?? "";
string CreateByName= UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.PeriodId,
item.PlanId,
item.PlanType,
item.YearNum,
item.MonthNum,
item.EmployeeId,
EmployeeName,
item.CurGuestNum,
item.CurRewardMoney,
item.CurOrderMoney,
item.DeductionMoney,
item.FinishDeductionMoney,
item.CreateBy,
CreateByName,
CreateTime=Common.ConvertHelper.FormatTime(item.CreateTime),
item.IsReach,
IsReachStr= item.IsReach==1?"已达标":"未达标",
item.BasicSalary,
item.OpenBonus,
item.WorkAgeSalary,
item.ClueNumSalary,
item.BeforeMoney,
item.DetailList,
item.DeductionList,
item.BonusLogList,
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
#endregion #endregion
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment