From 450d664c33905c579c60c910e8f538822e9ea9f3 Mon Sep 17 00:00:00 2001 From: liweijie Date: Mon, 21 Sep 2026 17:28:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E5=AD=A6=E5=A4=A7=E7=BA=B2=EF=BC=8C?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=A1=AB=E5=86=99=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jwgl/service/impl/ZYJXJHBServiceImpl.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/ZYJXJHBServiceImpl.java b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/ZYJXJHBServiceImpl.java index 84c373edc..3ad662336 100644 --- a/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/ZYJXJHBServiceImpl.java +++ b/backend/roomroot-jwgl/src/main/java/com/roomroot/jwgl/service/impl/ZYJXJHBServiceImpl.java @@ -245,40 +245,45 @@ public class ZYJXJHBServiceImpl implements ZYJXJHBService { // 填写说明 sheet String[][] instructions = { - {"专业代号", "必填", "专业表中的专业代号(非专业名称),导入时下拉选择项对应的代号"}, - {"课编号", "必填", "课表中的课编号(非课程名称)"}, - {"学期第次", "必填", "数字,1-20,表示该课程安排在第几个学期"}, - {"课类型", "必填", "课类型字典值,如:必修、选修等(以系统字典 course_type 为准)"}, + {"专业代号", "必填", "学科专业信息表中的专业代号(非专业名称),必须已存在,否则该行导入失败"}, + {"课编号", "必填", "课表中的课编号(非课程名称),必须已存在,否则该行导入失败"}, + {"学期第次", "必填", "数字,表示该课程安排在第几个学期"}, + {"课类型", "必填", "非空即可,建议填字典 course_type 的值(如:必修、选修)"}, {"学时", "必填", "数字,总学时"}, - {"停用", "选填", "是/否,默认否(导入后立即停用才填是)"}, + {"停用", "选填", "是/否(也支持 1/0、Y/N、true/false),默认否"}, {"简称", "选填", "课程简称"}, {"学分", "选填", "数字,可带一位小数"}, {"课程定位", "选填", "文本"}, {"模块", "选填", "文本"}, {"成绩分制", "选填", "文本,如:百分制、五级制"}, - {"教研室代号", "选填", "教研室表中的教研室代号,填了必须存在"}, + {"教研室代号", "选填", "教研室表中的教研室代号,可留空;填了必须已存在,否则该行导入失败"}, {"考试课时", "选填", "数字"}, {"理论学时", "选填", "数字"}, {"实践学时", "选填", "数字"}, {"周课时", "选填", "数字"}, - {"不计入平均分", "选填", "是/否,默认否"}, - {"考试课时不显示", "选填", "是/否,默认否"}, - {"大纲课程", "选填", "是/否,默认否"} + {"不计入平均分", "选填", "是/否(也支持 1/0、Y/N、true/false),默认否"}, + {"考试课时不显示", "选填", "是/否(也支持 1/0、Y/N、true/false),默认否"}, + {"大纲课程", "选填", "是/否(也支持 1/0、Y/N、true/false),默认否"} }; org.apache.poi.ss.usermodel.Sheet helpSheet = workbook.createSheet("填写说明"); org.apache.poi.ss.usermodel.Row titleRow = helpSheet.createRow(0); org.apache.poi.ss.usermodel.Cell titleCell = titleRow.createCell(0); titleCell.setCellValue("教学大纲导入填写说明(红色表头列为必填;专业代号+课编号+学期第次 相同的行视为重复,将跳过不导入)"); titleCell.setCellStyle(headerStyle); + org.apache.poi.ss.usermodel.Row ruleRow = helpSheet.createRow(1); + org.apache.poi.ss.usermodel.Cell ruleCell = ruleRow.createCell(0); + ruleCell.setCellValue("校验规则:必填列=专业代号、课编号、学期第次、课类型、学时;" + + "专业代号/课编号/教研室代号 填的值必须在对应表中已存在,否则该行失败;任一必填项为空或非数字该行也失败"); + ruleCell.setCellStyle(headerStyle); String[] helpHeaders = {"列名", "是否必填", "填写说明"}; - org.apache.poi.ss.usermodel.Row helpHeaderRow = helpSheet.createRow(1); + org.apache.poi.ss.usermodel.Row helpHeaderRow = helpSheet.createRow(2); for (int i = 0; i < helpHeaders.length; i++) { org.apache.poi.ss.usermodel.Cell cell = helpHeaderRow.createCell(i); cell.setCellValue(helpHeaders[i]); cell.setCellStyle(headerStyle); } for (int i = 0; i < instructions.length; i++) { - org.apache.poi.ss.usermodel.Row row = helpSheet.createRow(i + 2); + org.apache.poi.ss.usermodel.Row row = helpSheet.createRow(i + 3); for (int j = 0; j < 3; j++) { row.createCell(j).setCellValue(instructions[i][j]); }