|
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.teachcloud.common.base.BaseEntity;
|
|
|
+import com.qmth.teachcloud.common.bean.dto.BasicCourseExportDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
|
import com.qmth.teachcloud.common.bean.dto.excel.BasicCourseImportDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.excel.DescribeImportDto;
|
|
@@ -16,6 +17,7 @@ import com.qmth.teachcloud.common.entity.*;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.mapper.BasicCourseMapper;
|
|
|
import com.qmth.teachcloud.common.service.*;
|
|
|
+import com.qmth.teachcloud.common.util.ExcelUtil;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -23,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -116,7 +119,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
|
|
|
Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId,requestUser.getId(),ServletUtil.getRequest().getServletPath());
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
|
|
|
courseName = SystemConstant.translateSpecificSign(courseName);
|
|
|
IPage<BasicCourseResult> iPage = basicCourseMapper.findBasicCoursePage(new Page<>(pageNumber, pageSize), belongOrgId, courseName, startCreateTime, endCreateTime, schoolId, dpr);
|
|
@@ -293,6 +296,37 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
|
|
|
return this.list(basicCourseQueryWrapper);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void exportData(HttpServletResponse response, Long belongOrgId, String courseName, Long startCreateTime, Long endCreateTime) throws Exception {
|
|
|
+ Long schoolId = SystemConstant.convertIdToLong(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
+
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
+
|
|
|
+ courseName = SystemConstant.translateSpecificSign(courseName);
|
|
|
+ List<BasicCourseExportDto> courseExportDtos = basicCourseMapper.listExportData(belongOrgId, courseName, startCreateTime, endCreateTime, schoolId, dpr);
|
|
|
+ if (courseExportDtos.isEmpty()) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("没有可导出数据");
|
|
|
+ }
|
|
|
+ for (BasicCourseExportDto basicCourseExportDto : courseExportDtos) {
|
|
|
+ Long courseId = basicCourseExportDto.getId();
|
|
|
+ List<BasicUserCourse> basicUserCourseList = basicUserCourseService.list(new QueryWrapper<BasicUserCourse>().lambda().eq(BasicUserCourse::getCourseId, courseId));
|
|
|
+ Set<Long> clazzIdSet = basicUserCourseList.stream().map(BasicUserCourse::getClazzId).collect(Collectors.toSet());
|
|
|
+ if (clazzIdSet.size() > 0) {
|
|
|
+ List<BasicClazz> clazzList = basicClazzService.list(new QueryWrapper<BasicClazz>().lambda().in(BasicClazz::getId, clazzIdSet).orderByAsc(BasicClazz::getCreateTime));
|
|
|
+ if (clazzList.isEmpty()) {
|
|
|
+ basicCourseExportDto.setClazzName("");
|
|
|
+ } else {
|
|
|
+ List<String> clazzNameList = clazzList.stream().map(BasicClazz::getClazzName).collect(Collectors.toList());
|
|
|
+ basicCourseExportDto.setClazzName(String.join(",", clazzNameList));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ basicCourseExportDto.setClazzName("");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ExcelUtil.excelExport("课程数据", BasicCourseExportDto.class, courseExportDtos, response);
|
|
|
+ }
|
|
|
+
|
|
|
private List<BasicCourse> editEntityHelp(List<BasicCourseParams> basicCourseParamsList, SysUser sysUser) {
|
|
|
Long schoolId = sysUser.getSchoolId();
|
|
|
List<BasicCourse> basicCourseList = new ArrayList<>();
|