|
@@ -23,6 +23,18 @@ namespace wispro.sp.api.Controllers
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="type">
|
|
|
+ /// 0:申诉人;1:申诉类型;2:部门申诉统计;
|
|
|
+ /// 3:申诉人每月申诉统计;4:申诉类型每月申诉统计
|
|
|
+ /// </param>
|
|
|
+ /// <param name="start">开始时间</param>
|
|
|
+ /// <param name="end">结束时间</param>
|
|
|
+ /// <param name="userId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
public ChartDatas AppealReport(int type,DateTime? start,DateTime? end,int? userId)
|
|
|
{
|
|
|
ChartDatas retDatas = new ChartDatas();
|
|
@@ -130,5 +142,123 @@ namespace wispro.sp.api.Controllers
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 绩效统计报表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="type">
|
|
|
+ /// 0:按人统计
|
|
|
+ /// 1:按部门统计
|
|
|
+ /// 2:按人员专案统计
|
|
|
+ /// </param>
|
|
|
+ /// /// <param name="isYear">
|
|
|
+ /// 是否按年统计,默认为false按月统计
|
|
|
+ /// </param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public ChartDatas StaticsReport(int type,bool isYear=false)
|
|
|
+ {
|
|
|
+ ChartDatas retDatas = new ChartDatas();
|
|
|
+ switch (type)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+
|
|
|
+ if (isYear)
|
|
|
+ {
|
|
|
+ var retYearData = Context.StaffStatistics.GroupBy(s => new { s.Staff.Name, s.CalMonth.Year })
|
|
|
+ .Select(g => new { Name = g.Key.Name, Year = g.Key.Year , sum = g.Sum(s => s.FinianlPoint) })
|
|
|
+ .OrderByDescending(g => g.sum);
|
|
|
+
|
|
|
+ retDatas.ATitle = "代理人";
|
|
|
+ retDatas.BTitle = "绩效年份";
|
|
|
+ retDatas.Title = "代理人每年绩效统计";
|
|
|
+ retDatas.Datas = new List<ChartData>();
|
|
|
+
|
|
|
+ foreach (var key in retYearData)
|
|
|
+ {
|
|
|
+ retDatas.Datas.Add(new ChartData() { type = key.Name, year = $"{key.Year}", value = key.sum.HasValue ? key.sum.Value : 0 });
|
|
|
+ }
|
|
|
+ return retDatas;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var retData = Context.StaffStatistics.GroupBy(s => new { s.Staff.Name, s.CalMonth.Year,s.CalMonth.Month })
|
|
|
+ .Select(g => new { Name = g.Key.Name, Year=g.Key.Year,Month=g.Key.Month , sum = g.Sum(s => s.FinianlPoint) })
|
|
|
+ .OrderByDescending(g => g.sum);
|
|
|
+
|
|
|
+ retDatas.ATitle = "代理人";
|
|
|
+ retDatas.BTitle = "绩效月份";
|
|
|
+ retDatas.Title = "代理人每月绩效统计";
|
|
|
+ retDatas.Datas = new List<ChartData>();
|
|
|
+
|
|
|
+ foreach (var key in retData)
|
|
|
+ {
|
|
|
+ retDatas.Datas.Add(new ChartData() { type = key.Name, year = $" {DateTime.Parse($"{key.Year}-{key.Month}-1").ToString("yyyy-MM")}", value = key.sum.HasValue ? key.sum.Value : 0 });
|
|
|
+ }
|
|
|
+ return retDatas;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ if (isYear)
|
|
|
+ {
|
|
|
+ var retData2 = Context.StaffStatistics.GroupBy(s => new { s.Staff.Department, s.CalMonth.Year })
|
|
|
+ .Select(g => new { Name = g.Key.Department, Year = g.Key.Year, sum = g.Sum(s => s.FinianlPoint) })
|
|
|
+ .OrderByDescending(g => g.sum);
|
|
|
+
|
|
|
+ retDatas.ATitle = "部门";
|
|
|
+ retDatas.BTitle = "绩效月份";
|
|
|
+ retDatas.Title = "部门每月绩效统计";
|
|
|
+ retDatas.Datas = new List<ChartData>();
|
|
|
+
|
|
|
+ foreach (var key in retData2)
|
|
|
+ {
|
|
|
+ retDatas.Datas.Add(new ChartData() { type = key.Name, year = $"{key.Year }", value = key.sum.HasValue ? key.sum.Value : 0 });
|
|
|
+ }
|
|
|
+ return retDatas;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var retData1 = Context.StaffStatistics.GroupBy(s => new { s.Staff.Department, s.CalMonth.Year,s.CalMonth.Month })
|
|
|
+ .Select(g => new { Name = g.Key.Department, Year = g.Key.Year, Month = g.Key.Month, sum = g.Sum(s => s.FinianlPoint) })
|
|
|
+ .OrderByDescending(g => g.sum);
|
|
|
+
|
|
|
+ retDatas.ATitle = "部门";
|
|
|
+ retDatas.BTitle = "绩效月份";
|
|
|
+ retDatas.Title = "部门每月绩效统计";
|
|
|
+ retDatas.Datas = new List<ChartData>();
|
|
|
+
|
|
|
+ foreach (var key in retData1)
|
|
|
+ {
|
|
|
+ retDatas.Datas.Add(new ChartData() { type = key.Name, year = $" {DateTime.Parse($"{key.Year}-{key.Month}-1").ToString("yyyy-MM")}", value = key.sum.HasValue ? key.sum.Value : 0 });
|
|
|
+ }
|
|
|
+ return retDatas;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ var retData3 = Context.StaffStatistics.Where(s=>s.jxType.Contains("专案")).GroupBy(s => new { s.Staff.Name, s.CalMonth.Year, s.CalMonth.Month })
|
|
|
+ .Select(g => new { Name = g.Key.Name, Year = g.Key.Year, Month = g.Key.Month, sum = g.Sum(s => s.FinianlPoint) })
|
|
|
+ .OrderByDescending(g => g.sum);
|
|
|
+
|
|
|
+ retDatas.ATitle = "人员";
|
|
|
+ retDatas.BTitle = "绩效月份";
|
|
|
+ retDatas.Title = "人员每月专案绩效统计";
|
|
|
+ retDatas.Datas = new List<ChartData>();
|
|
|
+
|
|
|
+ foreach (var key in retData3)
|
|
|
+ {
|
|
|
+ retDatas.Datas.Add(new ChartData() { type = key.Name, year = $" {DateTime.Parse($"{key.Year}-{key.Month}-1").ToString("yyyy-MM")}", value = key.sum.HasValue ? key.sum.Value : 0 });
|
|
|
+ }
|
|
|
+ return retDatas;
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return retDatas;
|
|
|
+ }
|
|
|
}
|
|
|
}
|