Scoring.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace TEAMModelOS.SDK.Models.Cosmos.Common
  6. {
  7. public class Scoring : CosmosEntity
  8. {
  9. public Scoring()
  10. {
  11. pk = "Scoring";
  12. }
  13. public string stuId { get; set; }
  14. public string examId { get; set; }
  15. public string subjectId { get; set; }
  16. public List<Item> items { get; set; } = new List<Item>();
  17. public string blob { get; set; }
  18. public List<string> tIds { get; set; } = new List<string>();
  19. //阅卷次数
  20. public int count { get; set; }
  21. public List<double> scores { get; set; } = new List<double>();
  22. public int model { get; set; }
  23. public string mode { get; set; }
  24. //public long endTime { get; set; }
  25. //阅卷类型1 正常卷 2 异常卷 3 仲裁卷
  26. /*public int type { get; set; } = 1;
  27. public string err { get; set; }*/
  28. public List<Qs> qs { get; set; } = new List<Qs>();
  29. }
  30. public class Qs {
  31. //阅卷类型1 正常卷 2 异常卷 3 仲裁卷
  32. public string err { get; set; }
  33. public string improve { get; set; }
  34. public string tId { get; set; }
  35. public int index { get; set; }
  36. }
  37. public class Item
  38. {
  39. public List<Info> scores { get; set; } = new List<Info>();
  40. //原题的配分
  41. public double ssc { get; set; }
  42. //public string tmdId { get; set; }
  43. public bool flag
  44. {
  45. get
  46. {
  47. if (scores.Count >= 2)
  48. {
  49. List<string> sc = scores.Select(s => s.tmdId).Where(c => string.IsNullOrEmpty(c)).ToList();
  50. if (sc.Count > 0) {
  51. return true;
  52. }
  53. //double diff = Math.Abs(scores.Where(c => c.identity.Equals("")).Select(s => s.sc).ToList().Aggregate((i, j) => (i - j) * 6));
  54. double diff = Math.Abs(scores.Select(s => s.sc).ToList().Aggregate((i, j) => (i - j) * 6));
  55. if (diff > ssc)
  56. {
  57. return false;
  58. }
  59. else {
  60. return true;
  61. }
  62. }
  63. else
  64. {
  65. return true;
  66. }
  67. }
  68. }
  69. public int isArb { get; set; } = 0;
  70. }
  71. public class Info {
  72. public double sc { get; set; }
  73. public string tmdId { get; set; }
  74. //记录老师批注信息
  75. public string mark { get; set; }
  76. //记录老师身份信息
  77. public string identity { get; set; }
  78. public int index { get;set; }
  79. }
  80. }