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
61ec03e8
Commit
61ec03e8
authored
Aug 20, 2021
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码
parent
9df38368
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
191 additions
and
14 deletions
+191
-14
RB_Examination_StudentDetails.cs
Edu.Model/Entity/Exam/RB_Examination_StudentDetails.cs
+1
-1
RB_Examination_Details_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
+1
-1
RB_Examination_StudentDetails_ViewModel.cs
...ViewModel/Exam/RB_Examination_StudentDetails_ViewModel.cs
+1
-4
PaperModule.cs
Edu.Module.Exam/PaperModule.cs
+70
-1
RB_Examination_StudentDetailsRepository.cs
...epository/Exam/RB_Examination_StudentDetailsRepository.cs
+3
-6
AppletIndexController.cs
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
+115
-1
No files found.
Edu.Model/Entity/Exam/RB_Examination_StudentDetails.cs
View file @
61ec03e8
...
...
@@ -38,7 +38,7 @@ namespace Edu.Model.Entity.Exam
/// <summary>
/// 试卷考试学员编号
/// </summary>
public
int
ExaminationStu
Id
{
get
;
set
;
}
public
int
Guest
Id
{
get
;
set
;
}
/// <summary>
/// 创建时间
...
...
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
View file @
61ec03e8
...
...
@@ -44,7 +44,7 @@ namespace Edu.Model.ViewModel.Exam
/// <summary>
/// 学生得分
/// </summary>
public
string
StundetScore
{
get
;
set
;
}
public
decimal
StundetScore
{
get
;
set
;
}
/// <summary>
/// 知识点
...
...
Edu.Model/ViewModel/Exam/RB_Examination_StudentDetails_ViewModel.cs
View file @
61ec03e8
...
...
@@ -15,9 +15,6 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
public
string
GuestName
{
get
;
set
;
}
/// <summary>
/// 学员编号
/// </summary>
public
int
GuestId
{
get
;
set
;
}
}
}
Edu.Module.Exam/PaperModule.cs
View file @
61ec03e8
...
...
@@ -18,7 +18,7 @@ namespace Edu.Module.Exam
/// <summary>
/// 试卷处理类
/// </summary>
public
class
PaperModule
public
partial
class
PaperModule
{
/// <summary>
/// 试卷题目仓储层对象
...
...
@@ -74,6 +74,8 @@ namespace Edu.Module.Exam
/// </summary>
private
readonly
RB_Question_PointRepository
question_PointRepository
=
new
RB_Question_PointRepository
();
/// <summary>
/// 获取试卷分页列表
/// </summary>
...
...
@@ -650,6 +652,12 @@ namespace Edu.Module.Exam
{
PaperId
=
extModel
.
PaperId
});
List
<
RB_Examination_StudentDetails_ViewModel
>
studentDetailsList
=
new
List
<
RB_Examination_StudentDetails_ViewModel
>();
if
(
GuestId
>
0
&&
PublishId
>
0
)
{
studentDetailsList
=
examination_StudentDetailsRepository
.
GetExaminationStudentListRepository
(
new
RB_Examination_StudentDetails_ViewModel
{
PaperId
=
extModel
.
PaperId
,
PublishId
=
PublishId
,
GuestId
=
GuestId
});
}
if
(
extModel
.
GroupList
!=
null
&&
extModel
.
GroupList
.
Count
>
0
&&
detailsList
!=
null
&&
detailsList
.
Count
>
0
)
{
List
<
int
>
pointsList
=
new
List
<
int
>();
...
...
@@ -679,6 +687,23 @@ namespace Edu.Module.Exam
sItem
.
Answer
=
""
;
sItem
.
AnswerParse
=
""
;
}
if
(
studentDetailsList
!=
null
&&
studentDetailsList
.
Any
())
{
var
studentDetailsModel
=
studentDetailsList
.
Where
(
x
=>
x
.
DetailsId
==
sItem
.
Id
).
FirstOrDefault
();
if
(
studentDetailsModel
!=
null
&&
studentDetailsModel
.
Id
>
0
)
{
sItem
.
StundetAnswer
=
studentDetailsModel
.
StundetAnswer
??
""
;
sItem
.
StundetDetailsId
=
studentDetailsModel
.
Id
;
sItem
.
StundetScore
=
studentDetailsModel
.
StundetScore
;
}
else
{
sItem
.
StundetAnswer
=
""
;
sItem
.
StundetDetailsId
=
0
;
sItem
.
StundetScore
=
0
;
}
}
sItem
.
QuestionPointList
=
pointList
?.
Where
(
qitem
=>
sItem
.
Knowledge
.
Contains
(
qitem
.
PointId
.
ToString
()))?.
ToList
()
??
new
List
<
RB_Question_Point_ViewModel
>();
sItem
.
QuestionContentObj
=
analysisQuestion
.
ParsingQuestion
(
sItem
.
QuestionTypeKey
,
sItem
.
QuestionContent
);
string
newTitle
=
sItem
.
Title
;
...
...
@@ -1166,6 +1191,50 @@ namespace Edu.Module.Exam
{
return
examination_StudentRepository
.
GetExaminationStudentPageRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
}
/// <summary>
/// 新增/修改试卷
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetStudentPaperDetails
(
List
<
RB_Examination_StudentDetails_ViewModel
>
list
,
RB_Examination_Student_ViewModel
studentModel
)
{
bool
flag
=
false
;
if
(
list
!=
null
&&
list
.
Any
())
{
foreach
(
var
gitem
in
list
)
{
if
(
gitem
.
Id
>
0
)
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_StudentDetails_ViewModel
.
StundetAnswer
),
gitem
.
StundetAnswer
},
{
nameof
(
RB_Examination_StudentDetails_ViewModel
.
StundetScore
),
gitem
.
StundetScore
},
{
nameof
(
RB_Examination_StudentDetails_ViewModel
.
IsMarking
),
gitem
.
IsMarking
}
};
flag
=
examination_StudentDetailsRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Examination_StudentDetails_ViewModel
.
Id
),
gitem
.
Id
));
}
else
{
var
newGroupId
=
examination_StudentDetailsRepository
.
Insert
(
gitem
);
gitem
.
Id
=
newGroupId
;
flag
=
newGroupId
>
0
;
}
}
if
(
flag
)
//试卷提交成功,更新考试最后时间
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_Student_ViewModel
.
ExamEndTime
),
studentModel
.
ExamEndTime
}
};
flag
=
examination_StudentRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Examination_Student_ViewModel
.
Id
),
studentModel
.
Id
));
}
}
return
flag
;
}
#
endregion
}
}
Edu.Repository/Exam/RB_Examination_StudentDetailsRepository.cs
View file @
61ec03e8
...
...
@@ -24,7 +24,7 @@ namespace Edu.Repository.Exam
builder
.
AppendFormat
(
@"
SELECT A.*,IFNULL(B.GuestName,'') AS GuestName
FROM RB_Examination_StudentDetails AS A
LEFT JOIN RB_Examination_Student AS c ON C.
Id=a.ExaminationStu
Id
LEFT JOIN RB_Examination_Student AS c ON C.
GuestId=a.Guest
Id
LEFT JOIN rb_order_guest AS B ON c.GuestId=B.Id
WHERE 1=1
"
);
...
...
@@ -32,13 +32,10 @@ WHERE 1=1
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Examination_StudentDetails_ViewModel
.
Status
),
0
);
if
(
query
!=
null
)
{
if
(
query
.
ExaminationStuId
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Examination_StudentDetails_ViewModel
.
ExaminationStuId
),
query
.
ExaminationStuId
);
}
if
(
query
.
GuestId
>
0
)
{
builder
.
AppendFormat
(
" AND
A
.{0}={1} "
,
nameof
(
RB_Examination_Student
.
GuestId
),
query
.
GuestId
);
builder
.
AppendFormat
(
" AND
c
.{0}={1} "
,
nameof
(
RB_Examination_Student
.
GuestId
),
query
.
GuestId
);
}
if
(
query
.
PublishId
>
0
)
{
...
...
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
View file @
61ec03e8
...
...
@@ -3,7 +3,9 @@ using System.Collections.Generic;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Edu.Common.API
;
using
Edu.Common.Enum.Question
;
using
Edu.Common.Plugin
;
using
Edu.Model.ViewModel.Exam
;
using
Edu.Model.ViewModel.Grade
;
using
Edu.Model.ViewModel.User
;
using
Edu.Module.Course
;
...
...
@@ -14,6 +16,7 @@ using Edu.WebApi.Filter;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.AspNetCore.Mvc
;
using
Newtonsoft.Json.Linq
;
namespace
Edu.WebApi.Controllers.Applet
{
...
...
@@ -563,10 +566,121 @@ namespace Edu.WebApi.Controllers.Applet
var
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
);
var
Id
=
base
.
ParmJObj
.
GetInt
(
"Id"
);
var
GuestId
=
base
.
ParmJObj
.
GetInt
(
"GuestId"
,
0
);
var
modelPublish
=
paperModule
.
GetExaminationPublishModule
(
Id
);
var
modelPublish
=
paperModule
.
GetExaminationPublishModule
(
Id
);
var
modelPaper
=
paperModule
.
GetExaminationPaperModule
(
PaperId
,
isShowAnswer
:
false
,
GuestId
:
GuestId
,
PublishId
:
Id
);
modelPublish
.
GuestId
=
GuestId
;
return
ApiResult
.
Success
(
data
:
new
{
Publish
=
modelPublish
,
Paper
=
modelPaper
});
}
/// <summary>
/// 学生提交答卷
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetSetStudentPaperDetails
()
{
List
<
RB_Examination_StudentDetails_ViewModel
>
stuDetailsList
=
new
List
<
RB_Examination_StudentDetails_ViewModel
>();
var
Id
=
base
.
ParmJObj
.
GetInt
(
"PublishId"
);
var
GuestId
=
base
.
ParmJObj
.
GetInt
(
"GuestId"
,
0
);
var
modelPublish
=
paperModule
.
GetExaminationPublishModule
(
Id
);
var
studentModel
=
modelPublish
.
StudentList
.
Where
(
x
=>
x
.
GuestId
==
GuestId
).
FirstOrDefault
();
studentModel
.
ExamEndTime
=
System
.
DateTime
.
Now
;
var
extModel
=
new
RB_Examination_Paper_ViewModel
()
{
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
),
PaperName
=
base
.
ParmJObj
.
GetStringValue
(
"PaperName"
),
QuestionBandIds
=
base
.
ParmJObj
.
GetStringValue
(
"QuestionBandIds"
),
DifficultyType
=
(
DifficultyTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"DifficultyType"
),
Group_Id
=
base
.
ParmJObj
.
GetInt
(
"Group_Id"
),
GenerateType
=
base
.
ParmJObj
.
GetInt
(
"GenerateType"
),
CreateNum
=
base
.
ParmJObj
.
GetInt
(
"CreateNum"
),
PaperType
=
base
.
ParmJObj
.
GetInt
(
"PaperType"
),
ParentId
=
base
.
ParmJObj
.
GetInt
(
"ParentId"
),
IsExamine
=
base
.
ParmJObj
.
GetInt
(
"IsExamine"
),
};
extModel
.
GroupList
=
new
List
<
RB_Examination_Group_ViewModel
>();
string
groups
=
base
.
ParmJObj
.
GetStringValue
(
"GroupList"
);
if
(!
string
.
IsNullOrEmpty
(
groups
))
{
JArray
jarray
=
JArray
.
Parse
(
groups
);
if
(
jarray
!=
null
&&
jarray
.
Count
>
0
)
{
int
gSortNum
=
0
;
foreach
(
var
jItem
in
jarray
)
{
JObject
jobj
=
JObject
.
Parse
(
jItem
.
ToString
());
RB_Examination_Group_ViewModel
gModel
=
new
RB_Examination_Group_ViewModel
()
{
GId
=
jobj
.
GetInt
(
"GId"
),
PaperId
=
jobj
.
GetInt
(
"PaperId"
),
GroupName
=
jobj
.
GetStringValue
(
"GroupName"
),
QuestionTypeId
=
jobj
.
GetInt
(
"QuestionTypeId"
),
QuestionTypeKey
=
jobj
.
GetStringValue
(
"QuestionTypeKey"
),
GSortNum
=
gSortNum
,
GScore
=
jobj
.
GetDecimal
(
"GScore"
),
DetailsList
=
new
List
<
RB_Examination_Details_ViewModel
>(),
};
gSortNum
++;
string
details
=
jobj
.
GetStringValue
(
"DetailsList"
);
if
(!
string
.
IsNullOrEmpty
(
details
))
{
JArray
subArray
=
JArray
.
Parse
(
details
);
int
dSortNum
=
0
;
foreach
(
var
sItem
in
subArray
)
{
JObject
sObj
=
JObject
.
Parse
(
sItem
.
ToString
());
var
detailModel
=
new
RB_Examination_Details_ViewModel
()
{
Id
=
sObj
.
GetInt
(
"Id"
),
PaperId
=
sObj
.
GetInt
(
"PaperId"
),
BankId
=
sObj
.
GetInt
(
"BankId"
),
QuestionId
=
sObj
.
GetInt
(
"QuestionId"
),
Title
=
sObj
.
GetStringValue
(
"Title"
),
QuestionContent
=
sObj
.
GetStringValue
(
"QuestionContent"
),
DifficultyType
=
(
DifficultyTypeEnum
)
sObj
.
GetInt
(
"DifficultyType"
),
AnswerParse
=
sObj
.
GetStringValue
(
"AnswerParse"
),
QuestionTypeId
=
sObj
.
GetInt
(
"QuestionTypeId"
),
QuestionTypeKey
=
sObj
.
GetStringValue
(
"QuestionTypeKey"
),
Knowledge
=
sObj
.
GetStringValue
(
"Knowledge"
),
UpdateTime
=
DateTime
.
Now
,
IsUpdateJobExam
=
sObj
.
GetInt
(
"IsUpdateJobExam"
),
Status
=
Common
.
Enum
.
DateStateEnum
.
Normal
,
SortNum
=
dSortNum
,
StundetAnswer
=
sObj
.
GetStringValue
(
"StundetAnswer"
),
IsMutex
=
sObj
.
GetInt
(
"IsMutex"
),
StundetDetailsId
=
sObj
.
GetInt
(
"StundetDetailsId"
),
LevelType
=
(
LevelTypeEnum
)
sObj
.
GetInt
(
"LevelType"
),
StundetScore
=
sObj
.
GetDecimal
(
"StundetScore"
),
};
dSortNum
++;
var
studentDetailsModel
=
new
RB_Examination_StudentDetails_ViewModel
()
{
Id
=
detailModel
.
StundetDetailsId
,
PaperId
=
detailModel
.
PaperId
,
PublishId
=
base
.
ParmJObj
.
GetInt
(
"PublishId"
),
DetailsId
=
detailModel
.
Id
,
GuestId
=
GuestId
,
CreateTime
=
System
.
DateTime
.
Now
,
Status
=
Common
.
Enum
.
DateStateEnum
.
Normal
,
StundetAnswer
=
detailModel
.
StundetAnswer
,
StundetScore
=
detailModel
.
StundetScore
,
IsMarking
=
0
};
stuDetailsList
.
Add
(
studentDetailsModel
);
gModel
.
DetailsList
.
Add
(
detailModel
);
}
}
extModel
.
GroupList
.
Add
(
gModel
);
}
}
}
var
result
=
paperModule
.
SetStudentPaperDetails
(
stuDetailsList
,
studentModel
);
return
result
?
ApiResult
.
Success
(
"提交试卷成功"
)
:
ApiResult
.
Failed
(
"提交试卷失败"
);
}
#
endregion
}
}
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