|
@@ -26,7 +26,6 @@ import com.ym.mec.util.date.DateUtil;
|
|
|
import com.ym.mec.util.excel.POIUtil;
|
|
|
import com.ym.mec.util.ini.IniFileUtil;
|
|
|
import com.ym.mec.util.upload.UploadUtil;
|
|
|
-
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -39,9 +38,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-
|
|
|
import java.io.*;
|
|
|
-import java.lang.reflect.InvocationTargetException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
@@ -52,6 +49,7 @@ import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ym.mec.biz.dal.enums.OrderTypeEnum.OUTORDER;
|
|
|
+import static com.ym.mec.common.controller.BaseController.succeed;
|
|
|
|
|
|
@Service
|
|
|
public class ExportServiceImpl implements ExportService {
|
|
@@ -107,8 +105,6 @@ public class ExportServiceImpl implements ExportService {
|
|
|
@Autowired
|
|
|
private PracticeGroupService practiceGroupService;
|
|
|
@Autowired
|
|
|
- private CourseScheduleService scheduleService;
|
|
|
- @Autowired
|
|
|
private SporadicChargeInfoService sporadicChargeInfoService;
|
|
|
@Autowired
|
|
|
private CourseReviewService courseReviewService;
|
|
@@ -178,6 +174,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
private SysUserCashAccountLogService sysUserCashAccountLogService;
|
|
|
@Autowired
|
|
|
private StudentStatisticsService studentStatisticsService;
|
|
|
+ private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
|
|
|
|
|
|
@Value("${spring.profiles.active:dev}")
|
|
|
private String profiles;
|
|
@@ -1393,17 +1390,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
// queryInfo.setRoutingOrganId(null);
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.ROUTE_ORDER,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.routeOrderList(params, managerDownload, headColumns);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }, executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.routeOrderList(params, managerDownload, headColumns),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//学员小课记录导出
|
|
@@ -1417,17 +1405,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.STUDENT_VIP_PRACTICE,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.studentVipPractice(organId, managerDownload, tenantId,headColumns);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.studentVipPractice(organId, managerDownload, tenantId,headColumns),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//学员小课记录导出
|
|
@@ -1441,17 +1420,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.STUDENT_VIP_COURSE_INFO,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.queryStudentCourseInfo(organId, tenantId,"VIP", managerDownload,headColumns,ExportEnum.STUDENT_VIP_COURSE_INFO);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.queryStudentCourseInfo(organId, tenantId,"VIP", managerDownload,headColumns,ExportEnum.STUDENT_VIP_COURSE_INFO),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//vip学员课程管理
|
|
@@ -1461,17 +1431,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
String organId = organizationService.getEmployeeOrgan(sysUser.getId(),getParam(info, "organId", String.class),sysUser.getIsSuperAdmin());
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.VIP_STUDENT_COURSE_MANAGE,sysUser.getId());
|
|
|
Integer tenantId = TenantContextHolder.getTenantId();
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.queryVipStudentCourseManage(organId, tenantId,managerDownload,headColumns,ExportEnum.VIP_STUDENT_COURSE_MANAGE);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.queryVipStudentCourseManage(organId, tenantId,managerDownload,headColumns,ExportEnum.VIP_STUDENT_COURSE_MANAGE),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//学员小课记录导出
|
|
@@ -1485,17 +1446,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.STUDENT_MUSIC_THEORY_COURSE_INFO,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.queryStudentCourseInfo(organId, tenantId,"THEORY", managerDownload,headColumns,ExportEnum.STUDENT_MUSIC_THEORY_COURSE_INFO);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.queryStudentCourseInfo(organId, tenantId,"THEORY", managerDownload,headColumns,ExportEnum.STUDENT_MUSIC_THEORY_COURSE_INFO),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//订单列表导出
|
|
@@ -1525,17 +1477,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
return BaseController.failed("数据集太大,不能导出.最大数据集不能超过50000");
|
|
|
}
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.ORDER,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.orderList(params, managerDownload, headColumns);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.orderList(params, managerDownload, headColumns),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//订单列表导出
|
|
@@ -1565,17 +1508,8 @@ public class ExportServiceImpl implements ExportService {
|
|
|
return BaseController.failed("数据集太大,不能导出.最大数据集不能超过50000");
|
|
|
}
|
|
|
ManagerDownload managerDownload = saveManagerDownload(ExportTypeEnum.ORDER_LIST_SUM,sysUser.getId());
|
|
|
- ExecutorService executor = Executors.newCachedThreadPool();
|
|
|
- CompletableFuture.runAsync(()->{
|
|
|
- try {
|
|
|
- this.orderListSum(params, managerDownload, headColumns);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- },executor);
|
|
|
- HttpResponseResult<Object> succeed = BaseController.succeed();
|
|
|
- succeed.setMsg(managerDownload.getName() + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
- return succeed;
|
|
|
+ return this.asyncExport(() -> this.orderListSum(params, managerDownload, headColumns),
|
|
|
+ managerDownload.getName());
|
|
|
}
|
|
|
|
|
|
//保存下载记录
|
|
@@ -1601,7 +1535,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public void orderList(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns) throws Exception {
|
|
|
+ public void orderList(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns){
|
|
|
List<StudentPaymentOrderExportDto> studentPaymentOrderExportDtos = studentPaymentOrderService.ExportQueryPage(params);
|
|
|
long i = 1;
|
|
|
Map<Integer, String> cooperationOrganMap = new HashMap<>();
|
|
@@ -2043,7 +1977,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void orderListSum(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns) throws Exception{
|
|
|
+ public void orderListSum(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns){
|
|
|
List<StudentPaymentOrderExportDto> studentPaymentOrderExportDtos = studentPaymentOrderService.ExportQueryPage(params);
|
|
|
//获取机构费率
|
|
|
Integer tenantId = (Integer) params.get("tenantId");
|
|
@@ -2309,7 +2243,7 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void routeOrderList(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns) throws Exception {
|
|
|
+ public void routeOrderList(Map<String, Object> params, ManagerDownload managerDownload,List<String> headColumns){
|
|
|
List<StudentPaymentOrderExportDto> studentPaymentOrderExportDtos = studentPaymentRouteOrderDao.ExportQueryPage(params);
|
|
|
Map<Integer, String> cooperationOrganMap = new HashMap<>();
|
|
|
List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
|
|
@@ -2873,21 +2807,25 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void superFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo, ManagerDownload managerDownload) throws Exception{
|
|
|
- List<CourseScheduleEndDto> rows = courseScheduleService.endFindCourseSchedules(queryInfo).getRows();
|
|
|
- for (CourseScheduleEndDto row : rows) {
|
|
|
- row.setIsComplaints(StringUtils.equals(row.getIsComplaints(), "1") ? "有" : "无");
|
|
|
- }
|
|
|
- HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "乐团主管", "课程编号", "开始时间", "结束时间",
|
|
|
- "班级名称", "班级声部", "课程名称", "课程类型", "教学模式",
|
|
|
- "教学点", "课程状态", "指导老师", "学员编号", "是否点名", "是否有考勤申诉", "预计上课人数","合作单位"}, new String[]{
|
|
|
- "organName", "educationTeacherName", "id", "startClassTime", "endClassTime", "classGroupName", "subjectName", "name",
|
|
|
- "groupType.desc", "teachMode.msg", "schoolName", "status.msg", "teacherName", "studentId", "isCallNames.msg", "isComplaints", "studentNum","cooperationOrgan"}, rows);
|
|
|
- exportManagerDownload(workbook,managerDownload);
|
|
|
+ public void superFindCourseSchedules(EndCourseScheduleQueryInfo queryInfo, ManagerDownload managerDownload){
|
|
|
+ try {
|
|
|
+ List<CourseScheduleEndDto> rows = courseScheduleService.endFindCourseSchedules(queryInfo).getRows();
|
|
|
+ for (CourseScheduleEndDto row : rows) {
|
|
|
+ row.setIsComplaints(StringUtils.equals(row.getIsComplaints(), "1") ? "有" : "无");
|
|
|
+ }
|
|
|
+ HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部名称", "乐团主管", "课程编号", "开始时间", "结束时间",
|
|
|
+ "班级名称", "班级声部", "课程名称", "课程类型", "教学模式",
|
|
|
+ "教学点", "课程状态", "指导老师", "学员编号", "是否点名", "是否有考勤申诉", "预计上课人数","合作单位"}, new String[]{
|
|
|
+ "organName", "educationTeacherName", "id", "startClassTime", "endClassTime", "classGroupName", "subjectName", "name",
|
|
|
+ "groupType.desc", "teachMode.msg", "schoolName", "status.msg", "teacherName", "studentId", "isCallNames.msg", "isComplaints", "studentNum","cooperationOrgan"}, rows);
|
|
|
+ exportManagerDownload(workbook,managerDownload);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void studentVipPractice(String organId, ManagerDownload managerDownload, Integer tenantId,List<String> headColumns) throws Exception{
|
|
|
+ public void studentVipPractice(String organId, ManagerDownload managerDownload, Integer tenantId,List<String> headColumns){
|
|
|
List<StudentVipPracticeExportDto> studentVipPracticeExportDtos = courseScheduleStudentPaymentDao.exportStudentVipPractice(organId, tenantId);
|
|
|
if(studentVipPracticeExportDtos != null && studentVipPracticeExportDtos.size() > 0){
|
|
|
List<Integer> studentIds = studentVipPracticeExportDtos.stream().map(e -> e.getUserId()).distinct().collect(Collectors.toList());
|
|
@@ -2959,63 +2897,74 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void queryStudentCourseInfo(String organId, Integer tenantId, String groupType, ManagerDownload managerDownload, List<String> headColumns,ExportEnum exportEnum) throws Exception {
|
|
|
+ public void queryStudentCourseInfo(String organId, Integer tenantId, String groupType, ManagerDownload managerDownload, List<String> headColumns,ExportEnum exportEnum){
|
|
|
List<ExportStudentCourseInfoDto> rows = courseScheduleStudentPaymentDao.queryStudentCourseInfo(organId,tenantId,groupType);
|
|
|
HSSFWorkbook workbook = getHSSFWorkbook(rows,headColumns,exportEnum);
|
|
|
exportManagerDownload(workbook,managerDownload);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void queryVipStudentCourseManage(String organId, Integer tenantId, ManagerDownload managerDownload, List<String> headColumns, ExportEnum exportEnum) throws Exception{
|
|
|
+ public void queryVipStudentCourseManage(String organId, Integer tenantId, ManagerDownload managerDownload, List<String> headColumns, ExportEnum exportEnum){
|
|
|
List<ExportVipStudentCourseManageDto> rows = courseScheduleStudentPaymentDao.queryVipStudentCourseManage(organId,tenantId);
|
|
|
- HSSFWorkbook workbook = getHSSFWorkbook(rows,headColumns,exportEnum);
|
|
|
- exportManagerDownload(workbook,managerDownload);
|
|
|
+ exportManagerDownload(getHSSFWorkbook(rows,headColumns,exportEnum),managerDownload);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void exportStudentSmallClassStatisticsSum(StudentStatisticsQueryInfo queryInfo, ManagerDownload managerDownload) throws Exception{
|
|
|
+ public void exportStudentSmallClassStatisticsSum(StudentStatisticsQueryInfo queryInfo, ManagerDownload managerDownload){
|
|
|
List<StudentStatisticsDto> rows = studentStatisticsService.queryStatisticsPage(queryInfo).getRows();
|
|
|
- HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "学生姓名", "学员编号","联系电话", "声部", "学校", "年级", "学员状态", "未排课时", "总课时", "已完成课时",
|
|
|
- "剩余课时","预收金额","第一次课时间","最近上课时间","指导老师编号","指导老师","乐团主管编号","乐团主管","声部课老师编号","声部课老师","近30天课耗","回访次数",
|
|
|
- "回访状态","原因","回访日期"},
|
|
|
- new String[]{"studentBasicInfo.organName", "studentBasicInfo.userName", "studentBasicInfo.userId",
|
|
|
- "studentBasicInfo.phone","studentBasicInfo.subjectName", "studentBasicInfo.cooperationOrganName", "studentBasicInfo.grade",
|
|
|
- "studentBasicInfo.studentStatus",
|
|
|
- "noScheduleNum","totalCourseNum", "overCourseNum", "subCourseNum","preCourseFee","firstCourseTime","lastCourseTime","teacherId","teacherName","musicDirectorId","musicDirectorName",
|
|
|
- "studentBasicInfo.subjectTeacherId","studentBasicInfo.subjectTeacherName","latelyCourseConsumer","visitNum",
|
|
|
- "lastVisitStatus == null?'':lastVisitStatus == 'LOST' ? '流失':lastVisitStatus == 'THINKING' ? '考虑中':" +
|
|
|
- "lastVisitStatus == 'PENDING_PAYMENT' ? '确认缴费待缴费':lastVisitStatus == 'PAUSE' ? '暂停':lastVisitStatus == 'OTHER' ? '其他':''"
|
|
|
- ,"visitReason","lastVisitTime"}, rows);
|
|
|
- exportManagerDownload(workbook,managerDownload);
|
|
|
+ try {
|
|
|
+ HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "学生姓名", "学员编号","联系电话", "声部", "学校", "年级", "学员状态", "未排课时", "总课时", "已完成课时",
|
|
|
+ "剩余课时","预收金额","第一次课时间","最近上课时间","指导老师编号","指导老师","乐团主管编号","乐团主管","声部课老师编号","声部课老师","近30天课耗","回访次数",
|
|
|
+ "回访状态","原因","回访日期"},
|
|
|
+ new String[]{"studentBasicInfo.organName", "studentBasicInfo.userName", "studentBasicInfo.userId",
|
|
|
+ "studentBasicInfo.phone","studentBasicInfo.subjectName", "studentBasicInfo.cooperationOrganName", "studentBasicInfo.grade",
|
|
|
+ "studentBasicInfo.studentStatus",
|
|
|
+ "noScheduleNum","totalCourseNum", "overCourseNum", "subCourseNum","preCourseFee","firstCourseTime","lastCourseTime","teacherId","teacherName","musicDirectorId","musicDirectorName",
|
|
|
+ "studentBasicInfo.subjectTeacherId","studentBasicInfo.subjectTeacherName","latelyCourseConsumer","visitNum",
|
|
|
+ "lastVisitStatus == null?'':lastVisitStatus == 'LOST' ? '流失':lastVisitStatus == 'THINKING' ? '考虑中':" +
|
|
|
+ "lastVisitStatus == 'PENDING_PAYMENT' ? '确认缴费待缴费':lastVisitStatus == 'PAUSE' ? '暂停':lastVisitStatus == 'OTHER' ? '其他':''"
|
|
|
+ ,"visitReason","lastVisitTime"}, rows);
|
|
|
+ exportManagerDownload(workbook,managerDownload);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void exportMusicGroupCourseScheduleDetail(queryMusicGroupCourseScheduleQueryInfo queryInfo, ManagerDownload managerDownload) throws Exception{
|
|
|
+ public void exportMusicGroupCourseScheduleDetail(queryMusicGroupCourseScheduleQueryInfo queryInfo, ManagerDownload managerDownload) {
|
|
|
List<MusicGroupCourseScheduleDto> rows = classGroupService.queryMusicGroupCourseScheduleDetail(queryInfo).getRows();
|
|
|
- HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"课程编号", "课程开始时间", "课程结束时间", "课程名称","课程类型", "课程状态", "老师签到", "老师签退", "指导老师",
|
|
|
- "出勤率", "达标率", "是否服务", "是否布置课后作业", "作业提交率", "结算状态", "是否点名", "备注"},
|
|
|
- new String[]{"courseScheduleId", "classDate + ' ' + startClassTime", "classDate + ' ' + endClassTime",
|
|
|
- "courseScheduleName","courseScheduleType.msg", "courseScheduleStatus.msg", "signInStatus.msg",
|
|
|
- "signOutStatus.msg","masterTeacherName",
|
|
|
- "courseScheduleStatistics.attendanceRate","courseScheduleStatistics.standardRate",
|
|
|
- "courseScheduleStatistics.serviceFlag == false ? '否':'是'","courseScheduleStatistics.homeworkFlag == false ? '否':'是'","courseScheduleStatistics.homeworkCommitRate",
|
|
|
- "settlementTime == null?'未结算':'已结算'", "isCallNames.msg", "remark"}, rows);
|
|
|
- exportManagerDownload(workbook,managerDownload);
|
|
|
+ try {
|
|
|
+ HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"课程编号", "课程开始时间", "课程结束时间", "课程名称","课程类型", "课程状态", "老师签到", "老师签退", "指导老师",
|
|
|
+ "出勤率", "达标率", "是否服务", "是否布置课后作业", "作业提交率", "结算状态", "是否点名", "备注"},
|
|
|
+ new String[]{"courseScheduleId", "classDate + ' ' + startClassTime", "classDate + ' ' + endClassTime",
|
|
|
+ "courseScheduleName","courseScheduleType.msg", "courseScheduleStatus.msg", "signInStatus.msg",
|
|
|
+ "signOutStatus.msg","masterTeacherName",
|
|
|
+ "courseScheduleStatistics.attendanceRate","courseScheduleStatistics.standardRate",
|
|
|
+ "courseScheduleStatistics.serviceFlag == false ? '否':'是'","courseScheduleStatistics.homeworkFlag == false ? '否':'是'","courseScheduleStatistics.homeworkCommitRate",
|
|
|
+ "settlementTime == null?'未结算':'已结算'", "isCallNames.msg", "remark"}, rows);
|
|
|
+ exportManagerDownload(workbook,managerDownload);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public HSSFWorkbook getHSSFWorkbook(List rows, List<String> headColumns, ExportEnum exportEnum) throws Exception{
|
|
|
- Map<String, String> headMap = getExportMap(new ExportDto(exportEnum, headColumns));
|
|
|
- String[] header = headMap.keySet().toArray(new String[headMap.keySet().size()]);
|
|
|
- String[] body = headMap.values().toArray(new String[headMap.keySet().size()]);
|
|
|
- return POIUtil.exportExcel(header, body, rows);
|
|
|
+ public HSSFWorkbook getHSSFWorkbook(List rows, List<String> headColumns, ExportEnum exportEnum){
|
|
|
+ try {
|
|
|
+ Map<String, String> headMap = getExportMap(new ExportDto(exportEnum, headColumns));
|
|
|
+ String[] header = headMap.keySet().toArray(new String[headMap.keySet().size()]);
|
|
|
+ String[] body = headMap.values().toArray(new String[headMap.keySet().size()]);
|
|
|
+ return POIUtil.exportExcel(header, body, rows);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BizException(e);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- public void exportManagerDownload(HSSFWorkbook workbook, ManagerDownload managerDownload) throws FileNotFoundException {
|
|
|
+ public void exportManagerDownload(HSSFWorkbook workbook, ManagerDownload managerDownload){
|
|
|
String basePath = new ApplicationHome(this.getClass()).getSource().getParentFile().getPath();
|
|
|
File file = new File(basePath + "/" + managerDownload.getName());
|
|
|
- FileOutputStream fileOutputStream = new FileOutputStream(file);
|
|
|
OutputStream ouputStream = null;
|
|
|
try {
|
|
|
+ FileOutputStream fileOutputStream = new FileOutputStream(file);
|
|
|
workbook.write(fileOutputStream);
|
|
|
fileOutputStream.getFD().sync();
|
|
|
fileOutputStream.close();
|
|
@@ -3040,13 +2989,25 @@ public class ExportServiceImpl implements ExportService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void exportMusicGroupCourseList(ManagerDownload managerDownload, ExportUserAccountQueryInfo queryInfo) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException, IOException {
|
|
|
+ public void exportMusicGroupCourseList(ManagerDownload managerDownload, ExportUserAccountQueryInfo queryInfo){
|
|
|
List<MusicGroupExportDto> rows = musicGroupDao.exportMusicGroupCourseList(queryInfo);
|
|
|
- HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "乐团编号", "乐团名称", "乐团主管","出勤率", "达标率", "作业提交率", "成团人数", "新增人数",
|
|
|
- "退团人数", "在读人数","流失率"},
|
|
|
- new String[]{"organName", "musicGroupId", "musicGroupName",
|
|
|
- "eduName","attendanceRate", "standardRate", "homeworkCommitRate",
|
|
|
- "groupMemberNum","addStuNum","quitStuNum","normalNum","lostRate"}, rows);
|
|
|
- exportManagerDownload(workbook,managerDownload);
|
|
|
+ try {
|
|
|
+ HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "乐团编号", "乐团名称", "乐团主管","出勤率", "达标率", "作业提交率", "成团人数", "新增人数",
|
|
|
+ "退团人数", "在读人数","流失率"},
|
|
|
+ new String[]{"organName", "musicGroupId", "musicGroupName",
|
|
|
+ "eduName","attendanceRate", "standardRate", "homeworkCommitRate",
|
|
|
+ "groupMemberNum","addStuNum","quitStuNum","normalNum","lostRate"}, rows);
|
|
|
+ exportManagerDownload(workbook,managerDownload);
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpResponseResult asyncExport(Runnable runnable,String excelName) {
|
|
|
+ CompletableFuture.runAsync(runnable,exportExecutorService);
|
|
|
+ HttpResponseResult<Object> succeed = succeed();
|
|
|
+ succeed.setMsg(excelName + "导出申请已提交,请到【报表中心-下载列表查看】");
|
|
|
+ return succeed;
|
|
|
}
|
|
|
}
|