This commit is contained in:
Lx 2025-04-17 18:30:11 +08:00
parent 9abd3ae634
commit 3bfe5dbfb1
4 changed files with 19 additions and 13 deletions

View File

@ -373,6 +373,7 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
}
// 如果是科目一且通过考试修改科目二状态
if (process.getSubject() == 1 && process.getExamStatus().equals("1")) {
update(Wrappers.lambdaUpdate(Process.class)
.eq(Process::getUserId, process.getUserId())
.eq(Process::getSubject, 2)

View File

@ -18,6 +18,7 @@ import cn.iocoder.yudao.module.exam.vo.ExamBatchVO;
import cn.iocoder.yudao.module.exam.vo.ExamVO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.SneakyThrows;
@ -227,10 +228,10 @@ public class ExamBatchItemServiceImpl extends ServiceImpl<ExamBatchItemMapper, E
@Transactional(rollbackFor = Exception.class)
public void updateObjNew(ExamBatchItemNewVO examBatchVO) {
String subject = "";
if(examBatchVO.getSubject() == 2){
if (examBatchVO.getSubject() == 2) {
subject = "科目二";
}else if(examBatchVO.getSubject() == 4){
subject = "科目";
} else if (examBatchVO.getSubject() == 3) {
subject = "科目";
}
//教练ID
Long userId = SecurityFrameworkUtils.getLoginUserId();
@ -252,8 +253,10 @@ public class ExamBatchItemServiceImpl extends ServiceImpl<ExamBatchItemMapper, E
process.setRemark(examBatchVO.getRemark());
//已完成
process.setExamStatus(examBatchVO.getIfPass() ? "1" : "null");
process.setExamStatus(examBatchVO.getIfPass() ? "1" : "0");
processService.updateById(process);
//更新考试批次的通过率
this.updateBatchPassRate(examBatch.getId());
if (examBatchVO.getIfPass()) {
@ -269,11 +272,11 @@ public class ExamBatchItemServiceImpl extends ServiceImpl<ExamBatchItemMapper, E
.eq(Process::getCourseId, process.getCourseId())
.eq(Process::getUserId, process.getUserId())
.eq(Process::getSubject, nextSubject)
.eq(Process::getTenantId,process.getTenantId());
.eq(Process::getTenantId, process.getTenantId());
List<Process> list = processService.list(queryWrapper);
if (!list.isEmpty()) {
Process nextProcess = list.get(0);
if(!"2".equals(nextProcess.getStatus())){
if (!"2".equals(nextProcess.getStatus())) {
nextProcess.setStatus("1");
processService.updateById(nextProcess);
}

View File

@ -87,5 +87,7 @@ public class ExamVO extends ExamBatchItemNewVO {
*/
private String courseType;
private String ifPassStatus;
}

View File

@ -77,14 +77,14 @@
SELECT
dseb.*,
/*dseb.batch_name,
dseb.start_time,
dseb.end_time,
dseb.addr,
dseb.trans_way,*/
dseb.start_time AS examStartTime,
dsc.type AS courseType,
dsp.course_type AS courseType,
CASE
WHEN dsebi.fraction IS NULL AND dsebi.if_pass IS NULL
THEN dsp.exam_status
ELSE NULL
END AS ifPassStatus,
dsebi.batch_id,
dsebi.user_name,
@ -97,7 +97,7 @@
dsebi.id AS batchItemId
FROM drive_school_exam_batch dseb
LEFT JOIN drive_school_exam_batch_item dsebi ON dseb.id = dsebi.batch_id
LEFT JOIN drive_school_course dsc ON dseb.course_id = dsc.id
LEFT JOIN drive_school_process dsp ON dseb.course_id = dsp.course_id AND dseb.subject = dsp.subject AND dsebi.user_id = dsp.user_id
WHERE
dsebi.user_id = #{userId}
AND (dseb.deleted = 0 OR dseb.deleted IS NULL)