Browse Source

解决课表查询条件不生效的问题

dzx 1 year ago
parent
commit
65315e82c0

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

@@ -62,7 +62,6 @@ import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -201,15 +200,15 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             if(dto.getWeek() == null){
 
                 for (int i = 0; i < weeks; i ++){
-                    LocalDateTime startDate = startDateTime.plusDays(i * 7).withHour(0).withMinute(0).withSecond(0).withNano(0);
-                    LocalDateTime endDate = startDateTime.plusDays((i + 1) * 7).withHour(23).withMinute(59).withSecond(59).withNano(9999);
+                    LocalDateTime startDate = startDateTime.plusDays(i * 6).withHour(0).withMinute(0).withSecond(0).withNano(0);
+                    LocalDateTime endDate = startDateTime.plusDays((i + 1) * 6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
                     if(now.isAfter(startDate) && now.isBefore(endDate)){
                         tableVo.setWeek("第" + (i + 1) + "周");
                     }
                 }
             }else{
-                LocalDateTime startDate = startDateTime.plusDays((dto.getWeek() - 1) * 7).withHour(0).withMinute(0).withSecond(0).withNano(0);
-                LocalDateTime endDate = startDateTime.plusDays(dto.getWeek() * 7).withHour(23).withMinute(59).withSecond(59).withNano(9999);
+                LocalDateTime startDate = startDateTime.plusDays((dto.getWeek() - 1) * 6).withHour(0).withMinute(0).withSecond(0).withNano(0);
+                LocalDateTime endDate = startDateTime.plusDays(dto.getWeek() * 6).withHour(23).withMinute(59).withSecond(59).withNano(9999);
                 dto.setStartDate(startDate);
                 dto.setEndDate(endDate);
                 tableVo.setWeek("第" + dto.getWeek() + "周");
@@ -220,8 +219,12 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             List<XjrUser> userList = teacherbaseManagerService.list(
                 new QueryWrapper<XjrUser>().lambda()
                 .like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getName, dto.getTeacherName())
-                .like(!StrUtil.isEmpty(dto.getJobNumber()), XjrUser::getCode, dto.getJobNumber())
             );
+            List<XjrUser> userList2 = teacherbaseManagerService.list(
+                new QueryWrapper<XjrUser>().lambda()
+                .like(!StrUtil.isEmpty(dto.getTeacherName()), XjrUser::getCode, dto.getTeacherName())
+            );
+            userList.addAll(userList2);
             if(userList != null && !userList.isEmpty()){
                 XjrUser xjrUser = userList.get(0);
                 dto.setTeacherId(xjrUser.getId());
@@ -249,6 +252,7 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             LocalDate localDateTime = LocalDate.parse(adjustDate, formatter);
             DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();
+            dto.setAdjustDate(adjustDate);
             dto.setWeek(dayOfWeek.getValue());
         }
         dto.setTeacherId(Long.parseLong(teacherId));

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

@@ -11,7 +11,6 @@ import com.xjrsoft.module.base.entity.BaseCourseSubject;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.base.entity.BaseLabel;
 import com.xjrsoft.module.base.entity.BaseSemester;
-import com.xjrsoft.module.organization.entity.Department;
 import com.xjrsoft.module.schedule.vo.ClassroomJianyuekbVo;
 import com.xjrsoft.module.schedule.vo.StudentJianyuekbVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
@@ -24,6 +23,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * @author dzx
@@ -245,12 +245,13 @@ public class DataUtil {
             }
             JsonObject paramJson = new JsonObject();
 
-            paramJson.addProperty("schoolYear", Integer.parseInt(sdfYear.format(semester.getStartDate())));
             Integer period = null;
             if(semester.getName().contains(spring)){
-                period = 1;
-            }else if(semester.getName().contains(autumn)){
                 period = 2;
+                paramJson.addProperty("schoolYear", Integer.parseInt(sdfYear.format(semester.getStartDate())) - 1);
+            }else if(semester.getName().contains(autumn)){
+                period = 1;
+                paramJson.addProperty("schoolYear", Integer.parseInt(sdfYear.format(semester.getStartDate())));
             }
             //获取时间戳
             long timestamp = System.currentTimeMillis();
@@ -442,7 +443,6 @@ public class DataUtil {
         jsonObject.addProperty("startDate", startDate);
         jsonObject.addProperty("endDate", endDate);
         String result = ScheduleUtil.doPost(url, jsonObject.toString(), sign, timestamp);
-
         JsonObject asJsonObject = jsonParser.parse(result).getAsJsonObject();
         return asJsonObject.get("data").getAsJsonArray();
     }
@@ -474,12 +474,12 @@ public class DataUtil {
             if(!StrUtil.isEmpty(numberOfDayName)){
                 timeNumber = Integer.parseInt(numberOfDayName.substring(numberOfDayName.length() - 1));
             }
-            String updateSql = "update course_table set status = 3 where class_id = " + classMap.get(asJsonObject.get("classSerialNo").getAsString())
-                    + " and time_period = " + tmePeriod.get(asJsonObject.get("timeOption").getAsInt())
-                    + " and time_number = " + timeNumber
-                    + " and weeks = " + asJsonObject.get("dayOfWeek").getAsInt()
-                    + " and course_id = " + coureseMap.get(asJsonObject.get("courseClassId").getAsString())
-                    + " and schedule_date = '" + asJsonObject.get("scheduleDate").getAsString() + "'";
+//            String updateSql = "update course_table set status = 3 where class_id = " + classMap.get(asJsonObject.get("classSerialNo").getAsString())
+//                    + " and time_period = " + tmePeriod.get(asJsonObject.get("timeOption").getAsInt())
+//                    + " and time_number = " + timeNumber
+//                    + " and weeks = " + asJsonObject.get("dayOfWeek").getAsInt()
+//                    + " and course_id = " + coureseMap.get(asJsonObject.get("courseClassId").getAsString())
+//                    + " and schedule_date = '" + asJsonObject.get("scheduleDate").getAsString() + "'";
 
             String sql = "INSERT INTO course_table(id,base_semester_id,teacher_id,teacher_name,teacher_serial_no,course_id,course_name," +
                     "class_id, class_name,weeks,weeks_cn,time_period,time_number,site_id,site_name,status," +
@@ -487,11 +487,10 @@ public class DataUtil {
                     + semesterMap.get(asJsonObject.get("semesterSerialNo").getAsString()) + ",";
             if(teachers.size() > 0){
                 JsonObject teacherJson = teachers.get(0).getAsJsonObject();
-                updateSql += " and teacher_id = " + teacherMap.get(teacherJson.get("teacherSerialNo").getAsString());
+//                updateSql += " and teacher_id = " + teacherMap.get(teacherJson.get("teacherSerialNo").getAsString());
                 sql += teacherMap.get(teacherJson.get("teacherSerialNo").getAsString()) + ","
                     + "'" + teacherJson.get("name").getAsString() + "',"
                     + "'" + teacherJson.get("teacherSerialNo").getAsString() + "',";
-                log.info("teachers.size():" + teachers.size());
             }else{
                 sql += "0,'',null,";
             }
@@ -508,7 +507,7 @@ public class DataUtil {
                 + "'" + asJsonObject.get("scheduleDate").getAsString() + "',"
                 + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
                 + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' and status = 1)";
-            sqls.add(updateSql);
+//            sqls.add(updateSql);
             sqls.add(sql);
             count ++;
         }
@@ -554,7 +553,7 @@ public class DataUtil {
                     + "'" + jsonObject.get("endTime").getAsString() + "' FROM DUAL"
                     + " WHERE NOT EXISTS(SELECT * FROM class_time WHERE time_period = "
                     + jsonObject.get("tmePeriod").getAsInt()
-                    + " and number = " + jsonObject.get("numberOfDay").getAsInt() + ")";
+                    + " and number = " + substring1 + ")";
             sqls.add(sql);
             count ++;
         }

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

@@ -47,6 +47,6 @@
         LEFT JOIN base_class t2 ON t1.class_id = t2.id
         LEFT JOIN base_classroom t3 ON t1.site_id = t3.id
         WHERE t1.status = 1 AND t1.teacher_id = #{dto.teacherId}
-        AND t1.weeks = #{dto.week}
+        AND t1.weeks = #{dto.week} AND t1.schedule_date = #{dto.adjustDate}
     </select>
 </mapper>