初始化提交

This commit is contained in:
liweijie
2026-08-18 09:49:02 +08:00
commit 5a74ab0b0d
1102 changed files with 119160 additions and 0 deletions
@@ -0,0 +1,28 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
/**
* 本地账户登录验证码生成结果。
*
* <p>验证码答案不会返回页面,只返回验证码编号、PNG 图片数据和有效期;
* 页面登录时需要同时提交验证码编号和用户识别出的验证码内容。</p>
*/
@Data
public class AccountLoginCaptchaVO {
/**
* 当前验证码编号。
*/
private String captchaId;
/**
* 可直接赋给图片 src 属性的 PNG Base64 Data URL。
*/
private String imageDataUrl;
/**
* 验证码剩余有效秒数。
*/
private Integer expiresInSeconds;
}
@@ -0,0 +1,37 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 当前账户的一条成功登录历史记录。
*/
@Data
public class AccountLoginHistoryVO {
/**
* 登录记录编号。
*/
private String id;
/**
* 登录成功时间。
*/
private LocalDateTime loginAt;
/**
* 登录请求来源 IP 地址。
*/
private String ipAddress;
/**
* 客户端内网 IP;服务端无法可靠取得时为空。
*/
private String intranetIpAddress;
/**
* 本次登录过程的事务标识。
*/
private String transactionId;
}
@@ -0,0 +1,43 @@
package com.roomroot.jwgl.vo.accountmanagement;
import com.roomroot.jwgl.unit.PageResult;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 当前账户的登录信息和成功登录历史。
*/
@Data
public class AccountLoginInformationVO {
/**
* 当前登录信息编号。
*/
private String accountId;
/**
* 当前登录账号。
*/
private String loginName;
/**
* 当前用户姓名。
*/
private String userName;
/**
* 上次登录成功时间。
*/
private LocalDateTime lastLoginAt;
/**
* 本次登录成功时间。
*/
private LocalDateTime currentLoginAt;
/**
* 当前账户的成功登录历史分页结果。
*/
private PageResult<AccountLoginHistoryVO> loginHistory;
}
@@ -0,0 +1,46 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 本地账户密码登录结果。
*
* <p>该对象只返回后续页面识别账户和角色所需的信息,
* 不返回密码、密码提示答案、登录失败统计或 Servlet Session 编号。</p>
*/
@Data
public class AccountLoginVO {
/**
* 登录信息编号。
*/
private String accountId;
/**
* 登录账号。
*/
private String loginName;
/**
* 用户姓名。
*/
private String userName;
/**
* 统一身份账号。
*/
private String unifiedAccount;
/**
* 账户是否启用。
*/
private Boolean enabled;
/**
* 账户已绑定的角色和数据范围。
*/
private List<AccountRoleVO> roles = new ArrayList<>();
}
@@ -0,0 +1,20 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
/**
* 账户合并结果。
*/
@Data
public class AccountMergeResultVO {
/**
* 已停用并保留审计信息的源账户。
*/
private AccountVO sourceAccount;
/**
* 已接收源账户角色和数据范围的目标账户。
*/
private AccountVO targetAccount;
}
@@ -0,0 +1,50 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
/**
* 账户角色配置可选身份。
*/
@Data
public class AccountRoleOptionVO {
/**
* 角色类型编码。
*/
private String roleType;
/**
* 角色类型名称。
*/
private String roleName;
/**
* 可绑定身份编号。
*/
private String targetId;
/**
* 可绑定身份名称。
*/
private String targetName;
/**
* 身份的数据范围说明。
*/
private String dataScope;
/**
* 身份当前是否可用于新配置。
*/
private Boolean enabled;
/**
* 当前绑定的账户编号;未绑定时为空。
*/
private String boundAccountId;
/**
* 当前绑定的登录账号;未绑定时为空。
*/
private String boundLoginName;
}
@@ -0,0 +1,20 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
/**
* 账户角色类型选项。
*/
@Data
public class AccountRoleTypeVO {
/**
* 角色类型编码。
*/
private String code;
/**
* 角色类型名称。
*/
private String name;
}
@@ -0,0 +1,40 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
/**
* 账户已绑定角色和数据范围。
*/
@Data
public class AccountRoleVO {
/**
* 角色类型编码。
*/
private String roleType;
/**
* 角色类型名称。
*/
private String roleName;
/**
* 角色对应身份编号。
*/
private String targetId;
/**
* 角色对应身份名称。
*/
private String targetName;
/**
* 身份所属部别、教研室、班次等数据范围说明。
*/
private String dataScope;
/**
* 角色身份当前是否仍处于可用状态。
*/
private Boolean enabled;
}
@@ -0,0 +1,82 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 统一身份认证会话对应的本地账户信息。
*
* <p>该对象不返回 SSO 会话标识、密码和密码提示答案,
* 只向账户管理页面提供后续核验所需的非敏感信息。</p>
*/
@Data
public class AccountSsoSessionVO {
/**
* SSO 会话所属应用标识。
*/
private String appKey;
/**
* SSO 会话中的登录标识。
*/
private String loginId;
/**
* SSO 会话中的用户标识。
*/
private String userId;
/**
* SSO 会话中的用户类型。
*/
private String userType;
/**
* SSO 会话记录的来源 IP。
*/
private String ipAddress;
/**
* SSO 会话失效时间。
*/
private LocalDateTime invalidTime;
/**
* SSO 会话创建时间。
*/
private LocalDateTime createTime;
/**
* 唯一解析到的本地登录信息编号。
*/
private String accountId;
/**
* 本地登录账号。
*/
private String loginName;
/**
* 本地用户姓名。
*/
private String userName;
/**
* 本地统一身份账号。
*/
private String unifiedAccount;
/**
* 本地账户是否启用。
*/
private Boolean enabled;
/**
* 本地账户已经绑定的全部角色和数据范围。
*/
private List<AccountRoleVO> roles = new ArrayList<>();
}
@@ -0,0 +1,104 @@
package com.roomroot.jwgl.vo.accountmanagement;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 账户列表和详情展示数据。
*/
@Data
public class AccountVO {
/**
* 登录信息编号。
*/
private String id;
/**
* 登录账号。
*/
private String loginName;
/**
* 用户姓名。
*/
private String userName;
/**
* 统一身份账号。
*/
private String unifiedAccount;
/**
* 联系电话。
*/
private String phone;
/**
* 身份证号码。
*/
private String idCard;
/**
* 密码提示问题;密码和提示答案不向页面返回。
*/
private String passwordQuestion;
/**
* 自我介绍。
*/
private String introduction;
/**
* 上次登录时间。
*/
private LocalDateTime lastLoginAt;
/**
* 本次登录时间。
*/
private LocalDateTime currentLoginAt;
/**
* 连续登录失败次数。
*/
private Integer failedAttempts;
/**
* 最近一次登录失败时间。
*/
private LocalDateTime failedAt;
/**
* 账户是否启用。
*/
private Boolean enabled;
/**
* 停用原因。
*/
private String disabledReason;
/**
* 停用时间。
*/
private LocalDateTime disabledAt;
/**
* 合并后的目标账户编号;未发生合并时为空。
*/
private String mergedToAccountId;
/**
* 账户合并时间。
*/
private LocalDateTime mergedAt;
/**
* 账户已绑定的全部角色和数据范围。
*/
private List<AccountRoleVO> roles = new ArrayList<>();
}
@@ -0,0 +1,45 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
/**
* 隶属关系设置页面共享的可选部别信息。
*/
@Data
public class AffiliationDepartmentVO {
/**
* 部别唯一编号。
*/
private String id;
/**
* 部别名称。
*/
private String name;
/**
* 部别简称。
*/
private String abbreviation;
/**
* 机关类别。
*/
private String category;
/**
* 分类号。
*/
private String classificationCode;
/**
* 分级号。
*/
private Integer levelNumber;
/**
* 上级部别编号;根节点为 null。
*/
private String parentId;
}
@@ -0,0 +1,31 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
/**
* 人员隶属关系展示VO。
*
* <p>统一封装教员/学员/机关参谋三类人员的当前归属信息,
* 供前端列表展示使用。</p>
*/
@Data
public class PersonnelAffiliationVO {
/** 人员类型:TEACHER / STUDENT / DEPARTMENT_PERSONNEL */
private String personnelType;
/** 人员编号 */
private String personnelId;
/** 人员姓名 */
private String personnelName;
/** 当前归属编号(教研室代号 / 学员队期编号 / 实施_机关编号) */
private String currentDepartmentId;
/** 当前归属名称(教研室名称 / 学员队期名称 / 机关名称) */
private String currentDepartmentName;
/** 上一个归属编号(异动前归属,未异动过则为null) */
private String previousDepartmentId;
}
@@ -0,0 +1,77 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 已建立的教研室隶属关系展示信息。
*/
@Data
public class ResearchOfficeAffiliationVO {
/**
* 隶属关系唯一编号。
*/
private String id;
/**
* 所属部别编号。
*/
private String departmentId;
/**
* 所属部别名称。
*/
private String departmentName;
/**
* 教研室标识号。
*/
private String researchOfficeId;
/**
* 教研室名称。
*/
private String researchOfficeName;
/**
* 教研室简称。
*/
private String abbreviation;
/**
* 教研室所属系别。
*/
private String department;
/**
* 是否启用,由数据库“停用”字段反向转换得到。
*/
private Boolean enabled;
/**
* 停用时间。
*/
private LocalDateTime disabledAt;
/**
* 是否为虚拟教研室。
*/
private Boolean virtual;
/**
* 教研室备注。
*/
private String remark;
/**
* 教研室显示序号。
*/
private String sequenceNumber;
/**
* 是否具有机关性质。
*/
private Boolean organNature;
}
@@ -0,0 +1,62 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教研室基础展示信息。
*/
@Data
public class ResearchOfficeVO {
/**
* 教研室标识号。
*/
private String id;
/**
* 教研室名称。
*/
private String name;
/**
* 教研室简称。
*/
private String abbreviation;
/**
* 教研室所属系别。
*/
private String department;
/**
* 是否启用,由数据库“停用”字段反向转换得到。
*/
private Boolean enabled;
/**
* 停用时间。
*/
private LocalDateTime disabledAt;
/**
* 是否为虚拟教研室。
*/
private Boolean virtual;
/**
* 教研室备注。
*/
private String remark;
/**
* 教研室显示序号。
*/
private String sequenceNumber;
/**
* 是否具有机关性质。
*/
private Boolean organNature;
}
@@ -0,0 +1,125 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学班次隶属关系及教学班次基础展示信息。
*
* <p>查询未隶属教学班次时,部别编号和部别名称为 null;
* 查询已隶属教学班次时,这两个字段保存当前关系对应的部别信息。</p>
*/
@Data
public class TeachingClassAffiliationVO {
/**
* 所属部别编号。
*/
private String departmentId;
/**
* 所属部别名称。
*/
private String departmentName;
/**
* 教学班次编号。
*/
private String teachingClassId;
/**
* 教学班次名称。
*/
private String teachingClassName;
/**
* 教学班次简称。
*/
private String abbreviation;
/**
* 教学班次人数。
*/
private Integer studentCount;
/**
* 年级。
*/
private String grade;
/**
* 专业代号。
*/
private String majorCode;
/**
* 专业教室编号。
*/
private String classroomId;
/**
* 备注。
*/
private String remark;
/**
* 在校状态。
*/
private String status;
/**
* 显示序号。
*/
private String sequenceNumber;
/**
* 任务类别。
*/
private String taskCategory;
/**
* 虚实类型。
*/
private Integer virtualType;
/**
* 入学日期。
*/
private LocalDateTime admissionDate;
/**
* 毕业日期。
*/
private LocalDateTime graduationDate;
/**
* 教学班次类型。
*/
private String teachingClassType;
/**
* 培训任务标识号。
*/
private String trainingTaskId;
/**
* 节次类别。
*/
private String sessionCategory;
/**
* 系统模式。
*/
private String systemMode;
/**
* 所属单位。
*/
private String organization;
/**
* 是否为主体培训任务。
*/
private Integer primaryTrainingTask;
}
@@ -0,0 +1,25 @@
package com.roomroot.jwgl.vo.affiliationsetting;
import lombok.Data;
/**
* 人员异动历史展示VO。
*
* <p>直接返回异动历史JSON原文,由前端解析展示。
* JSON数组格式:[{from,to,time,reason}]</p>
*/
@Data
public class TransferHistoryVO {
/** 人员类型 */
private String personnelType;
/** 人员编号 */
private String personnelId;
/** 人员姓名 */
private String personnelName;
/** 异动历史JSON原文(可能为空) */
private String transferHistory;
}
@@ -0,0 +1,33 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 调课申请-新教室展示数据。
* <p>
* 用于展示调课申请中调整后的教室信息。
* </p>
*/
@Data
public class AdjustRoomVO {
/**
* 记录编号。
*/
private String bh;
/**
* 教室编号。
*/
private String jsbh;
/**
* 教室名称(关联教室表获取)。
*/
private String jsmc;
/**
* 备注。
*/
private String bz;
}
@@ -0,0 +1,38 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 调课申请-新保障明细展示数据。
* <p>
* 用于展示调课申请中调整后的教学保障提供明细。
* </p>
*/
@Data
public class AdjustSupportVO {
/**
* 记录编号。
*/
private String bh;
/**
* 保障提供明细编号。
*/
private String bztgmxbh;
/**
* 保障提供明细名称(关联保障提供明细表获取)。
*/
private String bztgmxmc;
/**
* 数量。
*/
private Integer sl;
/**
* 备注。
*/
private String bz;
}
@@ -0,0 +1,38 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 调课申请-新辅助教员展示数据。
* <p>
* 用于展示调课申请中调整后的辅助教员信息。
* </p>
*/
@Data
public class AdjustTeacherVO {
/**
* 记录编号。
*/
private String bh;
/**
* 辅助教员编号。
*/
private String fzjybh;
/**
* 辅助教员姓名(关联教员表获取)。
*/
private String fzjyxm;
/**
* 是否主教员:1-是,0-否。
*/
private Integer zjy;
/**
* 备注。
*/
private String bz;
}
@@ -0,0 +1,28 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 调课申请-新学员队展示数据。
* <p>
* 用于展示调课申请中调整后的学员队信息。
* </p>
*/
@Data
public class AdjustTeamVO {
/**
* 记录编号。
*/
private String bh;
/**
* 学员队编号。
*/
private String xydbh;
/**
* 学员队名称(关联学员队表获取)。
*/
private String xydmc;
}
@@ -0,0 +1,38 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 各教学系排课完成率对比数据。
* <p>
* 用于柱状图展示各教学系的排课完成情况。
* </p>
*/
@Data
public class CourseCompletionByDeptVO {
/**
* 教学系编号。
*/
private String jxxbh;
/**
* 教学系名称。
*/
private String jxxmc;
/**
* 排课完成率(百分比)。
*/
private Double completionRate;
/**
* 已排课次数。
*/
private Integer completedCount;
/**
* 总计划课次数。
*/
private Integer totalCount;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 教学运行数据导入结果。
* <p>
* 用于返回导入操作的执行结果,包含总数、成功数、失败数和失败列表。
* </p>
*/
@Data
public class CourseRunningImportResultVO {
/**
* 待导入课程总数。
*/
private Integer totalCount;
/**
* 成功导入课程数。
*/
private Integer successCount;
/**
* 导入失败课程数。
*/
private Integer failCount;
/**
* 导入失败的课程编号列表。
*/
private List<String> failList = new ArrayList<>();
/**
* 导入结果提示信息。
*/
private String message;
/**
* 默认构造函数,初始化各字段为默认值。
*/
public CourseRunningImportResultVO() {
this.totalCount = 0;
this.successCount = 0;
this.failCount = 0;
this.failList = new ArrayList<>();
}
/**
* 构造函数,根据总数、成功数和失败列表初始化。
*
* @param totalCount 待导入课程总数
* @param successCount 成功导入课程数
* @param failList 导入失败的课程编号列表
*/
public CourseRunningImportResultVO(Integer totalCount, Integer successCount, List<String> failList) {
this.totalCount = totalCount;
this.successCount = successCount;
this.failCount = totalCount - successCount;
this.failList = failList != null ? failList : new ArrayList<>();
}
}
@@ -0,0 +1,58 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 运行分析概览指标。
* <p>
* 展示教学运行关键指标的汇总数据,包括排课完成率、学员缺勤率、场地使用率、教师周均课时等。
* </p>
*/
@Data
public class OperationOverviewVO {
/**
* 整体排课完成率(百分比)。
*/
private Double overallCourseCompletionRate;
/**
* 学员缺勤率(百分比)。
*/
private Double studentAbsenceRate;
/**
* 场地平均使用率(百分比)。
*/
private Double venueUsageRate;
/**
* 教师周均课时(节)。
*/
private Double avgWeeklyHoursPerTeacher;
/**
* 当前学期调课总次数。
*/
private Integer totalScheduleAdjustCount;
/**
* 当前学期教学保障计划总数。
*/
private Integer totalSupportPlanCount;
/**
* 当前学期学员请假总次数。
*/
private Integer totalLeaveCount;
/**
* 当前学期待审批调课申请数。
*/
private Integer pendingAdjustCount;
/**
* 当前学期待审批请假申请数。
*/
private Integer pendingLeaveCount;
}
@@ -0,0 +1,96 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 调课申请列表项展示数据。
* <p>
* 用于展示调课申请的基本信息,包括课次信息、申请教员、申请时间、
* 调课事由、审批状态和查收状态等关键信息。
* </p>
*/
@Data
public class ScheduleAdjustApplyVO {
/**
* 调课申请编号。
*/
private String ssdksqbh;
/**
* 实施_课程表编号。
*/
private String sskcbbh;
/**
* 课程名称,关联课程表获取。
*/
private String kcmc;
/**
* 申请教员编号。
*/
private String sqjybh;
/**
* 申请教员姓名,关联教员表获取。
*/
private String sqjyxm;
/**
* 调课事由。
*/
private String sy;
/**
* 原日期节次描述(保存到备注字段中)。
*/
private String ydsjap;
/**
* 调课后新日期。
*/
private LocalDateTime rq;
/**
* 调课后新节次。
*/
private Integer jc;
/**
* 年度。
*/
private Integer nd;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
/**
* 教研室审批状态:0-未审批,1-已同意,2-已发回,3-已拒绝。
*/
private Integer jyspzzt;
/**
* 教研室查收状态:0-未查收,1-已查收。
*/
private Integer jyscszt;
/**
* 机关审批状态:0-未审批,1-已同意,2-已发回,3-已拒绝。
*/
private Integer jgspzt;
/**
* 发回意见。
*/
private String fhyj;
/**
* 删除状态:0-正常,1-已删除。
*/
private Integer sczt;
}
@@ -0,0 +1,81 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 调课申请审批记录展示数据。
* <p>
* 用于展示调课申请中机关审批环节的审批记录,包括机关编号、审批时间、
* 审批状态、审批人、查收状态、发回意见等信息。
* </p>
*/
@Data
public class ScheduleAdjustAuditVO {
/**
* 审批记录编号。
*/
private String bh;
/**
* 调课申请编号。
*/
private String ssdksqbh;
/**
* 机关编号。
*/
private String jgbh;
/**
* 机关名称(关联机构表获取)。
*/
private String jgmc;
/**
* 审批时间。
*/
private LocalDateTime spsj;
/**
* 审批状态:0-未审批,1-已同意,2-已发回,3-已拒绝。
*/
private Integer spzt;
/**
* 审批人编号。
*/
private String sprbh;
/**
* 审批人姓名(关联教员表获取)。
*/
private String sprxm;
/**
* 查收状态:0-未查收,1-已查收。
*/
private Integer cszt;
/**
* 查收时间。
*/
private LocalDateTime cssj;
/**
* 查收人编号。
*/
private String csrbh;
/**
* 发回意见。
*/
private String fhyj;
/**
* 年度。
*/
private Integer nd;
}
@@ -0,0 +1,158 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 调课申请详情展示数据。
* <p>
* 用于展示调课申请的完整信息,包括课次信息、申请教员、调整后的日期节次、
* 教学内容变更、新的教室列表、辅助教员列表、学员队列表、保障明细列表,
* 以及教研室和机关的审批记录。
* </p>
*/
@Data
public class ScheduleAdjustDetailVO {
/**
* 调课申请编号。
*/
private String ssdksqbh;
/**
* 实施_课程表编号。
*/
private String sskcbbh;
/**
* 课程名称。
*/
private String kcmc;
/**
* 申请教员编号。
*/
private String sqjybh;
/**
* 申请教员姓名。
*/
private String sqjyxm;
/**
* 调课事由。
*/
private String sy;
/**
* 原日期节次描述(保存到备注字段中)。
*/
private String ydsjap;
/**
* 调课后新日期。
*/
private LocalDateTime rq;
/**
* 调课后新节次。
*/
private Integer jc;
/**
* 年度。
*/
private Integer nd;
/**
* 调课后教学内容。
*/
private String jxnr;
/**
* 调课后教学要点。
*/
private String jxyd;
/**
* 调课后教学方法。
*/
private String jxff;
/**
* 教学保障备注。
*/
private String jxbzbz;
/**
* 用车信息。
*/
private String ycxx;
/**
* 备注。
*/
private String bz;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
/**
* 教研室审批状态:0-未审批,1-已同意,2-已发回,3-已拒绝。
*/
private Integer jyspzzt;
/**
* 教研室审批时间。
*/
private LocalDateTime jyspzsj;
/**
* 教研室审批人编号。
*/
private String jyspzrbh;
/**
* 教研室查收状态:0-未查收,1-已查收。
*/
private Integer jyscszt;
/**
* 教研室查收时间。
*/
private LocalDateTime jyscssj;
/**
* 教研室查收人编号。
*/
private String jyscsrbh;
/**
* 机关审批列表,记录所有机关审批结果。
*/
private List<ScheduleAdjustAuditVO> auditList;
/**
* 新教室列表。
*/
private List<AdjustRoomVO> roomList;
/**
* 新辅助教员列表。
*/
private List<AdjustTeacherVO> teacherList;
/**
* 新学员队列表。
*/
private List<AdjustTeamVO> teamList;
/**
* 新保障明细列表。
*/
private List<AdjustSupportVO> supportList;
}
@@ -0,0 +1,54 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 调课策略展示VO。
*/
@Data
public class ScheduleAdjustStrategyVO {
/** 策略编号 */
private String clbh;
/** 策略名称 */
private String clmc;
/** 策略类型:TIME_LIMIT=时间段限制,AUTO_APPROVE=免审批 */
private String cllx;
/** 策略类型描述 */
private String cllxDesc;
/** 是否启用:0=停用,1=启用 */
private Integer sfqy;
/** 是否启用描述 */
private String sfqyDesc;
/** 截止星期:0-6 */
private Integer jzxq;
/** 截止星期描述 */
private String jzxqDesc;
/** 截止节次 */
private Integer jzjc;
/** 生效开始时间 */
private LocalDateTime sxkssj;
/** 生效结束时间 */
private LocalDateTime sxjssj;
/** 备注 */
private String bz;
/** 创建时间 */
private LocalDateTime cjsj;
/** 更新时间 */
private LocalDateTime gxsj;
}
@@ -0,0 +1,28 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 学期调课频次趋势数据。
* <p>
* 用于折线图展示学期内各时间段的调课频次变化趋势。
* </p>
*/
@Data
public class ScheduleAdjustTrendVO {
/**
* 时间段标识(如周次、月份)。
*/
private String period;
/**
* 时间段名称(如"第1周"、"1月")。
*/
private String periodName;
/**
* 调课次数。
*/
private Integer adjustCount;
}
@@ -0,0 +1,81 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 学员请假申请列表VO。
* <p>
* 用于展示学员正课请假申请的基本信息。
* </p>
*/
@Data
public class StudentLeaveApplyVO {
/**
* 请假编号。
*/
private String qjbh;
/**
* 学员编号。
*/
private String xybh;
/**
* 学员姓名。
*/
private String xyxm;
/**
* 学员队编号。
*/
private String xydbh;
/**
* 学员队名称。
*/
private String xydmc;
/**
* 请假原因。
*/
private String yy;
/**
* 请假类型(字典值:sick/personal/official/compensatory)。
*/
private String qjlx;
/**
* 请假类型名称(字典标签:病假/事假/公假/调休)。
*/
private String qjlxLabel;
/**
* 开始时间。
*/
private LocalDateTime qssj;
/**
* 结束时间。
*/
private LocalDateTime jssj;
/**
* 审批状态:0-待审批,1-已同意,2-已拒绝,3-已发回。
*/
private Integer spzt;
/**
* 审批状态名称。
*/
private String spztmc;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
}
@@ -0,0 +1,143 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 学员请假申请详情VO。
* <p>
* 用于展示学员正课请假申请的完整信息,包括关联课次和审批记录。
* </p>
*/
@Data
public class StudentLeaveDetailVO {
/**
* 请假编号。
*/
private String qjbh;
/**
* 学员编号。
*/
private String xybh;
/**
* 学员姓名。
*/
private String xyxm;
/**
* 学员队编号。
*/
private String xydbh;
/**
* 学员队名称。
*/
private String xydmc;
/**
* 请假原因。
*/
private String yy;
/**
* 请假类型(字典值:sick/personal/official/compensatory)。
*/
private String qjlx;
/**
* 请假类型名称(字典标签:病假/事假/公假/调休)。
*/
private String qjlxLabel;
/**
* 开始时间。
*/
private LocalDateTime qssj;
/**
* 结束时间。
*/
private LocalDateTime jssj;
/**
* 目的地。
*/
private String mdd;
/**
* 备注。
*/
private String bz;
/**
* 审批状态:0-待审批,1-已同意,2-已拒绝,3-已发回。
*/
private Integer spzt;
/**
* 审批状态名称。
*/
private String spztmc;
/**
* 审批人编号。
*/
private String sprbh;
/**
* 审批人姓名。
*/
private String sprxm;
/**
* 审批时间。
*/
private LocalDateTime spsj;
/**
* 审批意见。
*/
private String spyj;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
/**
* 关联课次列表。
*/
private List<LeaveLessonVO> lessonList;
}
/**
* 请假关联课次VO。
*/
@Data
class LeaveLessonVO {
/**
* 课次编号。
*/
private String sskcbbh;
/**
* 课程名称。
*/
private String kcmc;
/**
* 上课日期。
*/
private LocalDateTime rq;
/**
* 节次。
*/
private Integer jc;
}
@@ -0,0 +1,106 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学实施计划详情展示数据。
* <p>
* 用于展示单个课次的完整教学实施计划信息,包括教学内容、教学要点、
* 教学方法、日期节次、班组信息、保障需求及教员备注等全部填写内容。
* </p>
*/
@Data
public class TeachingPlanDetailVO {
/**
* 实施_课程表编号,课次的唯一标识。
*/
private String sskcbbh;
/**
* 实施_课程编号,关联上级课程数据。
*/
private String sskcbh;
/**
* 课程名称。
*/
private String kcmc;
/**
* 课次序号。
*/
private Integer kcxh;
/**
* 年度。
*/
private Integer nd;
/**
* 教学内容,本节课的具体教学主题或知识点。
*/
private String jxnr;
/**
* 教学要点,本节课的重点和难点。
*/
private String jxyd;
/**
* 教学方法,如讲授、讨论、实操、案例教学等。
*/
private String jxff;
/**
* 上课日期。
*/
private LocalDateTime rq;
/**
* 节次。
*/
private Integer jc;
/**
* 班组模式,本节课的班组组织形式。
*/
private String bzms;
/**
* 班组划分信息,各班组的人员构成或分组情况。
*/
private String bzhfxx;
/**
* 用车信息,本节课需要的车辆保障需求。
*/
private String ycxx;
/**
* 教学保障备注,其他教学保障需求说明。
*/
private String jxbzbz;
/**
* 教员备注,授课教员的补充说明。
*/
private String jybz;
/**
* 填写状态:0-未填写,1-已填写,2-已提交。
*/
private Integer txzt;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
/**
* 变动时间,最后一次修改时间。
*/
private LocalDateTime bdsj;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 教学实施计划填写结果展示数据。
* <p>
* 用于返回批量填写操作的结果统计,包含总课次数、成功数、失败数及失败原因列表。
* </p>
*/
@Data
public class TeachingPlanFillResultVO {
/**
* 待填写课次总数。
*/
private Integer totalCount;
/**
* 成功填写课次数。
*/
private Integer successCount;
/**
* 填写失败课次数。
*/
private Integer failCount;
/**
* 填写失败的课次编号列表。
*/
private List<String> failList;
/**
* 填写结果提示信息。
*/
private String message;
/**
* 默认构造函数,初始化各字段为默认值。
*/
public TeachingPlanFillResultVO() {
this.totalCount = 0;
this.successCount = 0;
this.failCount = 0;
this.failList = new ArrayList<>();
}
/**
* 构造函数,根据总数、成功数和失败列表初始化。
*
* @param totalCount 待填写课次总数
* @param successCount 成功填写课次数
* @param failList 填写失败的课次编号列表
*/
public TeachingPlanFillResultVO(Integer totalCount, Integer successCount, List<String> failList) {
this.totalCount = totalCount;
this.successCount = successCount;
this.failCount = totalCount - successCount;
this.failList = failList != null ? failList : new ArrayList<>();
}
}
@@ -0,0 +1,76 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学实施计划课次列表项展示数据。
* <p>
* 用于展示课次的基本信息及填写状态,包括课程名称、课次序号、
* 上课日期节次、填写状态等关键信息,方便教员快速定位待填写的课次。
* </p>
*/
@Data
public class TeachingPlanLessonVO {
/**
* 实施_课程表编号,课次的唯一标识。
*/
private String sskcbbh;
/**
* 实施_课程编号,关联上级课程数据。
*/
private String sskcbh;
/**
* 课程名称(课编号对应的课程名称)。
*/
private String kcmc;
/**
* 课次序号,本节课在整门课程中的第几次课。
*/
private Integer kcxh;
/**
* 年度,课次所属的教学年度。
*/
private Integer nd;
/**
* 上课日期,本节课的计划上课日期。
*/
private LocalDateTime rq;
/**
* 节次,本节课在当天的节次序号。
*/
private Integer jc;
/**
* 教学内容摘要,已填写时展示内容前段摘要。
*/
private String jxnr;
/**
* 教学方法,已填写时展示使用的教学方法。
*/
private String jxff;
/**
* 填写状态:0-未填写,1-已填写,2-已提交。
*/
private Integer txzt;
/**
* 创建时间,课次数据的创建时间。
*/
private LocalDateTime cjsj;
/**
* 变动时间,课次数据最后一次修改时间。
*/
private LocalDateTime bdsj;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 教学保障批量确认结果展示数据。
* <p>
* 用于返回批量确认操作的结果统计,包含总记录数、成功数、失败数及失败原因列表。
* </p>
*/
@Data
public class TeachingSupportConfirmResultVO {
/**
* 待确认记录总数。
*/
private Integer totalCount;
/**
* 成功确认记录数。
*/
private Integer successCount;
/**
* 确认失败记录数。
*/
private Integer failCount;
/**
* 确认失败的保障计划编号列表。
*/
private List<String> failList;
/**
* 确认结果提示信息。
*/
private String message;
/**
* 默认构造函数,初始化各字段为默认值。
*/
public TeachingSupportConfirmResultVO() {
this.totalCount = 0;
this.successCount = 0;
this.failCount = 0;
this.failList = new ArrayList<>();
}
/**
* 构造函数,根据总数、成功数和失败列表初始化。
*
* @param totalCount 待确认记录总数
* @param successCount 成功确认记录数
* @param failList 确认失败的保障计划编号列表
*/
public TeachingSupportConfirmResultVO(Integer totalCount, Integer successCount, List<String> failList) {
this.totalCount = totalCount;
this.successCount = successCount;
this.failCount = totalCount - successCount;
this.failList = failList != null ? failList : new ArrayList<>();
}
}
@@ -0,0 +1,61 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学保障历史联想展示数据。
* <p>
* 用于在教师登记保障物资时,基于同一实施课程的历史登记记录联想推荐常用保障物资,
* 避免重复录入。按保障提供明细编号聚合,统计历史使用次数、最近使用时间和推荐数量。
* </p>
*/
@Data
public class TeachingSupportHistoryVO {
/**
* 保障提供明细编号。
*/
private String bztgmxbh;
/**
* 保障提供明细名称。
*/
private String bztgmxmc;
/**
* 单位。
*/
private String dw;
/**
* 保障类别编号。
*/
private String bzlbbh;
/**
* 保障类别名称。
*/
private String zzlmc;
/**
* 历史使用次数(同一实施课程历史登记该保障物资的课次数)。
*/
private Integer syscs;
/**
* 最近一次历史登记时间。
*/
private LocalDateTime zjsj;
/**
* 历史登记的平均数量(用于推荐数量参考)。
*/
private Integer pjsl;
/**
* 历史最近一次登记数量(用于推荐数量参考)。
*/
private Integer zjsl;
}
@@ -0,0 +1,96 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学保障计划列表项展示数据。
* <p>
* 用于展示某课次的教学保障计划明细,包括保障提供明细名称、单位、数量、
* 备注、确认状态及确认信息等。
* </p>
*/
@Data
public class TeachingSupportPlanVO {
/**
* 课程表_保障明细编号,保障计划的唯一标识。
*/
private String kcbbzmxbh;
/**
* 实施_课程表编号(课次编号)。
*/
private String sskcbbh;
/**
* 保障提供明细编号。
*/
private String bztgmxbh;
/**
* 保障提供明细名称,关联保障提供明细表获取。
*/
private String bztgmxmc;
/**
* 单位,保障提供明细的计量单位,关联保障提供明细表获取。
*/
private String dw;
/**
* 保障类别名称,关联保障类别表获取。
*/
private String zzlmc;
/**
* 年度。
*/
private Integer nd;
/**
* 数量,本课次需要该保障提供的数量。
*/
private Integer sl;
/**
* 备注,保障计划相关说明。
*/
private String bz;
/**
* 确认状态:0-未确认,1-已确认。
*/
private Integer qrzt;
/**
* 确认人编号。
*/
private String qrrbh;
/**
* 确认人姓名,关联教员表获取。
*/
private String qrrxm;
/**
* 确认时间。
*/
private LocalDateTime qrsj;
/**
* 确认备注。
*/
private String qrbz;
/**
* 创建时间。
*/
private LocalDateTime cjsj;
/**
* 更新时间。
*/
private LocalDateTime updateTime;
}
@@ -0,0 +1,48 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 保障提供资源(保障资源库)展示数据。
* <p>
* 用于展示可供选择的保障提供明细,支持按类别筛选。
* </p>
*/
@Data
public class TeachingSupportResourceVO {
/**
* 保障提供明细编号。
*/
private String bztgmxbh;
/**
* 保障提供明细名称。
*/
private String bztgmxmc;
/**
* 单位。
*/
private String dw;
/**
* 保障类别编号。
*/
private String bzlbbh;
/**
* 保障类别名称。
*/
private String zzlmc;
/**
* 停用状态:0-启用,1-停用。
*/
private Integer ty;
/**
* 备注。
*/
private String bz;
}
@@ -0,0 +1,38 @@
package com.roomroot.jwgl.vo.courserunning;
import lombok.Data;
/**
* 场地使用率分布数据。
* <p>
* 用于饼图展示不同场地类型的使用率分布情况。
* </p>
*/
@Data
public class VenueUsageRateVO {
/**
* 场地类型编号。
*/
private String cdlybh;
/**
* 场地类型名称。
*/
private String cdlymc;
/**
* 使用率(百分比)。
*/
private Double usageRate;
/**
* 使用次数。
*/
private Integer usageCount;
/**
* 总可用次数。
*/
private Integer totalCount;
}
@@ -0,0 +1,20 @@
package com.roomroot.jwgl.vo.department;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.ArrayList;
import java.util.List;
/**
* 部别树节点。
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DepartmentTreeVO extends DepartmentVO {
/**
* 当前部别的直接下级节点。
*/
private List<DepartmentTreeVO> children = new ArrayList<>();
}
@@ -0,0 +1,67 @@
package com.roomroot.jwgl.vo.department;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 部别详情及列表数据。
*/
@Data
public class DepartmentVO {
/**
* 部别唯一编号。
*/
private String id;
/**
* 部别名称。
*/
private String name;
/**
* 机关类别。
*/
private String category;
/**
* 分类号。
*/
private String classificationCode;
/**
* 分级号。
*/
private Integer levelNumber;
/**
* 上级部别编号;根节点为 null。
*/
private String parentId;
/**
* 上级部别名称;根节点或上级数据缺失时为 null。
*/
private String parentName;
/**
* 是否启用;由数据库“停用”字段反向转换得到。
*/
private Boolean enabled;
/**
* 停用时间;启用状态通常为 null。
*/
private LocalDateTime disabledAt;
/**
* 部别简称。
*/
private String abbreviation;
/**
* 是否存在直接或间接查询数据中的子节点。
*/
private Boolean hasChildren;
}
@@ -0,0 +1,50 @@
package com.roomroot.jwgl.vo.departmentpersonnel;
import lombok.Data;
/**
* 部别人员管理页面使用的部别选择项。
*/
@Data
public class DepartmentPersonnelDepartmentVO {
/**
* 部别唯一编号。
*/
private String id;
/**
* 部别名称。
*/
private String name;
/**
* 部别简称。
*/
private String abbreviation;
/**
* 机关类别。
*/
private String category;
/**
* 分类号,用于部别排序。
*/
private String classificationCode;
/**
* 分级号,用于部别排序。
*/
private Integer levelNumber;
/**
* 上级部别编号;根节点为 null。
*/
private String parentId;
/**
* 是否启用。
*/
private Boolean enabled;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.departmentpersonnel;
import lombok.Data;
/**
* 部别人员详情、列表、导入和导出数据。
*/
@Data
public class DepartmentPersonnelVO {
/**
* 人员唯一编号。
*/
private String id;
/**
* 所属部别编号。
*/
private String departmentId;
/**
* 所属部别名称。
*/
private String departmentName;
/**
* 所属部别简称。
*/
private String departmentAbbreviation;
/**
* 人员姓名。
*/
private String name;
/**
* 人员序号。
*/
private String sequenceNumber;
/**
* 是否离职。
*/
private Boolean departed;
/**
* 人员职务。
*/
private String position;
/**
* 人员卡号。
*/
private String cardNumber;
/**
* 人员姓名拼音。
*/
private String pinyin;
/**
* 是否为主官。
*/
private Boolean principal;
}
@@ -0,0 +1,94 @@
package com.roomroot.jwgl.vo.dict;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 字典数据展示数据。
* <p>
* 用于字典数据列表、详情以及前端下拉框的数据返回,
* 包含字典项的标签、值、排序、状态、样式等完整信息。
* </p>
*/
@Data
public class DictDataVO {
/**
* 字典数据ID(主键,自增)。
*/
private Long dictDataId;
/**
* 字典类型编码。
* <p>关联字典类型,标识该数据项属于哪个字典类型。</p>
*/
private String dictTypeCode;
/**
* 字典标签(显示用)。
* <p>前端下拉框、单选、多选组件中展示的文本。</p>
*/
private String dictLabel;
/**
* 字典值(存储用)。
* <p>实际存入数据库或用于业务逻辑判断的值。</p>
*/
private String dictValue;
/**
* 排序号。
* <p>控制数据项在前端下拉框中的展示顺序,数值越小越靠前。</p>
*/
private Integer dictSort;
/**
* 标签样式(success/warning/info/danger)。
* <p>用于前端标签组件的颜色样式。</p>
*/
private String cssClass;
/**
* 表格回显样式。
* <p>用于前端表格中该字典项的展示样式。</p>
*/
private String listClass;
/**
* 是否默认(0否 1是)。
* <p>同一类型下只有一个默认选项,前端下拉框默认选中此项。</p>
*/
private Integer isDefault;
/**
* 状态(0停用 1正常)。
* <p>停用后该选项在业务界面不可选。</p>
*/
private Integer status;
/**
* 备注。
*/
private String remark;
/**
* 版本号(用于版本控制,初始为1,每次编辑+1)
*/
private Integer version;
/**
* 历史版本快照(JSON格式,仅详情接口返回)
*/
private String prevSnapshot;
/**
* 创建时间。
*/
private LocalDateTime createTime;
/**
* 更新时间。
*/
private LocalDateTime updateTime;
}
@@ -0,0 +1,69 @@
package com.roomroot.jwgl.vo.dict;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 字典类型展示数据。
* <p>
* 用于字典类型列表和详情的数据返回,包含类型的基本信息和状态,
* 以及创建和更新时间,便于前端展示和管理。
* </p>
*/
@Data
public class DictTypeVO {
/**
* 字典类型ID(主键,自增)。
*/
private Long dictTypeId;
/**
* 字典类型编码(全局唯一,程序引用键)。
* <p>业务代码通过此编码引用字典类型,编码一旦确定不建议修改。</p>
*/
private String dictTypeCode;
/**
* 字典类型名称(用于页面展示)。
*/
private String dictTypeName;
/**
* 所属分组(基础数据/教学数据/学籍数据等)。
* <p>用于对字典类型进行分类管理和展示。</p>
*/
private String dictGroup;
/**
* 状态(0停用 1正常)。
* <p>停用后该类型下的数据项在业务下拉框中不可见。</p>
*/
private Integer status;
/**
* 备注。
*/
private String remark;
/**
* 版本号(用于版本控制,初始为1,每次编辑+1)
*/
private Integer version;
/**
* 历史版本快照(JSON格式,仅详情接口返回)
*/
private String prevSnapshot;
/**
* 创建时间。
*/
private LocalDateTime createTime;
/**
* 更新时间。
*/
private LocalDateTime updateTime;
}
@@ -0,0 +1,23 @@
package com.roomroot.jwgl.vo.elective;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 班次课程表 VO(实施_课程表 + 课表名称)
*/
@Data
public class ClassScheduleVO {
private String bh;
private String sskcbh;
private String kckmbh;
private String kcmc; // 课程名称
private LocalDateTime rq; // 日期
private Integer jc; // 节次
private String jxnr; // 教学内容
private String jxff; // 教学方法
private Integer nd; // 年度
private String xydbh; // 学员队编号
}
@@ -0,0 +1,96 @@
package com.roomroot.jwgl.vo.elective;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学班次列表展示 VO
* <p>
* 三表联查(学员队表 + 学员队期表 + 专业表),展示教学班次完整信息。
* </p>
*/
@Data
public class ElectiveClassVO {
/** 学员队编号 */
private String xydbh;
/** 名称(班次名称) */
private String xydmc;
/** 计划人数 */
private Integer xydrs;
/** 年级 */
private String nj;
/** 专业代号 */
private String zydh;
/** 任务类别(规划内、其他) */
private String rwlb;
/** 入学日期 */
private LocalDateTime rxrq;
/** 毕业日期 */
private LocalDateTime byrq;
/** 学员队类型(教学班/管理班/选修班) */
private String xydlx;
/** 在校状态 */
private String zxzt;
/** 虚实类型 */
private Integer xslx;
/** 培训任务标识号(培训任务) */
private String pxrwbsh;
/** 节次类别 */
private String jclb;
/** 所属单位 */
private String ssdw;
/** 主体培训任务 */
private Integer ztpxrw;
/** 简称 */
private String jc;
/** 培训类型(关联专业表) */
private String pxlx;
/** 培训层次(关联专业表) */
private String pxcc;
/** 培训类型2(关联专业表) */
private String pxlx2;
/** 学员学号前缀 */
private String xhqz;
/** 学员学号自动累加位数 */
private Integer xhws;
/** 是否允许学员自行注册(0-关闭 1-开启) */
private Integer yxzc;
// ====== 查询条件字段(以下字段仅用于筛选,不回显) ======
/** 学期(查询条件) */
private String xq;
/** 入学日期(起) - 范围查询条件 */
private LocalDateTime rxrqStart;
/** 入学日期(止) - 范围查询条件 */
private LocalDateTime rxrqEnd;
/** 毕业日期(起) - 范围查询条件 */
private LocalDateTime byrqStart;
/** 毕业日期(止) - 范围查询条件 */
private LocalDateTime byrqEnd;
}
@@ -0,0 +1,71 @@
package com.roomroot.jwgl.vo.elective;
import lombok.Data;
import java.time.LocalDate;
/**
* 教学班次学期信息设置窗口 - 初始化默认值
* <p>
* 打开【教学班次学期信息设置】窗口时返回的默认数据:
* <ul>
* <li>学期第次:学制半年以内固定为第一学期;半年以上按入学日期智能推断,可手动修改</li>
* <li>开学/结束日期:半年以内默认入学/毕业日期;半年以上默认窗口预设日期</li>
* <li>专用教室:第二以上学期默认预设上学期的专用教室</li>
* </ul>
* </p>
*/
@Data
public class SemesterInitVO {
/**
* 班次编号(学员队编号)
*/
private String xydbh;
/**
* 班次名称
*/
private String xydmc;
/**
* 是否学制半年以内(true-半年以内,学期第次只能为第一学期)
*/
private Boolean halfYear;
/**
* 默认/推断的学期第次
*/
private Integer xqdc;
/**
* 人才培养方案总学期数(按学制推算,半年一学期)
*/
private Integer totalXqdc;
/**
* 默认开学日期
*/
private LocalDate kxrq;
/**
* 默认结束日期
*/
private LocalDate jsrq;
/**
* 预设专用教室编号(第二以上学期取上学期的专用教室)
*/
private String zyjsbh;
/**
* 预设专用教室名称
*/
private String zyjsmc;
/**
* 节次类别(带出班次默认值)
*/
private String jclb;
}
@@ -0,0 +1,22 @@
package com.roomroot.jwgl.vo.elective;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 学员缺勤 VO(请假记录 + 请假学员)
*/
@Data
public class StudentAbsenceVO {
private String qjbh; // 请假编号
private String mc; // 请假名称
private LocalDateTime qssj; // 起始时间
private LocalDateTime jssj; // 结束时间
private String yy; // 原因
private String xybh; // 学员编号
private String xm; // 学员姓名
private String xh; // 学号
private Integer kts; // 课堂数
}
@@ -0,0 +1,22 @@
package com.roomroot.jwgl.vo.elective;
import lombok.Data;
import java.math.BigDecimal;
/**
* 学员成绩 VO
*/
@Data
public class StudentGradeVO {
private String xybh; // 学员编号
private String xm; // 学员姓名
private String xh; // 学号
private String kmbh; // 科目编号
private BigDecimal kscj; // 考试成绩
private BigDecimal pscj; // 平时成绩
private BigDecimal zzcj; // 最终成绩
private String ksqk; // 考试情况
private Integer ytg; // 已通过
}
@@ -0,0 +1,49 @@
package com.roomroot.jwgl.vo.faculty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教员列表展示 VO
* <p>双表联查(教员表 LEFT JOIN 教员属性 LEFT JOIN 教研室表)</p>
*/
@Data
public class TeacherListVO {
/** 序号 */
private String xh;
/** 教员工号 */
private String jybh;
/** 教研室名称 */
private String jysmc;
/** 教员姓名 */
private String jyxm;
/** 性别(0-女 1-男) */
private Integer xb;
/** 出生日期 */
private LocalDateTime cssj;
/** 职称 */
private String zc;
/** 学历 */
private String xl;
/** 学位 */
private String xw;
/** 进校日期(入伍工作时间) */
private LocalDateTime rwgzsj;
/** 联系方式(手机号) */
private String sjh;
/** 是否实教教员(虚实类型) */
private Integer xslx;
}
@@ -0,0 +1,102 @@
package com.roomroot.jwgl.vo.log;
import lombok.Data;
/**
* 教员课时查询管理 - 列表展示与查询条件
* <p>
* 数据来源:学期教员信息表(xqj) JOIN 教员表(jy) JOIN 教研室表(jys)。
* 该 VO 既用于列表展示字段,也用于查询条件;课时量类查询条件均为数字范围(xx课时 至 xx课时)。
* </p>
*/
@Data
public class TeacherHoursVO {
// ======================== 列表展示字段 ========================
/** 教研室名称(教研室表.教研室名称) */
private String jysmc;
/** 教员姓名(教员表.教员姓名) */
private String jyxm;
/** 教员类别(教员表.教员类别) */
private String jylb;
/** 当前职称(教员表.职称) */
private String dqzc;
/** 学期职称(学期教员信息表.职称) */
private String xqzc;
/** 当前专业技术职务等级(教员表.专业技术职务等级) */
private String dqzyjszwdj;
/** 学期专业技术职务等级(学期教员信息表.专业技术职务等级) */
private String xqzyjszwdj;
/** 主讲课时(学期教员信息表.课程主讲课时) */
private Float zjks;
/** 辅讲课时(学期教员信息表.课程辅讲课时) */
private Float fjks;
/** 课程总课时(学期教员信息表.课程总课时) */
private Float kczks;
/** 课程折算总课时(学期教员信息表.课程折算总课时) */
private Float kczszks;
/** 项目补助课时(学期教员信息表.项目补助课时) */
private Float xmbzks;
/** 总课时(学期教员信息表.折算总课时) */
private Float zszks;
// ======================== 查询条件字段 ========================
/** 教员编号(精确匹配,可选) */
private String jybh;
/** 教研室(教研室代号,精确匹配,可选) */
private String jysdh;
/** 部系名称(模糊匹配,可选) */
private String bx;
/** 年度/学期(学期教员信息表.年度,精确匹配,可选) */
private Integer nd;
// ---- 课时量数字范围(xx课时 至 xx课时),均为可选 ----
/** 主讲课时下限 */
private Float zjksMin;
/** 主讲课时上限 */
private Float zjksMax;
/** 辅讲课时下限 */
private Float fjksMin;
/** 辅讲课时上限 */
private Float fjksMax;
/** 课程总课时下限 */
private Float kczksMin;
/** 课程总课时上限 */
private Float kczksMax;
/** 课程折算总课时下限 */
private Float kczszksMin;
/** 课程折算总课时上限 */
private Float kczszksMax;
/** 项目补助课时下限 */
private Float xmbzksMin;
/** 项目补助课时上限 */
private Float xmbzksMax;
/** 总课时下限 */
private Float zszksMin;
/** 总课时上限 */
private Float zszksMax;
}
@@ -0,0 +1,69 @@
package com.roomroot.jwgl.vo.log;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 教学日志列表展示 VO
* <p>基于实施_课程表_日志(36字段版),联合教员表、课表获取展示信息。</p>
*/
@Data
public class TeachingLogListVO {
// ====== 基础字段 ======
private String bh;
private String tybh;
private String jybh;
private Integer zczt;
private String rzjl;
private String bz;
private LocalDateTime cjsj;
private LocalDateTime xgsj;
private String ztpj;
private String jsfs;
private Integer sdrs;
private Integer jcks;
private Integer atj;
private LocalDateTime rq;
private Integer qsjc;
private Integer jsjc;
private String zt;
private LocalDateTime jyshzsj;
private String skkt;
private String jxrzcjfs;
private String skdd;
private String kckmbh;
private String rwlb;
private Integer ydrs;
private String pxqbxx;
private String ckldhzj;
private Integer sksjbd;
private Integer skddbd;
private Integer kcbd;
private Integer skktbd;
private Integer rwlbbd;
private Integer pxqbbd;
private Integer skfsbd;
private Integer fzyzdjybd;
private String gljgbh;
private String thyj;
// ====== 联查展示字段 ======
private String jyxm; // 教员姓名(关联教员表)
private String kcmc; // 课程名称(关联课表)
private String jysmc; // 教研室名称(关联教研室表)
// ====== 查询条件字段(仅用于筛选) ======
private LocalDateTime ksrq;
private LocalDateTime jsrq;
private String jys;
private String skjy;
private String gdqk;
private String gdxxqk;
/** 改动情况列表(多选IN查询) */
private java.util.List<String> gdqkList;
/** 改动详细情况列表(多选IN查询) */
private java.util.List<String> gdxxqkList;
}
@@ -0,0 +1,41 @@
package com.roomroot.jwgl.vo.login;
import lombok.Data;
import java.util.List;
/**
* 登录响应结果
*/
@Data
public class LoginResultVO {
/** 用户编号(登录信息表编号) */
private String userId;
/** 用户姓名 */
private String userName;
/** 登录账号 */
private String loginName;
/** 用户类型: ADMIN-行政 TEACHER-教员 STUDENT-学员 MANAGER-管理员 */
private String userType;
/** 单位编号 */
private String orgId;
/** 单位名称 */
private String orgName;
/** 角色列表 */
private List<RoleInfo> roles;
@Data
public static class RoleInfo {
private String roleType;
private String roleName;
private String targetId;
private String targetName;
}
}
@@ -0,0 +1,87 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通知公告后台详情展示数据。
*/
@Data
public class NoticeAnnouncementDetailVO {
/**
* 公告编号。
*/
private String id;
/**
* 公告标题。
*/
private String title;
/**
* 公告正文。
*/
private String content;
/**
* 公告发布时间;拟制公告暂存创建时间。
*/
private LocalDateTime publishTime;
/**
* 公告创建时间。
*/
private LocalDateTime createTime;
/**
* 公告优先级。
*/
private Integer priority;
/**
* 公告累计打开次数。
*/
private Integer readCount;
/**
* 公告当前状态。
*/
private String status;
/**
* 公告类别。
*/
private String category;
/**
* 公告备注。
*/
private String remark;
/**
* 是否面向全校账户发布。
*/
private Boolean all;
/**
* 可从现有数据库字段还原的发布范围类型。
*/
private String scopeType;
/**
* 发布范围中文说明。
*/
private String scopeName;
/**
* 已接收账户人数。
*/
private Long recipientCount;
/**
* 已阅读账户人数。
*/
private Long readerCount;
}
@@ -0,0 +1,37 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通知公告发布结果。
*/
@Data
public class NoticeAnnouncementPublishResultVO {
/**
* 已发布公告编号。
*/
private String id;
/**
* 本次发布范围类型。
*/
private String scopeType;
/**
* 本次发布范围中文说明。
*/
private String scopeName;
/**
* 本次生成的去重接收账户人数。
*/
private Integer recipientCount;
/**
* 本次发布时间。
*/
private LocalDateTime publishTime;
}
@@ -0,0 +1,52 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通知公告接收人明细。
*/
@Data
public class NoticeAnnouncementRecipientVO {
/**
* 通告用户信息记录编号。
*/
private String id;
/**
* 接收账户编号。
*/
private String accountId;
/**
* 接收账户登录名。
*/
private String loginName;
/**
* 接收人姓名。
*/
private String userName;
/**
* 是否已经接收。
*/
private Boolean received;
/**
* 接收时间。
*/
private LocalDateTime receivedTime;
/**
* 是否已经阅读。
*/
private Boolean read;
/**
* 首次阅读时间。
*/
private LocalDateTime readTime;
}
@@ -0,0 +1,42 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.math.BigDecimal;
/**
* 通知公告接收和阅读统计。
*/
@Data
public class NoticeAnnouncementStatisticsVO {
/**
* 公告编号。
*/
private String id;
/**
* 接收账户总数。
*/
private Long recipientCount;
/**
* 已接收账户数。
*/
private Long receivedCount;
/**
* 已阅读账户数。
*/
private Long readerCount;
/**
* 未阅读账户数。
*/
private Long unreadCount;
/**
* 阅读率百分比,保留两位小数。
*/
private BigDecimal readRate;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通知公告分页列表展示数据。
*
* <p>公告主体字段来自通告表,接收人数和阅读人数由通告用户信息表
* 按公告编号汇总后返回,不向页面暴露旧实体的公共持久化字段。</p>
*/
@Data
public class NoticeAnnouncementVO {
/**
* 公告编号。
*/
private String id;
/**
* 公告发布时间。
*/
private LocalDateTime publishTime;
/**
* 公告标题。
*/
private String title;
/**
* 公告当前状态。
*/
private String status;
/**
* 公告类别。
*/
private String category;
/**
* 公告优先级。
*/
private Integer priority;
/**
* 公告被有效打开的累计次数。
*/
private Integer readCount;
/**
* 已接收该公告的账户人数。
*/
private Long recipientCount;
/**
* 已阅读该公告的账户人数。
*/
private Long readerCount;
/**
* 公告备注。
*/
private String remark;
}
@@ -0,0 +1,62 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 当前登录用户可查看的通知公告详情。
*/
@Data
public class UserNoticeAnnouncementDetailVO {
/**
* 公告编号。
*/
private String id;
/**
* 公告标题。
*/
private String title;
/**
* 公告正文。
*/
private String content;
/**
* 公告发布时间。
*/
private LocalDateTime publishTime;
/**
* 公告类别。
*/
private String category;
/**
* 公告优先级。
*/
private Integer priority;
/**
* 公告备注。
*/
private String remark;
/**
* 公告累计打开次数。
*/
private Integer readCount;
/**
* 当前账户是否已经阅读。
*/
private Boolean read;
/**
* 当前账户首次阅读时间。
*/
private LocalDateTime readTime;
}
@@ -0,0 +1,47 @@
package com.roomroot.jwgl.vo.noticeannouncement;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 当前登录用户的通知公告列表展示数据。
*/
@Data
public class UserNoticeAnnouncementVO {
/**
* 公告编号。
*/
private String id;
/**
* 公告标题。
*/
private String title;
/**
* 公告类别。
*/
private String category;
/**
* 公告优先级。
*/
private Integer priority;
/**
* 公告发布时间。
*/
private LocalDateTime publishTime;
/**
* 当前账户是否已经阅读。
*/
private Boolean read;
/**
* 当前账户首次阅读时间。
*/
private LocalDateTime readTime;
}
@@ -0,0 +1,42 @@
package com.roomroot.jwgl.vo.notificationlog;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
* 通知发送日志详情展示数据。
*
* <p>继承列表中的发送和阅读统计字段,
* 并补充通知正文、创建信息和发布范围等详情字段。</p>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class NotificationLogDetailVO extends NotificationLogVO {
/**
* 通知正文。
*/
private String content;
/**
* 通知创建时间。
*/
private LocalDateTime createTime;
/**
* 通知优先级。
*/
private Integer priority;
/**
* 通知备注。
*/
private String remark;
/**
* 是否面向全体账户发送。
*/
private Boolean all;
}
@@ -0,0 +1,55 @@
package com.roomroot.jwgl.vo.notificationlog;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通知日志接收对象及阅读明细。
*
* <p>每个通知和账户只返回一条汇总记录,
* 兼容数据库中可能存在的历史重复接收数据。</p>
*/
@Data
public class NotificationLogRecipientVO {
/**
* 通告用户信息代表记录编号。
*/
private String id;
/**
* 接收账户编号。
*/
private String accountId;
/**
* 接收账户登录账号。
*/
private String loginName;
/**
* 接收人姓名。
*/
private String userName;
/**
* 是否已经成功接收。
*/
private Boolean received;
/**
* 首次成功接收时间。
*/
private LocalDateTime receivedTime;
/**
* 是否已经阅读。
*/
private Boolean read;
/**
* 首次阅读时间。
*/
private LocalDateTime readTime;
}
@@ -0,0 +1,65 @@
package com.roomroot.jwgl.vo.notificationlog;
import lombok.Data;
import java.math.BigDecimal;
/**
* 通知日志发送与阅读汇总统计。
*
* <p>统计范围与页面提交的通知日志筛选条件保持一致,
* 数量来自数据库聚合,派生数量和阅读率由工具类统一补全。</p>
*/
@Data
public class NotificationLogStatisticsVO {
/**
* 符合条件的通知日志数量。
*/
private Long notificationCount;
/**
* 发送成功的通知数量。
*/
private Long successNotificationCount;
/**
* 部分成功的通知数量。
*/
private Long partialNotificationCount;
/**
* 发送失败的通知数量。
*/
private Long failedNotificationCount;
/**
* 全部通知的接收对象总数。
*/
private Long recipientCount;
/**
* 已成功接收总人数。
*/
private Long receivedCount;
/**
* 发送失败总人数。
*/
private Long failedCount;
/**
* 已阅读总人数。
*/
private Long readerCount;
/**
* 未阅读总人数。
*/
private Long unreadCount;
/**
* 汇总阅读率百分比,保留两位小数。
*/
private BigDecimal readRate;
}
@@ -0,0 +1,81 @@
package com.roomroot.jwgl.vo.notificationlog;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 通知日志发送历史分页展示数据。
*
* <p>通知主体来自通告表,发送、接收和阅读数据来自通告用户信息表,
* 不向页面暴露数据库实体的公共持久化字段。</p>
*/
@Data
public class NotificationLogVO {
/**
* 通知编号。
*/
private String id;
/**
* 本次通知发送时间。
*/
private LocalDateTime sendTime;
/**
* 通知标题。
*/
private String title;
/**
* 通知类别。
*/
private String category;
/**
* 通知公告当前状态。
*/
private String noticeStatus;
/**
* 通知被有效打开的累计次数。
*/
private Integer readCount;
/**
* 本次通知接收对象总数。
*/
private Long recipientCount;
/**
* 已成功接收人数。
*/
private Long receivedCount;
/**
* 发送失败人数。
*/
private Long failedCount;
/**
* 已阅读人数。
*/
private Long readerCount;
/**
* 未阅读人数。
*/
private Long unreadCount;
/**
* 阅读率百分比,保留两位小数。
*/
private BigDecimal readRate;
/**
* 本次通知综合发送状态。
*/
private String sendStatus;
}
@@ -0,0 +1,11 @@
package com.roomroot.jwgl.vo.operationlog;
/**
* 操作日志详情展示数据。
*
* <p>详情接口当前展示的数据全部来自操作日志、登录记录和登录信息三表,
* 因此继承列表 VO 的公共审计字段,避免重复声明相同属性。
* 后续出现仅详情页面使用的字段时继续维护在当前 VO 中。</p>
*/
public class OperationLogDetailVO extends OperationLogVO {
}
@@ -0,0 +1,18 @@
package com.roomroot.jwgl.vo.operationlog;
import lombok.Data;
/**
* 操作日志模块选项展示数据。
*
* <p>用于向页面返回后端实际支持的模块筛选名称,
* 避免前端重复维护模块白名单。</p>
*/
@Data
public class OperationLogModuleVO {
/**
* 模块名称。
*/
private String name;
}
@@ -0,0 +1,85 @@
package com.roomroot.jwgl.vo.operationlog;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 操作日志分页列表展示数据。
*
* <p>操作日志、登录记录和登录账户信息通过 Mapper 联表查询,
* 当前 VO 只返回审计页面需要的非敏感字段。</p>
*/
@Data
public class OperationLogVO {
/**
* 操作日志编号。
*/
private String id;
/**
* 本次操作关联的登录记录编号。
*/
private String loginRecordId;
/**
* 操作发生时间。
*/
private LocalDateTime operationAt;
/**
* 根据请求地址识别出的业务模块名称。
*/
private String module;
/**
* 操作内容。
*/
private String operationContent;
/**
* 操作对应的请求地址。
*/
private String url;
/**
* 操作账户编号。
*/
private String accountId;
/**
* 登录账号。
*/
private String loginName;
/**
* 操作人姓名。
*/
private String operatorName;
/**
* 统一身份账号。
*/
private String unifiedAccount;
/**
* 本次会话的登录时间。
*/
private LocalDateTime loginAt;
/**
* 登录请求来源 IP 地址。
*/
private String ipAddress;
/**
* 客户端内网 IP;数据库未记录时为空。
*/
private String intranetIpAddress;
/**
* 本次登录过程的事务标识。
*/
private String transactionId;
}
@@ -0,0 +1,66 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 学期初始化参数展示数据。
*/
@Data
public class SemesterInitializationVO {
/** 学期所属年度。 */
private Integer year;
/** 同一年度内的学期序号。 */
private Integer sequenceNumber;
/** 根据年度和序号生成的学期名称。 */
private String semesterName;
/** 是否为当前学期。 */
private Boolean currentSemester;
/** 开学时间。 */
private LocalDateTime startAt;
/** 学期结束时间。 */
private LocalDateTime endAt;
/** 调课是否不需要审批。 */
private Boolean adjustmentWithoutApproval;
/** 课时系数方案编号。 */
private String hourCoefficientSchemeId;
/** 是否禁止调课。 */
private Boolean adjustmentForbidden;
/** 终结成绩是否定为及格。 */
private Boolean finalGradeAsPass;
/** 调课是否需要教务领导审核。 */
private Boolean leadershipReviewRequired;
/** 教员调整是否不需要审批。 */
private Boolean teacherAdjustmentWithoutApproval;
/** 时间调整是否不需要审批。 */
private Boolean timeAdjustmentWithoutApproval;
/** 保障调整是否不需要审批。 */
private Boolean supportAdjustmentWithoutApproval;
/** 场地调整是否不需要审批。 */
private Boolean venueAdjustmentWithoutApproval;
/** 锁定周数。 */
private Integer lockedWeeks;
/** 锁定计量单位。 */
private String lockMeasurementUnit;
/** 课时统计时间。 */
private LocalDateTime teachingHourStatisticsAt;
}
@@ -0,0 +1,22 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
/**
* 系统初始化单项预检查结果。
*/
@Data
public class SystemInitializationCheckItemVO {
/** 检查项代码。 */
private String code;
/** 检查项名称。 */
private String name;
/** 是否通过。 */
private Boolean passed;
/** 检查结果说明。 */
private String message;
}
@@ -0,0 +1,75 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 当前生效的系统初始化基础参数。
*
* <p>只包含系统初始化页面允许展示的基础参数,
* 不包含院校校验码等敏感数据库字段。</p>
*/
@Data
public class SystemInitializationConfigurationVO {
/**
* 当前配置版本编号。
*/
private Integer versionId;
/**
* 当前配置版本时间。
*/
private LocalDateTime versionDate;
/**
* 当前配置版本值。
*/
private String versionValue;
/**
* 院校名称。
*/
private String universityName;
/**
* 院校代码。
*/
private String universityCode;
/**
* 缺省系统名称。
*/
private String defaultSystemName;
/**
* 系统运行模式。
*/
private String systemMode;
/**
* 学期名称显示样式。
*/
private String semesterNameStyle;
/**
* 节次类别。
*/
private String periodCategory;
/**
* 学员队全名称是否包含年级。
*/
private Boolean studentTeamFullNameIncludesGrade;
/**
* 外部文件存储根路径。
*/
private String externalFileStorageRootPath;
/**
* 本站文件访问路径。
*/
private String localFileAccessPath;
}
@@ -0,0 +1,27 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 系统初始化最终执行结果。
*/
@Data
public class SystemInitializationExecutionResultVO {
/** 初始化是否成功完成。 */
private Boolean completed;
/** 完成初始化时使用的配置版本编号。 */
private Integer configurationVersionId;
/** 完成初始化时使用的学期名称。 */
private String semesterName;
/** 初始化完成时间。 */
private LocalDateTime completedAt;
/** 初始化结果说明。 */
private String message;
}
@@ -0,0 +1,33 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 系统初始化历史基础数据导入结果。
*/
@Data
public class SystemInitializationHistoricalImportResultVO {
/** 原始上传文件名称。 */
private String fileName;
/** 成功导入部别数量。 */
private Integer departmentCount;
/** 成功导入教研室数量。 */
private Integer researchOfficeCount;
/** 成功建立教研室隶属关系数量。 */
private Integer researchOfficeAffiliationCount;
/** 成功导入部别人员数量。 */
private Integer personnelCount;
/** 本次成功写入总数。 */
private Integer totalCount;
/** 导入完成时间。 */
private LocalDateTime importedAt;
}
@@ -0,0 +1,39 @@
package com.roomroot.jwgl.vo.systeminitialization;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 系统初始化预检查汇总结果。
*/
@Data
public class SystemInitializationPrecheckVO {
/** 当前配置版本编号。 */
private Integer configurationVersionId;
/** 当前学期。 */
private SemesterInitializationVO currentSemester;
/** 当前部别数量。 */
private Integer departmentCount;
/** 当前教研室数量。 */
private Integer researchOfficeCount;
/** 当前部别人员数量。 */
private Integer personnelCount;
/** 所有必需检查项是否均已通过。 */
private Boolean ready;
/** 各项检查结果。 */
private List<SystemInitializationCheckItemVO> items =
new ArrayList<>();
/** 本次检查时间。 */
private LocalDateTime checkedAt;
}