Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong

This commit is contained in:
guoshengxiong 2024-05-24 16:55:52 +08:00
commit 66fd160ae2
3 changed files with 9 additions and 9 deletions

View File

@ -136,7 +136,7 @@ public class ExamQuestionBankController {
}
}
}
return Result.success(examQuestionBankService.listByIds(resultList));
return Result.success(resultList.size() > 0 ? examQuestionBankService.listByIds(resultList) : new ArrayList<>());
}

View File

@ -20,9 +20,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @version V1.0
*/
@Mapper
@DataScope
public interface ExamTrainMapper extends BaseMapper<ExamTrain> {
@DataScope(includeTable = "exam_train")
Page<ExamTrain> pageList(Page page, @Param(Constants.WRAPPER) Wrapper<ExamTrain> wrapper);
}

View File

@ -62,12 +62,14 @@ public class ExamTrainServiceImpl extends ServiceImpl<ExamTrainMapper, ExamTrain
if (ids.size() > 0) {
List<ExamTrainRecord> examTrainRecordList = examTrainRecordService.list(Wrappers.<ExamTrainRecord>lambdaQuery().in(ExamTrainRecord::getTrainId, ids));
for (ExamTrain record : examTrainPage.getRecords()) {
List<ExamTrainRecord> trainRecordList = examTrainRecordList.stream().filter(e -> e.getTrainId().toString().equals(record.getId().toString())).collect(Collectors.toList());
if (trainRecordList.size() > 0) {
int complete = trainRecordList.stream().filter(t -> t.getScore() != null).collect(Collectors.toList()).size();
int pass = trainRecordList.stream().filter(t -> t.getIsPass() == 1).collect(Collectors.toList()).size();
record.setCompleteRadio(new BigDecimal(complete).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
record.setPassRadio(new BigDecimal(pass).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
if (record.getExamPaperId() != null) {
List<ExamTrainRecord> trainRecordList = examTrainRecordList.stream().filter(e -> e.getTrainId().toString().equals(record.getId().toString())).collect(Collectors.toList());
if (trainRecordList.size() > 0) {
int complete = trainRecordList.stream().filter(t -> t.getScore() != null).collect(Collectors.toList()).size();
int pass = trainRecordList.stream().filter(t -> t.getIsPass() == 1).collect(Collectors.toList()).size();
record.setCompleteRadio(new BigDecimal(complete).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
record.setPassRadio(new BigDecimal(pass).divide(new BigDecimal(trainRecordList.size()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
}
}
}
}