This commit is contained in:
tanglong 2025-06-27 15:37:57 +08:00
parent cba47da795
commit a17b11b808
44 changed files with 523 additions and 14 deletions

View File

@ -36,5 +36,37 @@ namespace YD_AllHeartRates.Api.Controllers
var res = await _rateReportService.SchoolHeartRateReport(scoreTime); var res = await _rateReportService.SchoolHeartRateReport(scoreTime);
return res; return res;
} }
/// <summary>
/// 年级心率报告
/// </summary>
/// <returns></returns>
[HttpGet(nameof(GradeHeartRateReport))]
public async Task<GradeHeartRateReportDataDto> GradeHeartRateReport(int gradeId, DateTime? scoreTime = null)
{
var res = await _rateReportService.GradeHeartRateReport(gradeId, scoreTime);
return res;
}
/// <summary>
/// 班级心率报告
/// </summary>
/// <returns></returns>
[HttpGet(nameof(ClassHeartRateReport))]
public async Task<ClassHeartRateReportDataDto> ClassHeartRateReport(int classId, DateTime? scoreTime = null)
{
var res = await _rateReportService.ClassHeartRateReport(classId,scoreTime);
return res;
}
/// <summary>
/// 学生心率报告
/// </summary>
/// <returns></returns>
[HttpGet(nameof(StudentHeartRateReport))]
public async Task<StudentHeartRateReportDataDto> StudentHeartRateReport(string studentNo, DateTime? scoreTime = null)
{
var res = await _rateReportService.StudentHeartRateReport(studentNo, scoreTime);
return res;
}
} }
} }

View File

@ -1624,6 +1624,12 @@
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.FemaleReachCountSetInt32"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.FemaleReachCountSetInt32">
<summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary> <summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary>
</member> </member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.GradeNameGet">
<summary>设置 ClassListDto.get_GradeName(ClassListDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.GradeNameSetString">
<summary>设置 ClassListDto.set_GradeName(ClassListDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.MaleReachCountGet"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.MaleReachCountGet">
<summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary> <summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary>
</member> </member>
@ -1681,6 +1687,12 @@
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.FemaleReachCountSetInt32"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.FemaleReachCountSetInt32">
<summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary> <summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary>
</member> </member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.GradeNameGet">
<summary>设置 ClassListDto.get_GradeName(ClassListDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.GradeNameSetString">
<summary>设置 ClassListDto.set_GradeName(ClassListDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.MaleReachCountGet"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.MaleReachCountGet">
<summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary> <summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary>
</member> </member>

View File

@ -82,7 +82,8 @@ namespace YD_AllHeartRates.Api.Services.Impl
} }
res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count(); res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count();
res.SportsData.AvgHeartRate = (int)data.Average(x => x.Value);
res.SportsData.AvgHeartRate = (int)data.Select(x => x.Value).DefaultIfEmpty(0).Average();
var durationsByStudent = HeartRateReportHelper.CalculateDurations( var durationsByStudent = HeartRateReportHelper.CalculateDurations(
data, x => (x.StudentNo, x.Sex, x.GradeId)); data, x => (x.StudentNo, x.Sex, x.GradeId));
@ -136,6 +137,7 @@ namespace YD_AllHeartRates.Api.Services.Impl
{ {
ClassId = c.Id, ClassId = c.Id,
ClassName = c.ClassName, ClassName = c.ClassName,
GradeName = c.GradeName,
TeacherName = t.TeacherName TeacherName = t.TeacherName
}).OrderBy(x => x.ClassId).ToListAsync(); }).OrderBy(x => x.ClassId).ToListAsync();
@ -143,9 +145,9 @@ namespace YD_AllHeartRates.Api.Services.Impl
from s in _sportsContext.Student from s in _sportsContext.Student
join c in _sportsContext.Class on s.ClassId equals c.Id join c in _sportsContext.Class on s.ClassId equals c.Id
where c.SchoolCode == schoolCode && c.GradeId == gradeId where c.SchoolCode == schoolCode && c.GradeId == gradeId
select new { s.StudentNo, s.Sex, ClassId = c.Id, c.GradeName }).ToListAsync(); select new { s.StudentNo, s.Sex, ClassId = c.Id }).ToListAsync();
res.GradeName = studentList.FirstOrDefault()?.GradeName ?? ""; res.GradeName = classList.FirstOrDefault()?.GradeName ?? "";
res.ClassCount = classList.Count; res.ClassCount = classList.Count;
res.MaleCount = studentList.Count(x => x.Sex == 1); res.MaleCount = studentList.Count(x => x.Sex == 1);
res.FemaleCount = studentList.Count(x => x.Sex == 2); res.FemaleCount = studentList.Count(x => x.Sex == 2);
@ -166,7 +168,8 @@ namespace YD_AllHeartRates.Api.Services.Impl
var data = allData.Where(x => x.GradeId == gradeId).ToList(); var data = allData.Where(x => x.GradeId == gradeId).ToList();
res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count(); res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count();
res.SportsData.AvgHeartRate = (int)data.Average(x => x.Value); res.SportsData.AvgHeartRate = (int)data.Select(x => x.Value).DefaultIfEmpty(0).Average();
var durationsByStudent = HeartRateReportHelper.CalculateDurations(data, x => (x.StudentNo, x.Sex, x.ClassId)); var durationsByStudent = HeartRateReportHelper.CalculateDurations(data, x => (x.StudentNo, x.Sex, x.ClassId));
@ -191,6 +194,7 @@ namespace YD_AllHeartRates.Api.Services.Impl
ClassId = cls.ClassId, ClassId = cls.ClassId,
ClassName = cls.ClassName, ClassName = cls.ClassName,
TeacherName = cls.TeacherName, TeacherName = cls.TeacherName,
GradeName = cls.GradeName,
StudentCount = total, StudentCount = total,
MaleReachCount = maleQualified, MaleReachCount = maleQualified,
FemaleReachCount = femaleQualified, FemaleReachCount = femaleQualified,
@ -246,7 +250,8 @@ namespace YD_AllHeartRates.Api.Services.Impl
var data = allData.Where(x => x.GradeId == classId).ToList(); var data = allData.Where(x => x.GradeId == classId).ToList();
res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count(); res.SportsData.OnlineDevicesCount = data.GroupBy(x => x.StudentNo).Count();
res.SportsData.AvgHeartRate = (int)data.Average(x => x.Value);
res.SportsData.AvgHeartRate = (int)data.Select(x => x.Value).DefaultIfEmpty(0).Average();
var durationsByStudent = HeartRateReportHelper.CalculateDurations(data, x => x.StudentNo); var durationsByStudent = HeartRateReportHelper.CalculateDurations(data, x => x.StudentNo);
res.SportsData.AvgDuration = (int)durationsByStudent.Values.DefaultIfEmpty(0).Average(); res.SportsData.AvgDuration = (int)durationsByStudent.Values.DefaultIfEmpty(0).Average();

View File

@ -36,7 +36,7 @@ namespace YD_AllHeartRates.Api.SmartSportsEntitys
[Display(Name = "年级名称")] [Display(Name = "年级名称")]
[Comment("年级名称")] [Comment("年级名称")]
[Column(TypeName = "nvarchar(100)")] [Column(TypeName = "nvarchar(100)")]
public string GradeName { get; set; } public string? GradeName { get; set; }
/// <summary> /// <summary>
///班级名称 ///班级名称

View File

@ -31,6 +31,24 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.GradeHeartRateReport(System.Int32,System.Nullable{System.DateTime})">
<summary>
年级心率报告
</summary>
<returns></returns>
</member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.ClassHeartRateReport(System.Int32,System.Nullable{System.DateTime})">
<summary>
班级心率报告
</summary>
<returns></returns>
</member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.StudentHeartRateReport(System.String,System.Nullable{System.DateTime})">
<summary>
学生心率报告
</summary>
<returns></returns>
</member>
<member name="T:YD_AllHeartRates.Api.Controllers.LargeScreenController"> <member name="T:YD_AllHeartRates.Api.Controllers.LargeScreenController">
<summary> <summary>
大屏 大屏

View File

@ -1,4 +1,66 @@
[ [
{
"ContainingType": "YD_AllHeartRates.Api.Controllers.HeartRateReportController",
"Method": "ClassHeartRateReport",
"RelativePath": "ClassHeartRateReport",
"HttpMethod": "GET",
"IsController": true,
"Order": 0,
"Parameters": [
{
"Name": "classId",
"Type": "System.Int32",
"IsRequired": false
},
{
"Name": "scoreTime",
"Type": "System.Nullable\u00601[[System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]",
"IsRequired": false
}
],
"ReturnTypes": [
{
"Type": "YD_AllHeartRates.Commons.Dto.LargeScreen.ClassHeartRateReportDataDto",
"MediaTypes": [
"text/plain",
"application/json",
"text/json"
],
"StatusCode": 200
}
]
},
{
"ContainingType": "YD_AllHeartRates.Api.Controllers.HeartRateReportController",
"Method": "GradeHeartRateReport",
"RelativePath": "GradeHeartRateReport",
"HttpMethod": "GET",
"IsController": true,
"Order": 0,
"Parameters": [
{
"Name": "gradeId",
"Type": "System.Int32",
"IsRequired": false
},
{
"Name": "scoreTime",
"Type": "System.Nullable\u00601[[System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]",
"IsRequired": false
}
],
"ReturnTypes": [
{
"Type": "YD_AllHeartRates.Commons.Dto.LargeScreen.GradeHeartRateReportDataDto",
"MediaTypes": [
"text/plain",
"application/json",
"text/json"
],
"StatusCode": 200
}
]
},
{ {
"ContainingType": "YD_AllHeartRates.Api.Controllers.LargeScreenController", "ContainingType": "YD_AllHeartRates.Api.Controllers.LargeScreenController",
"Method": "HeartRateData", "Method": "HeartRateData",
@ -70,5 +132,36 @@
"StatusCode": 200 "StatusCode": 200
} }
] ]
},
{
"ContainingType": "YD_AllHeartRates.Api.Controllers.HeartRateReportController",
"Method": "StudentHeartRateReport",
"RelativePath": "StudentHeartRateReport",
"HttpMethod": "GET",
"IsController": true,
"Order": 0,
"Parameters": [
{
"Name": "studentNo",
"Type": "System.String",
"IsRequired": false
},
{
"Name": "scoreTime",
"Type": "System.Nullable\u00601[[System.DateTime, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]",
"IsRequired": false
}
],
"ReturnTypes": [
{
"Type": "YD_AllHeartRates.Commons.Dto.LargeScreen.StudentHeartRateReportDataDto",
"MediaTypes": [
"text/plain",
"application/json",
"text/json"
],
"StatusCode": 200
}
]
} }
] ]

View File

@ -46,6 +46,149 @@
} }
} }
}, },
"/GradeHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "年级心率报告",
"parameters": [
{
"name": "gradeId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/GradeHeartRateReportDataDto"
}
}
}
}
}
}
},
"/ClassHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "班级心率报告",
"parameters": [
{
"name": "classId",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ClassHeartRateReportDataDto"
}
}
}
}
}
}
},
"/StudentHeartRateReport": {
"get": {
"tags": [
"HeartRateReport"
],
"summary": "学生心率报告",
"parameters": [
{
"name": "studentNo",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "scoreTime",
"in": "query",
"schema": {
"type": "string",
"format": "date-time"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/StudentHeartRateReportDataDto"
}
}
}
}
}
}
},
"/SchoolInfo": { "/SchoolInfo": {
"get": { "get": {
"tags": [ "tags": [
@ -140,6 +283,94 @@
}, },
"additionalProperties": false "additionalProperties": false
}, },
"ClassHeartRateReportDataDto": {
"type": "object",
"properties": {
"maleCount": {
"type": "integer",
"format": "int32"
},
"femaleCount": {
"type": "integer",
"format": "int32"
},
"studentCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"startEndTime": {
"type": "string",
"nullable": true
},
"sportsData": {
"$ref": "#/components/schemas/SportsDataDto"
},
"gradeName": {
"type": "string",
"nullable": true
},
"className": {
"type": "string",
"nullable": true
},
"teacherName": {
"type": "string",
"nullable": true
},
"studentList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudentListDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"ClassListDto": {
"type": "object",
"properties": {
"classId": {
"type": "integer",
"format": "int32"
},
"gradeName": {
"type": "string",
"nullable": true
},
"className": {
"type": "string",
"nullable": true
},
"teacherName": {
"type": "string",
"nullable": true
},
"studentCount": {
"type": "integer",
"format": "int32"
},
"reachCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"maleReachCount": {
"type": "integer",
"format": "int32"
},
"femaleReachCount": {
"type": "integer",
"format": "int32"
},
"reachRate": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"Classes": { "Classes": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -154,6 +385,47 @@
}, },
"additionalProperties": false "additionalProperties": false
}, },
"GradeHeartRateReportDataDto": {
"type": "object",
"properties": {
"maleCount": {
"type": "integer",
"format": "int32"
},
"femaleCount": {
"type": "integer",
"format": "int32"
},
"studentCount": {
"type": "integer",
"format": "int32",
"readOnly": true
},
"startEndTime": {
"type": "string",
"nullable": true
},
"sportsData": {
"$ref": "#/components/schemas/SportsDataDto"
},
"gradeName": {
"type": "string",
"nullable": true
},
"classCount": {
"type": "integer",
"format": "int32"
},
"classList": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ClassListDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"GradeListDto": { "GradeListDto": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -391,6 +663,48 @@
} }
}, },
"additionalProperties": false "additionalProperties": false
},
"StudentHeartRateReportDataDto": {
"type": "object",
"properties": {
"heartRateTrend": {
"$ref": "#/components/schemas/ChartDataDto"
}
},
"additionalProperties": false
},
"StudentListDto": {
"type": "object",
"properties": {
"studentNo": {
"type": "string",
"nullable": true
},
"studentName": {
"type": "string",
"nullable": true
},
"sex": {
"type": "integer",
"format": "int32"
},
"age": {
"type": "integer",
"format": "int32"
},
"photo": {
"type": "string",
"nullable": true
},
"isReach": {
"type": "boolean"
},
"duration": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
} }
}, },
"securitySchemes": { "securitySchemes": {

View File

@ -1624,6 +1624,12 @@
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.FemaleReachCountSetInt32"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.FemaleReachCountSetInt32">
<summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary> <summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary>
</member> </member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.GradeNameGet">
<summary>设置 ClassListDto.get_GradeName(ClassListDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.GradeNameSetString">
<summary>设置 ClassListDto.set_GradeName(ClassListDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.MaleReachCountGet"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.AllInstances.MaleReachCountGet">
<summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary> <summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary>
</member> </member>
@ -1681,6 +1687,12 @@
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.FemaleReachCountSetInt32"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.FemaleReachCountSetInt32">
<summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary> <summary>设置 ClassListDto.set_FemaleReachCount(ClassListDto this, Int32 value) 的 填充码</summary>
</member> </member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.GradeNameGet">
<summary>设置 ClassListDto.get_GradeName(ClassListDto this) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.GradeNameSetString">
<summary>设置 ClassListDto.set_GradeName(ClassListDto this, String value) 的 填充码</summary>
</member>
<member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.MaleReachCountGet"> <member name="P:YD_AllHeartRates.Commons.Dto.LargeScreen.Fakes.ShimClassListDto.MaleReachCountGet">
<summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary> <summary>设置 ClassListDto.get_MaleReachCount(ClassListDto this) 的 填充码</summary>
</member> </member>

View File

@ -1 +1 @@
179d9839 c9033e1

View File

@ -1 +1 @@
T8L2/Pl4YFVd0LzVElD3k675CXn+Xe1xxjrG3w5fw3Y=WWmIfOUbyYPYdKFHlVpzo+vbEnfIsJNTTcG8+oWdtSc= OAIdEGg7kUePvtmGLiFappRiZ+t8THQ+PJMVzStNkIk=WWmIfOUbyYPYdKFHlVpzo+vbEnfIsJNTTcG8+oWdtSc=

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Api")] [assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2791faef427e5055e0b100213d2f516c468a2f23")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+cba47da79529d88a9c2535c9c0d6a3ad9378b578")]
[assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Api")] [assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Api")] [assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
a2a833dba9b68d9e097ca4bb10f4e8d37c31e1c7f2353ed088ceaaced6f4b940 5dadd7f540af7e55599b33b1bde90ec16d8c55e26389806708a87f620f4347bb

View File

@ -31,6 +31,24 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.GradeHeartRateReport(System.Int32,System.Nullable{System.DateTime})">
<summary>
年级心率报告
</summary>
<returns></returns>
</member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.ClassHeartRateReport(System.Int32,System.Nullable{System.DateTime})">
<summary>
班级心率报告
</summary>
<returns></returns>
</member>
<member name="M:YD_AllHeartRates.Api.Controllers.HeartRateReportController.StudentHeartRateReport(System.String,System.Nullable{System.DateTime})">
<summary>
学生心率报告
</summary>
<returns></returns>
</member>
<member name="T:YD_AllHeartRates.Api.Controllers.LargeScreenController"> <member name="T:YD_AllHeartRates.Api.Controllers.LargeScreenController">
<summary> <summary>
大屏 大屏

View File

@ -37,6 +37,11 @@ namespace YD_AllHeartRates.Commons.Dto.LargeScreen
/// </summary> /// </summary>
public int ClassId { get; set; } public int ClassId { get; set; }
/// <summary>
/// 年级名称
/// </summary>
public string? GradeName { get; set; }
/// <summary> /// <summary>
/// 班级名称 /// 班级名称
/// </summary> /// </summary>

View File

@ -34,7 +34,7 @@ namespace YD_AllHeartRates.Commons.Dto.LargeScreen
/// <summary> /// <summary>
/// 运动数据 /// 运动数据
/// </summary> /// </summary>
public SportsDataDto SportsData { get; set; } public SportsDataDto SportsData { get; set; } = new SportsDataDto();
} }
/// <summary> /// <summary>

View File

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Commons")] [assembly: System.Reflection.AssemblyCompanyAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+2791faef427e5055e0b100213d2f516c468a2f23")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+cba47da79529d88a9c2535c9c0d6a3ad9378b578")]
[assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Commons")] [assembly: System.Reflection.AssemblyProductAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Commons")] [assembly: System.Reflection.AssemblyTitleAttribute("YD_AllHeartRates.Commons")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
75fe66ac65b777401eca8662675485feb709949edb700f080fb4f1742a74f061 fe596cc1e95247c75a7a0988e79c591ff26019d760d216a793314f7ca2ab770e