部分表名写成了英文名调整
This commit is contained in:
@@ -13,13 +13,13 @@ import java.time.LocalDateTime;
|
||||
* </p>
|
||||
*/
|
||||
@Data
|
||||
@TableName("教学日志_学员学习情况")
|
||||
@TableName("课堂日志学员考勤表")
|
||||
public class JXRZXYXXQK {
|
||||
|
||||
@TableId(value = "编号", type = IdType.INPUT)
|
||||
private String bh;
|
||||
|
||||
@TableField("教学日志编号")
|
||||
@TableField("日志编号")
|
||||
private String jxrzbh;
|
||||
|
||||
@TableField("学员编号")
|
||||
@@ -35,7 +35,7 @@ public class JXRZXYXXQK {
|
||||
@TableField("到课情况")
|
||||
private Integer dkqk;
|
||||
|
||||
@TableField("请假情况")
|
||||
@TableField("请示情况")
|
||||
private Integer qjqk;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.roomroot.jwgl.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -24,136 +25,163 @@ public class JXSSJHTJB {
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@TableField("日期")
|
||||
private LocalDateTime rq;
|
||||
|
||||
/**
|
||||
* 节次
|
||||
*/
|
||||
@TableField("节次")
|
||||
private Integer jc;
|
||||
|
||||
/**
|
||||
* 总学时
|
||||
*/
|
||||
@TableField("总学时")
|
||||
private Integer zxs;
|
||||
|
||||
/**
|
||||
* 总节次
|
||||
*/
|
||||
@TableField("总节次")
|
||||
private Integer zjc;
|
||||
|
||||
/**
|
||||
* 已办理计划调整数
|
||||
*/
|
||||
@TableField("已办理计划调整数")
|
||||
private Integer ybljhdzs;
|
||||
|
||||
/**
|
||||
* 调课数
|
||||
*/
|
||||
@TableField("调课数")
|
||||
private Integer dks;
|
||||
|
||||
/**
|
||||
* 教学日志填写数
|
||||
*/
|
||||
@TableField("教学日志填写数")
|
||||
private Integer jxrztxs;
|
||||
|
||||
/**
|
||||
* 已审核教学日志数
|
||||
*/
|
||||
@TableField("已审核教学日志数")
|
||||
private Integer yshjxrzs;
|
||||
|
||||
/**
|
||||
* 听查课数
|
||||
*/
|
||||
@TableField("听查课数")
|
||||
private Integer tcks;
|
||||
|
||||
/**
|
||||
* 教学督导数
|
||||
*/
|
||||
@TableField("教学督导数")
|
||||
private Integer jxdds;
|
||||
|
||||
/**
|
||||
* 开课课程门数
|
||||
*/
|
||||
@TableField("开课课程门数")
|
||||
private Integer kkkcms;
|
||||
|
||||
/**
|
||||
* 课程考核次数
|
||||
*/
|
||||
@TableField("课程考核次数")
|
||||
private Integer kckhcs;
|
||||
|
||||
/**
|
||||
* 动用教学场地数
|
||||
*/
|
||||
@TableField("动用教学场地数")
|
||||
private Integer dyjxcds;
|
||||
|
||||
/**
|
||||
* 上课教员数
|
||||
*/
|
||||
@TableField("上课教员数")
|
||||
private Integer skjys;
|
||||
|
||||
/**
|
||||
* 教学班次数
|
||||
*/
|
||||
@TableField("教学班次数")
|
||||
private Integer jxbcs;
|
||||
|
||||
/**
|
||||
* 实体教学班次数
|
||||
*/
|
||||
@TableField("实体教学班次数")
|
||||
private Integer stjxbcs;
|
||||
|
||||
/**
|
||||
* 选修教学班次数
|
||||
*/
|
||||
@TableField("选修教学班次数")
|
||||
private Integer xxjxbcs;
|
||||
|
||||
/**
|
||||
* 学员总人数
|
||||
*/
|
||||
@TableField("学员总人数")
|
||||
private Integer xyzrs;
|
||||
|
||||
/**
|
||||
* 教学请假人次
|
||||
*/
|
||||
@TableField("教学请假人次")
|
||||
private Integer jxqjrc;
|
||||
|
||||
/**
|
||||
* 教学请假学员人数
|
||||
*/
|
||||
@TableField("教学请假学员人数")
|
||||
private Integer jxqjxyrs;
|
||||
|
||||
/**
|
||||
* 缺课人次
|
||||
*/
|
||||
@TableField("缺课人次")
|
||||
private Integer qkrc;
|
||||
|
||||
/**
|
||||
* 缺课人数
|
||||
*/
|
||||
@TableField("缺课人数")
|
||||
private Integer qkrs;
|
||||
|
||||
/**
|
||||
* 已请假缺课人次
|
||||
*/
|
||||
@TableField("已请假缺课人次")
|
||||
private Integer yqjqkrc;
|
||||
|
||||
/**
|
||||
* 已请假缺课人数
|
||||
*/
|
||||
@TableField("已请假缺课人数")
|
||||
private Integer yqjqkrs;
|
||||
|
||||
/**
|
||||
* 未请假缺课人次
|
||||
*/
|
||||
@TableField("未请假缺课人次")
|
||||
private Integer wqjqkrc;
|
||||
|
||||
/**
|
||||
* 未请假缺课人数
|
||||
*/
|
||||
@TableField("未请假缺课人数")
|
||||
private Integer wqjqkrs;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@TableField("修改时间")
|
||||
private LocalDateTime xgsj;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.roomroot.jwgl.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -24,231 +25,277 @@ public class KCBMBB {
|
||||
/**
|
||||
* 模版名称
|
||||
*/
|
||||
@TableField("模版名称")
|
||||
private String mBMC;
|
||||
|
||||
/**
|
||||
* 标题位置
|
||||
*/
|
||||
@TableField("标题位置")
|
||||
private String bTWZ;
|
||||
|
||||
/**
|
||||
* 专业信息位置
|
||||
*/
|
||||
@TableField("专业信息位置")
|
||||
private String zYXXWZ;
|
||||
|
||||
/**
|
||||
* 课表时间行号
|
||||
*/
|
||||
@TableField("课表时间行号")
|
||||
private String kBSJHH;
|
||||
|
||||
/**
|
||||
* 显示夜间
|
||||
*/
|
||||
@TableField("显示夜间")
|
||||
private Boolean xSYJ;
|
||||
|
||||
/**
|
||||
* 末尾列位置
|
||||
*/
|
||||
@TableField("末尾列位置")
|
||||
private String mWLWZ;
|
||||
|
||||
/**
|
||||
* 课程行位置
|
||||
*/
|
||||
@TableField("课程行位置")
|
||||
private String kCHWZ;
|
||||
|
||||
/**
|
||||
* 课程序号列位置
|
||||
*/
|
||||
@TableField("课程序号列位置")
|
||||
private String kCXHLWZ;
|
||||
|
||||
/**
|
||||
* 课程名称列位置
|
||||
*/
|
||||
@TableField("课程名称列位置")
|
||||
private String kCMCLWZ;
|
||||
|
||||
/**
|
||||
* 课程简称列位置
|
||||
*/
|
||||
@TableField("课程简称列位置")
|
||||
private String kCJCLWZ;
|
||||
|
||||
/**
|
||||
* 课程学时列位置
|
||||
*/
|
||||
@TableField("课程学时列位置")
|
||||
private String kCXSLWZ;
|
||||
|
||||
/**
|
||||
* 课程类型列位置
|
||||
*/
|
||||
@TableField("课程类型列位置")
|
||||
private String kCLXLWZ;
|
||||
|
||||
/**
|
||||
* 课程责任教研室列位置
|
||||
*/
|
||||
@TableField("课程责任教研室列位置")
|
||||
private String kCZRJYSLWZ;
|
||||
|
||||
/**
|
||||
* 课程责任教员列位置
|
||||
*/
|
||||
@TableField("课程责任教员列位置")
|
||||
private String kCZRJYLWZ;
|
||||
|
||||
/**
|
||||
* 课程授课教员列位置
|
||||
*/
|
||||
@TableField("课程授课教员列位置")
|
||||
private String kCSKJYLWZ;
|
||||
|
||||
/**
|
||||
* 课程人数列位置
|
||||
*/
|
||||
@TableField("课程人数列位置")
|
||||
private String kCRSLWZ;
|
||||
|
||||
/**
|
||||
* 课程场地列位置
|
||||
*/
|
||||
@TableField("课程场地列位置")
|
||||
private String kCCDLWZ;
|
||||
|
||||
/**
|
||||
* 全局备注位置
|
||||
*/
|
||||
@TableField("全局备注位置")
|
||||
private String qJBZWZ;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField("更新时间")
|
||||
private LocalDateTime gXSJ;
|
||||
|
||||
/**
|
||||
* 上传者
|
||||
*/
|
||||
@TableField("上传者")
|
||||
private String sCZ;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("备注")
|
||||
private String bZ;
|
||||
|
||||
/**
|
||||
* 模版
|
||||
*/
|
||||
@TableField("模版")
|
||||
private String mB;
|
||||
|
||||
/**
|
||||
* 模版存在
|
||||
*/
|
||||
@TableField("模版存在")
|
||||
private Boolean mBCZ;
|
||||
|
||||
/**
|
||||
* 模版可用
|
||||
*/
|
||||
@TableField("模版可用")
|
||||
private Boolean mBKY;
|
||||
|
||||
/**
|
||||
* 备注纵向样式
|
||||
*/
|
||||
@TableField("备注纵向样式")
|
||||
private Boolean bZZXYS;
|
||||
|
||||
/**
|
||||
* 无课站位字符
|
||||
*/
|
||||
@TableField("无课站位字符")
|
||||
private String wKZWZF;
|
||||
|
||||
/**
|
||||
* 队别位置
|
||||
*/
|
||||
@TableField("队别位置")
|
||||
private String dBWZ;
|
||||
|
||||
/**
|
||||
* 课程合班信息位置
|
||||
*/
|
||||
@TableField("课程合班信息位置")
|
||||
private String kCHBXXWZ;
|
||||
|
||||
/**
|
||||
* 标题格式
|
||||
*/
|
||||
@TableField("标题格式")
|
||||
private String bTGS;
|
||||
|
||||
/**
|
||||
* 副标题格式
|
||||
*/
|
||||
@TableField("副标题格式")
|
||||
private String fBTGS;
|
||||
|
||||
/**
|
||||
* 专用教室位置
|
||||
*/
|
||||
@TableField("专用教室位置")
|
||||
private String zYJSWZ;
|
||||
|
||||
/**
|
||||
* 附加备注1位置
|
||||
*/
|
||||
@TableField("附加备注1位置")
|
||||
private String fJBZ1WZ;
|
||||
|
||||
/**
|
||||
* 附加备注2位置
|
||||
*/
|
||||
@TableField("附加备注2位置")
|
||||
private String fJBZ2WZ;
|
||||
|
||||
/**
|
||||
* 课表样式
|
||||
*/
|
||||
@TableField("课表样式")
|
||||
private String kBYS;
|
||||
|
||||
/**
|
||||
* 课表包含选修
|
||||
*/
|
||||
@TableField("课表包含选修")
|
||||
private Boolean kBBHXX;
|
||||
|
||||
/**
|
||||
* 纵向显示78节
|
||||
*/
|
||||
@TableField("纵向显示78节")
|
||||
private Boolean zXXS78J;
|
||||
|
||||
/**
|
||||
* 纵向显示晚上
|
||||
*/
|
||||
@TableField("纵向显示晚上")
|
||||
private Boolean zXXSWS;
|
||||
|
||||
/**
|
||||
* 纵向显示天数
|
||||
*/
|
||||
@TableField("纵向显示天数")
|
||||
private Integer zXXSTS;
|
||||
|
||||
/**
|
||||
* 课程全部场地列位置
|
||||
*/
|
||||
@TableField("课程全部场地列位置")
|
||||
private String kCQBCDLWZ;
|
||||
|
||||
/**
|
||||
* 课程表样式
|
||||
*/
|
||||
@TableField("课程表样式")
|
||||
private String kCBYS;
|
||||
|
||||
/**
|
||||
* 课程主讲教员列位置
|
||||
*/
|
||||
@TableField("课程主讲教员列位置")
|
||||
private String kCZJJYLWZ;
|
||||
|
||||
/**
|
||||
* 课程辅导教员列位置
|
||||
*/
|
||||
@TableField("课程辅导教员列位置")
|
||||
private String kCFDJYLWZ;
|
||||
|
||||
/**
|
||||
* 课程周次范围列位置
|
||||
*/
|
||||
@TableField("课程周次范围列位置")
|
||||
private String kCZCFWLWZ;
|
||||
|
||||
/**
|
||||
* 课程表起始列位置
|
||||
*/
|
||||
@TableField("课程表起始列位置")
|
||||
private String kCBQSLWZ;
|
||||
|
||||
/**
|
||||
* 课程表一周正课天数
|
||||
*/
|
||||
@TableField("课程表一周正课天数")
|
||||
private Integer kCBYZZKTS;
|
||||
|
||||
/**
|
||||
* JSONZD
|
||||
*/
|
||||
@TableField("\"json字典\"")
|
||||
private String jsonZD;
|
||||
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
|
||||
* </p>
|
||||
*/
|
||||
@Data
|
||||
@TableName("课时核算标准")
|
||||
@TableName("课时系数方案")
|
||||
public class KSHBZ {
|
||||
|
||||
@TableId(value = "编号", type = IdType.INPUT)
|
||||
@@ -22,23 +22,23 @@ public class KSHBZ {
|
||||
private String mc;
|
||||
|
||||
/** 主讲教师课时系数 */
|
||||
@TableField("主讲教师课时系数")
|
||||
@TableField("主讲课时系数")
|
||||
private Float zjjyksxs;
|
||||
|
||||
/** 辅讲教师课时系数 */
|
||||
@TableField("辅讲教师课时系数")
|
||||
@TableField("辅讲课时系数")
|
||||
private Float fjjyksxs;
|
||||
|
||||
/** 讲授方式系数(JSON格式:{"讲授":1.0,"实验":0.8,"实践":0.6}) */
|
||||
@TableField("讲授方式系数")
|
||||
/** 讲授方式系数(JSON格式:{"讲授":1.0,"实验":0.8,"实践":0.6}),实际库中为独立子表[讲授方式课时系数] */
|
||||
@TableField(exist = false)
|
||||
private String jsfsxs;
|
||||
|
||||
/** 考试主讲系数 */
|
||||
@TableField("考试主讲系数")
|
||||
/** 考试主讲系数,实际库中无对应列 */
|
||||
@TableField(exist = false)
|
||||
private Float kszjxs;
|
||||
|
||||
/** 考试指导教师系数 */
|
||||
@TableField("考试指导教师系数")
|
||||
/** 考试指导教师系数,实际库中无对应列 */
|
||||
@TableField(exist = false)
|
||||
private Float kszdjsxs;
|
||||
|
||||
@TableField("说明")
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.roomroot.jwgl.entity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -22,36 +23,43 @@ public class KTRZXYKQB {
|
||||
/**
|
||||
* 日志编号
|
||||
*/
|
||||
@TableField("日志编号")
|
||||
private String rzbh;
|
||||
|
||||
/**
|
||||
* 学员编号
|
||||
*/
|
||||
@TableField("学员编号")
|
||||
private String xybh;
|
||||
|
||||
/**
|
||||
* 学习情况
|
||||
*/
|
||||
@TableField("学习情况")
|
||||
private String xxqk;
|
||||
|
||||
/**
|
||||
* 到课情况
|
||||
*/
|
||||
@TableField("到课情况")
|
||||
private Integer dkqk;
|
||||
|
||||
/**
|
||||
* 请示情况
|
||||
*/
|
||||
@TableField("请示情况")
|
||||
private Integer qsqk;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("备注")
|
||||
private String bz;
|
||||
|
||||
/**
|
||||
* 学习效果
|
||||
*/
|
||||
@TableField("学习效果")
|
||||
private String xxxg;
|
||||
|
||||
}
|
||||
|
||||
+120
-97
@@ -2,75 +2,105 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.roomroot.jwgl.mapper.OperationAnalysisMapper">
|
||||
|
||||
<!--
|
||||
各教学系(教研室表.部系)排课完成率:
|
||||
课程归属经 实施_课程.科目编号 -> 课表.教研室代号 -> 教研室表.部系 解析;
|
||||
完成判定:该课程在实施_课程表下至少有一条未删除课次。
|
||||
目标表均无"学期第次"列,xqd 参数保留签名不参与过滤。
|
||||
-->
|
||||
<select id="selectCourseCompletionByDept" resultType="com.roomroot.jwgl.vo.courserunning.CourseCompletionByDeptVO">
|
||||
SELECT
|
||||
t.JXXBH as jxxbh,
|
||||
t.JXXMC as jxxmc,
|
||||
COUNT(c.BH) as completedCount,
|
||||
SUM(c.KCS) as totalCount,
|
||||
CASE WHEN SUM(c.KCS) > 0 THEN ROUND(COUNT(c.BH) * 100.0 / SUM(c.KCS), 2) ELSE 0 END as completionRate
|
||||
FROM SSKC c
|
||||
LEFT JOIN SSKCB b ON c.SSKCBBH = b.BH
|
||||
LEFT JOIN JXX t ON b.JXXBH = t.BH
|
||||
WHERE c.SCZTF = 0
|
||||
COALESCE(jys.部系, '未分配') AS jxxbh,
|
||||
COALESCE(jys.部系, '未分配') AS jxxmc,
|
||||
COUNT(DISTINCT CASE WHEN kc.实施_课程编号 IS NOT NULL THEN c.编号 END) AS completedCount,
|
||||
COUNT(DISTINCT c.编号) AS totalCount,
|
||||
CASE WHEN COUNT(DISTINCT c.编号) > 0
|
||||
THEN ROUND(COUNT(DISTINCT CASE WHEN kc.实施_课程编号 IS NOT NULL THEN c.编号 END) * 100.0 / COUNT(DISTINCT c.编号), 2)
|
||||
ELSE 0 END AS completionRate
|
||||
FROM 实施_课程 c
|
||||
LEFT JOIN 课表 k ON k.课编号 = c.科目编号
|
||||
LEFT JOIN 教研室表 jys ON jys.教研室代号 = k.教研室代号
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT 实施_课程编号
|
||||
FROM 实施_课程表
|
||||
WHERE COALESCE(删除状态, 0) = 0
|
||||
) kc ON LOWER(RAWTOHEX(c.编号)) = LOWER(REPLACE(TRIM(kc.实施_课程编号), '-', ''))
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND c.ND = #{nd}
|
||||
AND c.年度 = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND c.XQD = #{xqd}
|
||||
</if>
|
||||
GROUP BY t.JXXBH, t.JXXMC
|
||||
GROUP BY COALESCE(jys.部系, '未分配')
|
||||
ORDER BY completionRate DESC
|
||||
</select>
|
||||
|
||||
<!--
|
||||
场地使用率分布(教室表.教学场地类型):
|
||||
使用率 = 该场地类型下被课次实际使用的教室数 / 启用教室总数;
|
||||
课次经 实施_课程表_教室 -> 实施_课程表(删除状态=0)关联。
|
||||
-->
|
||||
<select id="selectVenueUsageRate" resultType="com.roomroot.jwgl.vo.courserunning.VenueUsageRateVO">
|
||||
SELECT
|
||||
c.CDLYBH as cdlybh,
|
||||
c.CDLYMC as cdlymc,
|
||||
COUNT(b.BH) as usageCount,
|
||||
COUNT(DISTINCT b.CDBH) as totalCount,
|
||||
CASE WHEN COUNT(DISTINCT b.CDBH) > 0 THEN ROUND(COUNT(b.BH) * 100.0 / COUNT(DISTINCT b.CDBH), 2) ELSE 0 END as usageRate
|
||||
FROM SSKC c
|
||||
LEFT JOIN SSKCB b ON c.SSKCBBH = b.BH
|
||||
LEFT JOIN CDLY cdl ON b.CDLYBH = cdl.BH
|
||||
WHERE c.SCZTF = 0
|
||||
<if test="nd != null and nd != ''">
|
||||
AND c.ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND c.XQD = #{xqd}
|
||||
</if>
|
||||
GROUP BY c.CDLYBH, c.CDLYMC
|
||||
t.lx AS cdlybh,
|
||||
t.lx AS cdlymc,
|
||||
COALESCE(u.usedCount, 0) AS usageCount,
|
||||
t.totalCount,
|
||||
CASE WHEN t.totalCount > 0
|
||||
THEN ROUND(COALESCE(u.usedCount, 0) * 100.0 / t.totalCount, 2)
|
||||
ELSE 0 END AS usageRate
|
||||
FROM (
|
||||
SELECT COALESCE(教学场地类型, '未分类') AS lx,
|
||||
COUNT(DISTINCT 教室编号) AS totalCount
|
||||
FROM 教室表
|
||||
WHERE COALESCE(停用, 0) = 0
|
||||
GROUP BY COALESCE(教学场地类型, '未分类')
|
||||
) t
|
||||
LEFT JOIN (
|
||||
SELECT COALESCE(j.教学场地类型, '未分类') AS lx,
|
||||
COUNT(DISTINCT kjs.教室编号) AS usedCount
|
||||
FROM 实施_课程表_教室 kjs
|
||||
JOIN 实施_课程表 kcb
|
||||
ON kcb.编号 = kjs.实施_课程表编号
|
||||
AND COALESCE(kcb.删除状态, 0) = 0
|
||||
JOIN 教室表 j ON j.教室编号 = kjs.教室编号
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND kcb.年度 = #{nd}
|
||||
</if>
|
||||
GROUP BY COALESCE(j.教学场地类型, '未分类')
|
||||
) u ON u.lx = t.lx
|
||||
ORDER BY usageRate DESC
|
||||
</select>
|
||||
|
||||
<!-- 调课频次趋势:实施_调课申请按创建时间所在周(IW)聚合。 -->
|
||||
<select id="selectScheduleAdjustTrend" resultType="com.roomroot.jwgl.vo.courserunning.ScheduleAdjustTrendVO">
|
||||
SELECT
|
||||
TO_CHAR(a.CJSJ, 'IW') as period,
|
||||
'第' || TO_CHAR(a.CJSJ, 'IW') || '周' as periodName,
|
||||
COUNT(a.BH) as adjustCount
|
||||
FROM SSDKSQ a
|
||||
WHERE a.SCZTF = 0
|
||||
TO_CHAR(a.创建时间, 'IW') AS period,
|
||||
'第' || TO_CHAR(a.创建时间, 'IW') || '周' AS periodName,
|
||||
COUNT(a.编号) AS adjustCount
|
||||
FROM 实施_调课申请 a
|
||||
WHERE COALESCE(a.删除状态, 0) = 0
|
||||
<if test="nd != null and nd != ''">
|
||||
AND a.ND = #{nd}
|
||||
AND a.年度 = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND a.XQD = #{xqd}
|
||||
</if>
|
||||
GROUP BY TO_CHAR(a.CJSJ, 'IW')
|
||||
GROUP BY TO_CHAR(a.创建时间, 'IW')
|
||||
ORDER BY period
|
||||
</select>
|
||||
|
||||
<!-- 整体排课完成率:有未删除课次的课程数 / 课程总数。 -->
|
||||
<select id="selectOverallCourseCompletionRate" resultType="java.lang.Double">
|
||||
SELECT
|
||||
CASE WHEN SUM(c.KCS) > 0 THEN ROUND(COUNT(c.BH) * 100.0 / SUM(c.KCS), 2) ELSE 0 END
|
||||
FROM SSKC c
|
||||
WHERE c.SCZTF = 0
|
||||
CASE WHEN COUNT(DISTINCT c.编号) > 0
|
||||
THEN ROUND(COUNT(DISTINCT CASE WHEN kc.实施_课程编号 IS NOT NULL THEN c.编号 END) * 100.0 / COUNT(DISTINCT c.编号), 2)
|
||||
ELSE 0 END
|
||||
FROM 实施_课程 c
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT 实施_课程编号
|
||||
FROM 实施_课程表
|
||||
WHERE COALESCE(删除状态, 0) = 0
|
||||
) kc ON LOWER(RAWTOHEX(c.编号)) = LOWER(REPLACE(TRIM(kc.实施_课程编号), '-', ''))
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND c.ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND c.XQD = #{xqd}
|
||||
AND c.年度 = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
@@ -78,22 +108,28 @@
|
||||
SELECT 0.0
|
||||
</select>
|
||||
|
||||
<!-- 场地平均使用率:被课次使用的启用教室数 / 启用教室总数。 -->
|
||||
<select id="selectVenueAvgUsageRate" resultType="java.lang.Double">
|
||||
SELECT AVG(v.usageRate)
|
||||
SELECT
|
||||
CASE WHEN t.totalCount > 0
|
||||
THEN ROUND(u.usedCount * 100.0 / t.totalCount, 2)
|
||||
ELSE 0 END
|
||||
FROM (
|
||||
SELECT
|
||||
CASE WHEN COUNT(DISTINCT b.CDBH) > 0 THEN ROUND(COUNT(b.BH) * 100.0 / COUNT(DISTINCT b.CDBH), 2) ELSE 0 END as usageRate
|
||||
FROM SSKC c
|
||||
LEFT JOIN SSKCB b ON c.SSKCBBH = b.BH
|
||||
WHERE c.SCZTF = 0
|
||||
SELECT COUNT(DISTINCT 教室编号) AS totalCount
|
||||
FROM 教室表
|
||||
WHERE COALESCE(停用, 0) = 0
|
||||
) t,
|
||||
(
|
||||
SELECT COUNT(DISTINCT kjs.教室编号) AS usedCount
|
||||
FROM 实施_课程表_教室 kjs
|
||||
JOIN 实施_课程表 kcb
|
||||
ON kcb.编号 = kjs.实施_课程表编号
|
||||
AND COALESCE(kcb.删除状态, 0) = 0
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND c.ND = #{nd}
|
||||
AND kcb.年度 = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND c.XQD = #{xqd}
|
||||
</if>
|
||||
GROUP BY b.CDBH
|
||||
) v
|
||||
) u
|
||||
</select>
|
||||
|
||||
<select id="selectAvgWeeklyHoursPerTeacher" resultType="java.lang.Double">
|
||||
@@ -101,65 +137,52 @@
|
||||
</select>
|
||||
|
||||
<select id="selectTotalScheduleAdjustCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(BH)
|
||||
FROM SSDKSQ
|
||||
WHERE SCZTF = 0
|
||||
SELECT COUNT(编号)
|
||||
FROM 实施_调课申请
|
||||
WHERE COALESCE(删除状态, 0) = 0
|
||||
<if test="nd != null and nd != ''">
|
||||
AND ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND XQD = #{xqd}
|
||||
AND 年度 = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectTotalSupportPlanCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(BH)
|
||||
FROM KCBBZMX
|
||||
WHERE SCZTF = 0
|
||||
SELECT COUNT(编号)
|
||||
FROM 课程表_保障明细
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND XQD = #{xqd}
|
||||
AND 年度 = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 学员教学请假表无"年度"列,按创建时间年份过滤。 -->
|
||||
<select id="selectTotalLeaveCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(BH)
|
||||
FROM XYJXQJB
|
||||
WHERE SCZTF = 0
|
||||
SELECT COUNT(编号)
|
||||
FROM 学员教学请假表
|
||||
WHERE 1 = 1
|
||||
<if test="nd != null and nd != ''">
|
||||
AND ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND XQD = #{xqd}
|
||||
AND TO_CHAR(创建时间, 'YYYY') = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 待审批调课:教研室批准状态为 0。 -->
|
||||
<select id="selectPendingAdjustCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(BH)
|
||||
FROM SSDKSQ
|
||||
WHERE SCZTF = 0
|
||||
AND JYSPZZT = 0
|
||||
SELECT COUNT(编号)
|
||||
FROM 实施_调课申请
|
||||
WHERE COALESCE(删除状态, 0) = 0
|
||||
AND COALESCE(教研室批准状态, 0) = 0
|
||||
<if test="nd != null and nd != ''">
|
||||
AND ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND XQD = #{xqd}
|
||||
AND 年度 = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 待审批请假:状态 = '0'。 -->
|
||||
<select id="selectPendingLeaveCount" resultType="java.lang.Integer">
|
||||
SELECT COUNT(BH)
|
||||
FROM XYJXQJB
|
||||
WHERE SCZTF = 0
|
||||
AND ZT = '0'
|
||||
SELECT COUNT(编号)
|
||||
FROM 学员教学请假表
|
||||
WHERE 状态 = '0'
|
||||
<if test="nd != null and nd != ''">
|
||||
AND ND = #{nd}
|
||||
</if>
|
||||
<if test="xqd != null and xqd != ''">
|
||||
AND XQD = #{xqd}
|
||||
AND TO_CHAR(创建时间, 'YYYY') = #{nd}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user