优化2 patch2
This commit is contained in:
+18
-15
@@ -100,7 +100,7 @@ const initializeDatabase = () => createBaseDatabase({
|
||||
});
|
||||
const persistentDatabase = await createDatabase({ root, seed: initializeDatabase });
|
||||
const cache = await createRedisCache();
|
||||
const resultCacheWriteMethods = new Set(['saveResult', 'saveResults', 'updateFeatureScore', 'updateExam', 'archiveExam']);
|
||||
const resultCacheWriteMethods = new Set(['saveResult', 'saveResults', 'updateFeatureScore', 'updateFeatureScores', 'updateExam', 'archiveExam']);
|
||||
const database = withCacheInvalidation(persistentDatabase, cache, (method, args) => {
|
||||
const namespaces = ['public'];
|
||||
const instance = args[0];
|
||||
@@ -558,23 +558,26 @@ function excelRowsForResource(db, user, resource, searchParams) {
|
||||
});
|
||||
if (resource === 'results') {
|
||||
const examId = cleanText(searchParams.get('examId'), 64);
|
||||
const scopedRegistrations = db.registrations.filter(item => registrationInScope(db, user, item));
|
||||
return db.results.filter(result => scopedRegistrations.some(item => item.id === result.registrationId && (!examId || item.examId === examId))).map(result => {
|
||||
const registration = db.registrations.find(item => item.id === result.registrationId);
|
||||
const scopedRegistrations = db.registrations.filter(item => item.status === 'approved' && registrationInScope(db, user, item) && (!examId || item.examId === examId));
|
||||
return scopedRegistrations.flatMap(registration => {
|
||||
const exam = db.exams.find(item => item.id === registration?.examId);
|
||||
const subject = exam?.subjects.find(item => item.id === result.subjectId);
|
||||
const account = db.users.find(item => item.id === registration?.userId);
|
||||
const profile = db.candidateProfiles.find(item => item.userId === registration?.userId);
|
||||
const evaluation = subjectPassEvaluation(db, result, subject);
|
||||
const rank = resultRankInfo(db, result);
|
||||
return {
|
||||
candidateNumber: account?.candidateNumber || '', candidateName: profile?.name || account?.displayName || '',
|
||||
examCode: exam?.code || '', examName: exam?.name || '', subjectName: subject?.name || '',
|
||||
fullScore: subject?.fullScore || '', passRule: subjectPassText(subject), passScore: evaluation.passScore ?? '', score: result.score,
|
||||
rank: rank.rank, rankPercent: rank.rankPercent,
|
||||
qualified: evaluation.qualified == null ? '不判定' : evaluation.qualified ? '达线' : '未达线',
|
||||
grade: result.published ? resultRankInfo(db, result).grade : '待发布', published: result.published ? '发布' : '不发布', updatedAt: result.updatedAt || result.publishedAt || ''
|
||||
};
|
||||
const schoolClass = db.classes.find(item => item.id === profile?.classId);
|
||||
return (exam?.subjects || []).filter(subject => registration.subjectIds.includes(subject.id)).map(subject => {
|
||||
const result = db.results.find(item => item.registrationId === registration.id && item.subjectId === subject.id);
|
||||
const evaluation = result ? subjectPassEvaluation(db, result, subject) : null;
|
||||
const rank = result ? resultRankInfo(db, result) : null;
|
||||
return {
|
||||
candidateNumber: account?.candidateNumber || registration.registrationNumber || '', cardNumber: registration.admitCard?.number || '',
|
||||
candidateName: profile?.name || account?.displayName || '', schoolName: profile?.school || '', className: schoolClass?.name || profile?.grade || '',
|
||||
examCode: exam?.code || '', examName: exam?.name || '', subjectName: subject?.name || '',
|
||||
fullScore: subject?.fullScore || '', passRule: subjectPassText(subject), passScore: evaluation?.passScore ?? '', score: result?.score ?? '',
|
||||
rank: rank?.rank ?? '', rankPercent: rank?.rankPercent ?? '',
|
||||
qualified: !result || evaluation?.qualified == null ? '' : evaluation.qualified ? '达线' : '未达线',
|
||||
grade: result ? (result.published ? rank?.grade || '' : '待发布') : '', published: result?.published ? '发布' : '不发布', updatedAt: result?.updatedAt || result?.publishedAt || ''
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
if (resource === 'admit_cards') {
|
||||
|
||||
Reference in New Issue
Block a user