Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
67f4aab5
Commit
67f4aab5
authored
Sep 07, 2021
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
a43cf045
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
136 additions
and
12 deletions
+136
-12
ExamTestStatusEnum.cs
Edu.Common/Enum/Exam/ExamTestStatusEnum.cs
+6
-0
RB_Examination_Student.cs
Edu.Model/Entity/Exam/RB_Examination_Student.cs
+5
-0
RB_Examination_Details_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
+5
-0
PaperModule.cs
Edu.Module.Exam/PaperModule.cs
+61
-2
PaperModule2.cs
Edu.Module.Exam/PaperModule2.cs
+14
-10
AppletIndexController.cs
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
+1
-0
ExamController.cs
Edu.WebApi/Controllers/Exam/ExamController.cs
+44
-0
No files found.
Edu.Common/Enum/Exam/ExamTestStatusEnum.cs
View file @
67f4aab5
...
...
@@ -21,5 +21,11 @@ namespace Edu.Common.Enum.Exam
/// </summary>
[
EnumField
(
"未考试"
)]
NotFinishTest
=
2
,
/// <summary>
/// 已阅卷
/// </summary>
[
EnumField
(
"已阅卷"
)]
FinishScoring
=
3
,
}
}
Edu.Model/Entity/Exam/RB_Examination_Student.cs
View file @
67f4aab5
...
...
@@ -87,5 +87,10 @@ namespace Edu.Model.Entity.Exam
/// 总得分
/// </summary>
public
decimal
TotalScore
{
get
;
set
;
}
/// <summary>
/// 学员评语
/// </summary>
public
string
StuComment
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
View file @
67f4aab5
...
...
@@ -35,6 +35,11 @@ namespace Edu.Model.ViewModel.Exam
/// 学生答案
/// </summary>
public
string
StundetAnswer
{
get
;
set
;
}
/// <summary>
/// 学员得分
/// </summary>
public
decimal
StundetScore
{
get
;
set
;
}
/// <summary>
/// 学生答案详情id(关联RB_Examination_StudentDetails表中的Id)
...
...
Edu.Module.Exam/PaperModule.cs
View file @
67f4aab5
...
...
@@ -1408,7 +1408,11 @@ namespace Edu.Module.Exam
/// <summary>
/// 学员提交考试
/// </summary>
/// <param name="model"></param>
/// <param name="PublishId">发布考试编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="UserGroupId">集团编号</param>
/// <param name="list">学生题目数据</param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetStuExamPaperDetailsModule
(
int
PublishId
,
int
GuestId
,
int
PaperId
,
int
UserGroupId
,
List
<
RB_Examination_Details_ViewModel
>
list
)
...
...
@@ -1474,7 +1478,62 @@ namespace Edu.Module.Exam
//自动阅卷
if
(
config
.
IsOpenAutoMarking
==
1
)
{
AutoReviewPaperModule
(
modelPublish
.
IsHalfScore
,
list
,
stuList
);
AutoReviewPaperModule
(
modelPublish
.
IsHalfScore
,
PaperId
,
stuList
);
}
}
return
flag
;
}
/// <summary>
/// 老师阅卷
/// </summary>
/// <param name="PublishId">发布考试编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="StuComment">老师评语</param>
/// <param name="list">学生题目数据</param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetTeacherScoringModule
(
int
PublishId
,
int
GuestId
,
int
PaperId
,
string
StuComment
,
List
<
RB_Examination_Details_ViewModel
>
list
)
{
bool
flag
=
false
;
if
(
list
!=
null
&&
list
.
Any
())
{
decimal
totalScore
=
0
;
foreach
(
var
item
in
list
)
{
totalScore
+=
item
.
StundetScore
;
RB_Examination_StudentDetails_ViewModel
model
=
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
item
.
StundetDetailsId
,
StundetScore
=
item
.
StundetScore
,
};
if
(
model
.
Id
>
0
)
{
Dictionary
<
string
,
object
>
stuFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_StudentDetails_ViewModel
.
StundetScore
),
model
.
StundetScore
},
{
nameof
(
RB_Examination_StudentDetails_ViewModel
.
IsMarking
),
1
},
};
flag
=
examination_StudentDetailsRepository
.
Update
(
stuFileds
,
new
WhereHelper
(
nameof
(
RB_Examination_StudentDetails_ViewModel
.
Id
),
model
.
Id
));
}
}
if
(
flag
)
//试卷提交成功,更新考试最后时间
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_Student_ViewModel
.
ExamEndTime
),
DateTime
.
Now
},
{
nameof
(
RB_Examination_Student_ViewModel
.
ExamStatus
),
ExamTestStatusEnum
.
FinishScoring
},
{
nameof
(
RB_Examination_Student_ViewModel
.
StuComment
),
StuComment
},
{
nameof
(
RB_Examination_Student_ViewModel
.
TotalScore
),
totalScore
},
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(
nameof
(
RB_Examination_Student_ViewModel
.
PaperId
),
PaperId
),
new
WhereHelper
(
nameof
(
RB_Examination_Student_ViewModel
.
PublishId
),
PublishId
),
new
WhereHelper
(
nameof
(
RB_Examination_Student_ViewModel
.
GuestId
),
GuestId
),
};
flag
=
examination_StudentRepository
.
Update
(
fileds
,
wheres
);
}
}
return
flag
;
...
...
Edu.Module.Exam/PaperModule2.cs
View file @
67f4aab5
...
...
@@ -22,13 +22,17 @@ namespace Edu.Module.Exam
/// <summary>
/// 自动阅卷方法
/// </summary>
/// <param name="IsHalfScore">多选题未选全给一半分</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="PublishId">发布编号</param>
/// <param name="GuestId">学员编号</param>
/// <param name="stuList">学员答题列表</param>
/// <returns></returns>
public
bool
AutoReviewPaperModule
(
int
IsHalfScore
,
List
<
RB_Examination_Details_ViewModel
>
questionList
,
List
<
RB_Examination_StudentDetails_ViewModel
>
stuList
)
public
bool
AutoReviewPaperModule
(
int
IsHalfScore
,
int
PaperId
,
List
<
RB_Examination_StudentDetails_ViewModel
>
stuList
)
{
bool
flag
=
false
;
List
<
RB_Examination_Details_ViewModel
>
questionList
=
examination_DetailsRepository
.
GetExaminationDetailsListRepository
(
new
RB_Examination_Details_ViewModel
()
{
QPaperIds
=
PaperId
.
ToString
()
});
List
<
RB_Examination_StudentDetails_ViewModel
>
answerList
=
new
List
<
RB_Examination_StudentDetails_ViewModel
>();
if
(
questionList
!=
null
&&
questionList
.
Count
>
0
)
{
...
...
@@ -44,16 +48,16 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
//多选题
case
"multiple"
:
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
))?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
//填空题
...
...
@@ -65,7 +69,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
//简答题
...
...
@@ -97,7 +101,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
//排序题
...
...
@@ -105,7 +109,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
//完型填空
...
...
@@ -137,7 +141,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
answerModel
.
Id
,
StundetScore
=
(
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
))?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
break
;
}
...
...
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
View file @
67f4aab5
...
...
@@ -634,6 +634,7 @@ namespace Edu.WebApi.Controllers.Applet
var
result
=
paperModule
.
SetStuExamPaperDetailsModule
(
PublishId
,
GuestId
,
PaperId
,
Group_Id
,
paperDetailsList
);
return
result
?
ApiResult
.
Success
(
"提交试卷成功"
)
:
ApiResult
.
Failed
(
"提交试卷失败"
);
}
#
endregion
}
}
Edu.WebApi/Controllers/Exam/ExamController.cs
View file @
67f4aab5
...
...
@@ -822,5 +822,49 @@ namespace Edu.WebApi.Controllers.Exam
return
ApiResult
.
Success
(
data
:
pageModel
);
}
#
endregion
/// <summary>
/// 老师阅卷提交分数
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetTeacherScoring
()
{
var
PublishId
=
base
.
ParmJObj
.
GetInt
(
"PublishId"
);
var
GuestId
=
base
.
ParmJObj
.
GetInt
(
"GuestId"
,
0
);
var
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
);
//学生评语
string
StuComment
=
base
.
ParmJObj
.
GetStringValue
(
"StuComment"
);
List
<
RB_Examination_Details_ViewModel
>
paperDetailsList
=
new
List
<
RB_Examination_Details_ViewModel
>();
string
groups
=
base
.
ParmJObj
.
GetStringValue
(
"GroupList"
);
if
(!
string
.
IsNullOrEmpty
(
groups
))
{
JArray
jarray
=
JArray
.
Parse
(
groups
);
if
(
jarray
!=
null
&&
jarray
.
Count
>
0
)
{
foreach
(
var
jItem
in
jarray
)
{
JObject
jobj
=
JObject
.
Parse
(
jItem
.
ToString
());
string
details
=
jobj
.
GetStringValue
(
"DetailsList"
);
if
(!
string
.
IsNullOrEmpty
(
details
))
{
JArray
subArray
=
JArray
.
Parse
(
details
);
foreach
(
var
sItem
in
subArray
)
{
JObject
sObj
=
JObject
.
Parse
(
sItem
.
ToString
());
var
detailModel
=
new
RB_Examination_Details_ViewModel
()
{
Id
=
sObj
.
GetInt
(
"PaperDetailsId"
),
StundetScore
=
sObj
.
GetDecimal
(
"StundetScore"
),
};
paperDetailsList
.
Add
(
detailModel
);
}
}
}
}
}
var
result
=
paperModule
.
SetTeacherScoringModule
(
PublishId
,
GuestId
,
PaperId
,
StuComment
,
paperDetailsList
);
return
result
?
ApiResult
.
Success
(
"阅卷成功!"
)
:
ApiResult
.
Failed
(
"阅卷失败!"
);
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment