通过AI比对原操作文档,生成系统功能完善方案,根据方案进行增补,完善从学期新增到最终的排课功能

This commit is contained in:
2026-09-15 14:42:43 +08:00
parent 5187435285
commit e8a58b19fe
54 changed files with 4577 additions and 134 deletions
@@ -0,0 +1,18 @@
package com.roomroot.jwgl.dto.allocation;
import lombok.Data;
import java.util.List;
/**
* 教学配当 - 编组管理改编组号请求。
*/
@Data
public class AllocationGroupRequest {
/** 任务编号列表(必填) */
private List<String> bhList;
/** 目标配档编组号(必填,&gt;=0) */
private Integer pdbz;
}
@@ -0,0 +1,34 @@
package com.roomroot.jwgl.dto.allocation;
import lombok.Data;
/**
* 教学配当 - 单条保存项。
*
* <p>字段为 null 表示不修改。{@code saveGroup=true} 时按「同科目 + 同配档编组 + 同学期代号」
* 把同组各班次任务一起改(同开同结),限定在同一学期代号内防止跨学期串改。</p>
*/
@Data
public class AllocationSaveItem {
/** 任务编号(必填) */
private String bh;
/** 配档序号(优选序数) */
private Integer pdxh;
/** 配档起始周 */
private Integer pdqsz;
/** 配档按周:0=连排 1=按周 */
private Integer pdaz;
/** 配档占正课时间 */
private Integer pdzzksj;
/** 配档编组 */
private Integer pdbz;
/** 是否保存整个编组 */
private Boolean saveGroup;
}
@@ -0,0 +1,55 @@
package com.roomroot.jwgl.dto.scheduling;
import lombok.Data;
import java.util.List;
/**
* 安排所选节次请求(阶段 5.3)。
*/
@Data
public class SchedulingArrangeRequest {
private String xydxqbh;
/** 实施_课程编号 */
private String sskcbh;
/** 教学内容(课题) */
private String jxnr;
/** 教学要点 */
private String jxyd;
/** 教学方法,默认 理论讲授 */
private String jxff;
/** 节次调节:0 默认(一节 2 学时)/ -1 / +1 */
private Integer jcdj;
/** 教学保障备注 */
private String jxbzbz;
/** 用车信息 */
private String ycxx;
/** 班组模式:合班全部 / 分组等 */
private String bzms;
/** 场地(教室编号),缺省用课程的默认场地 */
private String jsbh;
/** 主讲教员,缺省用课程责任教员 */
private String jybh;
/** 所选格子 */
private List<Cell> cells;
@Data
public static class Cell {
/** 日期 yyyy-MM-dd */
private String rq;
/** 节次 */
private Integer jc;
}
}
@@ -0,0 +1,17 @@
package com.roomroot.jwgl.dto.scheduling;
import lombok.Data;
import java.util.List;
/**
* 删除所选节次请求(阶段 5.3)。仅删除该课程在这些格上的课次。
*/
@Data
public class SchedulingCellOpRequest {
/** 实施_课程编号 */
private String sskcbh;
private List<SchedulingArrangeRequest.Cell> cells;
}
@@ -0,0 +1,15 @@
package com.roomroot.jwgl.dto.taskbook;
import lombok.Data;
import java.util.List;
/**
* 任务书批量操作请求(合班 / 按预设合班 / 拆班)。
*/
@Data
public class TaskBookBhListRequest {
/** 课程任务编号列表 */
private List<String> bhList;
}
@@ -0,0 +1,22 @@
package com.roomroot.jwgl.dto.taskbook;
import lombok.Data;
/**
* 教研室填报字段请求(阶段 4:计划教员 / 场地 / 排课建议)。
*/
@Data
public class TaskBookFillRequest {
/** 课程任务编号 */
private String bh;
/** 教研室计划教员编号 */
private String jysjhjybh;
/** 场地(教室编号;非空时同合班行同步) */
private String jsbh;
/** 排课建议(教研室计划备注) */
private String jysjhbz;
}
@@ -0,0 +1,19 @@
package com.roomroot.jwgl.dto.taskbook;
import lombok.Data;
/**
* 场地指定请求(阶段 4)。
*/
@Data
public class TaskBookRoomRequest {
/** 课程任务编号 */
private String bh;
/** 教室编号(useSpecial=false 时必传) */
private String jsbh;
/** true=使用班次专用教室(忽略 jsbh,取班次学期.专用教室编号) */
private Boolean useSpecial;
}
@@ -0,0 +1,24 @@
package com.roomroot.jwgl.dto.taskbook;
import lombok.Data;
/**
* 责任教员指定请求(阶段 4:三种指定方式)。
*/
@Data
public class TaskBookTeacherRequest {
/** 课程任务编号 */
private String bh;
/**
* 指定方式:
* unit — 责任单位教员(教员必须属于该行教研室 jysdh);
* academy — 全院教员(任意在职教员);
* plan — 应用教研室计划教员(jybh = 该行 jysjhjybh)。
*/
private String mode;
/** 责任教员编号(mode=unit / academy 时必传) */
private String jybh;
}