fix:学生未提交课程作业

This commit is contained in:
Dai 2025-01-16 22:18:32 +08:00
parent 0e9a00a682
commit b8aa08b285

View File

@ -157,14 +157,25 @@ class StudentHomeworkService
if ($data['status'] == 0) {
//未提交作业的课程
$model = StudentSchedule::order('id desc')->where(['is_publish' => 1])->where('teacher_schedule_time_id', 'not in', function ($query) use ($student) {
$query->table('wa_student_homework')->where('student_id', $student->id)->field('teacher_schedule_time_id');
})->where('student_id', $student->id);
//查找该学生已发布的排课
$publish_student_schedule = StudentSchedule::where(['student_id' => $student->id, 'is_publish' => 1])->column('teacher_schedule_time_id');
//查找排课中发布的课程作业
$publish_subject_homework = SubjectHomework::where(['teacher_schedule_time_id' => $publish_student_schedule, 'homework_file_is_publish' => 1])->column('teacher_schedule_time_id');
//查找课程作业中已提交的课程
$submit_student_homework = StudentHomework::where(['student_id' => $student->id, 'teacher_schedule_time_id' => $publish_subject_homework])->column('teacher_schedule_time_id');
//从已发布的课程中去除已提交的,就是未提交的
$unsubmit_student_homework = array_diff($publish_subject_homework, $submit_student_homework);
$model = StudentSchedule::where(['student_id' => $student->id, 'is_publish' => 1, 'teacher_schedule_time_id'=>$unsubmit_student_homework]);
$total = $model->count();
$list = $model->with(['student', 'subject', 'teacher'])->page($page, $limit)
->select();
$list = $model->with(['student', 'subject', 'teacher'])
->page($page, $limit)
->select()->toArray();
} else {
$model = StudentSchedule::order('id desc')
->where(['student_id' => $student->id, 'is_publish' => 1])
@ -178,7 +189,6 @@ class StudentHomeworkService
}
return [
'code' => ResponseCode::SUCCESS,