终审代码,确认无误,添加开发维护文档
This commit is contained in:
@@ -523,7 +523,6 @@
|
||||
select concat('xjbjt-',count(a.id)) as `all`
|
||||
from cph_new_good_class_apply as a
|
||||
WHERE a.apply_status = 3
|
||||
where a.xgstatus = 0
|
||||
<!-- 知无涯 "中职升高职" 学校终审 -->
|
||||
union
|
||||
select concat('zsg-',count(a.id)) as `all`
|
||||
@@ -635,10 +634,10 @@
|
||||
WHERE a.apply_status = 2 and f.dept_id = #{id}
|
||||
<!-- 知无涯"中职升高职" 学务审核 -->
|
||||
union
|
||||
select concat('jx-',count(a.id)) as `all`
|
||||
from sys_performance as a
|
||||
left join sys_user as b on a.credit_pass = b.user_name
|
||||
where a.xwstatus IS NULL and b.dept_id = #{id}
|
||||
select concat('zsg-',count(a.id)) as `all`
|
||||
from knzz_zsg_apply as a
|
||||
left join view_stu_info as b on a.stu_no = b.stu_no
|
||||
where a.apply_status = 2 and b.dept_id = #{id}
|
||||
<!-- 知无涯"铺导员综合绩效" (第1步:学务初审) -->
|
||||
union
|
||||
select concat('jx-',count(a.id)) as `all`
|
||||
@@ -745,8 +744,6 @@
|
||||
from cph_audit_details a
|
||||
left join view_stu_info as b on a.submitter_id = b.stu_id
|
||||
WHERE status_code = 1 and t_no=#{tNo}
|
||||
|
||||
where d.t_no = #{tNo} and a.status = 0
|
||||
<!-- 知无涯"中职升高职" 辅导员审核 -->
|
||||
union
|
||||
select concat('zsg-',count(a.id)) as `all`
|
||||
@@ -788,7 +785,131 @@
|
||||
from knzz_tufa_apply as a
|
||||
left join view_stu_info as b on a.stu_no = b.stu_no
|
||||
where a.apply_status = 1 and b.dept_id = #{id}
|
||||
|
||||
<!-- 知无涯"书记综合绩效" 待办 (第2步:书记审核) -->
|
||||
union
|
||||
select concat('jx-',count(a.id)) as `all`
|
||||
from sys_performance as a
|
||||
left join sys_user as b on a.credit_pass = b.user_name
|
||||
where a.xwstatus IS NOT NULL and a.shstatus IS NULL and b.dept_id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<!--
|
||||
========================================================================================================================
|
||||
开发与维护文档 (Development & Maintenance Document)
|
||||
========================================================================================================================
|
||||
最后更新: 2025-08-19
|
||||
负责人: 知无涯
|
||||
|
||||
模块概述:
|
||||
本 XML 文件是整个学工系统的核心组件之一,其主要功能是为系统首页(工作台)提供各个角色的“待办事项”数量统计。
|
||||
它并非传统的CRUD映射文件,而是通过一系列复杂的 `UNION` 查询,从不同的业务表中汇总统计数据。
|
||||
|
||||
|
||||
核心设计模式:
|
||||
1. 角色分离:文件通过不同的 `<select>` 标签(id 以 `count...UnDo` 命名)来为不同的系统角色提供独立的待办统计逻辑。
|
||||
2. 联合查询(UNION):每个角色的待办数量都是通过 `UNION` 连接多个 `SELECT COUNT(...)` 语句来实现的。
|
||||
3. 键值对格式:每个 `SELECT` 语句都使用 `CONCAT('prefix-', COUNT(...))` 的格式返回一个字符串,例如 'jx-5'。
|
||||
- 'prefix-' (例如 'jx-'):这是待办事项的唯一标识符(Key)。
|
||||
- COUNT(...) (例如 5):这是该事项的待办数量(Value)。
|
||||
前端会根据这个 'prefix' 来匹配并更新界面上对应待办事项的数量。
|
||||
|
||||
|
||||
|
||||
角色与待办事项详解:
|
||||
|
||||
1. <select id="countJwcUnDo"> - 学工/校级管理员 (Jwc)
|
||||
- 职责:负责各项业务的最终审批环节。
|
||||
- 数据范围:全校范围,无部门或个人过滤。
|
||||
- 包含待办项:
|
||||
- `good-`, `lake-`, `biye-`: 评优/毕业生,状态为3 (待校级审核)。
|
||||
- `dms-`: 宿舍,状态为2 (待校级审核)。
|
||||
- `kn-`, `zx-`: 困难认定/助学金,进入最终步骤。
|
||||
- `knzz-`, `knzzgl-`, `knzzzzq-`: 各类困难资助,状态为3 (待校级终审)。
|
||||
- `xszb-`, `zxzm-`: 学生证补办/在校证明,进入校级审核环节。
|
||||
- `xjbjt-`: 先进班集体,状态为3 (待校级审核)。
|
||||
- `zsg-`: 中职升高职,状态为3 (待校级终审)。
|
||||
|
||||
2. <select id="countXwUnDo"> - 学务/院系管理员 (Xw)
|
||||
- 职责:负责各项业务的院系级审批(第二级)。
|
||||
- 数据范围:按当前登录用户的院系ID (`dept_id`) 过滤。
|
||||
- 包含待办项:
|
||||
- 常规业务 (`good-`, `biye-`, `dms-`, `kn-`, `zx-`等):状态均为流程的第二步。
|
||||
- `zsg-`: 中职升高职,状态为2 (待院系审核)。
|
||||
- `jx-`: 辅导员综合绩效,状态为 `xwstatus IS NULL` (流程第一步)。
|
||||
|
||||
3. <select id="countSjUnDo"> - 书记/院系领导 (Sj)
|
||||
- 职责:负责院系内的特殊和高级别审批。
|
||||
- 数据范围:按当前登录用户的院系ID (`dept_id`) 过滤。
|
||||
- 包含待办项:
|
||||
- `sj-`: 学生违纪处分,状态为3。
|
||||
- `knzz-`: 困难资助,状态为1 (可代办辅导员的待办)。
|
||||
- `jx-`: 辅导员综合绩效,状态为 `xwstatus IS NOT NULL and shstatus IS NULL` (流程第二步)。
|
||||
|
||||
4. <select id="countFdyUnDo"> - 辅导员/指导老师 (Fdy)
|
||||
- 职责:这是一个综合性角色,处理多项职责的待办。
|
||||
- 数据范围:主要按辅导员/教师工号 (`t_no`) 过滤。
|
||||
- 包含待办项:
|
||||
- 常规初审 (`good-`, `biye-`, `dms-`, `kn-`, `zx-`等):状态均为流程的第一步。
|
||||
- 勤工助学 (`qgzxgw-`, `qgzxgzjl-`): 作为“指导老师”,按 `zdls_no` 过滤。
|
||||
- `zsg-`: 中职升高职,状态为1 (流程第一步)。
|
||||
- `jx-`: 辅导员综合绩效,这是一个特例。此处的待办是为内嵌在此角色中的“科室复核”和“学工处长”岗准备的,
|
||||
查询条件是 `(shstatus IS NOT NULL and ksstatus IS NULL) or (ksstatus IS NOT NULL and xgstatus IS NULL)`,
|
||||
它聚合了绩效审批的第三步和第四步。
|
||||
|
||||
5. <select id="countStuUnDo"> - 学生 (Stu)
|
||||
- 职责:处理被驳回或需要本人操作的申请。
|
||||
- 数据范围:按当前登录学生的学号 (`stuNo`) 过滤。
|
||||
- 包含待办项:主要是各项业务被驳回的状态,例如 `apply_status = 6`。
|
||||
|
||||
|
||||
|
||||
|
||||
如何新增一个待办事项 (示例:为辅导员添加“新增奖学金”待办)
|
||||
|
||||
1. **确定角色和审批环节**:
|
||||
- 角色:辅导员。
|
||||
- 环节:初审。
|
||||
- 因此,我们需要修改 `<select id="countFdyUnDo">`。
|
||||
|
||||
2. **确定业务逻辑**:
|
||||
- 业务表:`new_scholarship_apply`。
|
||||
- 状态字段:`status`。
|
||||
- 待办状态值:`1` (代表“待初审”)。
|
||||
- 过滤方式:按辅导员教师工号 `t_no` 过滤。
|
||||
|
||||
3. **选择一个唯一的前缀 (Prefix)**:
|
||||
- 我们选择 `xsjxj-` (“新式奖学金”的拼音首字母)。
|
||||
|
||||
4. **编写并添加SQL代码**:
|
||||
- 在 `<select id="countFdyUnDo">` 的最后一个 `union` 之后,添加以下代码块:
|
||||
```xml
|
||||
union
|
||||
select concat('xsjxj-',count(a.id)) as `all`
|
||||
from new_scholarship_apply as a
|
||||
left join view_stu_info as b on a.stu_no = b.stu_no
|
||||
where a.status = 1 and b.t_no = #{tNo}
|
||||
```
|
||||
|
||||
5. **同步更新前端代码**:
|
||||
- 在前端定义辅导员 `taskList` 的地方,添加一个新的对象:
|
||||
```javascript
|
||||
{
|
||||
label: "辅导员·新增奖学金审核",
|
||||
name: "xsjxj", // 必须与后端的 'xsjxj-' 匹配
|
||||
value: 0,
|
||||
url: "/scholarship/new/fdy-audit" // 跳转到对应的审核页面
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
注意事项与最佳实践:
|
||||
|
||||
- **保持一致性**:新增业务时,尽量遵循现有的状态码约定(如1=待初审, 2=待院审, 3=待校审, 6=驳回)。
|
||||
- **注释是关键**:添加任何新的 `union` 查询时,请务必在前面加上清晰的注释,说明其业务目的和开发者。
|
||||
- **前端同步**:后端添加的任何新前缀,都必须在前端有对应的 `name` 才能显示出来。
|
||||
- **性能考虑**:`UNION` 的性能开销会随着子查询的增多而增加。虽然目前性能良好,但未来应避免无限制地增加。
|
||||
- **逻辑严谨**:在编写 `WHERE` 条件时,要特别注意审批链的流转,确保上级审批的待办条件正确承接了下级的“已通过”状态。
|
||||
========================================================================================================================
|
||||
-->
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user