|
@@ -91,11 +91,28 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
string partitionKey = $"{scope}".Equals("school", StringComparison.OrdinalIgnoreCase) ? $"CourseBase-{_code}": "CourseBase";
|
|
|
string baseSql = $"select value c from c where c.period.id='{_periodId}'";
|
|
|
List<CourseBase> courseBases = new List<CourseBase>();
|
|
|
+ HashSet<string>teacherIds = new HashSet<string>();
|
|
|
await foreach (var item in _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, tbname)
|
|
|
.GetItemQueryIterator<CourseBase>(queryText: baseSql, requestOptions: new QueryRequestOptions { PartitionKey = new PartitionKey(partitionKey) }))
|
|
|
{
|
|
|
+ if (!string.IsNullOrWhiteSpace(item.creatorId)) {
|
|
|
+ teacherIds.Add(item.creatorId);
|
|
|
+ }
|
|
|
courseBases.Add(item);
|
|
|
}
|
|
|
+ List<IdNameCode> teachers = new List<IdNameCode>();
|
|
|
+ if (teacherIds.Count>0) {
|
|
|
+ string teacherSQLBase = $"select value c.id,c.name,c.picture from c where c.id in ({string.Join(",", teacherIds.Select(z => $"'{z}'"))}) ";
|
|
|
+ var resultBase = await client.GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<IdNameCode>(teacherSQLBase, $"Base");
|
|
|
+ teachers = resultBase.list;
|
|
|
+ }
|
|
|
+ courseBases.ForEach(z => {
|
|
|
+ var teacher = teachers.Find(x => x.id.Equals(z.creatorId));
|
|
|
+ if (teacher!= null) {
|
|
|
+ z.creatorName=teacher.name;
|
|
|
+ z.creatorPicture=teacher.picture;
|
|
|
+ }
|
|
|
+ });
|
|
|
return Ok(new { courseBases = courseBases.OrderByDescending(z => z._ts) });
|
|
|
}
|
|
|
case bool when $"{grant_type}".Equals("delete", StringComparison.OrdinalIgnoreCase):
|
|
@@ -446,6 +463,9 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
{
|
|
|
roomIds.Add(schedule.roomId);
|
|
|
}
|
|
|
+ if (schedule.assistants!=null && schedule.assistants.Count>0) {
|
|
|
+ teacherIds.Union(schedule.assistants);
|
|
|
+ }
|
|
|
}
|
|
|
has_schedule = true;
|
|
|
}
|
|
@@ -453,7 +473,7 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
//匹配建议的班级和教师
|
|
|
List<Class> classes = new List<Class>();
|
|
|
List<SchoolTeacher> teachers = new List<SchoolTeacher>();
|
|
|
- List<Teacher> teachersBases = new List<Teacher>();
|
|
|
+ List<IdNameCode> teachersBases = new List<IdNameCode>();
|
|
|
if (!has_schedule)
|
|
|
{
|
|
|
//如果没有找到排课安排信息。则可以进行建议升学年方式处理
|
|
@@ -478,8 +498,8 @@ namespace TEAMModelOS.Controllers.Both
|
|
|
}else
|
|
|
{
|
|
|
groups= await GroupListService.GetGroupListByListids(_azureCosmos.GetCosmosClient(), _dingDing, groupIds.ToList(), school);
|
|
|
- string teacherSQLBase = $"select value c from c where c.id in ({string.Join(",", teacherIds.Select(z => $"'{z}'"))}) ";
|
|
|
- var resultBase = await client.GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<Teacher>(teacherSQLBase, $"Base");
|
|
|
+ string teacherSQLBase = $"select value c.id,c.name,c.picture from c where c.id in ({string.Join(",", teacherIds.Select(z => $"'{z}'"))}) ";
|
|
|
+ var resultBase = await client.GetContainer(Constant.TEAMModelOS, Constant.Teacher).GetList<IdNameCode>(teacherSQLBase, $"Base");
|
|
|
teachersBases = resultBase.list;
|
|
|
}
|
|
|
|