Procházet zdrojové kódy

课表导出报错解决

dzx před 7 měsíci
rodič
revize
b1ad864275

+ 1 - 1
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -1439,7 +1439,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             if(classList.isEmpty()){
                 throw new MyException("未查询到班级,无法导出");
             }
-            Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().collect(Collectors.groupingBy(CourseDetailVo::getClassName));
+            Map<String, List<CourseDetailVo>> classDataMap = tableVo.getCourseList().stream().filter(x -> x.getClassName() != null).collect(Collectors.groupingBy(CourseDetailVo::getClassName));
             ArrayList<ArrayList<String>> dataList = new ArrayList<>();
             for (BaseClass baseClass : classList) {
                 List<CourseDetailVo> detailVoList = classDataMap.get(baseClass.getName());

+ 7 - 2
src/main/java/com/xjrsoft/module/schedule/util/CourseTableExportQueryUtil.java

@@ -135,7 +135,10 @@ public class CourseTableExportQueryUtil {
                             content += courseDetailVo.getClassroomName() + "\r\n";
                             content += courseDetailVo.getClassName();
                         } else if ("class".equals(courseType)) {
-                            content += courseDetailVo.getClassroomName() + "\r\n";
+                            if(courseDetailVo.getClassroomName() != null){
+                                content += courseDetailVo.getClassroomName() + "\r\n";
+                            }
+
                             content += courseDetailVo.getTeacherName();
                         } else if("classroom".equals(courseType)){
                             content += courseDetailVo.getClassName() + "\r\n";
@@ -148,7 +151,9 @@ public class CourseTableExportQueryUtil {
                             content += courseDetailVo.getClassroomName() + "\r\n";
                             content += courseDetailVo.getClassName();
                         } else if ("class".equals(courseType)) {
-                            content += courseDetailVo.getClassroomName() + "\r\n";
+                            if(courseDetailVo.getClassroomName() != null){
+                                content += courseDetailVo.getClassroomName() + "\r\n";
+                            }
                             Set<String> classNames = list.stream().map(CourseDetailVo::getTeacherName).collect(Collectors.toSet());
                             content += classNames.toString().replace("]", "").replace("[", "").replace(" ", "");
                         } else if("classroom".equals(courseType)){

+ 1 - 1
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -350,7 +350,7 @@ public class DataUtil {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String spring = "春";
         String autumn = "秋";
-
+        //  秋1春2
         for (Map<String, Object> semesterMap : list) {
             BaseSemester semester = SqlRunnerAdapterUtil.convertMapToEntity(semesterMap, BaseSemester.class);
             String url = ScheduleUtil.apiUrl + "semester/Create";

+ 1 - 1
src/main/resources/mapper/courseTable/CourseTable.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.courseTable.mapper.CourseTableMapper">
     <select id="getList" parameterType="com.xjrsoft.module.schedule.dto.CourseTableDto" resultType="com.xjrsoft.module.schedule.vo.CourseDetailVo">
-        SELECT t1.course_name, t1.teacher_name,CONCAT(t4.name,t3.name) AS classroom_name,t1.weeks,t1.time_period,t1.time_number,t5.name as class_name,t1.schedule_date,t1.adjust_type FROM course_table t1
+        SELECT distinct  t1.course_name, t1.teacher_name,CONCAT(t4.name,t3.name) AS classroom_name,t1.weeks,t1.time_period,t1.time_number,t5.name as class_name,t1.schedule_date,t1.adjust_type FROM course_table t1
         LEFT JOIN base_classroom t3 ON t1.site_id = t3.id
         LEFT JOIN base_office_build t4 ON t3.office_build_id = t4.id
         LEFT JOIN base_class t5 ON t1.class_id = t5.id