开始时间:2025-10-19
完成时间:2025-10-19
版本:v1.0
实现了部门编码(服务单编码和调度单编码)的完整功能,包括:
1. ✅ 数据库字段扩展
2. ✅ 后端自动同步机制
3. ✅ 前端界面展示和编辑
文件:sql/add_dept_order_class_fields.sql
ALTER TABLE sys_dept
ADD COLUMN service_order_class VARCHAR(20) NULL
COMMENT '服务单编码(对应旧系统OrderClass vType=1)'
AFTER department_id;
ALTER TABLE sys_dept
ADD COLUMN dispatch_order_class VARCHAR(20) NULL
COMMENT '调度单编码(对应旧系统OrderClass vType=2)'
AFTER service_order_class;
ALTER TABLE sys_dept ADD INDEX idx_service_order_class (service_order_class);
ALTER TABLE sys_dept ADD INDEX idx_dispatch_order_class (dispatch_order_class);
状态:✅ 已创建
文件:ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
新增字段:
- serviceOrderClass - 服务单编码
- dispatchOrderClass - 调度单编码
状态:✅ 已修改
文件:ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
更新内容:
- resultMap添加新字段映射
- selectDeptVo添加新字段查询
- insertDept添加新字段插入
- updateDept添加新字段更新
状态:✅ 已修改
新增文件(6个):
| 文件 | 说明 | 状态 |
|---|---|---|
| OrderClassDTO.java | 编码数据传输对象 | ✅ |
| OrderClassMapper.java | 编码Mapper接口 | ✅ |
| OrderClassMapper.xml | 编码Mapper XML | ✅ |
| IOrderClassDataService.java | 编码服务接口 | ✅ |
| OrderClassDataServiceImpl.java | 编码服务实现 | ✅ |
文件:ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DepartmentSyncServiceImpl.java
实现功能:
- 同步开始时统一查询SQL Server编码数据
- 根据城市名智能匹配编码
- 新建或更新分公司时自动填充编码
状态:✅ 已修改
文件:ruoyi-ui/src/views/system/dept/index.vue
更新内容:
<!-- 服务单编码列 -->
<el-table-column prop="serviceOrderClass" label="服务单编码" width="120">
<template slot-scope="scope">
<el-tag v-if="scope.row.serviceOrderClass" type="success" size="mini">
{{ scope.row.serviceOrderClass }}
</el-tag>
<span v-else style="color: #909399;">-</span>
</template>
</el-table-column>
<!-- 调度单编码列 -->
<el-table-column prop="dispatchOrderClass" label="调度单编码" width="120">
<template slot-scope="scope">
<el-tag v-if="scope.row.dispatchOrderClass" type="warning" size="mini">
{{ scope.row.dispatchOrderClass }}
</el-tag>
<span v-else style="color: #909399;">-</span>
</template>
</el-table-column>
<el-row>
<el-col :span="12">
<el-form-item label="服务单编码" prop="serviceOrderClass">
<el-input v-model="form.serviceOrderClass"
placeholder="请输入服务单编码"
maxlength="20" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调度单编码" prop="dispatchOrderClass">
<el-input v-model="form.dispatchOrderClass"
placeholder="请输入调度单编码"
maxlength="20" />
</el-form-item>
</el-col>
</el-row>
this.form = {
// ... 原有字段 ...
serviceOrderClass: undefined, // 新增
dispatchOrderClass: undefined, // 新增
// ... 原有字段 ...
};
状态:✅ 已修改
| 文档 | 说明 | 行数 | 状态 |
|---|---|---|---|
| 部门编码同步功能说明.md | 详细技术文档 | 344行 | ✅ |
| 部门编码同步-快速开始.md | 快速开始指南 | 183行 | ✅ |
| 部门编码同步功能实现总结.md | 实现总结 | 372行 | ✅ |
| CHANGELOG-部门编码同步.md | 变更日志 | 236行 | ✅ |
| 部门编码映射表.md | 编码映射参考 | 304行 | ✅ |
| 部门编码编辑功能说明.md | 前端编辑功能 | 373行 | ✅ |
| 部门编码编辑-快速参考.md | 快速参考卡片 | 184行 | ✅ |
总文档量:7个文档,合计1996行
定时任务触发
↓
查询SQL Server部门数据
↓
查询SQL Server编码数据
├─ 服务单编码(vType=1)
└─ 调度单编码(vType=2)
↓
遍历每个分公司
↓
提取城市名(如:湛江--护士 → 湛江)
↓
智能匹配编码
├─ 在vtext中查找包含"湛江"的记录
└─ 返回对应的vOrder2值
↓
创建/更新分公司
├─ 设置serviceOrderClass
└─ 设置dispatchOrderClass
↓
保存到MySQL数据库
管理员登录后台
↓
进入系统管理 -> 部门管理
↓
查看部门列表
├─ 服务单编码(绿色标签)
└─ 调度单编码(橙色标签)
↓
点击"修改"按钮
↓
编辑编码字段
↓
保存
↓
更新数据库
↓
刷新列表显示
✅ 批量查询:在同步开始时一次性查询所有编码数据,避免在循环中重复查询
✅ 数据源管理:集中管理跨数据库查询,减少数据源切换次数
✅ 索引优化:为编码字段添加索引,提升查询性能
✅ 模糊匹配:使用contains()方法进行地名匹配
✅ 容错处理:匹配失败不影响部门创建
✅ 日志记录:详细记录匹配过程,便于调试
✅ 可视化展示:使用彩色标签区分不同类型编码
✅ 简单易用:编辑界面清晰,操作便捷
✅ 实时更新:保存后列表立即刷新
✅ 双向支持:自动同步 + 手动编辑
✅ 灵活配置:可以覆盖自动匹配的结果
✅ 向下兼容:不影响原有部门管理功能
# 执行脚本
mysql -u root -p ry-vue < sql/add_dept_order_class_fields.sql
# 验证字段
DESC sys_dept;
状态:⏳ 待执行
cd d:\project\急救转运\code\Api\RuoYi-Vue-master
mvn clean package -DskipTests
状态:⏳ 待执行
cd ruoyi-ui
npm run build:prod
状态:⏳ 待执行
# 重启后端服务
cd ruoyi-admin
java -jar target/ruoyi-admin.jar
# 部署前端(nginx)
cp -r ruoyi-ui/dist/* /var/www/html/
状态:⏳ 待执行
步骤:
1. 执行部门同步任务
2. 查看日志输出
3. 检查数据库编码字段
预期结果:
- ✅ 成功从SQL Server读取编码
- ✅ 成功匹配城市名
- ✅ 编码正确写入数据库
步骤:
1. 登录后台管理系统
2. 进入部门管理
3. 查看部门列表
预期结果:
- ✅ 显示服务单编码列(绿色标签)
- ✅ 显示调度单编码列(橙色标签)
- ✅ 未设置编码显示为"-"
步骤:
1. 点击某个分公司的"修改"
2. 修改服务单编码
3. 修改调度单编码
4. 保存
预期结果:
- ✅ 保存成功
- ✅ 列表实时更新
- ✅ 数据库正确更新
步骤:
1. 点击"新增"
2. 填写部门名称
3. 输入编码
4. 保存
预期结果:
- ✅ 创建成功
- ✅ 编码正确保存
- ✅ 列表显示新数据
sql/add_dept_order_class_fields.sqlOrderClassDTO.javaOrderClassMapper.javaOrderClassMapper.xmlIOrderClassDataService.javaOrderClassDataServiceImpl.java部门编码同步功能说明.md部门编码同步-快速开始.md部门编码同步功能实现总结.mdCHANGELOG-部门编码同步.md部门编码映射表.md部门编码编辑功能说明.md部门编码编辑-快速参考.mdSysDept.java - 实体类字段扩展SysDeptMapper.xml - Mapper映射更新DepartmentSyncServiceImpl.java - 同步逻辑实现ruoyi-ui/src/views/system/dept/index.vue - 前端界面更新| 类型 | 数量 | 说明 |
|---|---|---|
| Java类 | 5个 | DTO、Mapper、Service |
| XML文件 | 1个 | OrderClassMapper.xml |
| SQL脚本 | 1个 | 数据库字段添加 |
| Vue组件 | 1个 | 部门管理界面 |
| 文档 | 7个 | 技术文档和快速指南 |
代码行数统计:
- Java代码:约400行
- Vue代码:约30行(新增)
- SQL脚本:约10行
- 文档:约2000行
无
| 角色 | 人员 | 职责 |
|---|---|---|
| 开发 | AI Assistant | 代码实现、文档编写 |
| 测试 | 待定 | 功能测试、性能测试 |
| 部署 | 待定 | 环境部署、上线发布 |
| 验收 | 用户 | 功能验收、使用反馈 |
✅ 完成度:100%(代码实现)
⏳ 部署状态:待部署
⏳ 测试状态:待测试
本次实现完整地解决了部门编码的管理需求,包括:
1. 自动同步机制 - 减少手动工作量
2. 手动编辑功能 - 提供灵活配置
3. 可视化展示 - 提升用户体验
4. 完整文档 - 便于维护和使用
整个功能从数据库到前端界面,形成了完整的闭环,既支持批量自动化处理,也支持精细化的手动管理。
报告生成时间:2025-10-19
报告版本:v1.0
状态:✅ 开发完成,待部署测试