|
|
@ -257,20 +257,90 @@ public class Ghre_PlanServices : BaseServices<Ghre_Plan, Ghre_PlanDto, InsertGhr |
|
|
|
.GroupBy(q => new { q.Id, q.PlanId, q.ExamDate }) |
|
|
|
.GroupBy(q => new { q.Id, q.PlanId, q.ExamDate }) |
|
|
|
.Select(m => new { m.PlanId, ExamDate = m.ExamDate.Value, Count = SqlFunc.AggregateCount(m.Id) }) |
|
|
|
.Select(m => new { m.PlanId, ExamDate = m.ExamDate.Value, Count = SqlFunc.AggregateCount(m.Id) }) |
|
|
|
.ToListAsync(); |
|
|
|
.ToListAsync(); |
|
|
|
|
|
|
|
studyRecordGroup1 = studyRecordGroup1.Where(x => x.ExamDate.Year == year).ToList(); |
|
|
|
var data = Mapper.Map(result.result.DT_TableDataT1).ToANew<List<UshioPlanReport>>(); |
|
|
|
var data = Mapper.Map(result.result.DT_TableDataT1).ToANew<List<UshioPlanReport>>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data.ForEach(d => |
|
|
|
data.ForEach(d => |
|
|
|
{ |
|
|
|
{ |
|
|
|
d.M1_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Year == year && x.ExamDate.Month == 1).Sum(x => x.Count); |
|
|
|
d.M1_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 1).Sum(x => x.Count); |
|
|
|
if (d.M1_Count > 0 && d.TrainNum > 0) |
|
|
|
if (d.M1_Count > 0 && d.TrainNum > 0) |
|
|
|
d.M1_CompletionRate = d.M1_Count / d.TrainNum; |
|
|
|
d.M1_CompletionRate = d.M1_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M2_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 2).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M2_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M2_CompletionRate = d.M2_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M3_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 3).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M3_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M3_CompletionRate = d.M3_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M4_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 4).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M4_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M4_CompletionRate = d.M4_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M5_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 5).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M5_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M5_CompletionRate = d.M5_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M6_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 6).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M6_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M6_CompletionRate = d.M6_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M7_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 7).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M7_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M7_CompletionRate = d.M7_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M8_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 8).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M8_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M8_CompletionRate = d.M8_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M9_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 9).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M9_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M9_CompletionRate = d.M9_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M10_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 10).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M10_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M10_CompletionRate = d.M10_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M11_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 11).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M11_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M11_CompletionRate = d.M11_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d.M12_Count = studyRecordGroup1.Where(x => x.PlanId == d.Id && x.ExamDate.Month == 12).Sum(x => x.Count); |
|
|
|
|
|
|
|
if (d.M12_Count > 0 && d.TrainNum > 0) |
|
|
|
|
|
|
|
d.M12_CompletionRate = d.M12_Count / d.TrainNum; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return new ServicePageResult<UshioPlanReport>(filter.pageNum, result.result.DT_TablePageInfoT1.TotalCount, filter.pageSize, data); |
|
|
|
ModuleParam param = new ModuleParam() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
langId = filter.langId, |
|
|
|
|
|
|
|
menuName = filter.menuName |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
var module = await _commonServices.GetModuleInfoAsync(param); |
|
|
|
|
|
|
|
var result1 = new ServicePageResult<UshioPlanReport>(filter.pageNum, result.result.DT_TablePageInfoT1.TotalCount, filter.pageSize, data); |
|
|
|
|
|
|
|
result1.result.JM_TableColumnT1 = module.Data.JM_TableColumnT1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var yearField = module.Data.JM_TableColumnT1.TableColumn.Where(x => x.field == "Year").SingleOrDefault(); |
|
|
|
|
|
|
|
if (year != yearField?.searchColumnDefaultValue.ObjToInt()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result1.result.JM_TableColumnT1.TableColumn?.ForEach(x => |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (x.GroupName == "计划年月") |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int month = x.field.Replace("M", null).Replace("_F", null).ObjToInt(); |
|
|
|
|
|
|
|
x.label = year + "-" + (month < 10 ? "0" + month : month); |
|
|
|
|
|
|
|
if (month == 12) |
|
|
|
|
|
|
|
year++; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|