Kaynağa Gözat

/schedule/schedule/course-table 课表接口(PC端),日期范围应该正常

大数据与最优化研究所 3 ay önce
ebeveyn
işleme
c289e3f471

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

@@ -249,24 +249,24 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     throw new MyException("周数必须在1到" + totalWeeks + "之间");
                 }
 
-                LocalDateTime semesterStartDateTime = baseSemester.getTeachingStart().toInstant()
+                LocalDate semesterStartDate = baseSemester.getTeachingStart().toInstant()
                         .atZone(ZoneId.systemDefault())
-                        .toLocalDateTime();
+                        .toLocalDate();
 
-                LocalDateTime weekStartDateTime = semesterStartDateTime
+                LocalDate weekStartDate = semesterStartDate
                         .plusWeeks(weekNumber - 1)
-                        .toLocalDate()
-                        .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
-                        .atStartOfDay();
+                        .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
 
-                LocalDateTime weekEndDateTime = weekStartDateTime.plusDays(6)
-                        .with(LocalTime.MAX);
+                LocalDate weekEndDate = weekStartDate.plusDays(6);
 
-                dto.setStartDate(weekStartDateTime);
-                dto.setEndDate(weekEndDateTime);
+                dto.setStartDate(weekStartDate); // 如果需要LocalDateTime,在这里转换
+                dto.setEndDate(weekEndDate);
                 tableVo.setWeek("第" + weekNumber + "周");
-                tableVo.setStartDate(weekStartDateTime.toLocalDate());
-                tableVo.setEndDate(weekEndDateTime.toLocalDate());
+                tableVo.setStartDate(weekStartDate); // 直接使用LocalDate
+                tableVo.setEndDate(weekEndDate);     // 直接使用LocalDate
+                tableVo.setWeek("第" + weekNumber + "周");
+                tableVo.setStartDate(weekStartDate);
+                tableVo.setEndDate(weekEndDate);
             }
         }
         if (!StrUtil.isEmpty(dto.getTeacherName())) {

+ 3 - 2
src/main/java/com/xjrsoft/module/schedule/dto/CourseTableDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 
 
@@ -50,9 +51,9 @@ public class CourseTableDto implements Serializable {
     private Long studentId;
 
     @ApiModelProperty("开始时间")
-    private LocalDateTime startDate;
+    private LocalDate startDate;
     @ApiModelProperty("结束时间")
-    private LocalDateTime endDate;
+    private LocalDate endDate;
 
     @ApiModelProperty("当前日期")
     private LocalDateTime toDay;

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

@@ -32,8 +32,8 @@
             </if>
         </if>
         <if test="dto.startDate != null and dto.endDate != null">
-            and t1.schedule_date >= DATE(#{dto.startDate})
-            and t1.schedule_date &lt; DATE_ADD(DATE(#{dto.endDate}), INTERVAL 1 DAY)
+            and t1.schedule_date >= #{dto.startDate}
+            and t1.schedule_date &lt;= #{dto.endDate}
         </if>
         <if test="dto.toDay != null">
             and t1.schedule_date = #{dto.toDay}
@@ -44,7 +44,7 @@
         <if test="dto.classId != null">
             and t5.id = #{dto.classId}
         </if>
-        ORDER BY t1.weeks,t1.time_period,t1.time_number
+        ORDER BY t1.schedule_date, t1.weeks, t1.time_period, t1.time_number
     </select>
 
     <select id="getAdjustList" parameterType="com.xjrsoft.module.schedule.dto.CourseTableAdjustDto" resultType="com.xjrsoft.module.schedule.vo.CourseListVo">