Browse Source

数据导入问题处理

zhouj1203@hotmail.com 4 years ago
parent
commit
c5f0f0bcc4
1 changed files with 71 additions and 52 deletions
  1. 71 52
      TEAMModelOS/Controllers/Analysis/AchievementController.cs

+ 71 - 52
TEAMModelOS/Controllers/Analysis/AchievementController.cs

@@ -3883,81 +3883,100 @@ namespace TEAMModelOS.Controllers.Analysis
                                             List<List<string>> answers = new List<List<string>>();
                                             //存放客观题答案
                                             List<List<string>> objective = new List<List<string>>();
-                                            //判断此题是否为主观题作答
-                                            if (standard[index].Count == 0)
-                                            {
-                                                answers.Add(an);
-                                            }
-                                            else
-                                            {
+                                            int index_item = 0;
                                                 an.ForEach(aa =>
                                                 {
                                                     List<string> ans = new List<string>();
-                                                    if (aa.Length > 1)
+                                                    List<string> oans = new List<string>();
+                                                    //判断此题是否为主观题作答
+                                                    if (standard[index_item].Count == 0)
                                                     {
-                                                        char[] str = aa.ToCharArray();
-                                                        foreach (char a in aa)
+                                                        ans.Add(aa);
+                                                        oans.Add("");
+                                                        answers.Add(ans);
+                                                        objective.Add(oans);
+                                                    }
+                                                    else {
+                                                        if (aa.Length > 1)
+                                                        {
+                                                            char[] str = aa.ToCharArray();
+                                                            foreach (char a in aa)
+                                                            {
+                                                                switch (a)
+                                                                {
+                                                                    case '1':
+                                                                        ans.Add("A");
+                                                                        oans.Add("A");
+                                                                        break;
+                                                                    case '2':
+                                                                        ans.Add("B");
+                                                                        oans.Add("B");
+                                                                        break;
+                                                                    case '3':
+                                                                        ans.Add("C");
+                                                                        oans.Add("C");
+                                                                        break;
+                                                                    case '4':
+                                                                        ans.Add("D");
+                                                                        oans.Add("D");
+                                                                        break;
+                                                                    case '5':
+                                                                        ans.Add("E");
+                                                                        oans.Add("E");
+                                                                        break;
+                                                                    case '6':
+                                                                        ans.Add("F");
+                                                                        oans.Add("F");
+                                                                        break;
+                                                                    default:
+                                                                        ans.Add("");
+                                                                        oans.Add("");
+                                                                        break;
+                                                                }
+                                                            }
+                                                            objective.Add(oans);
+                                                            answers.Add(ans);
+                                                        }
+                                                        else
                                                         {
-                                                            switch (a)
+                                                            switch (aa)
                                                             {
-                                                                case '1':
+                                                                case "1":
                                                                     ans.Add("A");
+                                                                    oans.Add("A");
                                                                     break;
-                                                                case '2':
+                                                                case "2":
                                                                     ans.Add("B");
+                                                                    oans.Add("B");
                                                                     break;
-                                                                case '3':
+                                                                case "3":
                                                                     ans.Add("C");
+                                                                    oans.Add("C");
                                                                     break;
-                                                                case '4':
+                                                                case "4":
                                                                     ans.Add("D");
+                                                                    oans.Add("D");
                                                                     break;
-                                                                case '5':
+                                                                case "5":
                                                                     ans.Add("E");
+                                                                    oans.Add("E");
                                                                     break;
-                                                                case '6':
+                                                                case "6":
                                                                     ans.Add("F");
+                                                                    oans.Add("F");
                                                                     break;
                                                                 default:
                                                                     ans.Add("");
+                                                                    oans.Add("");
                                                                     break;
                                                             }
+                                                            objective.Add(oans);
+                                                            answers.Add(ans);
                                                         }
-                                                        objective.Add(ans);
-                                                        answers.Add(ans);
-                                                    }
-                                                    else
-                                                    {
-                                                        switch (aa)
-                                                        {
-                                                            case "1":
-                                                                ans.Add("A");
-                                                                break;
-                                                            case "2":
-                                                                ans.Add("B");
-                                                                break;
-                                                            case "3":
-                                                                ans.Add("C");
-                                                                break;
-                                                            case "4":
-                                                                ans.Add("D");
-                                                                break;
-                                                            case "5":
-                                                                ans.Add("E");
-                                                                break;
-                                                            case "6":
-                                                                ans.Add("F");
-                                                                break;
-                                                            default:
-                                                                ans.Add("");
-                                                                break;
-                                                        }
-                                                        objective.Add(ans);
-                                                        answers.Add(ans);
-                                                    }
+                                                    }                                                                                                        
+                                                    index_item++;
                                                     //answers.Add(stuAns);                                          
-                                                });
-                                            }                                            
+                                                });                                           
                                             ex.ans[index] = objective;
                                             string FileName = ex.examId + "/" + ex.subjectId + "/" + examClass.studentIds[index];
                                             string blob = FileName + "/" + "ans.json";
@@ -3982,7 +4001,7 @@ namespace TEAMModelOS.Controllers.Analysis
             }
             catch (Exception e)
             {
-                await _dingDing.SendBotMsg($"OS,{_option.Location},analysis/importResult()\n{e.Message}", GroupNames.醍摩豆服務運維群組);
+                await _dingDing.SendBotMsg($"OS,{_option.Location},analysis/importResult()\n{e.StackTrace}", GroupNames.醍摩豆服務運維群組);
                 return BadRequest();
             }
         }