优化档案查询功能并修复多个数据处理问题

dev
zhangyue 2026-02-26 10:06:42 +08:00
parent 42d2a4efb5
commit c024d8000b
16 changed files with 89 additions and 56 deletions

View File

@ -3,6 +3,7 @@ package com.zcloud.edu.command.query.archives;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.statemachine.impl.SysOutVisitor;
import com.deepoove.poi.data.PictureRenderData;
import com.deepoove.poi.data.PictureType;
import com.deepoove.poi.data.Pictures;
@ -210,13 +211,11 @@ public class ArchivesQueryExe {
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
String filepath = zcloudImgFilesFacade.saveFile(pdf, params.getName()+"-"+params.getClassName()+"-"+ DateUtil.getSdfTimes()+".pdf","personArchives", params.getClassCorpinfoId());
System.out.println(filepath+"filepath-------------------------------------------------------------");
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.initEdit(params.getArchivesPdfFileId(), filepath, 1, null);
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();
BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO);
System.out.println(archivesPdfFileDO.toString());
archivesPdfFileRepository.updateById(archivesPdfFileDO);
} catch (Exception e) {
throw new RuntimeException(e);
@ -356,6 +355,7 @@ public class ArchivesQueryExe {
public ClassArchivesDTO downloadClassArchives(ArchivesQry qry){
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("classId", qry.getClassId());
List<ArchivesReviewCO> reviewCOList = new ArrayList<>();
List<ClassCurriculumCO> curriculumList = new ArrayList<>();
List<StudentSignCO> signList = new ArrayList<>();
@ -377,9 +377,11 @@ public class ArchivesQueryExe {
.filter(archivesReviewId -> archivesReviewId != null && !archivesReviewId.trim().isEmpty()) // 非 null 且非空(可选 trim
.collect(Collectors.joining(","));
reviewCOList = archivesReviewCoConvertor.converDOsToCOs(reviewList);
HashMap<String, Object> reviewParams = new HashMap<String, Object>();
reviewParams.put("classId", qry.getClassId());
// 查询子表
params.put("inArchivesReviewId", reviewIds);
List<ArchivesReviewRecordDO> reviewRecordList = archivesReviewRecordRepository.listAll(params);
reviewParams.put("inArchivesReviewId", reviewIds);
List<ArchivesReviewRecordDO> reviewRecordList = archivesReviewRecordRepository.listAll(reviewParams);
if(reviewRecordList != null && reviewRecordList.size() > 0){
List<ArchivesReviewRecordCO> reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList);
// 子表放到主表下
@ -392,7 +394,6 @@ public class ArchivesQueryExe {
// 安全培训教材或课程讲义
if (qry.getTypeList().contains(2)){
params.put("eqClassId", qry.getClassId());
List<ClassCurriculumDO> curList = classCurriculumRepository.listAll(params);
List<String> classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList());
List<ClassCurriculumChapterDO> chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds);
@ -400,7 +401,10 @@ public class ArchivesQueryExe {
List<ClassCurriculumChapterCO> resultList = Tools.buildEntityTree(chapterCoList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0");
Map<String, List<ClassCurriculumChapterCO>> chapterMap = resultList.stream().collect(Collectors.groupingBy(ClassCurriculumChapterCO::getClassCurriculumId));
System.out.println("curList"+ curList.toString());
curriculumList = classCurriculumCoConvertor.converDOsToCOs(curList);
System.out.println("curriculumList"+ curriculumList.toString());
curriculumList.stream().forEach(bean -> {
bean.setCurriculumChapterCOList(chapterMap.get(bean.getClassCurriculumId()));
});
@ -459,6 +463,8 @@ public class ArchivesQueryExe {
SSOUser ssoUser = AuthContext.getCurrentUser();
classArchivesDTO.setCorpinfoId(ssoUser.getTenantId());
classArchivesDTO.setArchivesReviewList(reviewCOList);
classArchivesDTO.setSignList(signList);
classArchivesDTO.setClassCurriculumList(curriculumList);
// 新增档案下载记录
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
@ -473,6 +479,7 @@ public class ArchivesQueryExe {
@Async("archivesAsyncExecutor")
public void execteClassGeneratePdf(ArchivesQry qry, ClassArchivesDTO params) {
params.setArchivesDate(DateUtil.getSdfTimes());
String tempDir = System.getProperty("java.io.tmpdir");
List<File> stringList = new ArrayList<>();
@ -490,37 +497,37 @@ public class ArchivesQueryExe {
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
Files.write(Paths.get(tempDir+"aaa/"+params.getClassName()+"-签字表-"+DateUtil.getSdfTimes()+".pdf"), pdf);
stringList.add(new File(tempDir+"aaa/"+params.getClassName()+"-签字表-"+DateUtil.getSdfTimes()+".pdf"));
Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-签字表-"+params.getArchivesDate()+".pdf"), pdf);
stringList.add(new File(tempDir+"/"+params.getClassName()+"-签字表-"+params.getArchivesDate()+".pdf"));
}
if (qry.getTypeList().contains(4)){
byte[] word = exectePicture(params);
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
Files.write(Paths.get(tempDir+"aaa/"+params.getClassName()+"-影像资料-"+DateUtil.getSdfTimes()+".pdf"), pdf);
stringList.add(new File(tempDir+"aaa/"+params.getClassName()+"-影像资料-"+DateUtil.getSdfTimes()+".pdf"));
Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-影像资料-"+params.getArchivesDate()+".pdf"), pdf);
stringList.add(new File(tempDir+"/"+params.getClassName()+"-影像资料-"+params.getArchivesDate()+".pdf"));
}
if (qry.getTypeList().contains(5)){
byte[] word = execteClassPaper(params);
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
Files.write(Paths.get(tempDir+"aaa/"+params.getClassName()+"-试卷-"+DateUtil.getSdfTimes()+".pdf"), pdf);
stringList.add(new File(tempDir+"aaa/"+params.getClassName()+"-试卷-"+DateUtil.getSdfTimes()+".pdf"));
Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-试卷-"+params.getArchivesDate()+".pdf"), pdf);
stringList.add(new File(tempDir+"/"+params.getClassName()+"-试卷-"+params.getArchivesDate()+".pdf"));
}
if (qry.getTypeList().contains(6)){
byte[] word = execteClassExamResult(params);
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
Files.write(Paths.get(tempDir+"aaa/"+params.getClassName()+"-学员考核成绩统计表-"+DateUtil.getSdfTimes()+".pdf"), pdf);
stringList.add(new File(tempDir+"aaa/"+params.getClassName()+"-学员考核成绩统计表-"+DateUtil.getSdfTimes()+".pdf"));
Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-学员考核成绩统计表-"+params.getArchivesDate()+".pdf"), pdf);
stringList.add(new File(tempDir+"/"+params.getClassName()+"-学员考核成绩统计表-"+params.getArchivesDate()+".pdf"));
}
FileZip.zipList(tempDir+"aaa/"+params.getClassName()+"-"+ DateUtil.getSdfTimes()+"zipzip.zip",stringList );
File file = new File(tempDir+"aaa/"+params.getClassName()+"-"+ DateUtil.getSdfTimes()+"zipzip.zip");
FileZip.zipList(tempDir+"/"+params.getClassName()+"-"+ params.getArchivesDate()+"一期一档.zip",stringList );
File file = new File(tempDir+"/"+params.getClassName()+"-"+ params.getArchivesDate()+"一期一档.zip");
byte[] bytes = Files.readAllBytes(file.toPath());
String filepath = zcloudImgFilesFacade.saveFile(bytes, params.getClassName()+"-"+ DateUtil.getSdfTimes()+"zipzip.zip","classArchives", params.getCorpinfoId());
String filepath = zcloudImgFilesFacade.saveFile(bytes, params.getClassName()+"-"+ params.getArchivesDate()+"一期一档.zip","classArchives", params.getCorpinfoId());
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.initEdit(params.getArchivesPdfFileId(), filepath, 1, null);
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();
@ -529,7 +536,7 @@ public class ArchivesQueryExe {
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
// } finally {
// FileUtil.delFile();
}
}
@ -549,11 +556,11 @@ public class ArchivesQueryExe {
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
byteArrayMap.put(item.getCurriculumName()+"-教材会审表-"+ DateUtil.getSdfTimes()+".pdf", pdf);
byteArrayMap.put(item.getCurriculumName()+"-教材会审表-"+ params.getArchivesDate()+".pdf", pdf);
}
FileZip.writeByteArraysToZip(tempDir+"aaa/"+params.getClassName()+"-教材会审表-"+DateUtil.getSdfTimes()+".zip", byteArrayMap);
return tempDir+"aaa/"+params.getClassName()+"-教材会审表-"+DateUtil.getSdfTimes()+".zip";
FileZip.writeByteArraysToZip(tempDir+"/"+params.getClassName()+"-教材会审表-"+params.getArchivesDate()+".zip", byteArrayMap);
return tempDir+"/"+params.getClassName()+"-教材会审表-"+params.getArchivesDate()+".zip";
}
} catch (Exception e) {
throw new RuntimeException(e);
@ -593,6 +600,7 @@ public class ArchivesQueryExe {
public String execteClassCurriculum(ClassArchivesDTO params){
try {
if (params.getClassCurriculumList() != null && params.getClassCurriculumList().size() > 0){
System.out.println("ddddddddddddddddddd-----"+params.getClassCurriculumList().toString());
String tempDir = System.getProperty("java.io.tmpdir");
Map<String, byte[]> byteArrayMap = new HashMap<>();
for (ClassCurriculumCO item : params.getClassCurriculumList()){
@ -600,14 +608,15 @@ public class ArchivesQueryExe {
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
byteArrayMap.put(item.getCurriculumName()+"-安全培训教材或课程讲义-"+ DateUtil.getSdfTimes()+".pdf", pdf);
byteArrayMap.put(item.getCurriculumName()+"-安全培训教材或课程讲义-"+ params.getArchivesDate()+".pdf", pdf);
}
FileZip.writeByteArraysToZip(tempDir+"aaa/"+params.getClassName()+"-安全培训教材或课程讲义-"+DateUtil.getSdfTimes()+".zip", byteArrayMap);
return tempDir+"aaa/"+params.getClassName()+"-安全培训教材或课程讲义-"+DateUtil.getSdfTimes()+".zip";
FileZip.writeByteArraysToZip(tempDir+"/"+params.getClassName()+"-安全培训教材或课程讲义-"+params.getArchivesDate()+".zip", byteArrayMap);
return tempDir+"/"+params.getClassName()+"-安全培训教材或课程讲义-"+params.getArchivesDate()+".zip";
}
} catch (Exception e) {
throw new RuntimeException(e);
e.printStackTrace();
// throw new RuntimeException(e);
}
return null;
}
@ -656,6 +665,9 @@ public class ArchivesQueryExe {
try {
Map<String, Object> workItem = PropertyUtils.describe( params);
ArrayList<Object> workList = CollUtil.newArrayList();
System.out.println("params.getSignList()"+params.getSignList().toString());
System.out.println("params.getSignList().size()"+params.getSignList().size());
if (params.getSignList() != null && params.getSignList().size() > 0){
AtomicInteger atomicIndex = new AtomicInteger(1);
for (StudentSignCO item : params.getSignList()){
@ -835,25 +847,25 @@ public class ArchivesQueryExe {
HashMap<String, Object> params = new HashMap<String, Object>();
List<ArchivesReviewCO> reviewCOList = new ArrayList<>();
params.put("classId", qry.getClassId());
params.put("classCurriculumId", qry.getClassCurriculumId());
// 教材会审表
ArchivesReviewDO reviewInfo = archivesReviewRepository.getInfoByClassCur(params);
ArchivesReviewCO reviewInfoCO = new ArchivesReviewCO();
BeanUtils.copyProperties(reviewInfo, reviewInfoCO);
reviewCOList.add(reviewInfoCO);
params.put("classCurriculumIds", qry.getClassCurriculumIds());
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
if (reviewInfo != null && !ObjectUtils.isEmpty(reviewInfo.getArchivesReviewId())){
params.put("eqArchivesReviewId", reviewInfo.getArchivesReviewId());
List<ArchivesReviewRecordDO> reviewRecordList = archivesReviewRecordRepository.listAll(params);
if(reviewRecordList != null && reviewRecordList.size() > 0){
List<ArchivesReviewRecordCO> reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList);
// 子表放到主表下
Map<String, List<ArchivesReviewRecordCO>> reviewRecordCOMap = reviewRecordCOList.stream().collect(Collectors.groupingBy(ArchivesReviewRecordCO::getArchivesReviewId));
reviewCOList.forEach(reviewCO -> {
reviewCO.setArchivesReviewRecordList(reviewRecordCOMap.get(reviewCO.getArchivesReviewId()));
});
}
// 教材会审表
List<ArchivesReviewDO> reviewList = archivesReviewRepository.getInfoByClassCur(params);
String reviewIds = reviewList.stream()
.map(ArchivesReviewDO::getArchivesReviewId)
.filter(archivesReviewId -> archivesReviewId != null && !archivesReviewId.trim().isEmpty()) // 非 null 且非空(可选 trim
.collect(Collectors.joining(","));
reviewCOList = archivesReviewCoConvertor.converDOsToCOs(reviewList);
// 查询子表
params.put("inArchivesReviewId", reviewIds);
List<ArchivesReviewRecordDO> reviewRecordList = archivesReviewRecordRepository.listAll(params);
if(reviewRecordList != null && reviewRecordList.size() > 0){
List<ArchivesReviewRecordCO> reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList);
// 子表放到主表下
Map<String, List<ArchivesReviewRecordCO>> reviewRecordCOMap = reviewRecordCOList.stream().collect(Collectors.groupingBy(ArchivesReviewRecordCO::getArchivesReviewId));
reviewCOList.forEach(reviewCO -> {
reviewCO.setArchivesReviewRecordList(reviewRecordCOMap.get(reviewCO.getArchivesReviewId()));
});
}
// 查询子表
@ -864,7 +876,7 @@ public class ArchivesQueryExe {
classArchivesDTO.setArchivesReviewList(reviewCOList);
// 新增档案下载记录
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.init("archives_review", qry.getClassCurriculumId(), 2, ssoUser.getTenantId(), classDO.getName()+"-"+reviewInfo.getCurriculumName()+"教材会审表-");
archivesPdfFileE.init("archives_review", qry.getClassId(), 2, ssoUser.getTenantId(), classDO.getName()+"-教材会审表-");
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();
BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO);
archivesPdfFileRepository.save(archivesPdfFileDO);
@ -873,12 +885,12 @@ public class ArchivesQueryExe {
}
@Async("archivesAsyncExecutor")
public void execteDownloadReviewInfo(ClassArchivesDTO params){
params.setArchivesDate(DateUtil.getSdfTimes());
try {
byte[] word = execteReviewInfo(params.getArchivesReviewList().get(0));
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
String filepath = zcloudImgFilesFacade.saveFile(pdf, params.getClassName()+"-"+params.getArchivesReviewList().get(0).getCurriculumName()+"-教材会审表-"+ DateUtil.getSdfTimes()+".pdf","classArchives", params.getCorpinfoId());
String zipString = execteReview(params);
File file = new File(zipString);
byte[] bytes = Files.readAllBytes(file.toPath());
String filepath = zcloudImgFilesFacade.saveFile(bytes, params.getClassName()+"-教材会审表-"+params.getArchivesDate()+".zip","classArchives", params.getCorpinfoId());
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.initEdit(params.getArchivesPdfFileId(), filepath, 1, null);
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();
@ -924,12 +936,13 @@ public class ArchivesQueryExe {
}
@Async("archivesAsyncExecutor")
public void execteDownloadClassCur(ClassArchivesDTO params){
params.setArchivesDate(DateUtil.getSdfTimes());
try {
byte[] word = execteClassCurriculumInfo(params.getClassCurriculumList().get(0));
List<byte[]> byteArrayList = new ArrayList<>();
byteArrayList.add(word);
byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList);
String filepath = zcloudImgFilesFacade.saveFile(pdf, params.getClassName()+"-"+params.getClassCurriculumList().get(0).getCurriculumName()+"-安全培训教材或课程讲义-"+ DateUtil.getSdfTimes()+".pdf","classArchives", params.getCorpinfoId());
String filepath = zcloudImgFilesFacade.saveFile(pdf, params.getClassName()+"-"+params.getClassCurriculumList().get(0).getCurriculumName()+"-安全培训教材或课程讲义-"+ params.getArchivesDate()+".pdf","classArchives", params.getCorpinfoId());
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.initEdit(params.getArchivesPdfFileId(), filepath, 1, null);
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();

View File

@ -151,11 +151,13 @@ public class StudentQueryExe {
BeanUtils.copyProperties(classDO, classE);
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("classId", qry.getClassId());
params.put("eqClassId", qry.getClassId());
// 课程信息
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);
params.put("type",1);
List<StudentSignDO> studentSignList = studentSignRepository.listAll(params);
ClassArchivesE classArchivesE = new ClassArchivesE();
classArchivesE.initClassSign(classE, stuCount, classCurList);

View File

@ -48,7 +48,7 @@ public class StudentAddExe {
}
List<StudentE> studentEList = BeanUtil.copyToList(cmdList, StudentE.class);
List<String> userNameList = cmdList.stream().map(StudentAddCmd::getPhone).distinct().collect(Collectors.toList());
MultiResponse<ZcloudUserCo> userResponse = zcloudUserFacade.listUserByUserName(userNameList);
MultiResponse<ZcloudUserCo> userResponse = zcloudUserFacade.listUserByUserNameV1(userNameList);
ClassDO classDO = classRepository.getByClassId(studentEList.get(0).getClassId());
List<ZcloudUserCo> userList = userResponse.getData();
Map<String, ZcloudUserCo> userMap = userList.stream().collect(HashMap::new, (k, v) -> k.put(v.getUsername(), v), HashMap::putAll);

View File

@ -29,7 +29,7 @@ public class ArchivesQry {
private String studentId;
private Long stuId;
private String classId;
private String classCurriculumId;
private List<String> classCurriculumIds;
private Long classCurriculumIdLong;
}

View File

@ -80,6 +80,8 @@ public class ClassArchivesDTO {
@ApiModelProperty(value = "课件数")
private Integer videoCount;
@ApiModelProperty(value = "档案生成日期前缀")
private String archivesDate;
@ApiModelProperty(value = "打卡签到人脸图片路径")
private String signFaceUrl;
@ApiModelProperty(value = "考试签到人脸图片路径")

View File

@ -84,7 +84,8 @@ public class PersonArchivesDTO {
//学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过
@ApiModelProperty(value = "学员状态翻译")
private String stateName;
@ApiModelProperty(value = "档案生成日期前缀")
private String archivesDate;
//班级名称
@ApiModelProperty(value = "班级名称")

View File

@ -30,5 +30,6 @@ public class StudentPageQry extends PageQuery {
private String likeInterestedIds;
private String likeClassName;
private Integer state;
private String phone;
}

View File

@ -1,5 +1,6 @@
package com.zcloud.edu.gatewayimpl.study;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.edu.domain.gateway.study.StudentSignGateway;
import com.zcloud.edu.domain.model.study.StudentSignE;
import com.zcloud.edu.persistence.dataobject.study.StudentSignDO;

View File

@ -61,7 +61,7 @@ public class StudentSignDO extends BaseDO {
private String phone;
//打卡签字路径
@ApiModelProperty(value = "打卡签字路径")
@TableField(exist = false)
// @TableField(exist = false)
private String signUrl;
@ApiModelProperty(value = "人脸图片")

View File

@ -24,6 +24,6 @@ public interface ArchivesReviewMapper extends BaseMapper<ArchivesReviewDO> {
ArchivesReviewDO getInfoById(@Param("id") Long id);
List<ArchivesReviewDO> listAll(@Param("params") Map<String, Object> params);
ArchivesReviewDO getInfoByClassCur(@Param("params") Map<String, Object> params);
List<ArchivesReviewDO> getInfoByClassCur(@Param("params") Map<String, Object> params);
}

View File

@ -21,6 +21,6 @@ public interface ArchivesReviewRepository extends BaseRepository<ArchivesReviewD
List<ArchivesReviewDO> listAll(Map<String, Object> params);
ArchivesReviewDO getInfoByClassCur(Map<String, Object> params);
List<ArchivesReviewDO> getInfoByClassCur(Map<String, Object> params);
}

View File

@ -12,6 +12,7 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map;

View File

@ -49,7 +49,7 @@ public class ArchivesReviewRepositoryImpl extends BaseRepositoryImpl<ArchivesRev
}
@Override
public ArchivesReviewDO getInfoByClassCur(Map<String, Object> params) {
public List<ArchivesReviewDO> getInfoByClassCur(Map<String, Object> params) {
return archivesReviewMapper.getInfoByClassCur(params);
}
}

View File

@ -13,6 +13,7 @@ import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.List;
import java.util.Map;
@ -73,6 +74,9 @@ public class ClassCurriculumRepositoryImpl extends BaseRepositoryImpl<ClassCurri
QueryWrapper<ClassCurriculumDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params);
queryWrapper.orderByDesc("create_time");
if(!ObjectUtils.isEmpty(params.get("classId"))){
queryWrapper.eq("class_id", params.get("classId"));
}
queryWrapper.eq("delete_enum", "FALSE");
return classCurriculumMapper.selectList(queryWrapper);
}

View File

@ -62,6 +62,12 @@
<if test="params.classCurriculumId != null and params.classCurriculumId != ''">
and cc.class_curriculum_id = #{params.classCurriculumId}
</if>
<if test="params.classCurriculumIds != null and params.classCurriculumIds.size() > 0">
AND cc.class_curriculum_id in
<foreach collection="params.classCurriculumIds" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</if>
</where>
</select>
</mapper>

View File

@ -26,6 +26,8 @@
AND ss.delete_enum = 'FALSE'
and ss.sign_url is not null
and ss.sign_url != ''
GROUP BY ss.student_id
order by
ss.create_time desc
</where>