课表模板新增的时候报错修复

This commit is contained in:
2026-09-18 20:38:21 +08:00
parent 62ff4d48ab
commit 574d41aea8
4 changed files with 136 additions and 136 deletions
@@ -20,282 +20,282 @@ public class KCBMBB {
* 编号
*/
@TableId(value = "编号", type = IdType.INPUT)
private String bH;
private String bh;
/**
* 模版名称
*/
@TableField("模版名称")
private String mBMC;
private String mbmc;
/**
* 标题位置
*/
@TableField("标题位置")
private String bTWZ;
private String btwz;
/**
* 专业信息位置
*/
@TableField("专业信息位置")
private String zYXXWZ;
private String zyxxwz;
/**
* 课表时间行号
*/
@TableField("课表时间行号")
private String kBSJHH;
private String kbsjhh;
/**
* 显示夜间
*/
@TableField("显示夜间")
private Boolean xSYJ;
private Boolean xsyj;
/**
* 末尾列位置
*/
@TableField("末尾列位置")
private String mWLWZ;
private String mwlwz;
/**
* 课程行位置
*/
@TableField("课程行位置")
private String kCHWZ;
private String kchwz;
/**
* 课程序号列位置
*/
@TableField("课程序号列位置")
private String kCXHLWZ;
private String kcxhlwz;
/**
* 课程名称列位置
*/
@TableField("课程名称列位置")
private String kCMCLWZ;
private String kcmclwz;
/**
* 课程简称列位置
*/
@TableField("课程简称列位置")
private String kCJCLWZ;
private String kcjclwz;
/**
* 课程学时列位置
*/
@TableField("课程学时列位置")
private String kCXSLWZ;
private String kcxslwz;
/**
* 课程类型列位置
*/
@TableField("课程类型列位置")
private String kCLXLWZ;
private String kclxlwz;
/**
* 课程责任教研室列位置
*/
@TableField("课程责任教研室列位置")
private String kCZRJYSLWZ;
private String kczrjyslwz;
/**
* 课程责任教员列位置
*/
@TableField("课程责任教员列位置")
private String kCZRJYLWZ;
private String kczrjylwz;
/**
* 课程授课教员列位置
*/
@TableField("课程授课教员列位置")
private String kCSKJYLWZ;
private String kcskjylwz;
/**
* 课程人数列位置
*/
@TableField("课程人数列位置")
private String kCRSLWZ;
private String kcrslwz;
/**
* 课程场地列位置
*/
@TableField("课程场地列位置")
private String kCCDLWZ;
private String kccdlwz;
/**
* 全局备注位置
*/
@TableField("全局备注位置")
private String qJBZWZ;
private String qjbzwz;
/**
* 更新时间
*/
@TableField("更新时间")
private LocalDateTime gXSJ;
private LocalDateTime gxsj;
/**
* 上传者
*/
@TableField("上传者")
private String sCZ;
private String scz;
/**
* 备注
*/
@TableField("备注")
private String bZ;
private String bz;
/**
* 模版
*/
@TableField("模版")
private String mB;
private String mb;
/**
* 模版存在
*/
@TableField("模版存在")
private Boolean mBCZ;
private Boolean mbcz;
/**
* 模版可用
*/
@TableField("模版可用")
private Boolean mBKY;
private Boolean mbky;
/**
* 备注纵向样式
*/
@TableField("备注纵向样式")
private Boolean bZZXYS;
private Boolean bzzxys;
/**
* 无课站位字符
*/
@TableField("无课站位字符")
private String wKZWZF;
private String wkzwzf;
/**
* 队别位置
*/
@TableField("队别位置")
private String dBWZ;
private String dbwz;
/**
* 课程合班信息位置
*/
@TableField("课程合班信息位置")
private String kCHBXXWZ;
private String kchbxxwz;
/**
* 标题格式
*/
@TableField("标题格式")
private String bTGS;
private String btgs;
/**
* 副标题格式
*/
@TableField("副标题格式")
private String fBTGS;
private String fbtgs;
/**
* 专用教室位置
*/
@TableField("专用教室位置")
private String zYJSWZ;
private String zyjswz;
/**
* 附加备注1位置
*/
@TableField("附加备注1位置")
private String fJBZ1WZ;
private String fjbz1wz;
/**
* 附加备注2位置
*/
@TableField("附加备注2位置")
private String fJBZ2WZ;
private String fjbz2wz;
/**
* 课表样式
*/
@TableField("课表样式")
private String kBYS;
private String kbys;
/**
* 课表包含选修
*/
@TableField("课表包含选修")
private Boolean kBBHXX;
private Boolean kbbhxx;
/**
* 纵向显示78节
*/
@TableField("纵向显示78节")
private Boolean zXXS78J;
private Boolean zxxs78j;
/**
* 纵向显示晚上
*/
@TableField("纵向显示晚上")
private Boolean zXXSWS;
private Boolean zxxsws;
/**
* 纵向显示天数
*/
@TableField("纵向显示天数")
private Integer zXXSTS;
private Integer zxxsts;
/**
* 课程全部场地列位置
*/
@TableField("课程全部场地列位置")
private String kCQBCDLWZ;
private String kcqbcdlwz;
/**
* 课程表样式
*/
@TableField("课程表样式")
private String kCBYS;
private String kcbys;
/**
* 课程主讲教员列位置
*/
@TableField("课程主讲教员列位置")
private String kCZJJYLWZ;
private String kczjjylwz;
/**
* 课程辅导教员列位置
*/
@TableField("课程辅导教员列位置")
private String kCFDJYLWZ;
private String kcfdjylwz;
/**
* 课程周次范围列位置
*/
@TableField("课程周次范围列位置")
private String kCZCFWLWZ;
private String kczcfwlwz;
/**
* 课程表起始列位置
*/
@TableField("课程表起始列位置")
private String kCBQSLWZ;
private String kcbqslwz;
/**
* 课程表一周正课天数
*/
@TableField("课程表一周正课天数")
private Integer kCBYZZKTS;
private Integer kcbyzzkts;
/**
* JSONZD
*/
@TableField("\"json字典\"")
private String jsonZD;
private String jsonzd;
}
@@ -3,53 +3,53 @@
<mapper namespace="com.roomroot.jwgl.mapper.KCBMBBMapper">
<resultMap id="BaseResultMap" type="com.roomroot.jwgl.entity.KCBMBB">
<result column="编号" property="bH" />
<result column="模版名称" property="mBMC" />
<result column="标题位置" property="bTWZ" />
<result column="专业信息位置" property="zYXXWZ" />
<result column="课表时间行号" property="kBSJHH" />
<result column="显示夜间" property="xSYJ" />
<result column="末尾列位置" property="mWLWZ" />
<result column="课程行位置" property="kCHWZ" />
<result column="课程序号列位置" property="kCXHLWZ" />
<result column="课程名称列位置" property="kCMCLWZ" />
<result column="课程简称列位置" property="kCJCLWZ" />
<result column="课程学时列位置" property="kCXSLWZ" />
<result column="课程类型列位置" property="kCLXLWZ" />
<result column="课程责任教研室列位置" property="kCZRJYSLWZ" />
<result column="课程责任教员列位置" property="kCZRJYLWZ" />
<result column="课程授课教员列位置" property="kCSKJYLWZ" />
<result column="课程人数列位置" property="kCRSLWZ" />
<result column="课程场地列位置" property="kCCDLWZ" />
<result column="全局备注位置" property="qJBZWZ" />
<result column="更新时间" property="gXSJ" />
<result column="上传者" property="sCZ" />
<result column="备注" property="bZ" />
<result column="模版" property="mB" />
<result column="模版存在" property="mBCZ" />
<result column="模版可用" property="mBKY" />
<result column="备注纵向样式" property="bZZXYS" />
<result column="无课站位字符" property="wKZWZF" />
<result column="队别位置" property="dBWZ" />
<result column="课程合班信息位置" property="kCHBXXWZ" />
<result column="标题格式" property="bTGS" />
<result column="副标题格式" property="fBTGS" />
<result column="专用教室位置" property="zYJSWZ" />
<result column="附加备注1位置" property="fJBZ1WZ" />
<result column="附加备注2位置" property="fJBZ2WZ" />
<result column="课表样式" property="kBYS" />
<result column="课表包含选修" property="kBBHXX" />
<result column="纵向显示78节" property="zXXS78J" />
<result column="纵向显示晚上" property="zXXSWS" />
<result column="纵向显示天数" property="zXXSTS" />
<result column="课程全部场地列位置" property="kCQBCDLWZ" />
<result column="课程表样式" property="kCBYS" />
<result column="课程主讲教员列位置" property="kCZJJYLWZ" />
<result column="课程辅导教员列位置" property="kCFDJYLWZ" />
<result column="课程周次范围列位置" property="kCZCFWLWZ" />
<result column="课程表起始列位置" property="kCBQSLWZ" />
<result column="课程表一周正课天数" property="kCBYZZKTS" />
<result column="JSONZD" property="jsonZD" />
<result column="编号" property="bh" />
<result column="模版名称" property="mbmc" />
<result column="标题位置" property="btwz" />
<result column="专业信息位置" property="zyxxwz" />
<result column="课表时间行号" property="kbsjhh" />
<result column="显示夜间" property="xsyj" />
<result column="末尾列位置" property="mwlwz" />
<result column="课程行位置" property="kchwz" />
<result column="课程序号列位置" property="kcxhlwz" />
<result column="课程名称列位置" property="kcmclwz" />
<result column="课程简称列位置" property="kcjclwz" />
<result column="课程学时列位置" property="kcxslwz" />
<result column="课程类型列位置" property="kclxlwz" />
<result column="课程责任教研室列位置" property="kczrjyslwz" />
<result column="课程责任教员列位置" property="kczrjylwz" />
<result column="课程授课教员列位置" property="kcskjylwz" />
<result column="课程人数列位置" property="kcrslwz" />
<result column="课程场地列位置" property="kccdlwz" />
<result column="全局备注位置" property="qjbzwz" />
<result column="更新时间" property="gxsj" />
<result column="上传者" property="scz" />
<result column="备注" property="bz" />
<result column="模版" property="mb" />
<result column="模版存在" property="mbcz" />
<result column="模版可用" property="mbky" />
<result column="备注纵向样式" property="bzzxys" />
<result column="无课站位字符" property="wkzwzf" />
<result column="队别位置" property="dbwz" />
<result column="课程合班信息位置" property="kchbxxwz" />
<result column="标题格式" property="btgs" />
<result column="副标题格式" property="fbtgs" />
<result column="专用教室位置" property="zyjswz" />
<result column="附加备注1位置" property="fjbz1wz" />
<result column="附加备注2位置" property="fjbz2wz" />
<result column="课表样式" property="kbys" />
<result column="课表包含选修" property="kbbhxx" />
<result column="纵向显示78节" property="zxxs78j" />
<result column="纵向显示晚上" property="zxxsws" />
<result column="纵向显示天数" property="zxxsts" />
<result column="课程全部场地列位置" property="kcqbcdlwz" />
<result column="课程表样式" property="kcbys" />
<result column="课程主讲教员列位置" property="kczjjylwz" />
<result column="课程辅导教员列位置" property="kcfdjylwz" />
<result column="课程周次范围列位置" property="kczcfwlwz" />
<result column="课程表起始列位置" property="kcbqslwz" />
<result column="课程表一周正课天数" property="kcbyzzkts" />
<result column="JSONZD" property="jsonzd" />
</resultMap>
<sql id="Base_Column_List">
@@ -26,8 +26,8 @@ public class KCBMBServiceImpl implements KCBMBService {
public PageResult<KCBMBB> page(PageQuery query, String mbmc) {
Page<KCBMBB> page = new Page<>(query.getPageNum(), query.getPageSize());
LambdaQueryWrapper<KCBMBB> qw = new LambdaQueryWrapper<KCBMBB>()
.like(mbmc != null && !mbmc.isEmpty(), KCBMBB::getMBMC, mbmc)
.orderByDesc(KCBMBB::getGXSJ);
.like(mbmc != null && !mbmc.isEmpty(), KCBMBB::getMbmc, mbmc)
.orderByDesc(KCBMBB::getGxsj);
Page<KCBMBB> result = kcbmbbMapper.selectPage(page, qw);
return new PageResult<>(result.getRecords(), result.getTotal(), query.getPageNum(), query.getPageSize());
}
@@ -39,15 +39,15 @@ public class KCBMBServiceImpl implements KCBMBService {
@Override
public void add(KCBMBB tpl) {
if (tpl.getMBMC() == null || tpl.getMBMC().isEmpty()) {
if (tpl.getMbmc() == null || tpl.getMbmc().isEmpty()) {
throw new BusinessException("模版名称不能为空");
}
tpl.setBH(UuidUtil.getUUID());
tpl.setGXSJ(LocalDateTime.now());
if (tpl.getMBKY() == null) {
tpl.setMBKY(true);
tpl.setBh(UuidUtil.getUUID());
tpl.setGxsj(LocalDateTime.now());
if (tpl.getMbky() == null) {
tpl.setMbky(true);
}
tpl.setMBCZ(tpl.getMB() != null && !tpl.getMB().isEmpty());
tpl.setMbcz(tpl.getMb() != null && !tpl.getMb().isEmpty());
applyLayoutDefaults(tpl);
kcbmbbMapper.insert(tpl);
}
@@ -57,39 +57,39 @@ public class KCBMBServiceImpl implements KCBMBService {
* 未填写时给占位值,上传者取当前登录账号。
*/
private void applyLayoutDefaults(KCBMBB tpl) {
if (tpl.getBTWZ() == null || tpl.getBTWZ().isEmpty()) tpl.setBTWZ("0");
if (tpl.getZYXXWZ() == null || tpl.getZYXXWZ().isEmpty()) tpl.setZYXXWZ("0");
if (tpl.getKBSJHH() == null || tpl.getKBSJHH().isEmpty()) tpl.setKBSJHH("0");
if (tpl.getMWLWZ() == null || tpl.getMWLWZ().isEmpty()) tpl.setMWLWZ("0");
if (tpl.getKCHWZ() == null || tpl.getKCHWZ().isEmpty()) tpl.setKCHWZ("0");
if (tpl.getKCXHLWZ() == null || tpl.getKCXHLWZ().isEmpty()) tpl.setKCXHLWZ("0");
if (tpl.getKCMCLWZ() == null || tpl.getKCMCLWZ().isEmpty()) tpl.setKCMCLWZ("0");
if (tpl.getKCJCLWZ() == null || tpl.getKCJCLWZ().isEmpty()) tpl.setKCJCLWZ("0");
if (tpl.getKCXSLWZ() == null || tpl.getKCXSLWZ().isEmpty()) tpl.setKCXSLWZ("0");
if (tpl.getKCLXLWZ() == null || tpl.getKCLXLWZ().isEmpty()) tpl.setKCLXLWZ("0");
if (tpl.getKCZRJYSLWZ() == null || tpl.getKCZRJYSLWZ().isEmpty()) tpl.setKCZRJYSLWZ("0");
if (tpl.getKCZRJYLWZ() == null || tpl.getKCZRJYLWZ().isEmpty()) tpl.setKCZRJYLWZ("0");
if (tpl.getKCSKJYLWZ() == null || tpl.getKCSKJYLWZ().isEmpty()) tpl.setKCSKJYLWZ("0");
if (tpl.getKCRSLWZ() == null || tpl.getKCRSLWZ().isEmpty()) tpl.setKCRSLWZ("0");
if (tpl.getKCCDLWZ() == null || tpl.getKCCDLWZ().isEmpty()) tpl.setKCCDLWZ("0");
if (tpl.getQJBZWZ() == null || tpl.getQJBZWZ().isEmpty()) tpl.setQJBZWZ("0");
if (tpl.getSCZ() == null || tpl.getSCZ().isEmpty()) {
if (tpl.getBtwz() == null || tpl.getBtwz().isEmpty()) tpl.setBtwz("0");
if (tpl.getZyxxwz() == null || tpl.getZyxxwz().isEmpty()) tpl.setZyxxwz("0");
if (tpl.getKbsjhh() == null || tpl.getKbsjhh().isEmpty()) tpl.setKbsjhh("0");
if (tpl.getMwlwz() == null || tpl.getMwlwz().isEmpty()) tpl.setMwlwz("0");
if (tpl.getKchwz() == null || tpl.getKchwz().isEmpty()) tpl.setKchwz("0");
if (tpl.getKcxhlwz() == null || tpl.getKcxhlwz().isEmpty()) tpl.setKcxhlwz("0");
if (tpl.getKcmclwz() == null || tpl.getKcmclwz().isEmpty()) tpl.setKcmclwz("0");
if (tpl.getKcjclwz() == null || tpl.getKcjclwz().isEmpty()) tpl.setKcjclwz("0");
if (tpl.getKcxslwz() == null || tpl.getKcxslwz().isEmpty()) tpl.setKcxslwz("0");
if (tpl.getKclxlwz() == null || tpl.getKclxlwz().isEmpty()) tpl.setKclxlwz("0");
if (tpl.getKczrjyslwz() == null || tpl.getKczrjyslwz().isEmpty()) tpl.setKczrjyslwz("0");
if (tpl.getKczrjylwz() == null || tpl.getKczrjylwz().isEmpty()) tpl.setKczrjylwz("0");
if (tpl.getKcskjylwz() == null || tpl.getKcskjylwz().isEmpty()) tpl.setKcskjylwz("0");
if (tpl.getKcrslwz() == null || tpl.getKcrslwz().isEmpty()) tpl.setKcrslwz("0");
if (tpl.getKccdlwz() == null || tpl.getKccdlwz().isEmpty()) tpl.setKccdlwz("0");
if (tpl.getQjbzwz() == null || tpl.getQjbzwz().isEmpty()) tpl.setQjbzwz("0");
if (tpl.getScz() == null || tpl.getScz().isEmpty()) {
try {
tpl.setSCZ(com.roomroot.common.utils.SecurityUtils.getUsername());
tpl.setScz(com.roomroot.common.utils.SecurityUtils.getUsername());
} catch (Exception e) {
tpl.setSCZ("system");
tpl.setScz("system");
}
}
if (tpl.getXSYJ() == null) tpl.setXSYJ(false);
if (tpl.getXsyj() == null) tpl.setXsyj(false);
}
@Override
public void update(KCBMBB tpl) {
if (tpl.getBH() == null || tpl.getBH().isEmpty()) {
if (tpl.getBh() == null || tpl.getBh().isEmpty()) {
throw new BusinessException("模版编号不能为空");
}
tpl.setGXSJ(LocalDateTime.now());
tpl.setMBCZ(tpl.getMB() != null && !tpl.getMB().isEmpty());
tpl.setGxsj(LocalDateTime.now());
tpl.setMbcz(tpl.getMb() != null && !tpl.getMb().isEmpty());
kcbmbbMapper.updateById(tpl);
}
@@ -104,21 +104,21 @@ public class KCBMBServiceImpl implements KCBMBService {
if (tpl == null) {
throw new BusinessException("模版不存在:" + bh);
}
tpl.setMBKY(enabled);
tpl.setGXSJ(LocalDateTime.now());
tpl.setMbky(enabled);
tpl.setGxsj(LocalDateTime.now());
kcbmbbMapper.updateById(tpl);
}
@Override
public List<KCBMBB> options() {
return kcbmbbMapper.selectList(new LambdaQueryWrapper<KCBMBB>()
.eq(KCBMBB::getMBKY, true)
.orderByDesc(KCBMBB::getGXSJ))
.eq(KCBMBB::getMbky, true)
.orderByDesc(KCBMBB::getGxsj))
.stream()
.map(t -> {
KCBMBB o = new KCBMBB();
o.setBH(t.getBH());
o.setMBMC(t.getMBMC());
o.setBh(t.getBh());
o.setMbmc(t.getMbmc());
return o;
})
.collect(Collectors.toList());
@@ -293,7 +293,7 @@ public class TimetableGridServiceImpl implements TimetableGridService {
}
SSKC course = courses.get(l.getSskcbh());
KB kb = course == null ? null : kbByKbh.get(course.getKmbh());
if (tpl != null && Boolean.FALSE.equals(tpl.getKBBHXX())
if (tpl != null && Boolean.FALSE.equals(tpl.getKbbhxx())
&& kb != null && kb.getKclx() != null && kb.getKclx().contains("选修")) {
continue;
}
@@ -315,7 +315,7 @@ public class TimetableGridServiceImpl implements TimetableGridService {
TimetableGridVO.Day day = new TimetableGridVO.Day();
day.setDate(date.format(DAY));
day.setWeekday(wd);
if (tpl != null && tpl.getZXXSTS() != null && tpl.getZXXSTS() <= 5 && wd > tpl.getZXXSTS()) {
if (tpl != null && tpl.getZxxsts() != null && tpl.getZxxsts() <= 5 && wd > tpl.getZxxsts()) {
// 模板「纵向显示天数」截断周末列
continue;
}
@@ -610,9 +610,9 @@ public class TimetableGridServiceImpl implements TimetableGridService {
}
if (tpl != null) {
periods = periods.stream().filter(p -> {
if (Boolean.FALSE.equals(tpl.getZXXS78J()) && (p.getJc() == 7 || p.getJc() == 8)) return false;
if (Boolean.FALSE.equals(tpl.getZXXSWS()) && "晚上".equals(p.getSd())) return false;
if (Boolean.FALSE.equals(tpl.getXSYJ()) && "夜间".equals(p.getSd())) return false;
if (Boolean.FALSE.equals(tpl.getZxxs78j()) && (p.getJc() == 7 || p.getJc() == 8)) return false;
if (Boolean.FALSE.equals(tpl.getZxxsws()) && "晚上".equals(p.getSd())) return false;
if (Boolean.FALSE.equals(tpl.getXsyj()) && "夜间".equals(p.getSd())) return false;
return true;
}).collect(Collectors.toList());
}