From 15798a0704ff7924a4c2aa9be4dd37406be25f06 Mon Sep 17 00:00:00 2001 From: zhangyue Date: Thu, 5 Mar 2026 17:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=95=E5=8D=B7=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/study/ClassExamPaperController.java | 18 +++- .../TrainingApplyRecordController.java | 1 + .../query/study/ClassCurriculumQueryExe.java | 25 +++-- .../query/study/ClassExamPaperQueryExe.java | 97 +++++++++++++++++++ .../command/query/study/StudentQueryExe.java | 4 +- .../query/study/StudentSignQueryExe.java | 6 ++ .../training/TrainingApplyRecordQueryExe.java | 26 +++-- .../study/ClassExamPaperServiceImpl.java | 12 ++- .../edu/api/study/ClassExamPaperServiceI.java | 9 +- .../clientobject/study/ClassExamPaperCO.java | 5 + .../dto/clientobject/study/StudentSignCO.java | 4 +- .../training/TrainingApplyProcessCO.java | 18 ++++ .../training/TrainingApplyRecordCO.java | 8 +- .../zcloud/edu/dto/study/ClassPageQry.java | 2 + .../training/TrainingApplyRecordPageQry.java | 2 + .../com/zcloud/edu/domain/enums/MenuEnum.java | 30 ++++++ .../model/archives/PersonArchivesE.java | 4 +- .../model/study/ClassCurriculumChapterE.java | 1 + .../domain/model/study/ClassCurriculumE.java | 7 +- .../model/training/TrainingApplyRecordE.java | 4 +- .../training/TrainingUserGatewayImpl.java | 17 ++-- .../dataobject/TrainingApplyProcessDO.java | 16 +++ .../dataobject/TrainingApplyRecordDO.java | 24 +++++ .../dataobject/study/ClassExamPaperDO.java | 3 + .../mapper/TrainingApplyProcessMapper.java | 2 +- .../mapper/TrainingApplyRecordMapper.java | 2 +- .../mapper/study/ClassExamPaperMapper.java | 1 + .../TrainingApplyProcessRepositoryImpl.java | 2 +- .../TrainingApplyRecordRepositoryImpl.java | 8 +- .../study/ClassExamPaperRepositoryImpl.java | 5 +- .../TrainingApplyProcessRepository.java | 2 +- .../TrainingApplyRecordRepository.java | 2 +- .../mapper/TrainingApplyProcessMapper.xml | 4 +- .../mapper/TrainingApplyRecordMapper.xml | 9 +- .../resources/mapper/TrainingUserMapper.xml | 1 - .../mapper/study/ClassExamPaperMapper.xml | 23 ++++- .../resources/mapper/study/ClassMapper.xml | 20 ++++ 37 files changed, 361 insertions(+), 63 deletions(-) diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/study/ClassExamPaperController.java b/web-adapter/src/main/java/com/zcloud/edu/web/study/ClassExamPaperController.java index dbb61b1..2223a97 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/study/ClassExamPaperController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/study/ClassExamPaperController.java @@ -9,16 +9,14 @@ import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.zcloud.edu.api.study.ClassExamPaperServiceI; import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO; -import com.zcloud.edu.dto.study.ClassExamPaperAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperAutoAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperPageQry; -import com.zcloud.edu.dto.study.ClassExamPaperUpdateCmd; +import com.zcloud.edu.dto.study.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; /** @@ -39,7 +37,19 @@ public class ClassExamPaperController { public SingleResponse add(@Validated @RequestBody ClassExamPaperAddCmd cmd) { return classExamPaperService.add(cmd); } +// @ApiOperation("导出试卷") +// @PostMapping("/exportClassExamPaper") +// public void exportClassExamPaper(@Validated @RequestBody ClassExamPaperExportCmd cmd, HttpServletResponse httpServletResponse) { +// classExamPaperService.exportClassExamPaper(cmd,httpServletResponse); +// } + @ApiOperation("导出试卷") + @GetMapping("/exportClassExamPaper") + public void exportClassExamPaper(@RequestParam("classId") String classId, + @RequestParam("answerFlag") Integer answerFlag, + HttpServletResponse httpServletResponse) { + classExamPaperService.exportClassExamPaper(classId, answerFlag, httpServletResponse); + } @ApiOperation("自动生成试卷") @PostMapping("/autoSave") public SingleResponse autoSave(@Validated @RequestBody ClassExamPaperAutoAddCmd cmd) { diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java index c1c9fe2..965e37b 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/training/TrainingApplyRecordController.java @@ -15,6 +15,7 @@ import com.jjb.saas.framework.auth.utils.AuthContext; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassCurriculumQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassCurriculumQueryExe.java index 10e7529..9bc9061 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassCurriculumQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassCurriculumQueryExe.java @@ -74,17 +74,22 @@ public class ClassCurriculumQueryExe { public MultiResponse executeListAll(ClassCurriculumQry qry) { Map params = PageQueryHelper.toHashMap(qry); List curList = classCurriculumRepository.listAll(params); - List classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList()); - List chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds); - List chapterCoList = classCurriculumChapterCoConvertor.converDOsToCOs(chapterList); - List resultList = Tools.buildEntityTree(chapterCoList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); + if (curList != null && curList.size() > 0){ + List classCurriculumIds = curList.stream().map(ClassCurriculumDO::getClassCurriculumId).collect(Collectors.toList()); + List chapterList = classCurriculumChapterRepository.listByClassCurriculumIds(classCurriculumIds); + List chapterCoList = classCurriculumChapterCoConvertor.converDOsToCOs(chapterList); + List resultList = Tools.buildEntityTree(chapterCoList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); + + Map> chapterMap = resultList.stream().collect(Collectors.groupingBy(ClassCurriculumChapterCO::getClassCurriculumId)); + List curriculumList = classCurriculumCoConvertor.converDOsToCOs(curList); + curriculumList.stream().forEach(bean -> { + bean.setCurriculumChapterCOList(chapterMap.get(bean.getClassCurriculumId())); + }); + return MultiResponse.of(curriculumList); + } else { + return MultiResponse.buildFailure("班级内没有添加课程,请先添加课程"); + } - Map> chapterMap = resultList.stream().collect(Collectors.groupingBy(ClassCurriculumChapterCO::getClassCurriculumId)); - List curriculumList = classCurriculumCoConvertor.converDOsToCOs(curList); - curriculumList.stream().forEach(bean -> { - bean.setCurriculumChapterCOList(chapterMap.get(bean.getClassCurriculumId())); - }); - return MultiResponse.of(curriculumList); } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassExamPaperQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassExamPaperQueryExe.java index 11ceca2..b8f4b38 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassExamPaperQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/ClassExamPaperQueryExe.java @@ -1,24 +1,37 @@ package com.zcloud.edu.command.query.study; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.edu.command.convertor.study.ClassExamPaperCoConvertor; import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO; +import com.zcloud.edu.dto.data.archives.ClassArchivesDTO; +import com.zcloud.edu.dto.study.ClassExamPaperExportCmd; import com.zcloud.edu.dto.study.ClassExamPaperPageQry; import com.zcloud.edu.persistence.dataobject.QuestionDO; +import com.zcloud.edu.persistence.dataobject.study.ClassDO; import com.zcloud.edu.persistence.dataobject.study.ClassExamPaperDO; import com.zcloud.edu.persistence.repository.resource.QuestionRepository; import com.zcloud.edu.persistence.repository.study.ClassExamPaperRepository; +import com.zcloud.edu.persistence.repository.study.ClassRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; +import com.zcloud.gbscommon.utils.Tools; +import com.zcloud.gbscommon.utils.WordToPdfUtil; import lombok.AllArgsConstructor; +import org.apache.commons.beanutils.PropertyUtils; +import org.apache.commons.io.output.ByteArrayOutputStream; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicInteger; /** @@ -33,6 +46,7 @@ public class ClassExamPaperQueryExe { private final ClassExamPaperRepository classExamPaperRepository; private final ClassExamPaperCoConvertor classExamPaperCoConvertor; private final QuestionRepository questionRepository; + private final ClassRepository classRepository; /** * 分页 @@ -72,5 +86,88 @@ public class ClassExamPaperQueryExe { classExamPaperCO.setQuestionList(questionCOList); return SingleResponse.of(classExamPaperCO); } + + public void executeExportClassExamPaper(String classId, Integer answerFlag, HttpServletResponse response){ + ClassExamPaperCO classExamPaperCO = new ClassExamPaperCO(); + ClassExamPaperDO classExamPaperDO = classExamPaperRepository.findByClassId(classId); + if(classExamPaperDO != null && classExamPaperDO.getExamPaperId() != null){ + ClassDO classDO = classRepository.getByClassId(classId); + + List questionDOList = questionRepository.getInfoByExamPaperId(classExamPaperDO.getExamPaperId()); + List questionCOList = BeanUtil.copyToList(questionDOList, QuestionCO.class); + + BeanUtils.copyProperties(classExamPaperDO, classExamPaperCO); + classExamPaperCO.setQuestionList(questionCOList); + try { + byte[] word = execteClassPaper(classExamPaperCO, classDO.getName(), answerFlag); + byte[] pdf = WordToPdfUtil.convertWordBytesToPdfBytes(word); + String fileName = classExamPaperCO.getExamName()+".pdf"; + response.setContentType("application/pdf"); + response.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + URLEncoder.encode(fileName, "UTF-8").replace("+", "%20")); + response.setContentLength(pdf.length); + try (OutputStream out = response.getOutputStream()) { + out.write(pdf); + out.flush(); + } + } catch (Exception e){ + e.printStackTrace(); + throw new RuntimeException("导出失败"); + } + } else { + throw new RuntimeException("班级未添加试卷,请先添加试卷"); + } + + + } + + public byte[] execteClassPaper(ClassExamPaperCO params, String className, Integer answerFlag){ + try { + Map workItem = PropertyUtils.describe( params); + ArrayList workList = CollUtil.newArrayList(); + AtomicInteger atomicIndex = new AtomicInteger(1); + params.getQuestionList().forEach(item -> { + try { + Map itemMap = PropertyUtils.describe(item); + int index = atomicIndex.getAndIncrement(); + itemMap.put("index", index); + String optionsText = null; + if(item.getQuestionType() == 1){ + itemMap.put("questionTypeName", "单选题"); + optionsText = "A:" + item.getOptionA() + "\n" + + "B:" + item.getOptionB() + "\n" + + "C:" + item.getOptionC() + "\n" + + "D:" + item.getOptionD(); + } else if(item.getQuestionType() == 2){ + itemMap.put("questionTypeName", "多选题"); + optionsText = "A:" + item.getOptionA() + "\n" + + "B:" + item.getOptionB() + "\n" + + "C:" + item.getOptionC() + "\n" + + "D:" + item.getOptionD(); + }else if(item.getQuestionType() == 3){ + itemMap.put("questionTypeName", "判断题"); + optionsText = "A:" + item.getOptionA() + " B:" + item.getOptionB(); + } + itemMap.put("optionsText", optionsText); + workList.add(itemMap); + } catch (Exception e) { + throw new RuntimeException(e); + } + }); + workItem.put("question_list", workList); + workItem.put("className", className); + + String templatePath = null; + if (answerFlag == 1){ + templatePath = "templates/template/class_paper_answer.docx"; + } else if (answerFlag == 0){ + templatePath = "templates/template/class_paper_no_answer.docx"; + } + ByteArrayOutputStream outputStream = Tools.renderTemplate(templatePath, workItem); + return outputStream.toByteArray(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + } } 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 1ed101b..a04aa1b 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 @@ -107,11 +107,9 @@ public class StudentQueryExe { List classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class); PersonArchivesE personArchivesE = new PersonArchivesE(); - personArchivesE.init(studentE, classE, classCurList); - + personArchivesE.init(studentE, classE, classCurList, studentUrl.getUserAvatarUrl()); PersonArchivesDTO personArchivesDTO = new PersonArchivesDTO(); BeanUtils.copyProperties(personArchivesE, personArchivesDTO); - return SingleResponse.of(personArchivesDTO); } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentSignQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentSignQueryExe.java index 5fe68ca..106858b 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentSignQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentSignQueryExe.java @@ -84,11 +84,17 @@ public class StudentSignQueryExe { params.put("studentId", studentDO.getStudentId()); params.put("type", qry.getType()); if (qry.getType() == 1){ + if (studentDO.getSignFlag() == 1){ + throw new BizException("您已签到"); + } List list = studentSignRepository.listAllByStudentId(params); if (list != null && list.size() > 0){ throw new BizException("您已签到"); } } else if (qry.getType() == 2){ + if (studentDO.getSignFlag() == 0){ + throw new BizException("您还未进行签到,请先签到之后再进行考试。"); + } List list = studentExamRecordRepository.listAllByStudentId(studentDO.getStudentId()); if (list != null && list.size() == classDO.getNumberofexams()){ throw new BizException("您已经没有考试次数"); diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java index 455ad54..24ef086 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/training/TrainingApplyRecordQueryExe.java @@ -1,19 +1,25 @@ package com.zcloud.edu.command.query.training; +import com.zcloud.edu.command.convertor.training.TrainingApplyProcessCoConvertor; import com.zcloud.edu.command.convertor.training.TrainingApplyRecordCoConvertor; import com.zcloud.edu.command.convertor.training.TrainingApplyUserCoConvertor; import com.zcloud.edu.domain.model.training.ApproveDetailE; import com.zcloud.edu.domain.model.training.TrainingApplyRecordE; import com.zcloud.edu.domain.model.training.TrainingApplyUserE; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyProcessCO; +import com.zcloud.edu.dto.clientobject.training.TrainingApplyUserCO; import com.zcloud.edu.dto.training.TrainingApplyRecordPageQry; import com.zcloud.edu.dto.clientobject.training.TrainingApplyRecordCO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyProcessDO; import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; +import com.zcloud.edu.persistence.dataobject.TrainingApplyUserDO; import com.zcloud.edu.persistence.repository.training.TrainingApplyProcessRepository; import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository; import com.zcloud.edu.persistence.repository.training.TrainingApplyUserRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; import com.alibaba.cola.dto.PageResponse; import lombok.AllArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import java.util.List; @@ -31,6 +37,7 @@ import java.util.Map; public class TrainingApplyRecordQueryExe { private final TrainingApplyRecordRepository trainingApplyRecordRepository; private final TrainingApplyRecordCoConvertor trainingApplyRecordCoConvertor; + private final TrainingApplyProcessCoConvertor trainingApplyProcessCoConvertor; private final TrainingApplyUserRepository trainingApplyUserRepository; private final TrainingApplyUserCoConvertor trainingApplyUserCoConvertor; @@ -64,19 +71,22 @@ public class TrainingApplyRecordQueryExe { * 培训申请记录详情(包含申请用户信息) */ public TrainingApplyRecordCO getInfoById(Long id) { - com.zcloud.edu.domain.model.training.TrainingApplyRecordDetailE trainingApplyRecordDO = trainingApplyRecordRepository.getDetailById(id); + TrainingApplyRecordDO trainingApplyRecordDO = trainingApplyRecordRepository.getDetailById(id); if (trainingApplyRecordDO == null) return null; - TrainingApplyRecordE trainingApplyRecordE = trainingApplyRecordCoConvertor.converDetailDOToE(trainingApplyRecordDO); +// TrainingApplyRecordE trainingApplyRecordE = trainingApplyRecordCoConvertor.converDetailDOToE(trainingApplyRecordDO); // 获取申请用户信息 - List applyUser = trainingApplyUserCoConvertor.converDOsToEs(trainingApplyUserRepository.getByRecordId(trainingApplyRecordE.getTrainingApplyRecordId())); - trainingApplyRecordE.addApplyUsers(applyUser); + List applyUserDOS = trainingApplyUserRepository.getByRecordId(trainingApplyRecordDO.getTrainingApplyRecordId()); + List applyUser = trainingApplyUserCoConvertor.converDOsToCOs(applyUserDOS); // 获取审批委托信息 - List approveDetails = trainingApplyProcessRepository.getApproveDetailList(trainingApplyRecordE.getTrainingApplyRecordId()); - trainingApplyRecordE.buildApproveDetails(approveDetails); - - return trainingApplyRecordCoConvertor.converEToCO(trainingApplyRecordE); + List trainingApplyProcessDOs = trainingApplyProcessRepository.getApproveDetailList(trainingApplyRecordDO.getTrainingApplyRecordId()); + List trainingApplyProcessCOList = trainingApplyProcessCoConvertor.converDOsToCOs(trainingApplyProcessDOs); + TrainingApplyRecordCO trainingApplyRecordCO = new TrainingApplyRecordCO(); + BeanUtils.copyProperties(trainingApplyRecordDO, trainingApplyRecordCO); + trainingApplyRecordCO.setApplyUsers(applyUser); + trainingApplyRecordCO.setApproveDetails(trainingApplyProcessCOList); + return trainingApplyRecordCO; } /** diff --git a/web-app/src/main/java/com/zcloud/edu/service/study/ClassExamPaperServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/study/ClassExamPaperServiceImpl.java index c7f2230..cc77ca8 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/study/ClassExamPaperServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/study/ClassExamPaperServiceImpl.java @@ -8,13 +8,12 @@ import com.zcloud.edu.command.study.ClassExamPaperAddExe; import com.zcloud.edu.command.study.ClassExamPaperRemoveExe; import com.zcloud.edu.command.study.ClassExamPaperUpdateExe; import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO; -import com.zcloud.edu.dto.study.ClassExamPaperAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperAutoAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperPageQry; -import com.zcloud.edu.dto.study.ClassExamPaperUpdateCmd; +import com.zcloud.edu.dto.study.*; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletResponse; + /** * web-app * @@ -42,6 +41,11 @@ public class ClassExamPaperServiceImpl implements ClassExamPaperServiceI { return SingleResponse.buildSuccess(); } + @Override + public void exportClassExamPaper(String classId, Integer answerFlag, HttpServletResponse httpServletResponse) { + classExamPaperQueryExe.executeExportClassExamPaper( classId, answerFlag, httpServletResponse); + } + @Override public SingleResponse autoSave(ClassExamPaperAutoAddCmd cmd) { classExamPaperAddExe.executeAutoSave(cmd); diff --git a/web-client/src/main/java/com/zcloud/edu/api/study/ClassExamPaperServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/study/ClassExamPaperServiceI.java index ec315fd..211d5b9 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/study/ClassExamPaperServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/study/ClassExamPaperServiceI.java @@ -3,10 +3,9 @@ package com.zcloud.edu.api.study; import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.edu.dto.clientobject.study.ClassExamPaperCO; -import com.zcloud.edu.dto.study.ClassExamPaperAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperAutoAddCmd; -import com.zcloud.edu.dto.study.ClassExamPaperPageQry; -import com.zcloud.edu.dto.study.ClassExamPaperUpdateCmd; +import com.zcloud.edu.dto.study.*; + +import javax.servlet.http.HttpServletResponse; /** * web-client @@ -19,6 +18,8 @@ public interface ClassExamPaperServiceI { SingleResponse add(ClassExamPaperAddCmd cmd); + void exportClassExamPaper(String classId, Integer answerFlag, HttpServletResponse httpServletResponse); + SingleResponse autoSave(ClassExamPaperAutoAddCmd cmd); void edit(ClassExamPaperUpdateCmd cmd); diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/ClassExamPaperCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/ClassExamPaperCO.java index 5a1266a..1327198 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/ClassExamPaperCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/ClassExamPaperCO.java @@ -1,6 +1,7 @@ package com.zcloud.edu.dto.clientobject.study; import com.alibaba.cola.dto.ClientObject; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import com.zcloud.edu.dto.clientobject.resource.QuestionCO; import io.swagger.annotations.ApiModelProperty; @@ -46,6 +47,10 @@ public class ClassExamPaperCO extends ClientObject { private Integer examTime; @ApiModelProperty(value = "企业名称") private String corpName; + + @ApiModelProperty(value = "上架状态") + @TableField(exist = false) + private Integer sellFlag; @ApiModelProperty(value = "习题列表") private List questionList; //删除标识true false diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/StudentSignCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/StudentSignCO.java index 14efa14..c8a6746 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/StudentSignCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/study/StudentSignCO.java @@ -94,11 +94,11 @@ public class StudentSignCO extends ClientObject { private Integer version; //创建时间 @ApiModelProperty(value = "创建时间") - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; //修改时间 @ApiModelProperty(value = "修改时间") - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; //创建人id @ApiModelProperty(value = "创建人id") diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java index 44c720e..c907829 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyProcessCO.java @@ -1,6 +1,7 @@ package com.zcloud.edu.dto.clientobject.training; import com.alibaba.cola.dto.ClientObject; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -41,6 +42,23 @@ public class TrainingApplyProcessCO extends ClientObject { //用户id @ApiModelProperty(value = "用户id") private Long userId; + + //审批企业名称 + @ApiModelProperty(value = "审批企业名称") + @TableField(exist = false) + private String approveCorpName; + //审批部门名称 + @ApiModelProperty(value = "审批部门名称") + @TableField(exist = false) + private String approveDeptName; + //审批用户名称 + @ApiModelProperty(value = "审批用户名称") + @TableField(exist = false) + private String approveUserName; + //(value = "审批类型(1:发起,2:审批,3:委托)") + @ApiModelProperty(value = "用户id") + @TableField(exist = false) + private Long approveType; //乐观锁 @ApiModelProperty(value = "乐观锁") private Integer version; diff --git a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java index 299c142..1bc0c8f 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/clientobject/training/TrainingApplyRecordCO.java @@ -1,6 +1,7 @@ package com.zcloud.edu.dto.clientobject.training; import com.alibaba.cola.dto.ClientObject; +import com.baomidou.mybatisplus.annotation.TableField; import com.zcloud.edu.domain.model.training.ApproveDetailE; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -102,11 +103,16 @@ public class TrainingApplyRecordCO extends ClientObject { @ApiModelProperty(value = " 申请人名称") private String applyUserName; + + // 委托流程id + @ApiModelProperty(value = "委托流程id,空则没有委托,非空则有委托") + private String entrustProcessId; + @ApiModelProperty(value = "申请人列表") private List applyUsers; @ApiModelProperty(value = "审批委托信息") - private List approveDetails; + private List approveDetails; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/study/ClassPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/study/ClassPageQry.java index 3cd9a0f..eb46166 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/study/ClassPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/study/ClassPageQry.java @@ -34,6 +34,8 @@ public class ClassPageQry extends PageQuery { private String isMyCorp; private Long eqCorpinfoId; private String phone; + private String signFlag; + private String examination; } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java index d03c2a3..c3ba893 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/training/TrainingApplyRecordPageQry.java @@ -34,5 +34,7 @@ public class TrainingApplyRecordPageQry extends PageQuery { @ApiModelProperty(value = "申请企业ID", name = "applyCorpinfoId", required = false) private Long eqApplyCorpinfoId; + + private String menuPath; } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/enums/MenuEnum.java b/web-domain/src/main/java/com/zcloud/edu/domain/enums/MenuEnum.java index 1c41820..ab76793 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/enums/MenuEnum.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/enums/MenuEnum.java @@ -13,6 +13,17 @@ import java.util.stream.Collectors; @Getter public enum MenuEnum { //股份端 + GFDPXSHGL("/edu/container/supervision/trainingAuditManage/trainingAuditManage/list","gfd-pxshgl"), + + + GFDPXSHJL("/edu/container/supervision/trainingAuditManage/trainingAuditRecord/list","gfd-pxshjl"), + GFDPXLXGL("/edu/container/supervision/trainingType/list","gfd-pxlxgl"), + GFDPXBJGL("/edu/container/supervision/trainingClassManage/list","gfd-pxbjgl"), + GFDYRYD("/edu/container/supervision/archivesManage/onePersonOneFile/list","gfd-yryd"), + GFDYQYD("/edu/container/supervision/archivesManage/oneIssueOneFile/list","gfd-yqyd"), + GFDDAXZ("/edu/container/supervision/archivesManage/fileDownload/list","gfd-daxz"), + GFDPXJLGL("/edu/container/supervision/trainingRecord/list","gfd-pxjlgl"), + //教师管理 GFDJSGL("/edu/container/supervision/resourceManage/teacherManage/list", "gfd-jsgl"), //课件管理 @@ -24,12 +35,31 @@ public enum MenuEnum { //企业端 + + QYDPXSHGL("/edu/container/branchCompany/trainingAuditManage/trainingAuditManage/list","qyd-pxshgl"), + QYDPXSHJL("/edu/container/branchCompany/trainingAuditManage/trainingAuditRecord/list","qyd-pxshjl"), + QYDPXBJGL("/edu/container/branchCompany/trainingClassManage/list","qyd-pxbjgl"), + QYDYRYD("/edu/container/branchCompany/archivesManage/onePersonOneFile/list","qyd-yryd"), + QYDYQYD("/edu/container/branchCompany/archivesManage/oneIssueOneFile/list","qyd-yqyd"), + QYDDAXZ("/edu/container/branchCompany/archivesManage/fileDownload/list","qyd-daxz"), + QYDPXJLGL("/edu/container/branchCompany/trainingRecordManage/list","qyd-pxjlgl"), //课件管理 QYDKJGL("/edu/container/branchCompany/resourceManage/courseware/list", "qyd-kjgl"), //课程管理 QYDKCGL("/edu/container/branchCompany/resourceManage/courseManage/list", "qyd-kcgl"), //试卷管理 QYDSJGL("/edu/container/branchCompany/resourceManage/testPaperManage/list", "qyd-sjgl"), + // 相关方 + + + + XGFDPXSQGL("/edu/container/stakeholder/applyManege/applyManege","xgfd-pxsqgl"), + XGFDPXSQJL("/edu/container/stakeholder/applyManege/applyRecord/list","xgfd-pxsqjl"), + XGFDYRYD("/edu/container/Stakeholder/ArchivesManage/OnePersonOneFile/list","xgfd-yryd"), + + XGFDYQYD("/edu/container/stakeholder/archivesManage/oneIssueOneFile/list","xgfd-yqyd"), + XGFDDAXZ("/edu/container/stakeholder/archivesManage/fileDownload/list","xgfd-daxz"), + XGFDPXJLGL("/edu/container/stakeholder/trainingRecord/list","xgfd-pxjlgl"), ; ; diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/archives/PersonArchivesE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/archives/PersonArchivesE.java index 9bc6dec..0ed9912 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/archives/PersonArchivesE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/archives/PersonArchivesE.java @@ -150,8 +150,10 @@ public class PersonArchivesE extends BaseE { @ApiModelProperty(value = "学员状态翻译") private String stateName; - public void init(StudentE studentE, ClassE classE, List classCurList) { + public void init(StudentE studentE, ClassE classE, List classCurList, String userAvatarUrl) { + BeanUtils.copyProperties(studentE, this); + setUserAvatarUrl(userAvatarUrl); setCorpName(classE.getCorpName()); setStuId(studentE.getId()); setClassName(classE.getName()); diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumChapterE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumChapterE.java index 5113b5e..d48f47d 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumChapterE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumChapterE.java @@ -36,6 +36,7 @@ public class ClassCurriculumChapterE extends BaseE { private List curriculumChapterAddCmdList; + private String curriculumChapterId; //课程id(批量新增使用) private String curriculumId; diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumE.java index aa7c283..908e94a 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/study/ClassCurriculumE.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * web-domain @@ -62,6 +63,7 @@ public class ClassCurriculumE extends BaseE { //环境 private String env; + public List initCurList(List curList){ List classCurriculumChapterEList = new ArrayList(); for (ClassCurriculumE cur : curList){ @@ -94,11 +96,14 @@ public class ClassCurriculumE extends BaseE { cur.setClassId(classId); map.put(cur.getCurriculumId(), cur.getClassCurriculumId()); } + Map idMap = chapterList.stream().collect(Collectors.toMap(ClassCurriculumChapterE::getCurriculumChapterId, chapter -> Tools.get32UUID())); + chapterList.stream().forEach(chapter -> { chapter.setId(null); chapter.setClassCurriculumId(map.get(chapter.getCurriculumId())); chapter.setClassId(classId); - chapter.setClassCurriculumChapterId(Tools.get32UUID()); + chapter.setClassCurriculumChapterId(idMap.get(chapter.getCurriculumChapterId())); + chapter.setParentId(chapter.getParentId().equals("0")? "0" : idMap.get(chapter.getParentId())); }); } diff --git a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java index 8536edb..da6e76d 100644 --- a/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java +++ b/web-domain/src/main/java/com/zcloud/edu/domain/model/training/TrainingApplyRecordE.java @@ -149,7 +149,7 @@ public class TrainingApplyRecordE extends BaseE { return; } applyUsers.forEach(user -> { - if (user != null && user.getApplyStatus().equals(ApplyStatusEnum.APPROVED.getCode())) { + if (user != null) { TrainingUserE trainingUser = new TrainingUserE(); trainingUser.setTrainingUserId(IdUtil.simpleUUID()); trainingUser.setPhone(user.getPhone()); @@ -176,4 +176,4 @@ public class TrainingApplyRecordE extends BaseE { this.approveDetails = approveDetails; } } -} \ No newline at end of file +} diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java index e8277c0..7740cf4 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/gatewayimpl/training/TrainingUserGatewayImpl.java @@ -43,7 +43,7 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway { } List existingUsers = trainingUserRepository.lambdaQuery() - .select(TrainingUserDO::getPhone, TrainingUserDO::getStartTime, TrainingUserDO::getEndTime) + .select(TrainingUserDO::getPhone, TrainingUserDO::getStartTime, TrainingUserDO::getEndTime, TrainingUserDO::getApplyStatus) .in(TrainingUserDO::getPhone, phones) .list(); Map existingUserMap = existingUsers.stream() @@ -57,9 +57,11 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway { .filter(existingPhones::contains) .filter(phone -> { TrainingUserDO user = existingUserMap.get(phone); - return user != null - && user.getEndTime() != null - && submitTime.isAfter(user.getEndTime()); + return user != null && + ( + (user.getEndTime() != null && submitTime.isAfter(user.getEndTime())) + || user.getApplyStatus().equals(ApplyStatusEnum.REJECTED.getCode()) + ); }) .collect(Collectors.toSet()); @@ -95,7 +97,8 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway { if (phones.isEmpty()) { return true; } - + Map applyResultMap = trainingUserEList.stream() + .collect(Collectors.toMap(TrainingUserE::getPhone, TrainingUserE::getApplyStatus)); List existingUsers = trainingUserRepository.lambdaQuery() .select(TrainingUserDO::getId, TrainingUserDO::getPhone, TrainingUserDO::getApplyStatus) .in(TrainingUserDO::getPhone, phones) @@ -105,11 +108,11 @@ public class TrainingUserGatewayImpl implements TrainingUserGateway { } List needUpdateUsers = existingUsers.stream() - .filter(u -> !ApplyStatusEnum.APPROVED.getCode().equals(u.getApplyStatus())) +// .filter(u -> !ApplyStatusEnum.APPROVED.getCode().equals(u.getApplyStatus())) .map(u -> { TrainingUserDO d = new TrainingUserDO(); d.setId(u.getId()); - d.setApplyStatus(ApplyStatusEnum.APPROVED.getCode()); + d.setApplyStatus(applyResultMap.get(u.getPhone())); return d; }) .collect(Collectors.toList()); diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java index 206f9b7..f5649a1 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyProcessDO.java @@ -38,6 +38,22 @@ public class TrainingApplyProcessDO extends BaseDO { //用户id @ApiModelProperty(value = "用户id") private Long userId; + //审批企业名称 + @ApiModelProperty(value = "审批企业名称") + @TableField(exist = false) + private String approveCorpName; + //审批部门名称 + @ApiModelProperty(value = "审批部门名称") + @TableField(exist = false) + private String approveDeptName; + //审批用户名称 + @ApiModelProperty(value = "审批用户名称") + @TableField(exist = false) + private String approveUserName; + //(value = "审批类型(1:发起,2:审批,3:委托)") + @ApiModelProperty(value = "用户id") + @TableField(exist = false) + private Long approveType; public TrainingApplyProcessDO(String trainingApplyProcessId) { this.trainingApplyProcessId = trainingApplyProcessId; diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java index c60372d..faf9f17 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/TrainingApplyRecordDO.java @@ -54,9 +54,33 @@ public class TrainingApplyRecordDO extends BaseDO { private Integer applyUserCount; // 申请人姓名 + @ApiModelProperty(value = "申请人姓名") @TableField(exist = false) private String applyUserName; + // 审批人姓名 + @ApiModelProperty(value = "审批人姓名") + @TableField(exist = false) + private String approvalUserName; + // 审批部门名称 + @ApiModelProperty(value = "审批部门名称") + @TableField(exist = false) + private String approvalDepartmentName; + // 审批企业名称 + @ApiModelProperty(value = "审批企业名称") + @TableField(exist = false) + private String approvalCorpName; + // 委托流程id + @ApiModelProperty(value = "委托流程id,空则没有委托,非空则有委托") + @TableField(exist = false) + private String entrustProcessId; + + + + + + + public TrainingApplyRecordDO(String trainingApplyRecordId) { this.trainingApplyRecordId = trainingApplyRecordId; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/ClassExamPaperDO.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/ClassExamPaperDO.java index 21fb24e..79c0868 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/ClassExamPaperDO.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/dataobject/study/ClassExamPaperDO.java @@ -49,5 +49,8 @@ public class ClassExamPaperDO extends BaseDO { @ApiModelProperty(value = "企业名称") @TableField(exist = false) private String corpName; + @ApiModelProperty(value = "上架状态") + @TableField(exist = false) + private Integer sellFlag; } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java index 43ddcc6..33117f7 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyProcessMapper.java @@ -26,6 +26,6 @@ public interface TrainingApplyProcessMapper extends BaseMapper selectApproveDetailList(@Param("trainingApplyRecordId") String trainingApplyRecordId); + List selectApproveDetailList(@Param("trainingApplyRecordId") String trainingApplyRecordId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java index f206884..16d8c70 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/mapper/TrainingApplyRecordMapper.java @@ -26,7 +26,7 @@ public interface TrainingApplyRecordMapper extends BaseMapper { ClassExamPaperDO findById(Long id); + ClassExamPaperDO findByClassId(String classId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java index b987e31..71fe04b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyProcessRepositoryImpl.java @@ -53,7 +53,7 @@ public class TrainingApplyProcessRepositoryImpl extends BaseRepositoryImpl getApproveDetailList(String trainingApplyRecordId) { + public List getApproveDetailList(String trainingApplyRecordId) { return trainingApplyProcessMapper.selectApproveDetailList(trainingApplyRecordId); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java index a6e955a..fe6507b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/impl/TrainingApplyRecordRepositoryImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jjb.saas.framework.auth.model.SSOUser; import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.framework.repository.common.PageHelper; +import com.zcloud.edu.domain.enums.MenuEnum; import com.zcloud.edu.persistence.dataobject.TrainingApplyRecordDO; import com.zcloud.edu.persistence.mapper.TrainingApplyRecordMapper; import com.zcloud.edu.persistence.repository.training.TrainingApplyRecordRepository; @@ -15,6 +16,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import java.util.Map; @@ -45,6 +47,10 @@ public class TrainingApplyRecordRepositoryImpl extends BaseRepositoryImpl result = trainingApplyRecordMapper.selectTrainingRecordPage(iPage, queryWrapper); return PageHelper.pageToResponse(result, result.getRecords()); } @@ -57,7 +63,7 @@ public class TrainingApplyRecordRepositoryImpl extends BaseRepositoryImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("class_id", classId); - queryWrapper.eq("delete_enum", "FALSE"); - return classExamPaperMapper.selectOne(queryWrapper); + return classExamPaperMapper.findByClassId(classId); } } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java index 5b5e08f..c53803d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyProcessRepository.java @@ -28,7 +28,7 @@ public interface TrainingApplyProcessRepository extends BaseRepository getApproveDetailList(String trainingApplyRecordId); + List getApproveDetailList(String trainingApplyRecordId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java index 033a461..9c1d55d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/edu/persistence/repository/training/TrainingApplyRecordRepository.java @@ -18,6 +18,6 @@ public interface TrainingApplyRecordRepository extends BaseRepository - SELECT + tap.id, + tap.training_apply_process_id, tap.apply_type AS approveType, ci.corp_name AS approveCorpName, d.name AS approveDeptName, diff --git a/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml index 050a698..b23bfaa 100644 --- a/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TrainingApplyRecordMapper.xml @@ -31,6 +31,7 @@ + @@ -49,7 +50,8 @@ r.approval_status, r.version, u.name AS apply_user_name, - COALESCE(tau_cnt.apply_user_count, 0) AS apply_user_count + COALESCE(tau_cnt.apply_user_count, 0) AS apply_user_count, + tap.training_apply_process_id entrust_process_id FROM training_apply_record r LEFT JOIN @@ -68,16 +70,17 @@ GROUP BY training_apply_record_id ) tau_cnt ON tau_cnt.training_apply_record_id = r.training_apply_record_id + left join training_apply_process tap on tap.training_apply_record_id = r.training_apply_record_id and tap.delete_enum = 'false' and tap.apply_type = 3 WHERE r.delete_enum = 'false' AND ${ew.sqlSegment} - + group by r.training_apply_record_id - SELECT r.*, (SELECT name FROM user WHERE id = r.apply_user_id AND delete_enum = 'FALSE') AS applyUserName, diff --git a/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml index e1a29aa..af37054 100644 --- a/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/TrainingUserMapper.xml @@ -13,7 +13,6 @@ phone = #{params.phone} and ( end_time is null or end_time < #{params.endTime}) - where phone = #{phone} diff --git a/web-infrastructure/src/main/resources/mapper/study/ClassExamPaperMapper.xml b/web-infrastructure/src/main/resources/mapper/study/ClassExamPaperMapper.xml index 5d843fa..f086519 100644 --- a/web-infrastructure/src/main/resources/mapper/study/ClassExamPaperMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/study/ClassExamPaperMapper.xml @@ -17,9 +17,30 @@ cep.exam_time FROM class_exam_paper cep - left join corp_info ci on ci.id = cep.corpinfo_id + left join corp_info ci on ci.id = cep.corpinfo_id WHERE cep.id = #{id} + diff --git a/web-infrastructure/src/main/resources/mapper/study/ClassMapper.xml b/web-infrastructure/src/main/resources/mapper/study/ClassMapper.xml index 2a763dd..a7ba5c5 100644 --- a/web-infrastructure/src/main/resources/mapper/study/ClassMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/study/ClassMapper.xml @@ -193,6 +193,26 @@ and c.corpinfo_id = #{params.eqCorpinfoId} + + and s.sign_flag = #{params.signFlag} + + + and s.exam_sign_flag = #{params.examination} + + + + and c.state = 1 + + + and c.state = 2 and c.start_time > now() + + + and c.state = 2 and c.end_time > now() + + + and c.state = 2 and c.end_time <= now() + + order by c.state,