本文档描述宿舍卫生检查数据导出功能的API接口,支持导出宿舍卫生检查情况以及宿舍内学生的详细卫生情况信息。
版本: 1.0
创建时间: 2025-01-29
最后更新: 2025-01-29
POST /dormHygieneCheck/dormHygieneCheck/exportdormHygieneCheck:dormHygieneCheck:export| 参数名 | 类型 | 是否必填 | 说明 | 示例值 |
|---|---|---|---|---|
| checkTitle | string | 否 | 检查标题 | "宿舍卫生大检查" |
| checkDate | string | 否 | 检查日期 | "2025-01-29" |
| checkerId | number | 否 | 检查员ID | 1001 |
| checkerName | string | 否 | 检查员姓名 | "张老师" |
| checkType | string | 否 | 检查类型 | "1"(日常检查) |
| checkLevel | string | 否 | 检查级别 | "2"(学院) |
| roomId | number | 否 | 房间ID | 2001 |
| roomName | string | 否 | 房间名称 | "101" |
| buildingId | number | 否 | 宿舍楼ID | 3001 |
| buildingName | string | 否 | 宿舍楼名称 | "1号楼" |
| areaId | number | 否 | 宿舍区ID | 4001 |
| areaName | string | 否 | 宿舍区名称 | "北区" |
| campusId | number | 否 | 校区ID | 5001 |
| campusName | string | 否 | 校区名称 | "主校区" |
| hygieneGrade | string | 否 | 卫生等级 | "A"(优秀) |
| params.beginTime | string | 否 | 开始时间 | "2025-01-01" |
| params.endTime | string | 否 | 结束时间 | "2025-01-31" |
// 前端调用示例
const exportData = async () => {
try {
const queryParams = {
checkTitle: "宿舍卫生大检查",
checkDate: "2025-01-29",
checkType: "1",
checkLevel: "2",
campusName: "主校区",
hygieneGrade: "A",
params: {
beginTime: "2025-01-01",
endTime: "2025-01-31"
}
};
const response = await exportDormHygieneCheck(queryParams);
// 创建下载链接
const blob = new Blob([response.data], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
});
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = `宿舍卫生检查数据_${new Date().toISOString().slice(0, 10)}.xlsx`;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
} catch (error) {
console.error('导出失败:', error);
}
};
成功响应:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetattachment; filename="宿舍卫生检查数据_2025-01-29.xlsx"错误响应:
{
"code": 500,
"msg": "导出失败",
"data": null
}
| 列序号 | 字段名 | 说明 | 示例值 |
|---|---|---|---|
| 1 | 检查标题 | 本次检查的主题 | "宿舍卫生大检查" |
| 2 | 检查日期 | 检查进行的日期 | "2025-01-29" |
| 3 | 检查员 | 执行检查的人员 | "张老师" |
| 4 | 检查类型 | 检查的类别 | "日常检查" |
| 5 | 检查级别 | 检查的级别 | "学院" |
| 6 | 校区 | 宿舍所在校区 | "主校区" |
| 7 | 宿舍区 | 宿舍所在宿舍区 | "北区" |
| 8 | 宿舍楼 | 宿舍所在楼栋 | "1号楼" |
| 9 | 房间号 | 宿舍房间编号 | "101" |
| 10 | 宿舍总分 | 宿舍整体得分 | 85 |
| 11 | 卫生等级 | 宿舍卫生等级 | "优秀" |
| 12 | 学号 | 学生学号 | "2023001001" |
| 13 | 学生姓名 | 学生真实姓名 | "张三" |
| 14 | 班级 | 学生所在班级 | "计算机科学与技术2023-1班" |
| 15 | 专业 | 学生专业 | "计算机科学与技术" |
| 16 | 学院 | 学生所属学院 | "计算机学院" |
| 17 | 床位号 | 学生床位编号 | "A1" |
| 18 | 个人得分 | 学生个人卫生得分 | 90 |
| 19 | 出勤状态 | 检查时学生出勤情况 | "在寝" |
| 20 | 个人评级 | 学生个人卫生等级 | "优秀" |
| 21 | 是否寝室长 | 是否担任寝室长 | "是" |
| 22 | 评分备注 | 评分相关说明 | "个人卫生良好" |
| 23 | 改进意见 | 针对个人的改进建议 | "保持当前状态" |
| 24 | 检查总结 | 宿舍整体检查总结 | "整体卫生状况良好" |
| 25 | 整改建议 | 宿舍整体整改建议 | "继续保持" |
@SaCheckPermission("dormHygieneCheck:dormHygieneCheck:export")
@Log(title = "宿舍卫生检查", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(DormHygieneCheckBo bo, HttpServletResponse response) {
List<DormHygieneCheckExportVo> list = dormHygieneCheckService.queryExportList(bo);
ExcelUtils.exportExcel(list, "宿舍卫生检查数据", DormHygieneCheckExportVo.class, response);
}
dormHygieneCheck:dormHygieneCheck:export
-- 添加导出权限菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, menu_type, visible, status, perms, remark)
VALUES ('宿舍卫生检查导出', (父菜单ID), 5, 'F', '0', '0', 'dormHygieneCheck:dormHygieneCheck:export', '宿舍卫生检查导出权限');
-- 为相关角色分配权限
INSERT INTO sys_role_menu (role_id, menu_id) VALUES (角色ID, 菜单ID);
// 测试导出所有数据
const testBasicExport = async () => {
const response = await exportDormHygieneCheck({});
// 验证返回的是Excel文件
assert(response.headers['content-type'].includes('spreadsheetml.sheet'));
};
// 测试按条件筛选导出
const testFilteredExport = async () => {
const queryParams = {
checkType: "1",
hygieneGrade: "A",
params: {
beginTime: "2025-01-01",
endTime: "2025-01-31"
}
};
const response = await exportDormHygieneCheck(queryParams);
// 验证数据筛选正确
};
// 测试权限控制
const testPermission = async () => {
// 使用无权限用户访问
try {
await exportDormHygieneCheck({});
assert(false, '应该抛出权限错误');
} catch (error) {
assert(error.response.status === 403);
}
};
exportDormHygieneCheck方法开发团队: 校园管理系统开发组
技术支持: 系统管理员
文档维护: 2025-01-29
该文档将根据功能更新和用户反馈持续完善