dzx 5 mēneši atpakaļ
vecāks
revīzija
619d969e18

+ 1 - 1
src/main/java/com/xjrsoft/module/courseTable/entity/CourseTable.java

@@ -33,7 +33,7 @@ public class CourseTable implements Serializable {
     private Long baseSemesterId;
 
     @ApiModelProperty("教师编号(用户表)")
-    private Long teacherId;
+    private String teacherId;
 
     @ApiModelProperty("教师名称")
     private String teacherName;

+ 4 - 4
src/main/java/com/xjrsoft/module/databoard/controller/DatadetailController.java

@@ -643,8 +643,8 @@ public class DatadetailController {
     public RT<CourseStatisticsDetailVo> courseStatistics(@Valid StatisticsDetailDto dto) {
         CourseStatisticsDetailVo result = new CourseStatisticsDetailVo();
         String sql = "SELECT t1.id, t1.name,t4.name AS dept_name," +
-                " (SELECT GROUP_CONCAT(DISTINCT(course_name)) FROM course_table WHERE teacher_id = t1.id) AS course_names," +
-                " (SELECT COUNT(*) FROM course_table WHERE teacher_id = t1.id) AS course_count FROM xjr_user t1" +
+                " (SELECT GROUP_CONCAT(DISTINCT(course_name)) FROM course_table WHERE teacher_id like concat('%', t1.id,'%') ) AS course_names," +
+                " (SELECT COUNT(*) FROM course_table WHERE teacher_id like concat('%', t1.id,'%')) AS course_count FROM xjr_user t1" +
                 " INNER JOIN base_teacher t2 ON t1.id = t2.user_id" +
                 " INNER JOIN xjr_user_dept_relation t3 ON t1.id = t3.user_id" +
                 " INNER JOIN xjr_department t4 ON t3.dept_id = t4.id" +
@@ -659,7 +659,7 @@ public class DatadetailController {
         result.setCourseCountList(courseCountList);
         
         sql = "SELECT count(*) FROM course_table t1" +
-            " INNER JOIN base_teacher t2 ON t1.teacher_id = t2.user_id" +
+            " INNER JOIN base_teacher t2 ON t1.teacher_id like concat('%', t2.user_id,'%')" +
             " INNER JOIN xjr_user_dept_relation t3 ON t2.user_id = t3.user_id" +
             " INNER JOIN xjr_department t4 ON t4.id = t3.dept_id" +
             " WHERE t4.delete_mark = 0 AND t2.delete_mark = 0" +
@@ -667,7 +667,7 @@ public class DatadetailController {
         long allCourseCount = SqlRunnerAdapter.db().selectCount(sql);
         sql = "SELECT name,(" +
             " SELECT COUNT(*) FROM course_table t1" +
-            " INNER JOIN base_teacher t2 ON t1.teacher_id = t2.user_id" +
+            " INNER JOIN base_teacher t2 ON t1.teacher_id like concat('%', t2.user_id,'%')" +
             " INNER JOIN xjr_user_dept_relation t3 ON t2.user_id = t3.user_id" +
             " WHERE t3.dept_id = xjr_department.id" +
             " ) AS course_count FROM xjr_department WHERE is_major = 1";

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

@@ -654,16 +654,27 @@ public class DataUtil {
             String scheduleDate = asJsonObject.get("scheduleDate").getAsString();
             String courseClassId = coureseMap.get(asJsonObject.get("courseClassId").getAsString());
             String courseClassName = asJsonObject.get("courseClassName").getAsString();
+            List<String> teacherIds = new ArrayList<>();
+            List<String> teacherNames = new ArrayList<>();
+            List<String> teacher_serial_nos = new ArrayList<>();
+            for (JsonElement teacher : teachers) {
+                JsonObject teacherJson = teacher.getAsJsonObject();
+                teacherIds.add(teacherMap.get(teacherJson.get("teacherSerialNo").getAsString())==null?"0":teacherMap.get(teacherJson.get("teacherSerialNo").getAsString()));
+                teacherNames.add(teacherJson.get("name").getAsString());
+                teacher_serial_nos.add(teacherJson.get("teacherSerialNo").getAsString());
+            }
             String teacherId = "0";
+            if(!teacherIds.isEmpty()){
+                teacherId = teacherIds.toString().replace("[", "").replace("]", "");
+            }
             String teacherName = "";
+            if(!teacherNames.isEmpty()){
+                teacherName = teacherNames.toString().replace("[", "").replace("]", "");
+            }
             String teacher_serial_no = "";
-            if(teachers.size() > 0){
-                JsonObject teacherJson = teachers.get(0).getAsJsonObject();
-                teacherId = (teacherMap.get(teacherJson.get("teacherSerialNo").getAsString())==null?"0":teacherMap.get(teacherJson.get("teacherSerialNo").getAsString()));
-                teacherName = teacherJson.get("name").getAsString();
-                teacher_serial_no = teacherJson.get("teacherSerialNo").getAsString();
+            if(!teacher_serial_nos.isEmpty()){
+                teacher_serial_no = teacher_serial_nos.toString().replace("[", "").replace("]", "");
             }
-
             String onlyKey = scheduleDate + classId + timeNumber;
             if(oldDataMap.get(onlyKey) != null){
                 String updSql = "update course_table set teacher_serial_no = '" + teacher_serial_no + "'" +
@@ -748,6 +759,14 @@ public class DataUtil {
                     + " and number = " + timeNumber + ")";
 //            sqls.add(sql);
             SqlRunnerAdapter.db().insert(sql);
+
+            String updSql = "update class_time set" +
+                    " summer_start_time = '" +jsonObject.get("startTime").getAsString()  + "'," +
+                    " summer_end_time = '" + jsonObject.get("endTime").getAsString() + "'," +
+                    " winter_start_time = '" + jsonObject.get("startTime").getAsString() + "'," +
+                    " winter_end_time = '" + jsonObject.get("endTime").getAsString() + "'" +
+                    " WHERE time_period = " + jsonObject.get("tmePeriod").getAsInt() + " and number = " + timeNumber;
+            SqlRunnerAdapter.db().insert(updSql);
             count ++;
         }
     }

+ 7 - 6
src/main/resources/mapper/courseTable/CourseTable.xml

@@ -4,8 +4,11 @@
         "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, t2.name AS 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 xjr_user t2 ON t1.teacher_id = t2.id
+        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
+        <if test="dto.courseType != null and dto.courseType != '' and dto.courseType == 'teacher' and dto.teacherId != null">
+            LEFT JOIN xjr_user t2 ON t1.teacher_id like concat('%', t2.id, '%')
+        </if>
+
         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
@@ -18,10 +21,8 @@
         <if test="dto.weekDay != null">
             and t1.weeks = #{dto.weekDay}
         </if>
-        <if test="dto.courseType != null and dto.courseType != '' and dto.courseType == 'teacher'">
-            <if test="dto.teacherId != null ">
-                and t1.teacher_id = #{dto.teacherId}
-            </if>
+        <if test="dto.courseType != null and dto.courseType != '' and dto.courseType == 'teacher' and dto.teacherId != null">
+            and t1.teacher_id like concat('%', #{dto.teacherId}, '%')
         </if>
 
         <if test="dto.courseType != null and dto.courseType != '' and dto.courseType == 'class'">