From c024d8000b0b5ac588a76edc80745c26c2aeb53a Mon Sep 17 00:00:00 2001 From: zhangyue Date: Thu, 26 Feb 2026 10:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A1=A3=E6=A1=88=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BF=AE=E5=A4=8D=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query/archives/ArchivesQueryExe.java | 111 ++++++++++-------- .../command/query/study/StudentQueryExe.java | 2 + .../edu/command/study/StudentAddExe.java | 2 +- .../zcloud/edu/dto/archives/ArchivesQry.java | 2 +- .../dto/data/archives/ClassArchivesDTO.java | 2 + .../dto/data/archives/PersonArchivesDTO.java | 3 +- .../zcloud/edu/dto/study/StudentPageQry.java | 1 + .../study/StudentSignGatewayImpl.java | 1 + .../dataobject/study/StudentSignDO.java | 2 +- .../mapper/archives/ArchivesReviewMapper.java | 2 +- .../archives/ArchivesReviewRepository.java | 2 +- .../ArchivesReviewRecordRepositoryImpl.java | 1 + .../ArchivesReviewRepositoryImpl.java | 2 +- .../study/ClassCurriculumRepositoryImpl.java | 4 + .../mapper/archives/ArchivesReviewMapper.xml | 6 + .../mapper/study/StudentSignMapper.xml | 2 + 16 files changed, 89 insertions(+), 56 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java index 6d17d3b..74c5e22 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java @@ -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 params = new HashMap(); params.put("classId", qry.getClassId()); + List reviewCOList = new ArrayList<>(); List curriculumList = new ArrayList<>(); List 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 reviewParams = new HashMap(); + reviewParams.put("classId", qry.getClassId()); // 查询子表 - params.put("inArchivesReviewId", reviewIds); - List reviewRecordList = archivesReviewRecordRepository.listAll(params); + reviewParams.put("inArchivesReviewId", reviewIds); + List reviewRecordList = archivesReviewRecordRepository.listAll(reviewParams); if(reviewRecordList != null && reviewRecordList.size() > 0){ List reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList); // 子表放到主表下 @@ -392,7 +394,6 @@ public class ArchivesQueryExe { // 安全培训教材或课程讲义 if (qry.getTypeList().contains(2)){ - params.put("eqClassId", qry.getClassId()); List curList = classCurriculumRepository.listAll(params); List classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList()); List chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds); @@ -400,7 +401,10 @@ public class ArchivesQueryExe { List resultList = Tools.buildEntityTree(chapterCoList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); Map> 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 stringList = new ArrayList<>(); @@ -490,37 +497,37 @@ public class ArchivesQueryExe { List 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 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 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 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 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 byteArrayMap = new HashMap<>(); for (ClassCurriculumCO item : params.getClassCurriculumList()){ @@ -600,14 +608,15 @@ public class ArchivesQueryExe { List 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 workItem = PropertyUtils.describe( params); ArrayList 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 params = new HashMap(); List 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 reviewRecordList = archivesReviewRecordRepository.listAll(params); - if(reviewRecordList != null && reviewRecordList.size() > 0){ - List reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList); - // 子表放到主表下 - Map> reviewRecordCOMap = reviewRecordCOList.stream().collect(Collectors.groupingBy(ArchivesReviewRecordCO::getArchivesReviewId)); - reviewCOList.forEach(reviewCO -> { - reviewCO.setArchivesReviewRecordList(reviewRecordCOMap.get(reviewCO.getArchivesReviewId())); - }); - } + // 教材会审表 + List 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 reviewRecordList = archivesReviewRecordRepository.listAll(params); + if(reviewRecordList != null && reviewRecordList.size() > 0){ + List reviewRecordCOList = archivesReviewRecordCoConvertor.converDOsToCOs(reviewRecordList); + // 子表放到主表下 + Map> 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 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 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(); diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java index b03a982..1ed101b 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java @@ -151,11 +151,13 @@ public class StudentQueryExe { BeanUtils.copyProperties(classDO, classE); HashMap params = new HashMap(); params.put("classId", qry.getClassId()); + params.put("eqClassId", qry.getClassId()); // 课程信息 List curEList = classCurriculumRepository.listAll(params); List classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class); + params.put("type",1); List studentSignList = studentSignRepository.listAll(params); ClassArchivesE classArchivesE = new ClassArchivesE(); classArchivesE.initClassSign(classE, stuCount, classCurList); diff --git a/web-app/src/main/java/com/zcloud/edu/command/study/StudentAddExe.java b/web-app/src/main/java/com/zcloud/edu/command/study/StudentAddExe.java index 5d5f921..563d46f 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/study/StudentAddExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/study/StudentAddExe.java @@ -48,7 +48,7 @@ public class StudentAddExe { } List studentEList = BeanUtil.copyToList(cmdList, StudentE.class); List userNameList = cmdList.stream().map(StudentAddCmd::getPhone).distinct().collect(Collectors.toList()); - MultiResponse userResponse = zcloudUserFacade.listUserByUserName(userNameList); + MultiResponse userResponse = zcloudUserFacade.listUserByUserNameV1(userNameList); ClassDO classDO = classRepository.getByClassId(studentEList.get(0).getClassId()); List userList = userResponse.getData(); Map userMap = userList.stream().collect(HashMap::new, (k, v) -> k.put(v.getUsername(), v), HashMap::putAll); diff --git a/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java b/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java index 30df783..f21fc87 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java @@ -29,7 +29,7 @@ public class ArchivesQry { private String studentId; private Long stuId; private String classId; - private String classCurriculumId; + private List classCurriculumIds; private Long classCurriculumIdLong; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/data/archives/ClassArchivesDTO.java b/web-client/src/main/java/com/zcloud/edu/dto/data/archives/ClassArchivesDTO.java index 18f1de5..825fdb2 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/data/archives/ClassArchivesDTO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/data/archives/ClassArchivesDTO.java @@ -80,6 +80,8 @@ public class ClassArchivesDTO { @ApiModelProperty(value = "课件数") private Integer videoCount; + @ApiModelProperty(value = "档案生成日期前缀") + private String archivesDate; @ApiModelProperty(value = "打卡签到人脸图片路径") private String signFaceUrl; @ApiModelProperty(value = "考试签到人脸图片路径") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/data/archives/PersonArchivesDTO.java b/web-client/src/main/java/com/zcloud/edu/dto/data/archives/PersonArchivesDTO.java index 2fd8597..6a68c60 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/data/archives/PersonArchivesDTO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/data/archives/PersonArchivesDTO.java @@ -84,7 +84,8 @@ public class PersonArchivesDTO { //学员状态 0-未学习 1-已签到 2-考试通过 3-未签到 4-考试未通过 @ApiModelProperty(value = "学员状态翻译") private String stateName; - + @ApiModelProperty(value = "档案生成日期前缀") + private String archivesDate; //班级名称 @ApiModelProperty(value = "班级名称") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/study/StudentPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/study/StudentPageQry.java index cb21682..bdf8e02 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/study/StudentPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/study/StudentPageQry.java @@ -30,5 +30,6 @@ public class StudentPageQry extends PageQuery { private String likeInterestedIds; private String likeClassName; private Integer state; + private String phone; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/study/StudentSignGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/study/StudentSignGatewayImpl.java index 0a88dba..aa1ea34 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/study/StudentSignGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/study/StudentSignGatewayImpl.java @@ -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; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/StudentSignDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/StudentSignDO.java index 67b5e3d..8db8958 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/StudentSignDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/StudentSignDO.java @@ -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 = "人脸图片") diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/archives/ArchivesReviewMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/archives/ArchivesReviewMapper.java index 6691e03..9418f08 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/archives/ArchivesReviewMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/archives/ArchivesReviewMapper.java @@ -24,6 +24,6 @@ public interface ArchivesReviewMapper extends BaseMapper { ArchivesReviewDO getInfoById(@Param("id") Long id); List listAll(@Param("params") Map params); - ArchivesReviewDO getInfoByClassCur(@Param("params") Map params); + List getInfoByClassCur(@Param("params") Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/archives/ArchivesReviewRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/archives/ArchivesReviewRepository.java index 936ba0c..08ea1a5 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/archives/ArchivesReviewRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/archives/ArchivesReviewRepository.java @@ -21,6 +21,6 @@ public interface ArchivesReviewRepository extends BaseRepository listAll(Map params); - ArchivesReviewDO getInfoByClassCur(Map params); + List getInfoByClassCur(Map params); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRecordRepositoryImpl.java index 6e81655..f053d05 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRecordRepositoryImpl.java @@ -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; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRepositoryImpl.java index 0ac12cc..45043b9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/archives/ArchivesReviewRepositoryImpl.java @@ -49,7 +49,7 @@ public class ArchivesReviewRepositoryImpl extends BaseRepositoryImpl params) { + public List getInfoByClassCur(Map params) { return archivesReviewMapper.getInfoByClassCur(params); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/study/ClassCurriculumRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/study/ClassCurriculumRepositoryImpl.java index c3bef3c..21da86b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/study/ClassCurriculumRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/study/ClassCurriculumRepositoryImpl.java @@ -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 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); } diff --git a/web-infrastructure/src/main/resources/mapper/archives/ArchivesReviewMapper.xml b/web-infrastructure/src/main/resources/mapper/archives/ArchivesReviewMapper.xml index d938997..2186bd0 100644 --- a/web-infrastructure/src/main/resources/mapper/archives/ArchivesReviewMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/archives/ArchivesReviewMapper.xml @@ -62,6 +62,12 @@ and cc.class_curriculum_id = #{params.classCurriculumId} + + AND cc.class_curriculum_id in + + #{id} + + diff --git a/web-infrastructure/src/main/resources/mapper/study/StudentSignMapper.xml b/web-infrastructure/src/main/resources/mapper/study/StudentSignMapper.xml index 24ec7c6..4b6f972 100644 --- a/web-infrastructure/src/main/resources/mapper/study/StudentSignMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/study/StudentSignMapper.xml @@ -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