From e691bb63ba2f3922e128070d547845fac3d82219 Mon Sep 17 00:00:00 2001 From: mzh820631607 Date: Sat, 10 Oct 2020 17:30:22 +0800 Subject: [PATCH] =?UTF-8?q?v0.1=E7=BC=BA=E9=99=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tms/api/ProjectRcordControllerApi.java | 5 +- .../controller/ProjectRecordController.java | 19 ++++++-- .../ExperimentProjectRecordImportRequest.java | 43 ++++++++++++++++++ .../request/ProjectRecordImportRequest.java | 42 +++++++++++------ .../tms/service/ProjectRecordService.java | 2 + .../impl/ProjectRecordServiceImpl.java | 42 +++++++++++++++-- .../service/impl/QuestionsServiceImpl.java | 6 ++- .../实验报告导出模板.xlsx | Bin 10328 -> 0 bytes .../教学实验报告导出模板.xlsx | Bin 0 -> 10353 bytes .../虚拟仿真实验报告导出模板.xlsx | Bin 0 -> 10329 bytes .../resources/mapper/tms/ClassTeachingDao.xml | 5 -- 11 files changed, 133 insertions(+), 31 deletions(-) create mode 100644 src/main/java/com/msdw/tms/entity/request/ExperimentProjectRecordImportRequest.java delete mode 100644 src/main/resources/excel-template/实验报告导出模板.xlsx create mode 100644 src/main/resources/excel-template/教学实验报告导出模板.xlsx create mode 100644 src/main/resources/excel-template/虚拟仿真实验报告导出模板.xlsx diff --git a/src/main/java/com/msdw/tms/api/ProjectRcordControllerApi.java b/src/main/java/com/msdw/tms/api/ProjectRcordControllerApi.java index e079fe8..0413b24 100644 --- a/src/main/java/com/msdw/tms/api/ProjectRcordControllerApi.java +++ b/src/main/java/com/msdw/tms/api/ProjectRcordControllerApi.java @@ -26,8 +26,11 @@ public interface ProjectRcordControllerApi { @ApiOperation(value = "个人实验概览",notes = "个人实验概览") R getUserScore(Integer userid); - @ApiOperation(value = "个人实验记录导出",notes = "个人实验记录导出") + @ApiOperation(value = "个人虚拟仿真实验记录导出",notes = "个人虚拟仿真实验记录导出") void exportProjectRecord(HttpServletResponse response,Integer userId)throws Exception; + + @ApiOperation(value = "个人教学实验记录导出",notes = "个人教学实验记录导出") + void exportExperimentProjectRecord(HttpServletResponse response,Integer userId)throws Exception; // @ApiOperation(value = "个人实验记录导出",notes = "个人实验记录导出") // void exportProjectRecord(HttpServletResponse response,Integer userId)throws Exception; diff --git a/src/main/java/com/msdw/tms/controller/ProjectRecordController.java b/src/main/java/com/msdw/tms/controller/ProjectRecordController.java index b8f208d..e8967c5 100644 --- a/src/main/java/com/msdw/tms/controller/ProjectRecordController.java +++ b/src/main/java/com/msdw/tms/controller/ProjectRecordController.java @@ -56,7 +56,7 @@ public class ProjectRecordController implements ProjectRcordControllerApi { * 用户端虚拟仿真实验记录 * @param page * @param size - * @param userid + * @param * @return */ @Override @@ -109,7 +109,7 @@ public class ProjectRecordController implements ProjectRcordControllerApi { /** - * 导出个人项目记录 + * 导出个人虚拟仿真实验记录 * @param response * @param userId * @throws Exception @@ -117,7 +117,20 @@ public class ProjectRecordController implements ProjectRcordControllerApi { @Override @GetMapping("/user/exportProjectRecord") public void exportProjectRecord(HttpServletResponse response,@RequestParam("userId") Integer userId)throws Exception{ - projectRecordService.exportProjectRecord(response,userId); + projectRecordService.exportProjectRecord(response,userId); + + } + + /** + * 导出个人教学实验记录 + * @param response + * @param userId + * @throws Exception + */ + @Override + @GetMapping("/user/exportExperimentProjectRecord") + public void exportExperimentProjectRecord(HttpServletResponse response,@RequestParam("userId") Integer userId)throws Exception{ + projectRecordService.exportExperimentProjectRecord(response,userId); } /** diff --git a/src/main/java/com/msdw/tms/entity/request/ExperimentProjectRecordImportRequest.java b/src/main/java/com/msdw/tms/entity/request/ExperimentProjectRecordImportRequest.java new file mode 100644 index 0000000..2dac435 --- /dev/null +++ b/src/main/java/com/msdw/tms/entity/request/ExperimentProjectRecordImportRequest.java @@ -0,0 +1,43 @@ +package com.msdw.tms.entity.request; + +import com.msdw.tms.common.utils.poi.ExcelAttribute; +import lombok.Data; + +/** + * 教学实验记录导出模板 + */ +@Data +public class ExperimentProjectRecordImportRequest { + /** + * 实验班级名称 + */ + @ExcelAttribute(sort = 0) + private String experimentalClassName; + + /** + * 实验项目名称 + */ + @ExcelAttribute(sort = 1) + private String projectName; + + /** + * 得分 + */ + @ExcelAttribute(sort = 2) + private Integer score; + /** + * 耗时 + */ + @ExcelAttribute(sort = 3) + private Integer timeSum; + /** + * 起始时间 + */ + @ExcelAttribute(sort = 4) + private String startTime; + /** + * 结束时间 + */ + @ExcelAttribute(sort = 5) + private String endTime; +} diff --git a/src/main/java/com/msdw/tms/entity/request/ProjectRecordImportRequest.java b/src/main/java/com/msdw/tms/entity/request/ProjectRecordImportRequest.java index eef5c6f..e54652d 100644 --- a/src/main/java/com/msdw/tms/entity/request/ProjectRecordImportRequest.java +++ b/src/main/java/com/msdw/tms/entity/request/ProjectRecordImportRequest.java @@ -3,6 +3,9 @@ package com.msdw.tms.entity.request; import com.msdw.tms.common.utils.poi.ExcelAttribute; import lombok.Data; +/** + * 虚拟仿真试验记录导出模板 + */ @Data public class ProjectRecordImportRequest { @@ -18,36 +21,45 @@ public class ProjectRecordImportRequest { // private String userRecordstate; // // private Integer recordstate; - /** - * 实验班级名称 - */ - @ExcelAttribute(sort = 1) - private String experimental_class_name; - +// /** +// * 得分 +// */ +// @ExcelAttribute(sort = 2) +// private Integer score; +// /** +// * 耗时 +// */ +// @ExcelAttribute(sort = 3) +// private Integer timeSum; +// /** +// * 起始时间 +// */ +// @ExcelAttribute(sort = 4) +// private String startTime; +// /** +// * 结束时间 +// */ +// @ExcelAttribute(sort = 5) +// private String endTime; /** * 得分 */ - @ExcelAttribute(sort = 2) + @ExcelAttribute(sort = 1) private Integer score; /** * 耗时 */ - @ExcelAttribute(sort = 3) + @ExcelAttribute(sort = 2) private Integer timeSum; /** * 起始时间 */ - @ExcelAttribute(sort = 4) + @ExcelAttribute(sort = 3) private String startTime; /** * 结束时间 */ - @ExcelAttribute(sort = 5) + @ExcelAttribute(sort = 4) private String endTime; - /** - * 结束时间 - */ - @ExcelAttribute(sort = 6) - private String abc; } diff --git a/src/main/java/com/msdw/tms/service/ProjectRecordService.java b/src/main/java/com/msdw/tms/service/ProjectRecordService.java index 410cf02..957200e 100644 --- a/src/main/java/com/msdw/tms/service/ProjectRecordService.java +++ b/src/main/java/com/msdw/tms/service/ProjectRecordService.java @@ -25,6 +25,8 @@ public interface ProjectRecordService extends IService { void exportProjectRecord(HttpServletResponse response, Integer userId)throws Exception; + void exportExperimentProjectRecord(HttpServletResponse response, Integer userId)throws Exception; + PageUtils querySchoolRecord(Integer page,Integer size,ProjectRecordVo projectRecord); boolean updateUserRecord(ProjectRecordEntity projectRecord); diff --git a/src/main/java/com/msdw/tms/service/impl/ProjectRecordServiceImpl.java b/src/main/java/com/msdw/tms/service/impl/ProjectRecordServiceImpl.java index ba01fa7..c480cef 100644 --- a/src/main/java/com/msdw/tms/service/impl/ProjectRecordServiceImpl.java +++ b/src/main/java/com/msdw/tms/service/impl/ProjectRecordServiceImpl.java @@ -8,6 +8,7 @@ import com.msdw.tms.common.utils.PageUtils; import com.msdw.tms.common.utils.poi.ExcelExportUtil; import com.msdw.tms.dao.ProjectRecordDao; import com.msdw.tms.entity.ProjectRecordEntity; +import com.msdw.tms.entity.request.ExperimentProjectRecordImportRequest; import com.msdw.tms.entity.request.ProjectRecordImportRequest; import com.msdw.tms.entity.vo.ProjectRecordExportVo; import com.msdw.tms.entity.vo.ProjectRecordVo; @@ -19,9 +20,8 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; -import java.io.FileInputStream; +import java.io.InputStream; import java.util.List; -import java.util.function.Function; import java.util.stream.Collectors; @@ -86,12 +86,44 @@ public class ProjectRecordServiceImpl extends ServiceImpl projectRecordVos = this.baseMapper.getByUserRecordImport(projectRecord); + + List importRequests = projectRecordVos.stream().map(project -> { + ExperimentProjectRecordImportRequest request = new ExperimentProjectRecordImportRequest(); + BeanUtils.copyProperties(project, request); +// request.setUserRecordstate(project.getRecordstate().equals(1) ? "已完成":"待评分"); + return request; + }).collect(Collectors.toList()); + + //2.加载模板流数据 + ClassPathResource resource = new ClassPathResource("excel-template/教学实验报告导出模板.xlsx"); + InputStream inputStream = resource.getInputStream(); + + + //3、通过工具类下载文件 + new ExcelExportUtil(ExperimentProjectRecordImportRequest.class, Constant.ROW_INDEX, Constant.STYLE_INDEX). + export(response, inputStream, importRequests, "教学实验报告.xlsx"); } @Override diff --git a/src/main/java/com/msdw/tms/service/impl/QuestionsServiceImpl.java b/src/main/java/com/msdw/tms/service/impl/QuestionsServiceImpl.java index 025a648..9cbceff 100644 --- a/src/main/java/com/msdw/tms/service/impl/QuestionsServiceImpl.java +++ b/src/main/java/com/msdw/tms/service/impl/QuestionsServiceImpl.java @@ -39,6 +39,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; @@ -623,10 +624,11 @@ public class QuestionsServiceImpl extends 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 diff --git a/src/main/resources/excel-template/教学实验报告导出模板.xlsx b/src/main/resources/excel-template/教学实验报告导出模板.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c2d3debc254cd9ee69a310e97970ba487af7f68a GIT binary patch literal 10353 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 WkcNJ&Vjd0&Ot9F8IhT?>e)}JyYwWuK literal 0 HcmV?d00001 diff --git a/src/main/resources/mapper/tms/ClassTeachingDao.xml b/src/main/resources/mapper/tms/ClassTeachingDao.xml index d33d843..5c02718 100644 --- a/src/main/resources/mapper/tms/ClassTeachingDao.xml +++ b/src/main/resources/mapper/tms/ClassTeachingDao.xml @@ -24,11 +24,6 @@ tms_experimental_teaching WHERE is_del=0 - AND - type!=1 - AND - `status`!= 1 - and `status` = #{cla.status} and ( project_name like concat('%',#{cla.condition},'%') or experimental_class_name like concat('%',#{cla.condition},'%') ) and stop_time between #{cla.endTime} and #{cla.startTime}