fix:【FCJDFDXTXS-133】 查询资源学习item数据(联表获取作业完成状态用),逻辑为根据studyCourseItem表的id连接studyHomework表的studyItemId获取作业完成状态

This commit is contained in:
miaowenbo
2025-12-17 18:36:49 +08:00
committed by liu.zixi
parent a08893c22e
commit 1b592ee8f0
2 changed files with 24 additions and 8 deletions

View File

@@ -1673,6 +1673,14 @@ public class StudyCourseApi extends ApiBaseController{
String tempExcelPath = tempExcelFile.getAbsolutePath();
// 查询特定作业信息
List<StudyHomeWork> studyHomeWorks = studyHomeWorkService.getByCourseIdAndContentId(courseId, contentId);
// 查询资源学习item数据联表获取作业完成状态用
List<StudyCourseItem> studyCourseItems = studyService.getList(courseId, contentId, null, null);
if (studyHomeWorks != null && !studyHomeWorks.isEmpty()) {
for (StudyHomeWork studyHomeWork : studyHomeWorks) {
// 根据studyCourseItem表的id连接studyHomework表的studyItemId获取作业完成状态
studyHomeWork.setStatus(studyCourseItems.stream().filter(e -> e.getId().equals(studyHomeWork.getStudyItemId())).findFirst().get().getStatus());
}
}
// 通过studyHomeWorks中的人员id集合(去重),调用用户中心接口获取人员信息,填充部门字段
Set<String> userIds = studyHomeWorks.stream().map(StudyHomeWork::getStudentId).filter(Objects::nonNull).collect(Collectors.toSet());
List<UserSimpleVo> userList = new ArrayList<>();
@@ -1724,7 +1732,7 @@ public class StudyCourseApi extends ApiBaseController{
map.put("工号", userNo);
map.put("部门", orgInfo);
// 作业状态(如果有成绩则为已完成,否则为未完成)
String hwStatus = (hw.getScore() != null) ? "已完成" : "未完成";
String hwStatus = (hw.getStatus() == 9) ? "已完成" : "未完成";
map.put("完成状态", hwStatus);
// 作业内容
// 25.12.16确认经过生产数据确认作业内容存储在hwAnswer字段

View File

@@ -1,18 +1,17 @@
package com.xboe.school.study.entity;
import java.time.LocalDateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xboe.core.SysConstant;
import com.xboe.core.orm.IdEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.time.LocalDateTime;
/**
* 课程作业提交记录表
* */
@@ -107,4 +106,13 @@ public class StudyHomeWork extends IdEntity {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "end_time")
private LocalDateTime endTime;
/**
* 作业完成状态
* 确认需求根据studyCourseItem表的状态判断9则为完成其他值为未完成
* 25.12.17新增
*/
@Transient
private Integer status;
}