|
@@ -164,8 +164,8 @@ public class StageControlService {
|
|
|
List<Level> levels = levelRepo.findByWorkId(workId);
|
|
|
for (Level targetLevel : levels) {
|
|
|
int pt = targetLevel.getPt();
|
|
|
- int count = markTaskRepo.countByWorkIdAndSubjectAndStageAndResult(workId, markSubject.getSubject(), MarkStage.LEVEL, targetLevel.getCode());
|
|
|
- int total = markTaskRepo.countByWorkIdAndSubjectAndStage(workId, markSubject.getSubject(), MarkStage.LEVEL);
|
|
|
+ long count = paperRepo.countByWorkIdAndSubjectAndLevel(workId, markSubject.getSubject(),targetLevel.getCode());
|
|
|
+ long total = paperRepo.countByWorkIdAndSubject(workId, markSubject.getSubject());
|
|
|
|
|
|
if ((count * 1.0D) / total * 1.0D > pt / 100.D) {
|
|
|
statusMap.put(markSubject.getId(), false);
|
|
@@ -175,8 +175,8 @@ public class StageControlService {
|
|
|
int kdpt = targetLevel.getKdpt();
|
|
|
List<ExamQuestion> examQuestions = examQuestionRepo.findByWorkIdAndSubject(workId, markSubject.getSubject());
|
|
|
for (ExamQuestion examQuestion : examQuestions) {
|
|
|
- int kdcount = markTaskRepo.countByWorkIdAndSubjectAndStageAndQuestionIdAndResult(workId, markSubject.getSubject(), MarkStage.LEVEL, examQuestion.getId(), targetLevel.getCode());
|
|
|
- int kdtotal = markTaskRepo.countByWorkIdAndSubjectAndStageAndQuestionId(workId, markSubject.getSubject(), MarkStage.LEVEL, examQuestion.getId());
|
|
|
+ long kdcount = paperRepo.countByWorkIdAndSubjectAndQuestionIdAndLevel(workId, markSubject.getSubject(), examQuestion.getId(), targetLevel.getCode());
|
|
|
+ long kdtotal = paperRepo.countByWorkIdAndSubjectAndQuestionId(workId, markSubject.getSubject(), examQuestion.getId());
|
|
|
if ((kdcount * 1.0D) / kdtotal * 1.0D > kdpt / 100.D) {
|
|
|
statusMap.put(markSubject.getId(), false);
|
|
|
throw new RuntimeException(targetLevel.getCode() + "档已满,考点阀值已达" + kdpt + "%。");
|