添加排课功能

This commit is contained in:
2026-09-17 15:58:33 +08:00
parent 80e91707e6
commit a958bcf059
8 changed files with 1173 additions and 2 deletions
@@ -6,6 +6,7 @@ import com.roomroot.jwgl.service.SchedulingWindowService;
import com.roomroot.jwgl.unit.Result;
import com.roomroot.jwgl.vo.scheduling.SchedulingViewVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -32,6 +33,7 @@ public class SchedulingWindowController {
/**
* 排课窗组合视图:班次头 + 课程列表(排满标绿)+ 周次×星期×节次格子。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:list')")
@GetMapping("/view")
public Result<SchedulingViewVO> view(@RequestParam("xydxqbh") String xydxqbh) {
return Result.success(schedulingWindowService.view(xydxqbh));
@@ -40,6 +42,7 @@ public class SchedulingWindowController {
/**
* 安排所选节次。硬冲突格忽略并列出,软提示格照常安排并给出提示。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:edit')")
@PostMapping("/arrange")
public Result<Map<String, Object>> arrange(@RequestBody SchedulingArrangeRequest request) {
return Result.success(schedulingWindowService.arrange(request));
@@ -48,6 +51,7 @@ public class SchedulingWindowController {
/**
* 删除所选节次:仅删除该课程在这些格上的课次;已提交实施计划的课次拒绝。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:edit')")
@PostMapping("/deleteCells")
public Result<Integer> deleteCells(@RequestBody SchedulingCellOpRequest request) {
return Result.success(schedulingWindowService.deleteCells(request));
@@ -56,6 +60,7 @@ public class SchedulingWindowController {
/**
* 删除课程全部节次(课程仍留在列表)。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:edit')")
@PostMapping("/clearCourse")
public Result<Integer> clearCourse(@RequestParam("sskcbh") String sskcbh) {
return Result.success(schedulingWindowService.clearCourse(sskcbh));
@@ -64,6 +69,7 @@ public class SchedulingWindowController {
/**
* 彻底删除运行课程:课次与列表项一起删,编制侧任务保留(教员不可用)。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:edit')")
@PostMapping("/deleteCourse")
public Result<Integer> deleteCourse(@RequestParam("sskcbh") String sskcbh) {
return Result.success(schedulingWindowService.deleteCourse(sskcbh));
@@ -72,6 +78,7 @@ public class SchedulingWindowController {
/**
* 排课日志查询:按课程(可叠加操作类型)。
*/
@PreAuthorize("@ss.hasPermi('teach:schedulingWindow:list')")
@GetMapping("/logs")
public Result<List<Map<String, Object>>> logs(@RequestParam("sskcbh") String sskcbh,
@RequestParam(value = "czlx", required = false) String czlx) {