|
@@ -238,22 +238,48 @@ namespace TEAMModelOS.SDK.Models.Service
|
|
|
}
|
|
|
//任务发布次数 ,-1 表示没有进行互动。 与 0 不同
|
|
|
int taskCount = -1;
|
|
|
+ var groupNames = lessonBase.report.clientSummaryList.Where(z => !string.IsNullOrEmpty(z.groupName))?.Select(z=>z.groupName)?.ToHashSet()?.OrderBy(z=>z)?.ToList();
|
|
|
+
|
|
|
+ List<IdCodeCount> groupTaskJoinCounts = new List<IdCodeCount>();
|
|
|
+ if (groupNames.IsNotEmpty()) {
|
|
|
+ groupTaskJoinCounts = groupNames.Select(z => new IdCodeCount { name=z, count = 0 }).ToList();
|
|
|
+ }
|
|
|
+ //組任務發佈數
|
|
|
+ int groupTaskCount = -1;
|
|
|
if (taskDatas.IsNotEmpty())
|
|
|
{
|
|
|
+
|
|
|
taskCount=0;
|
|
|
- foreach (var taskData in taskDatas)
|
|
|
+ bool hasGroupTask = false;
|
|
|
+ int groupTaksCountTemp = 0;
|
|
|
+ foreach (var taskData in taskDatas)
|
|
|
{
|
|
|
- var isGroupItem= taskData.clientWorks.FindAll(z => z.isGroupItem);
|
|
|
+ var isGroupItem = taskData.clientWorks.FindAll(z => z.isGroupItem);
|
|
|
if (isGroupItem.IsNotEmpty())
|
|
|
- {
|
|
|
+ {
|
|
|
//有组任务
|
|
|
+ hasGroupTask = true;
|
|
|
+ groupTaksCountTemp += 1;
|
|
|
+ foreach (var item in isGroupItem)
|
|
|
+ {
|
|
|
+ int groupIndex = 0;
|
|
|
+ int.TryParse(item.groupID,out groupIndex);
|
|
|
+ //由于分组下标从1 开始,则需要判断是否与分组数组大小一致,且提交了作品,则数量+1
|
|
|
+ if ( groupIndex>0 && item.blobFiles.IsNotEmpty() && groupIndex <= groupTaskJoinCounts.Count) {
|
|
|
+ groupTaskJoinCounts[groupIndex-1].count+=1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- else {
|
|
|
+ else
|
|
|
+ {
|
|
|
//没有组任务
|
|
|
-
|
|
|
- taskCount+=1;
|
|
|
+ taskCount += 1;
|
|
|
}
|
|
|
}
|
|
|
+ if (hasGroupTask) {
|
|
|
+ groupTaskCount=groupTaksCountTemp;
|
|
|
+ }
|
|
|
}
|
|
|
foreach (var x in stuids) {
|
|
|
var record = lessonStudentRecords.Find(l => l.stuid.Equals(x.id) && l.code.Equals($"StudentScoreRecord") && l.school.Equals(x.school));
|