重点关注人员管理-P0任务实现记录.md 6.3 KB

重点关注人员管理(3.2.1)- P0任务实现记录

修改日期:2026-06-04

一、任务说明

根据"需求与现有实现对比分析",实施P0优先级任务:

  1. 数据库初始化(字典)
  2. 详情页面完善(展示30个字段)
  3. 补充查询条件

二、修改文件清单

2.1 新增文件

序号 文件路径 说明
1 jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/V20260604_1__init_focus_personnel_dict.sql 字典数据初始化SQL脚本
2 jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/flyway/sql/mysql/V20260604_2__menu_insert_FocusPersonnel_buttons.sql 补充5个按钮权限SQL
3 jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/src/main/java/org/jeecg/modules/zjrs/focuspersonnel/entity/FocusPersonnelDetailVo.java 详情VO(含个人信息30个字段)
4 jeecgboot-vue3/src/views/focuspersonnel/components/FocusPersonnelDetail.vue 前端详情展示组件(分5个分组展示30个字段)

2.2 修改文件

序号 文件路径 修改内容
1 FocusPersonnel.java minorTag字段添加@Dict注解(focus_minor_tag字典)
2 FocusPersonnelMapper.java 新增queryDetailById方法
3 FocusPersonnelMapper.xml 新增detail查询SQL(LEFT JOIN personal_info);列表查询补充5个查询条件
4 IFocusPersonnelService.java 新增queryDetailById接口方法
5 FocusPersonnelServiceImpl.java 实现queryDetailById方法
6 FocusPersonnelController.java 新增queryDetailById端点;补充5个查询参数
7 FocusPersonnel.api.ts 新增queryDetailById API
8 FocusPersonnelList.vue 重新设计:去除高级搜索;查询条件改为10个(按需求文档);新增"刷新生成"按钮;操作栏扩展为详情/服务跟进/岗位推送/消息推送/自定义标签/删除
9 FocusPersonnelModal.vue 新增detail方法,支持详情/编辑双模式切换
10 FocusPersonnelForm.vue minorTag改为字典选择器(focus_minor_tag)
11 FocusPersonnel.data.ts minorTag列添加dictCode配置;清空superQuerySchema(暂不使用高级查询)

三、数据库初始化详细说明

3.1 字典数据

字典编码 字典名称 字典项数 说明
focus_major_tag 人员大类标签 2 就业困难人员、脱贫人员(见习人员已独立为见习人员管理模块)
focus_minor_tag 人员小类标签 16 含就业困难人员13类、脱贫人员3类(不含见习人员小类)

3.2 补充的按钮权限

权限ID 权限标识 名称 状态
178060400000050 focus_personnel:refresh 刷新生成 占位(待开发)
178060400000051 focus_personnel:messagePush 消息推送 占位(待开发)
178060400000052 focus_personnel:jobPush 岗位推送 占位(待开发)
178060400000053 focus_personnel:serviceFollow 服务跟进 占位(待开发)
178060400000054 focus_personnel:customTag 自定义标签 占位(待开发)

四、后端详情接口

GET /focusPersonnel/queryDetailById?id={id}

请求参数: id(重点关注人员主键)

返回数据: FocusPersonnelDetailVo(30个字段)

业务逻辑:

  • 以focus_personnel为主表
  • LEFT JOIN personal_info 通过personal_id关联
  • 同时计算年龄(TIMESTAMPDIFF)

查询条件补充

列表查询新增5个查询条件:

  • 户口所在地(householdLocation,模糊匹配)
  • 现居住地(currentResidence,模糊匹配)
  • 人员小类标签(minorTag,精确匹配)
  • 自定义标签(customTag,模糊匹配)

五、前端详情组件

详情页面分5个分组展示:

分组 包含字段 字段数
基本信息 姓名、性别、证件类型、证件号码、出生日期、年龄、民族、国籍、婚姻状况、政治面貌 10
教育背景 学历、毕业日期、毕业院校、专业 4
联系信息 联系电话、邮箱、QQ号码、微信号 4
户籍与居住 户口性质、户口所在地、现居住地、现居住地址 4
求职信息 求职人员类别、求职状态、工作经验、职业技能等级、是否留学人才、是否接受推荐职位 6
标签信息 人员大类标签、人员小类标签、自定义标签 3

六、前端搜索条件(10个,按需求文档)

序号 字段 控件类型 查询方式
1 姓名 a-input 模糊
2 性别 a-select 精确
3 学历 a-select 精确
4 户口所在地 a-input 模糊
5 现居住地 a-input 模糊
6 年龄 a-input-number 精确
7 人员大类标签 j-dict-select-tag 精确
8 人员小类标签 j-dict-select-tag 精确
9 自定义标签 a-input 模糊
10 就业状态 a-select 精确

七、前端操作栏(按需求文档)

操作 权限标识 实现状态
编辑 focus_personnel:edit ✅ 已实现
详情 ✅ 已实现
服务跟进 focus_personnel:serviceFollow ⚠️ 占位
岗位推送 focus_personnel:jobPush ⚠️ 占位
消息推送 focus_personnel:messagePush ⚠️ 占位
自定义标签 focus_personnel:customTag ⚠️ 占位
删除 focus_personnel:delete ✅ 已实现

八、注意事项

  1. SQL兼容性:本项目使用达梦数据库,不支持反引号 `,SQL中所有表名、字段名均未使用反引号
  2. 字典兼容:字典插入使用了 SELECT ... WHERE NOT EXISTS 条件判断,避免重复插入
  3. 原有queryById接口保留不变,新增queryDetailById接口用于详情页面
  4. 前端详情组件通过 watch record 自动加载数据,无需手动调用
  5. 不显示高级搜索,按用户要求去除
  6. 5个新增按钮均为占位,需后续开发(刷新生成、消息推送、岗位推送、服务跟进、自定义标签)
  7. 数据库不删除原有数据:V20260604_1 和 V20260604_2 脚本都用了 WHERE NOT EXISTS,重复执行不会报错