|
@@ -23,17 +23,31 @@ class executor extends EventEmitter {
|
|
while (true) {
|
|
while (true) {
|
|
pageNumber++
|
|
pageNumber++
|
|
logger.info('student page=' + pageNumber)
|
|
logger.info('student page=' + pageNumber)
|
|
- let array = await api.getStudents(env.examId, pageNumber, 1000)
|
|
|
|
|
|
+ let array = await api.getStudents(env.examId, pageNumber, 1000, true, undefined, true)
|
|
if (array == undefined || array.length == 0) {
|
|
if (array == undefined || array.length == 0) {
|
|
break
|
|
break
|
|
}
|
|
}
|
|
let datas = []
|
|
let datas = []
|
|
for (var i = 0; i < array.length; i++) {
|
|
for (var i = 0; i < array.length; i++) {
|
|
var obj = array[i]
|
|
var obj = array[i]
|
|
|
|
+ var objList = []
|
|
|
|
+ var subList = []
|
|
|
|
+ if (obj.objectiveScoreDetail) {
|
|
|
|
+ obj.objectiveScoreDetail.forEach(detail => {
|
|
|
|
+ let score = Math.round(detail.score * 10 / 10)
|
|
|
|
+ objList.push(detail.answer + ':' + score)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ if (obj.subjectiveScoreDetail) {
|
|
|
|
+ obj.subjectiveScoreDetail.forEach(detail => {
|
|
|
|
+ let score = Math.round(detail.score * 10 / 10)
|
|
|
|
+ subList.push(score)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
datas.push([obj['id'], env.examId, obj['schoolId'], obj['examNumber'], obj['name'], obj['studentCode'], obj['subjectCode'],
|
|
datas.push([obj['id'], env.examId, obj['schoolId'], obj['examNumber'], obj['name'], obj['studentCode'], obj['subjectCode'],
|
|
obj['subjectName'], obj['campusName'], obj['packageCode'], obj['batchCode'], obj['sheetCount'], obj['sliceCount'], obj['answers'],
|
|
obj['subjectName'], obj['campusName'], obj['packageCode'], obj['batchCode'], obj['sheetCount'], obj['sliceCount'], obj['answers'],
|
|
obj['upload'] ? 1 : 0, obj['absent'] ? 1 : 0, obj['breach'] ? 1 : 0, obj['manualAbsent'] ? 1 : 0, obj['objectiveScore'],
|
|
obj['upload'] ? 1 : 0, obj['absent'] ? 1 : 0, obj['breach'] ? 1 : 0, obj['manualAbsent'] ? 1 : 0, obj['objectiveScore'],
|
|
- obj['subjectiveScore'], obj['examSite'], obj['examRoom'], obj['remark']
|
|
|
|
|
|
+ obj['subjectiveScore'], objList.join(';'), subList.join(';'), obj['examSite'], obj['examRoom'], obj['remark']
|
|
])
|
|
])
|
|
|
|
|
|
campus[obj['campusCode']] = {
|
|
campus[obj['campusCode']] = {
|
|
@@ -47,8 +61,9 @@ class executor extends EventEmitter {
|
|
, exam_number, name, student_code, subject_code, subject_name, campus_name\
|
|
, exam_number, name, student_code, subject_code, subject_name, campus_name\
|
|
, package_code, batch_code, sheet_count, slice_count, answers, is_upload\
|
|
, package_code, batch_code, sheet_count, slice_count, answers, is_upload\
|
|
, is_absent, is_manual_absent, is_breach, is_exception\
|
|
, is_absent, is_manual_absent, is_breach, is_exception\
|
|
- , objective_score, subjective_score, exam_site, exam_room, remark) \
|
|
|
|
- values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?)',
|
|
|
|
|
|
+ , objective_score, subjective_score, objective_score_list, subjective_score_list\
|
|
|
|
+ , exam_site, exam_room, remark) \
|
|
|
|
+ values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?,?,?,?,?,?)',
|
|
datas).then(() => {
|
|
datas).then(() => {
|
|
count += datas.length
|
|
count += datas.length
|
|
this.emit('student', count)
|
|
this.emit('student', count)
|
|
@@ -104,6 +119,6 @@ class executor extends EventEmitter {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-module.exports = function () {
|
|
|
|
|
|
+module.exports = function() {
|
|
return new executor()
|
|
return new executor()
|
|
-}
|
|
|
|
|
|
+}
|