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

页面修改

parent fc756a33
......@@ -10,5 +10,9 @@ namespace Edu.Model.ViewModel.Bonus
/// </summary>
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
/// 人头奖励详情列表
/// </summary>
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>
/// 是否查询未平账
......
......@@ -75,6 +75,42 @@ namespace Edu.Module.Course
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>
......@@ -102,17 +138,17 @@ namespace Edu.Module.Course
string endDate = Common.ConvertHelper.FormatDate(endTime);
var empPeriod = new RB_Personnel_Period()
{
Name= string.Format("{0}-{1}期人头奖励", endTime.Year,endTime.Month),
Periods= string.Format("{0}-{1}", endTime.Year, endTime.Month),
CreateBy=userInfo.Id,
CreateTime=DateTime.Now,
SumPrice=0,
Group_Id=userInfo.Group_Id,
Financials="",
EmpIds="",
Remark="",
Name = string.Format("{0}-{1}期人头奖励", endTime.Year, endTime.Month),
Periods = string.Format("{0}-{1}", endTime.Year, endTime.Month),
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
SumPrice = 0,
Group_Id = userInfo.Group_Id,
Financials = "",
EmpIds = "",
Remark = "",
};
var newId= personnel_PeriodRepository.Insert(empPeriod);
var newId = personnel_PeriodRepository.Insert(empPeriod);
empPeriod.Id = newId;
flag = newId > 0;
if (flag)
......@@ -124,7 +160,7 @@ namespace Edu.Module.Course
}, isGetDetail: true);
if (planList == null || (planList != null && planList.Count <= 0))
{
flag= false;
flag = false;
message = "请先配置市场人员和课程顾问的提成配置";
return flag;
}
......@@ -133,7 +169,7 @@ namespace Edu.Module.Course
var saleList = Common.ConvertHelper.StringToList(item.SaleIds);
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
//查询销售已发放的奖励
var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{
QEmployeeIds = orderModel.EnterID.ToString()+","+(orderModel?.CourseConsultantId??0).ToString(),
YearNum=orderModel.CreateTime.Year,
MonthNum=orderModel.CreateTime.Month,
QEmployeeIds = orderModel.EnterID.ToString() + "," + (orderModel?.CourseConsultantId ?? 0).ToString(),
YearNum = orderModel.CreateTime.Year,
MonthNum = orderModel.CreateTime.Month,
});
if (saleBonusList != null && saleBonusList.Count > 0)
{
......@@ -173,7 +209,7 @@ namespace Edu.Module.Course
Dictionary<string, object> detailFileds = new Dictionary<string, object>();
detailFileds.Clear();
var tempCurMonthOrder = orderModel;
if (dItem.OrderId==orderModel.OrderId)
if (dItem.OrderId == orderModel.OrderId)
{
var newMoney = tempCurMonthOrder.Income - tempCurMonthOrder.Refund - tempCurMonthOrder.PlatformTax;
detailFileds.Add(nameof(RB_Personnel_BonusDetail_Extend.OrderGuestNum), 0);
......@@ -219,7 +255,7 @@ namespace Edu.Module.Course
/// <param name="GroupId"></param>
/// <param name="endDate"></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 curNum = orderList?.Sum(qitem => qitem.GuestNum) ?? 0;
......@@ -229,19 +265,19 @@ namespace Edu.Module.Course
var saleBonusList = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{
EmployeeId = saleId,
PlanType=item.PlanType,
IsNoBalance=1,
PlanType = item.PlanType,
IsNoBalance = 1,
});
//计算差额
var chaE = saleBonusList?.Sum(qitem => qitem.DeductionMoney - qitem.FinishDeductionMoney) ?? 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()
{
Id = 0,
PeriodId=period.Id,
PeriodId = period.Id,
PlanId = item.Id,
PlanType = item.PlanType,
YearNum = Convert.ToDateTime(startDate).Year,
......@@ -267,7 +303,7 @@ namespace Edu.Module.Course
{
pModel.BeforeMoney = chaE;
}
else
else
{
pModel.BeforeMoney = totalMoney;
}
......@@ -304,8 +340,8 @@ namespace Edu.Module.Course
BonusId = sItem.Id,
CreateBy = 1,
CreateTime = DateTime.Now,
DeductionMoney= tempChaE,
DeductionContent = "抵扣" + sItem.YearNum + "年" + sItem.MonthNum + "月超出金额" + tempChaE+"元.",
DeductionMoney = tempChaE,
DeductionContent = "抵扣" + sItem.YearNum + "年" + sItem.MonthNum + "月超出金额" + tempChaE + "元.",
};
personnel_DeductionRepository.Insert(deductionModel);
Dictionary<string, object> fileds = new Dictionary<string, object>()
......
......@@ -20,7 +20,7 @@ namespace Edu.Repository.Bonus
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <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();
builder.AppendFormat(@"
......@@ -34,6 +34,10 @@ WHERE 1=1
{
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)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.LogType), query.LogType);
......@@ -42,8 +46,9 @@ WHERE 1=1
{
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>
......
......@@ -36,6 +36,7 @@ WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.Group_Id), query.Group_Id);
......@@ -48,6 +49,10 @@ WHERE 1=1
{
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();
}
......
......@@ -220,6 +220,60 @@ namespace Edu.WebApi.Controllers.Bonus
pageModel.PageData = result;
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
}
}
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