|
@@ -19,6 +19,7 @@ using TEAMModelOS.Filter;
|
|
|
using static TEAMModelOS.Controllers.AbilitySubController;
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
using TEAMModelOS.SDK.Models.Service;
|
|
|
+using ScTeacher = TEAMModelOS.SDK.Models.ScTeacher;
|
|
|
|
|
|
namespace TEAMModelOS.Controllers
|
|
|
{
|
|
@@ -34,13 +35,15 @@ namespace TEAMModelOS.Controllers
|
|
|
private readonly Option _option;
|
|
|
private readonly CoreAPIHttpService _coreAPIHttpService;
|
|
|
private readonly HttpTrigger _httpTrigger;
|
|
|
- public AbilityStatisticsController(HttpTrigger httpTrigger,CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, SnowflakeId snowflakeId, DingDing dingDing, IOptionsSnapshot<Option> option)
|
|
|
+ private readonly AzureStorageFactory _azureStorage;
|
|
|
+ public AbilityStatisticsController(AzureStorageFactory azureStorage,HttpTrigger httpTrigger,CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, SnowflakeId snowflakeId, DingDing dingDing, IOptionsSnapshot<Option> option)
|
|
|
{
|
|
|
_azureCosmos = azureCosmos;
|
|
|
_dingDing = dingDing;
|
|
|
_option = option?.Value;
|
|
|
_coreAPIHttpService=coreAPIHttpService;
|
|
|
_httpTrigger = httpTrigger;
|
|
|
+ _azureStorage = azureStorage;
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 更新教师最终学习分数。
|
|
@@ -252,7 +255,13 @@ namespace TEAMModelOS.Controllers
|
|
|
int hgcount = teacherTrains.Where(x => x.finalScore == 1 || x.finalScore == 2).Count();
|
|
|
var teacherAilities = teacherTrains.SelectMany(x => x.currency.teacherAilities);
|
|
|
setting.accessConfig = null;
|
|
|
+ var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
|
|
|
+ List<ScTeacher> teachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "areaId", setting.id } });
|
|
|
teacherTrains.ForEach(x => {
|
|
|
+ var tch= teachers.Find(z => z.tmdid.Equals(x.id));
|
|
|
+ if (tch != null) {
|
|
|
+ x.name = tch.TeacherName;
|
|
|
+ }
|
|
|
x.currency.videoTime = (int)x.currency.videoTime;
|
|
|
x.currency.teacherAilities.ForEach(y => {
|
|
|
y.videoTime = (int)y.videoTime;
|
|
@@ -392,7 +401,14 @@ namespace TEAMModelOS.Controllers
|
|
|
}
|
|
|
//增加评审人员总人数,学习总人数。
|
|
|
(List<TeacherTrain> teacherTrains, List<RGroupList> yxtrain) = await StatisticsService.StatisticsSchool(_coreAPIHttpService, school, setting, area, client, _dingDing, update);
|
|
|
+
|
|
|
+ var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
|
|
|
+ List<ScTeacher> teachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "areaId", setting.id }, { "schoolCode", school } });
|
|
|
teacherTrains.ForEach(x => {
|
|
|
+ var tch= teachers.Find(z => z.tmdid.Equals(x.id));
|
|
|
+ if (tch != null) {
|
|
|
+ x.name = tch.TeacherName;
|
|
|
+ }
|
|
|
x.currency.videoTime = (int)x.currency.videoTime;
|
|
|
x.currency.teacherAilities.ForEach(y => {
|
|
|
y.videoTime = (int)y.videoTime;
|
|
@@ -496,6 +512,15 @@ namespace TEAMModelOS.Controllers
|
|
|
try
|
|
|
{
|
|
|
teacherTrain = await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReadItemAsync<TeacherTrain>(tmdid, new PartitionKey($"TeacherTrain-{school}"));
|
|
|
+ var table = _azureStorage.GetCloudTableClient().GetTableReference("ScYxpt");
|
|
|
+ List<ScTeacher> teachers = await table.FindListByDict<ScTeacher>(new Dictionary<string, object>() { { "PartitionKey", "ScTeacher" }, { "areaId", setting.id } , { "schoolCode", school }, { "tmdid", $"{_tmdid}" }});
|
|
|
+ if (teachers.Any())
|
|
|
+ {
|
|
|
+ teacherTrain.name = teachers[0].TeacherName;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ teacherTrain.name = name;
|
|
|
+ }
|
|
|
teacherTrain.name = name;
|
|
|
teacherTrain.nickname = name;
|
|
|
teacherTrain.picture = picture;
|