CrazyIter_Bin 1 年之前
父節點
當前提交
9a4ba5c412

+ 32 - 6
TEAMModelOS.SDK/Models/Service/LessonService.cs

@@ -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));

+ 11 - 0
TEAMModelOS.TEST/Program.cs

@@ -0,0 +1,11 @@
+namespace TEAMModelOS.TEST
+{
+    public class Program
+    {
+        static void Main(string[] args)
+        {
+            List<string> groupNames = new List<string>() { "組別4", "組別2", "組別3", "組別4", "組別1", "組別1" };
+            groupNames =groupNames.OrderBy(x => x).ToList();
+        }
+    }
+}

+ 10 - 0
TEAMModelOS.TEST/TEAMModelOS.TEST.csproj

@@ -0,0 +1,10 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+</Project>

+ 6 - 0
TEAMModelOS.sln

@@ -11,6 +11,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TEAMModelOS", "TEAMModelOS\
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TEAMModelBI", "TEAMModelBI\TEAMModelBI.csproj", "{54DC5894-D5BA-40AB-9226-FB801E04BA24}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TEAMModelOS.TEST", "TEAMModelOS.TEST\TEAMModelOS.TEST.csproj", "{335938F6-8418-497A-AB41-CDD006FB8FD6}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -33,6 +35,10 @@ Global
 		{54DC5894-D5BA-40AB-9226-FB801E04BA24}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{54DC5894-D5BA-40AB-9226-FB801E04BA24}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{54DC5894-D5BA-40AB-9226-FB801E04BA24}.Release|Any CPU.Build.0 = Release|Any CPU
+		{335938F6-8418-497A-AB41-CDD006FB8FD6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{335938F6-8418-497A-AB41-CDD006FB8FD6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{335938F6-8418-497A-AB41-CDD006FB8FD6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{335938F6-8418-497A-AB41-CDD006FB8FD6}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE