From 6829952083b331868f9afe4c5d2e24233c8a3a70 Mon Sep 17 00:00:00 2001 From: whb <17803890193@163.com> Date: Tue, 10 Sep 2024 16:35:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AD=BE=E5=88=B0=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stu/StuExpermentTrainingController.java | 16 +- .../controller/tch/TchSignInfoController.java | 12 +- .../trade/entity/StuImportExcelDTO.java | 34 ++++ .../trade/entity/dto/TchManualSignDTO.java | 4 + .../entity/dto/TchManualSignSettingDTO.java | 4 + .../service/StuExpermentTrainingService.java | 4 +- ...TeacherOpenCourseStudentSigninService.java | 3 +- .../impl/StuExpermentTrainingServiceImpl.java | 25 ++- ...herOpenCourseStudentSigninServiceImpl.java | 174 +++++++++++++++++- 9 files changed, 247 insertions(+), 29 deletions(-) create mode 100644 src/main/java/com/sztzjy/trade/entity/StuImportExcelDTO.java diff --git a/src/main/java/com/sztzjy/trade/controller/stu/StuExpermentTrainingController.java b/src/main/java/com/sztzjy/trade/controller/stu/StuExpermentTrainingController.java index ccac697..d7790f9 100644 --- a/src/main/java/com/sztzjy/trade/controller/stu/StuExpermentTrainingController.java +++ b/src/main/java/com/sztzjy/trade/controller/stu/StuExpermentTrainingController.java @@ -12,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; /** * @author 17803 @@ -55,24 +54,27 @@ public class StuExpermentTrainingController { @AnonymousAccess @GetMapping("/academicRecordInfo") - @ApiOperation("学习成绩详情") - public ResultEntity academicRecordInfo(String schoolId, String module) { + @ApiOperation("错题排名详情") + public ResultEntity academicRecordInfo(String schoolId, String module, Integer page + , Integer size) { - return service.academicRecordInfo(schoolId, module); + return service.academicRecordInfo(schoolId, module, page, size); } @AnonymousAccess @GetMapping("/trainingTaskDetails") - @ApiOperation("实训任务详情") - public ResultEntity trainingTaskDetails(String userId, String module) { + @ApiOperation("得分排名详情") + public ResultEntity trainingTaskDetails(String userId, String module, Integer page + , Integer size) { - return service.trainingTaskDetails(userId, module); + return service.trainingTaskDetails(userId, module, page, size); } + } diff --git a/src/main/java/com/sztzjy/trade/controller/tch/TchSignInfoController.java b/src/main/java/com/sztzjy/trade/controller/tch/TchSignInfoController.java index 48208fa..9c88ae5 100644 --- a/src/main/java/com/sztzjy/trade/controller/tch/TchSignInfoController.java +++ b/src/main/java/com/sztzjy/trade/controller/tch/TchSignInfoController.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.Date; @@ -149,24 +150,25 @@ public class TchSignInfoController { @ApiOperation("导出") - @PostMapping("/importListInfo") + @GetMapping("/importListInfo") @AnonymousAccess public void importListInfo( @ApiParam("学生ID") @RequestParam(required = false) String studentId, @ApiParam("签到方式为手动签到传参:manual") @RequestParam(required = false) String type, @ApiParam("班级ID") @RequestParam(required = false) String classId, - @ApiParam("当前页") @RequestParam(required = true) Integer page, - @ApiParam("每页展示条数") @RequestParam(required = true) Integer size, + @ApiParam("当前页") @RequestParam(required = false) Integer page, + @ApiParam("每页展示条数") @RequestParam(required = false) Integer size, @ApiParam("签到时间") @RequestParam(required = false) Date signTime, @ApiParam("签到情况(10签到/20缺勤)") @RequestParam(required = false) Integer signInfo, @ApiParam("缺勤理由") @RequestParam(required = false) String missInfo, @ApiParam("签到表ID") @RequestParam(required = true) Long signId, - @ApiParam("班级列表") @RequestParam(required = true) String classIds + HttpServletResponse response, + @ApiParam("班级列表") @RequestParam(required = false) String classIds ) { //"yyyy-MM-dd HH:mm:ss" - teacherOpenCourseStudentSigninService.importListInfo(studentId, type, classId, page, size, signTime, signInfo, missInfo, signId, classIds); + teacherOpenCourseStudentSigninService.importListInfo(response,studentId, type, classId, page, size, signTime, signInfo, missInfo, signId, classIds); } diff --git a/src/main/java/com/sztzjy/trade/entity/StuImportExcelDTO.java b/src/main/java/com/sztzjy/trade/entity/StuImportExcelDTO.java new file mode 100644 index 0000000..381368e --- /dev/null +++ b/src/main/java/com/sztzjy/trade/entity/StuImportExcelDTO.java @@ -0,0 +1,34 @@ +package com.sztzjy.trade.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author 17803 + * @date 2024-09-10 15:44 + */ +@Data +public class StuImportExcelDTO { + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("学生学号") + private String studentId; + + @ApiModelProperty("班级名称") + private String className; + + @ApiModelProperty("签到方式 (数据字典 student_signin_type)") + private String teacherOpenCourseStudentSigninLogType; + + @ApiModelProperty("备注(缺勤理由)") + private String teacherOpenCourseStudentSigninLogRemark; + + @ApiModelProperty("签到日期") + private Date teacherOpenCourseStudentSigninLogAddTime; + + +} diff --git a/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignDTO.java b/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignDTO.java index f02898d..de3c828 100644 --- a/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignDTO.java +++ b/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignDTO.java @@ -1,9 +1,11 @@ package com.sztzjy.trade.entity.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import com.sztzjy.trade.enums.StartStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @@ -34,6 +36,8 @@ public class TchManualSignDTO { @ApiModelProperty("场次时间") @NotNull(message = "场次时间不能为空") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date teacherOpenCourseStudentSigninSettingSessionTime; @ApiModelProperty("教师ID") diff --git a/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignSettingDTO.java b/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignSettingDTO.java index 601eea1..64a4722 100644 --- a/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignSettingDTO.java +++ b/src/main/java/com/sztzjy/trade/entity/dto/TchManualSignSettingDTO.java @@ -1,7 +1,9 @@ package com.sztzjy.trade.entity.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -30,6 +32,8 @@ public class TchManualSignSettingDTO { private Long schoolClassId; @ApiModelProperty("签到日期") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date teacherOpenCourseStudentSigninLogAddTime; diff --git a/src/main/java/com/sztzjy/trade/service/StuExpermentTrainingService.java b/src/main/java/com/sztzjy/trade/service/StuExpermentTrainingService.java index 292e196..bbd435b 100644 --- a/src/main/java/com/sztzjy/trade/service/StuExpermentTrainingService.java +++ b/src/main/java/com/sztzjy/trade/service/StuExpermentTrainingService.java @@ -35,7 +35,7 @@ public interface StuExpermentTrainingService { * @return */ - ResultEntity academicRecordInfo(String schoolId, String module); + ResultEntity academicRecordInfo(String schoolId, String module,Integer page,Integer size); /** * 实训任务详情 @@ -45,5 +45,5 @@ public interface StuExpermentTrainingService { * @return */ - ResultEntity trainingTaskDetails(String userId, String module); + ResultEntity trainingTaskDetails(String userId, String module,Integer page,Integer size); } diff --git a/src/main/java/com/sztzjy/trade/service/TeacherOpenCourseStudentSigninService.java b/src/main/java/com/sztzjy/trade/service/TeacherOpenCourseStudentSigninService.java index 13f3535..7aa0d38 100644 --- a/src/main/java/com/sztzjy/trade/service/TeacherOpenCourseStudentSigninService.java +++ b/src/main/java/com/sztzjy/trade/service/TeacherOpenCourseStudentSigninService.java @@ -7,6 +7,7 @@ import com.sztzjy.trade.entity.dto.TeacherOpenCourseStudentSigninSettingDTO; import com.sztzjy.trade.util.ResultEntity; import org.apache.ibatis.annotations.Param; +import javax.servlet.http.HttpServletResponse; import java.util.Date; /** @@ -67,5 +68,5 @@ public interface TeacherOpenCourseStudentSigninService { ); //导出 - void importListInfo(String studentId, String type, String classId, Integer page, Integer size, Date signTime, Integer signInfo, String missInfo, Long signId, String classIds); + void importListInfo(HttpServletResponse response,String studentId, String type, String classId, Integer page, Integer size, Date signTime, Integer signInfo, String missInfo, Long signId, String classIds); } diff --git a/src/main/java/com/sztzjy/trade/service/impl/StuExpermentTrainingServiceImpl.java b/src/main/java/com/sztzjy/trade/service/impl/StuExpermentTrainingServiceImpl.java index 795e5da..f1cb84f 100644 --- a/src/main/java/com/sztzjy/trade/service/impl/StuExpermentTrainingServiceImpl.java +++ b/src/main/java/com/sztzjy/trade/service/impl/StuExpermentTrainingServiceImpl.java @@ -1,6 +1,8 @@ package com.sztzjy.trade.service.impl; import cn.hutool.core.util.IdUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.sztzjy.trade.entity.*; import com.sztzjy.trade.entity.dto.StuExpermentSubmitDTO; import com.sztzjy.trade.entity.dto.StuTaskDetailDTO; @@ -15,13 +17,12 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; + import java.math.BigDecimal; -import java.util.Collections; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; + /** * @author 17803 @@ -208,7 +209,10 @@ public class StuExpermentTrainingServiceImpl implements StuExpermentTrainingServ * @return */ @Override - public ResultEntity academicRecordInfo(String schoolId, String module) { + public ResultEntity academicRecordInfo(String schoolId, String module,Integer page,Integer size) { + + PageHelper.startPage(page,size); + StuWrongQuestionRankingExample example = new StuWrongQuestionRankingExample(); example.setOrderByClause("asc task_number"); example.createCriteria().andSchoolIdEqualTo(schoolId).andModuleEqualTo(module); @@ -216,7 +220,10 @@ public class StuExpermentTrainingServiceImpl implements StuExpermentTrainingServ if (CollectionUtils.isEmpty(stuWrongQuestionRankingList)) { return new ResultEntity<>(HttpStatus.OK); } else { - return new ResultEntity<>(HttpStatus.OK, stuWrongQuestionRankingList); + + PageInfo stuWrongQuestionRankingPageInfo = new PageInfo<>(stuWrongQuestionRankingList); + + return new ResultEntity<>(HttpStatus.OK, stuWrongQuestionRankingPageInfo); } } @@ -229,7 +236,9 @@ public class StuExpermentTrainingServiceImpl implements StuExpermentTrainingServ */ @Override - public ResultEntity trainingTaskDetails(String userId, String module) { + public ResultEntity trainingTaskDetails(String userId, String module,Integer page,Integer size) { + + PageHelper.startPage(page,size); StuExpermentTrainingScoreExample expermentTrainingScoreExample = new StuExpermentTrainingScoreExample(); expermentTrainingScoreExample.createCriteria() .andUserIdEqualTo(userId).andModuleEqualTo(module); @@ -238,7 +247,8 @@ public class StuExpermentTrainingServiceImpl implements StuExpermentTrainingServ if (expermentTrainingScoreList.isEmpty()) { return new ResultEntity<>(HttpStatus.OK); } else { - return new ResultEntity(HttpStatus.OK, expermentTrainingScoreList); + PageInfo stuExpermentTrainingScorePageInfo = new PageInfo<>(expermentTrainingScoreList); + return new ResultEntity(HttpStatus.OK, stuExpermentTrainingScorePageInfo); } } @@ -294,6 +304,7 @@ public class StuExpermentTrainingServiceImpl implements StuExpermentTrainingServ } + } } diff --git a/src/main/java/com/sztzjy/trade/service/impl/TeacherOpenCourseStudentSigninServiceImpl.java b/src/main/java/com/sztzjy/trade/service/impl/TeacherOpenCourseStudentSigninServiceImpl.java index 2ece43d..b77e2b2 100644 --- a/src/main/java/com/sztzjy/trade/service/impl/TeacherOpenCourseStudentSigninServiceImpl.java +++ b/src/main/java/com/sztzjy/trade/service/impl/TeacherOpenCourseStudentSigninServiceImpl.java @@ -10,6 +10,7 @@ import com.alibaba.excel.EasyExcel; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.nimbusds.jose.util.IntegerUtils; +import com.sztzjy.trade.annotation.AnonymousAccess; import com.sztzjy.trade.config.Constant; import com.sztzjy.trade.entity.*; import com.sztzjy.trade.entity.dto.*; @@ -19,12 +20,17 @@ import com.sztzjy.trade.mapper.TeacherOpenCourseStudentSigninLogMapper; import com.sztzjy.trade.mapper.TeacherOpenCourseStudentSigninSettingMapper; import com.sztzjy.trade.service.TeacherOpenCourseStudentSigninService; import com.sztzjy.trade.util.ResultEntity; +import com.sztzjy.trade.util.excel.FilePortUtil; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -134,7 +140,7 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou // 定义要随机抽取的数量 int numberOfUsersToSelect = 6; - String[] split = tchManualSignDTO.getClassIds().split("."); + String[] split = tchManualSignDTO.getClassIds().split(","); for (String classId : split) { numberOfUsersToSelect += 2; @@ -206,7 +212,7 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou //批量插入学生信息 - System.out.println(tchManualSignDTO.getTchManualSignSettingDTOList().size()); + //System.out.println(tchManualSignDTO.getTchManualSignSettingDTOList().size()); tchManualSignDTO.getTchManualSignSettingDTOList().forEach(item -> { //判断是否缺勤或者签到 @@ -451,6 +457,7 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou .map(Long::valueOf) // 将每个字符串转换为 Long .collect(Collectors.toList()); criteria.andSchoolClassIdIn(collect); + System.out.println(collect); } if (StringUtils.hasText(studentId)) { @@ -479,14 +486,13 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou criteria.andTeacherOpenCourseStudentSigninLogTypeEqualTo(type); //往里面加数据teacherOpenCourseStudentSigninLogList - List teacherOpenCourseStudentSigninLogList = teacherOpenCourseStudentSigninLogMapper.selectByExample(openCourseStudentSigninLogExample); if (teacherOpenCourseStudentSigninLogList.isEmpty()) { return new ResultEntity<>(HttpStatus.OK); } - //查询班级所有用户 + //查询班级所有用户 String[] split = classIds.split(","); @@ -496,7 +502,6 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou if (stuUserList.isEmpty()) { return new ResultEntity<>(HttpStatus.OK); } else { - // for (StuUser stuUser : stuUserList) { // for (TeacherOpenCourseStudentSigninLog studentSigninLog : teacherOpenCourseStudentSigninLogList) { // if (stuUser.getStudentId().equals(studentSigninLog.getStudentId())) { @@ -515,7 +520,6 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou // // // } - for (StuUser stuUser : stuUserList) { boolean found = false; for (TeacherOpenCourseStudentSigninLog studentSigninLog : teacherOpenCourseStudentSigninLogList) { @@ -564,9 +568,165 @@ public class TeacherOpenCourseStudentSigninServiceImpl implements TeacherOpenCou //导出 @Override - public void importListInfo(String studentId, String type, String classId, Integer page, Integer size, Date signTime, Integer signInfo, String missInfo, Long signId, String classIds) { + public void importListInfo(HttpServletResponse response, String studentId, String type, String classId, Integer page, Integer size, Date signTime, Integer signInfo, String missInfo, Long signId, String classIds) { + //导出的表名 + String title = IdUtil.simpleUUID(); + //表中第一行表头字段 + String[] headers = null; + List listColumn = null; + headers = new String[]{"姓名", "学号", "班级", "签到情况", "缺勤理由", "签到日期"}; + listColumn = Arrays.asList("name", "studentId", "className", "teacherOpenCourseStudentSigninLogType", "teacherOpenCourseStudentSigninLogRemark", "teacherOpenCourseStudentSigninLogAddTime"); + //实际数据结果集 + + List resultListInfo = resultList(studentId, type, classId, page, size, signTime, signInfo, missInfo, signId, classIds); + + //具体需要写入excel需要哪些字段,这些字段取自UserReward类,也就是上面的实际数据结果集的泛型 + + try { + FilePortUtil.exportExcel(response, title, headers, resultListInfo, listColumn); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + //实际数据结果集 + private List resultList(String studentId, String type, String classId, Integer page, Integer size, Date signTime, + Integer signInfo, String missInfo, Long signId, String classIds) { + + List importExcelDTOList = new ArrayList<>(); + + //开始时间,结束时间,签到情况,缺勤理由 {班级ID,签到ID(默认查询)} 根据签到方式展示老师手动签到学生信息,其他学生默认全部签到 + TeacherOpenCourseStudentSigninLogExample openCourseStudentSigninLogExample = new TeacherOpenCourseStudentSigninLogExample(); + TeacherOpenCourseStudentSigninLogExample.Criteria criteria = openCourseStudentSigninLogExample.createCriteria(); + if (StringUtils.hasText(classIds)) { + String[] split = classIds.split(","); + + List collect = Arrays.stream(split) + .map(Long::valueOf) // 将每个字符串转换为 Long + .collect(Collectors.toList()); + criteria.andSchoolClassIdIn(collect); + + } + + if (StringUtils.hasText(studentId)) { + criteria.andStudentIdEqualTo(studentId); + } + + if (signTime != null) { + criteria.andTeacherOpenCourseStudentSigninSettingSessionTimeBetween(signTime, signTime); + } + + if (signInfo != null) { + criteria.andTeacherOpenCourseStudentSigninLogTagEqualTo(signInfo); + } + + if (StringUtils.hasText(missInfo)) { + criteria.andTeacherOpenCourseStudentSigninLogRemarkEqualTo(missInfo); + } + criteria.andTeacherOpenCourseStudentSigninSettingIdEqualTo(signId); + + //查询班级所有用户 + String[] split = classIds.split(","); + StuUserExample userExample = new StuUserExample(); + userExample.createCriteria().andClassIdIn(Arrays.stream(split).collect(Collectors.toList())); + List stuUserList = stuUserMapper.selectByExample(userExample); + if (stuUserList.isEmpty()) { + return null; + } + //手动签到 + if (StringUtils.hasText(type)) { + + if (Constant.MANUAL.equals(type)) { + //只能查出来老师手动签到的用户数据 未抽中用户默认已经签到并且要展示出来 + criteria.andTeacherOpenCourseStudentSigninLogTypeEqualTo(type); + + //往里面加数据teacherOpenCourseStudentSigninLogList + List teacherOpenCourseStudentSigninLogList = + teacherOpenCourseStudentSigninLogMapper.selectByExample(openCourseStudentSigninLogExample); + if (teacherOpenCourseStudentSigninLogList.isEmpty()) { + return null; + } else { +// for (StuUser stuUser : stuUserList) { +// for (TeacherOpenCourseStudentSigninLog studentSigninLog : teacherOpenCourseStudentSigninLogList) { +// if (stuUser.getStudentId().equals(studentSigninLog.getStudentId())) { +// continue; +// } else { +// //加入往里面加数据teacherOpenCourseStudentSigninLogList +// TeacherOpenCourseStudentSigninLog teacherOpenCourseStudentSigninLog = TeacherOpenCourseStudentSigninLog.builder() +// .studentId(stuUser.getStudentId()) +// .teacherOpenCourseStudentSigninLogAddTime(teacherOpenCourseStudentSigninLogList.get(0).getTeacherOpenCourseStudentSigninLogAddTime()) +// .teacherOpenCourseStudentSigninLogTag(10) +// .schoolClassId(Long.parseLong(stuUser.getClassId())).build(); +// teacherOpenCourseStudentSigninLogList.add(teacherOpenCourseStudentSigninLog); +// } +// +// } +// +// +// } + for (StuUser stuUser : stuUserList) { + StuImportExcelDTO stuImportExcelDTO = new StuImportExcelDTO(); + + boolean found = false; + for (TeacherOpenCourseStudentSigninLog studentSigninLog : teacherOpenCourseStudentSigninLogList) { + if (stuUser.getStudentId().equals(studentSigninLog.getStudentId())) { + stuImportExcelDTO.setStudentId(stuUser.getStudentId()); + stuImportExcelDTO.setName(stuUser.getName()); + stuImportExcelDTO.setClassName(stuUser.getClassName()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogAddTime(studentSigninLog.getTeacherOpenCourseStudentSigninLogAddTime()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogType(studentSigninLog.getTeacherOpenCourseStudentSigninLogType() == "manual" ? "手动签到" : studentSigninLog.getTeacherOpenCourseStudentSigninLogType()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogRemark(studentSigninLog.getTeacherOpenCourseStudentSigninLogRemark()); + importExcelDTOList.add(stuImportExcelDTO); + found = true; + break; // 找到匹配项,跳出内层循环 + } + } + if (!found) { + // 如果没有找到匹配项,加入新数据到 teacherOpenCourseStudentSigninLogList + stuImportExcelDTO.setStudentId(stuUser.getStudentId()); + stuImportExcelDTO.setName(stuUser.getName()); + stuImportExcelDTO.setClassName(stuUser.getClassName()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogAddTime(teacherOpenCourseStudentSigninLogList.get(0).getTeacherOpenCourseStudentSigninLogAddTime()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogType(teacherOpenCourseStudentSigninLogList.get(0).getTeacherOpenCourseStudentSigninLogType() == "manual" ? "手动签到" : teacherOpenCourseStudentSigninLogList.get(0).getTeacherOpenCourseStudentSigninLogType()); + + + importExcelDTOList.add(stuImportExcelDTO); + } + } + + return importExcelDTOList; + } + + } + + } + + List teacherOpenCourseStudentSigninLogList = + teacherOpenCourseStudentSigninLogMapper.selectByExample(openCourseStudentSigninLogExample); + + for (StuUser stuUser : stuUserList) { + + StuImportExcelDTO stuImportExcelDTO = new StuImportExcelDTO(); + for (TeacherOpenCourseStudentSigninLog studentSigninLog : teacherOpenCourseStudentSigninLogList) { + if (stuUser.getStudentId().equals(studentSigninLog.getStudentId())) + { + stuImportExcelDTO.setStudentId(stuUser.getStudentId()); + stuImportExcelDTO.setName(stuUser.getName()); + stuImportExcelDTO.setClassName(stuUser.getClassName()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogAddTime(studentSigninLog.getTeacherOpenCourseStudentSigninLogAddTime()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogType(studentSigninLog.getTeacherOpenCourseStudentSigninLogType() == "manual" ? "手动签到" : studentSigninLog.getTeacherOpenCourseStudentSigninLogType()); + stuImportExcelDTO.setTeacherOpenCourseStudentSigninLogRemark(studentSigninLog.getTeacherOpenCourseStudentSigninLogRemark()); + importExcelDTOList.add(stuImportExcelDTO); + + } + } + } + + return importExcelDTOList; } + }