|
@@ -888,21 +888,35 @@ public class ExportServiceImpl implements ExportService {
|
|
|
@Async
|
|
|
public void studentVipPractice(String organId, ManagerDownload managerDownload) throws FileNotFoundException {
|
|
|
List<StudentVipPracticeExportDto> studentVipPracticeExportDtos = courseScheduleStudentPaymentDao.exportStudentVipPractice(organId);
|
|
|
- for (StudentVipPracticeExportDto studentVipPracticeExportDto : studentVipPracticeExportDtos) {
|
|
|
- String vipOverTeacherIds = studentVipPracticeExportDto.getVipOverTeacherIds();
|
|
|
- String vipOverTeacherNames = studentVipPracticeExportDto.getVipOverTeacherNames();
|
|
|
- if(StringUtils.isNotEmpty(vipOverTeacherIds) && vipOverTeacherIds.contains(",")){
|
|
|
- studentVipPracticeExportDto.setVipOverTeacherIds(vipOverTeacherIds.split(",")[0]);
|
|
|
- studentVipPracticeExportDto.setVipOverTeacherNames(vipOverTeacherNames.split(",")[0]);
|
|
|
- }
|
|
|
- String practiceOverTeacherIds = studentVipPracticeExportDto.getPracticeOverTeacherIds();
|
|
|
- String practiceOverTeacherNames = studentVipPracticeExportDto.getPracticeOverTeacherNames();
|
|
|
- if(StringUtils.isNotEmpty(practiceOverTeacherIds) && practiceOverTeacherIds.contains(",")){
|
|
|
- studentVipPracticeExportDto.setPracticeOverTeacherIds(practiceOverTeacherIds.split(",")[0]);
|
|
|
- studentVipPracticeExportDto.setPracticeOverTeacherNames(practiceOverTeacherNames.split(",")[0]);
|
|
|
+ if(studentVipPracticeExportDtos != null && studentVipPracticeExportDtos.size() > 0){
|
|
|
+ List<Integer> studentIds = studentVipPracticeExportDtos.stream().map(e -> e.getUserId()).collect(Collectors.toList());
|
|
|
+ //获取学员最后一节已结束的vip课的老师以及编号
|
|
|
+ List<BaseNameDto> vipBaseNameDtos = courseScheduleStudentPaymentDao.queryLastOverTeacher(studentIds,"VIP");
|
|
|
+ Map<Integer, List<BaseNameDto>> vipBaseNameMap = new HashMap<>();
|
|
|
+ if(vipBaseNameDtos != null && vipBaseNameDtos.size() > 0){
|
|
|
+ vipBaseNameMap = vipBaseNameDtos.stream().collect(Collectors.groupingBy(BaseNameDto::getUserId));
|
|
|
+ }
|
|
|
+ //获取学员最后一节已结束的网管课的老师以及编号
|
|
|
+ List<BaseNameDto> practiceBaseNameDtos = courseScheduleStudentPaymentDao.queryLastOverTeacher(studentIds,"PRACTICE");
|
|
|
+ Map<Integer, List<BaseNameDto>> practiceBaseNameMap = new HashMap<>();
|
|
|
+ if(practiceBaseNameDtos != null && practiceBaseNameDtos.size() > 0){
|
|
|
+ practiceBaseNameMap = practiceBaseNameDtos.stream().collect(Collectors.groupingBy(BaseNameDto::getUserId));
|
|
|
+ }
|
|
|
+ for (StudentVipPracticeExportDto studentVipPracticeExportDto : studentVipPracticeExportDtos) {
|
|
|
+ List<BaseNameDto> baseNameDtos = vipBaseNameMap.get(studentVipPracticeExportDto.getUserId());
|
|
|
+ if(baseNameDtos != null && baseNameDtos.size() > 0){
|
|
|
+ BaseNameDto baseNameDto = baseNameDtos.get(0);
|
|
|
+ studentVipPracticeExportDto.setVipOverTeacherId(baseNameDto.getTeacherId());
|
|
|
+ studentVipPracticeExportDto.setVipOverTeacherName(baseNameDto.getTeacherName());
|
|
|
+ }
|
|
|
+ List<BaseNameDto> baseNameDtos1 = practiceBaseNameMap.get(studentVipPracticeExportDto.getUserId());
|
|
|
+ if(baseNameDtos1 != null && baseNameDtos1.size() > 0){
|
|
|
+ BaseNameDto baseNameDto = baseNameDtos1.get(0);
|
|
|
+ studentVipPracticeExportDto.setPracticeOverTeacherId(baseNameDto.getTeacherId());
|
|
|
+ studentVipPracticeExportDto.setPracticeOverTeacherName(baseNameDto.getTeacherName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
String basePath = new ApplicationHome(this.getClass()).getSource().getParentFile().getPath();
|
|
|
File file = new File(basePath + "/" + managerDownload.getName());
|
|
|
FileOutputStream fileOutputStream = new FileOutputStream(file);
|
|
@@ -911,8 +925,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
try {
|
|
|
String[] header = {"分部", "学员编号", "学生姓名", "VIP已结束课时数", "VIP未开始课时数", "已结束VIP上课老师编号", "已结束VIP上课老师",
|
|
|
"网管课已结束课时数", "网管课未开始课时数", "已结束网管课上课老师编号", "已结束网管课上课老师", "指导老师编号", "指导老师"};
|
|
|
- String[] body = {"organName","userId", "username", "vipOverNum", "vipNotStartNum", "vipOverTeacherIds", "vipOverTeacherNames"
|
|
|
- , "practiceOverNum", "practiceNotStartNum", "practiceOverTeacherIds", "practiceOverTeacherNames","teacherId","teacherName"};
|
|
|
+ String[] body = {"organName","userId", "username", "vipOverNum", "vipNotStartNum", "vipOverTeacherId", "vipOverTeacherName"
|
|
|
+ , "practiceOverNum", "practiceNotStartNum", "practiceOverTeacherId", "practiceOverTeacherName","teacherId","teacherName"};
|
|
|
workbook = POIUtil.exportExcel(header, body, studentVipPracticeExportDtos);
|
|
|
workbook.write(fileOutputStream);
|
|
|
fileOutputStream.getFD().sync();
|