public static WageReport Convert(WageReportDto debtDto) { if (debtDto == null) { return(null); } WageReport debt = new WageReport(); debtDto.CurrentSum = debt.CurrentSum; debtDto.FullNameManager = debt.FullNameManager; debtDto.Paid = debt.Paid; debtDto.Rest = debt.Rest; debtDto.SumOrders = debt.SumOrders; return(debt); }
Report(WageReportPayload payload) { var response = ResponseModelFactory.CreateResultInstance; var wageReports = new List <WageReport>(); var colors = "0123456789ABCDEF".ToArray(); await using (_dbContext) { var random = new Random(); var query = _dbContext.WageInfo.Where(w => w.Status == CommonEnum.Status.Normal && w.IsDeleted == CommonEnum.IsDeleted.No); //循环年份 for (int i = 0; i < payload.Year; i++) { var wageSeries = new List <WageSeries>(); var legend = new Legend { Data = new List <string>() }; var report = new WageReport(); switch (payload.Category) { case 0: var series = new WageSeries { AreaStyle = new Areastyle { Normal = new AreastyleNormal() }, ItemStyle = new ItemStyle { Normal = new ItemStyleNormal { Label = new ItemStyleLabel() } } }; series.Name = "总体"; legend.Data.Add(series.Name); var color = "#"; for (var j = 0; j < 6; j++) { color += colors[random.Next(0, 15)]; } series.Data = GetData(query, i); series.AreaStyle.Normal.Color = color; wageSeries.Add(series); break; case 1: (from p in _dbContext.WageInfo group p by p.RealName into g select new{ g.Key }).ToList().ForEach(r => { var queryTemp = query.Where(q => q.RealName == r.Key); var series = new WageSeries { AreaStyle = new Areastyle { Normal = new AreastyleNormal() }, ItemStyle = new ItemStyle { Normal = new ItemStyleNormal { Label = new ItemStyleLabel() } }, Name = r.Key }; legend.Data.Add(series.Name); series.Data = GetData(queryTemp, i); var normalColor = "#"; for (var j = 0; j < 6; j++) { normalColor += colors[random.Next(0, 15)]; } series.AreaStyle.Normal.Color = normalColor; wageSeries.Add(series); }); break; case 2: _dbContext.UserDepartment.ToList().ForEach(r => { var queryTemp = query.Where(q => q.DepartmentCode.Trim() == r.Code.Trim()); var series = new WageSeries { AreaStyle = new Areastyle { Normal = new AreastyleNormal() }, ItemStyle = new ItemStyle { Normal = new ItemStyleNormal { Label = new ItemStyleLabel() } } }; series.Name = r.Name; legend.Data.Add(series.Name); series.Data = GetData(queryTemp, i); var normalColor = "#"; for (int j = 0; j < 6; j++) { normalColor += colors[random.Next(0, 15)]; } series.AreaStyle.Normal.Color = normalColor; wageSeries.Add(series); } ); break; case 3: _dbContext.UserPosition.ToList().ForEach(r => { var queryTemp = query.Where(q => q.PositionCode.Trim() == r.Code.Trim()); var series = new WageSeries { AreaStyle = new Areastyle { Normal = new AreastyleNormal() }, ItemStyle = new ItemStyle { Normal = new ItemStyleNormal { Label = new ItemStyleLabel() } }, Name = r.Name }; legend.Data.Add(series.Name); series.Data = GetData(queryTemp, i); var normalColor = "#"; for (int j = 0; j < 6; j++) { normalColor += colors[random.Next(0, 15)]; } series.AreaStyle.Normal.Color = normalColor; wageSeries.Add(series); } ); break; default: break; } report.Title = $"{DateTime.Now.AddYears(-i):yyyy}年度薪资报表"; report.WageSeries = wageSeries; report.Legend = legend; wageReports.Add(report); } response.SetData(wageReports);