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
3 years ago
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
...
@@ -21,5 +21,11 @@ namespace Edu.Common.Enum.Exam
/// </summary>
/// </summary>
[
EnumField
(
"未考试"
)]
[
EnumField
(
"未考试"
)]
NotFinishTest
=
2
,
NotFinishTest
=
2
,
/// <summary>
/// 已阅卷
/// </summary>
[
EnumField
(
"已阅卷"
)]
FinishScoring
=
3
,
}
}
}
}
This diff is collapsed.
Click to expand it.
Edu.Model/Entity/Exam/RB_Examination_Student.cs
View file @
67f4aab5
...
@@ -87,5 +87,10 @@ namespace Edu.Model.Entity.Exam
...
@@ -87,5 +87,10 @@ namespace Edu.Model.Entity.Exam
/// 总得分
/// 总得分
/// </summary>
/// </summary>
public
decimal
TotalScore
{
get
;
set
;
}
public
decimal
TotalScore
{
get
;
set
;
}
/// <summary>
/// 学员评语
/// </summary>
public
string
StuComment
{
get
;
set
;
}
}
}
}
}
This diff is collapsed.
Click to expand it.
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
View file @
67f4aab5
...
@@ -35,6 +35,11 @@ namespace Edu.Model.ViewModel.Exam
...
@@ -35,6 +35,11 @@ namespace Edu.Model.ViewModel.Exam
/// 学生答案
/// 学生答案
/// </summary>
/// </summary>
public
string
StundetAnswer
{
get
;
set
;
}
public
string
StundetAnswer
{
get
;
set
;
}
/// <summary>
/// 学员得分
/// </summary>
public
decimal
StundetScore
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 学生答案详情id(关联RB_Examination_StudentDetails表中的Id)
/// 学生答案详情id(关联RB_Examination_StudentDetails表中的Id)
...
...
This diff is collapsed.
Click to expand it.
Edu.Module.Exam/PaperModule.cs
View file @
67f4aab5
...
@@ -1408,7 +1408,11 @@ namespace Edu.Module.Exam
...
@@ -1408,7 +1408,11 @@ namespace Edu.Module.Exam
/// <summary>
/// <summary>
/// 学员提交考试
/// 学员提交考试
/// </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>
/// <returns></returns>
[
TransactionCallHandler
]
[
TransactionCallHandler
]
public
virtual
bool
SetStuExamPaperDetailsModule
(
int
PublishId
,
int
GuestId
,
int
PaperId
,
int
UserGroupId
,
List
<
RB_Examination_Details_ViewModel
>
list
)
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
...
@@ -1474,7 +1478,62 @@ namespace Edu.Module.Exam
//自动阅卷
//自动阅卷
if
(
config
.
IsOpenAutoMarking
==
1
)
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
;
return
flag
;
...
...
This diff is collapsed.
Click to expand it.
Edu.Module.Exam/PaperModule2.cs
View file @
67f4aab5
...
@@ -22,13 +22,17 @@ namespace Edu.Module.Exam
...
@@ -22,13 +22,17 @@ namespace Edu.Module.Exam
/// <summary>
/// <summary>
/// 自动阅卷方法
/// 自动阅卷方法
/// </summary>
/// </summary>
/// <param name="IsHalfScore">多选题未选全给一半分</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="PaperId">试卷编号</param>
/// <param name="PublishId">发布编号</param>
/// <param name="stuList">学员答题列表</param>
/// <param name="GuestId">学员编号</param>
/// <returns></returns>
/// <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
;
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
>();
List
<
RB_Examination_StudentDetails_ViewModel
>
answerList
=
new
List
<
RB_Examination_StudentDetails_ViewModel
>();
if
(
questionList
!=
null
&&
questionList
.
Count
>
0
)
if
(
questionList
!=
null
&&
questionList
.
Count
>
0
)
{
{
...
@@ -44,16 +48,16 @@ namespace Edu.Module.Exam
...
@@ -44,16 +48,16 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
//多选题
//多选题
case
"multiple"
:
case
"multiple"
:
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
))?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
//填空题
//填空题
...
@@ -65,7 +69,7 @@ namespace Edu.Module.Exam
...
@@ -65,7 +69,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
//简答题
//简答题
...
@@ -97,7 +101,7 @@ namespace Edu.Module.Exam
...
@@ -97,7 +101,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
//排序题
//排序题
...
@@ -105,7 +109,7 @@ namespace Edu.Module.Exam
...
@@ -105,7 +109,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
//完型填空
//完型填空
...
@@ -137,7 +141,7 @@ namespace Edu.Module.Exam
...
@@ -137,7 +141,7 @@ namespace Edu.Module.Exam
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
answerList
.
Add
(
new
RB_Examination_StudentDetails_ViewModel
()
{
{
Id
=
answerModel
.
Id
,
Id
=
answerModel
.
Id
,
StundetScore
=
(
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
))?
sItem
.
Score
:
0
StundetScore
=
(
sItem
.
Answer
==
answerModel
.
StundetAnswer
)
?
sItem
.
Score
:
0
});
});
break
;
break
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
View file @
67f4aab5
...
@@ -634,6 +634,7 @@ namespace Edu.WebApi.Controllers.Applet
...
@@ -634,6 +634,7 @@ namespace Edu.WebApi.Controllers.Applet
var
result
=
paperModule
.
SetStuExamPaperDetailsModule
(
PublishId
,
GuestId
,
PaperId
,
Group_Id
,
paperDetailsList
);
var
result
=
paperModule
.
SetStuExamPaperDetailsModule
(
PublishId
,
GuestId
,
PaperId
,
Group_Id
,
paperDetailsList
);
return
result
?
ApiResult
.
Success
(
"提交试卷成功"
)
:
ApiResult
.
Failed
(
"提交试卷失败"
);
return
result
?
ApiResult
.
Success
(
"提交试卷成功"
)
:
ApiResult
.
Failed
(
"提交试卷失败"
);
}
}
#
endregion
#
endregion
}
}
}
}
This diff is collapsed.
Click to expand it.
Edu.WebApi/Controllers/Exam/ExamController.cs
View file @
67f4aab5
...
@@ -822,5 +822,49 @@ namespace Edu.WebApi.Controllers.Exam
...
@@ -822,5 +822,49 @@ namespace Edu.WebApi.Controllers.Exam
return
ApiResult
.
Success
(
data
:
pageModel
);
return
ApiResult
.
Success
(
data
:
pageModel
);
}
}
#
endregion
#
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
This diff is collapsed.
Click to expand it.
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