20260615-就业援助模块开发记录.md 9.8 KB

就业援助模块(3.7)- 开发记录

开发日期:2026-06-09

一、任务说明

依据《需求规格说明书》第3.7节"就业援助",开发"就业援助"模块,包含两个子模块:

  • 3.7.1 初步符合条件人员 - 就业一湛通平台筛查出初步符合就业援助的人员名单
  • 3.7.2 就业援助管理 - 省一体化平台回流或录入的就业援助人员数据管理

二、编码风格参考

参考已完成的模块:

  • 重点关注人员管理(focuspersonnel)- 视图查询模式、页面VO、详情VO模式
  • 见习人员管理(internshippersonnel)- 同上模式,扩展了更多关联字段

三、数据库

3.1 初步符合条件人员表(preliminary_eligible)

字段名 类型 说明
ID VARCHAR(36) PK 主键ID
PERSONAL_ID VARCHAR(36) 关联个人信息ID
APPLIED_AID VARCHAR(10) 是否已申请援助(是/否)
LAST_NOTICE_TIME DATETIME 最后通知时间
DATA_SOURCE VARCHAR(50) 数据来源

3.2 就业援助管理表(employment_assistance)

字段名 类型 说明
ID VARCHAR(36) PK 主键ID
PERSONAL_ID VARCHAR(36) 关联个人信息ID
PROVINCE_RECORD_ID VARCHAR(100) 省平台记录ID
APPLY_NUMBER VARCHAR(100) 申请编号
AID_TYPE VARCHAR(100) 援助认定类型
AID_STATUS VARCHAR(100) 援助认定状态
LAST_NOTICE_TIME DATETIME 最后通知时间

3.3 视图

  • v_preliminary_eligible_list - 关联 preliminary_eligible + personal_info
  • v_employment_assistance_list - 关联 employment_assistance + personal_info

四、文件清单

4.1 后端文件(jeecg-module-zjrs)

初步符合条件人员(preliminaryeligible)

文件路径 说明
entity/PreliminaryEligible.java 实体类
entity/PreliminaryEligiblePageVo.java 列表页VO
entity/PreliminaryEligibleDetailVo.java 详情VO(含个人信息全部字段)
mapper/PreliminaryEligibleMapper.java Mapper接口
mapper/xml/PreliminaryEligibleMapper.xml SQL映射(达梦兼容)
service/IPreliminaryEligibleService.java 服务接口
service/impl/PreliminaryEligibleServiceImpl.java 服务实现
controller/PreliminaryEligibleController.java REST控制器

就业援助管理(employmentassistance)

文件路径 说明
entity/EmploymentAssistance.java 实体类
entity/EmploymentAssistancePageVo.java 列表页VO
entity/EmploymentAssistanceDetailVo.java 详情VO(含个人信息全部字段)
mapper/EmploymentAssistanceMapper.java Mapper接口
mapper/xml/EmploymentAssistanceMapper.xml SQL映射(达梦兼容)
service/IEmploymentAssistanceService.java 服务接口
service/impl/EmploymentAssistanceServiceImpl.java 服务实现
controller/EmploymentAssistanceController.java REST控制器

4.2 前端文件(jeecgboot-vue3)

初步符合条件人员

文件路径 说明
PreliminaryEligibleList.vue 列表页面
PreliminaryEligible.data.ts 表格列配置
PreliminaryEligible.api.ts API接口
components/PreliminaryEligibleDetail.vue 详情抽屉组件(含个人信息全部字段)
components/PreliminaryEligibleForm.vue 表单组件
components/PreliminaryEligibleModal.vue 弹窗组件

就业援助管理

文件路径 说明
EmploymentAssistanceList.vue 列表页面
EmploymentAssistance.data.ts 表格列配置
EmploymentAssistance.api.ts API接口
components/EmploymentAssistanceDetail.vue 详情抽屉组件(含个人信息全部字段)
components/EmploymentAssistanceForm.vue 表单组件
components/EmploymentAssistanceModal.vue 弹窗组件

4.3 SQL脚本

文件 说明
docs/sql/就业援助-建表.sql 达梦建表SQL(含COMMENT注释)
docs/sql/初步符合条件人员视图.sql v_preliminary_eligible_list视图
docs/sql/就业援助管理视图.sql v_employment_assistance_list视图
docs/sql/就业援助-菜单权限.sql 菜单+按钮权限+角色授权SQL
flyway/sql/mysql/V20260609_2__menu_insert_EmploymentAssistance.sql Flyway自动执行的菜单权限SQL

五、菜单层级

就业一湛通服务平台
  ...
  ├── 就业援助(sort_no: 2.20, id: 178060100000200)
  │     ├── 初步符合条件人员(sort_no: 1.00, id: 178060100000210)
  │     │     ├── 添加(preliminary_eligible:add)
  │     │     ├── 编辑(preliminary_eligible:edit)
  │     │     ├── 删除(preliminary_eligible:delete)
  │     │     ├── 批量删除(preliminary_eligible:deleteBatch)
  │     │     ├── 导出excel(preliminary_eligible:exportXls)
  │     │     └── 导入excel(preliminary_eligible:importExcel)
  │     └── 就业援助管理(sort_no: 2.00, id: 178060100000220)
  │           ├── 添加(employment_assistance:add)
  │           ├── 编辑(employment_assistance:edit)
  │           ├── 删除(employment_assistance:delete)
  │           ├── 批量删除(employment_assistance:deleteBatch)
  │           ├── 导出excel(employment_assistance:exportXls)
  │           └── 导入excel(employment_assistance:importExcel)

六、查询条件

初步符合条件人员

姓名、性别、学历、户口所在地、现居住地、年龄范围、求职状态、是否已申请援助

就业援助管理

姓名、户口所在地、援助认定类型、援助认定状态

七、部署说明

按以下顺序执行:

  1. 执行建表SQL:就业援助-建表.sql
  2. 执行视图SQL:初步符合条件人员视图.sql就业援助管理视图.sql
  3. 重新编译部署后端服务(Flyway自动执行V20260609_2菜单权限SQL)
  4. 重新构建部署前端服务
  5. 使用admin账号登录系统,验证菜单和功能

2026-06-10 修复与优化记录

前端修复

  • 性别/学历搜索框 → <a-select> 字典下拉(Gender/Education)
  • 援助认定状态搜索框 → <a-select> 下拉(硬编码:已通过/待审核/已驳回)
  • 表格列翻译:gender(Gender)、education(Education)、aidStatus(彩色tag)
  • 户口所在地列 → XZQH字典翻译,去"广东省湛江市"前缀显示区名
  • 新增 useDict hook 集成

2026-06-11 修复与优化记录

就业援助管理-列表页

  • 户口所在地搜索 → 湛江区县 XZQH <a-tree-select> 树形下拉
  • 表格列 householdLocation → XZQH 区县显示(6位代码→区名,去"广东省湛江市"前缀)
  • 新增 defHttp 导入 + loadZhanjiangDistricts() 程序化定位加载区县树

就业援助管理-详情页

  • 完整重写,所有字段使用 useDict 字典翻译
  • 新增字典:IDType, Nation, Nationality, MaritalStatus, PoliticalStatus, HouseholdType, WorkExperience, Whether, JobSeekerStatus, JobSeekerCategory, XZQH
  • householdLocation → 区县名显示
  • currentResidence → 完整省市区路径显示(buildXzqhPath
  • 顶部概要信息栏 → getDictText('Gender') 字典翻译

初步符合条件人员-列表页

  • 搜索栏全面改造:
    • gender → 字典下拉(Gender)
    • education → 字典下拉(Education)
    • householdLocation → 湛江区县 XZQH 树形下拉
    • currentResidence → 全国懒加载 XZQH 树形下拉(递归加载子节点)
    • jobSeekerCategory → 字典下拉(JobSeekerCategory)
    • jobSearchStatus → 字典下拉(JobSeekerStatus)
    • appliedAid → 字典下拉(Whether)
  • 表格 bodyCell 翻译:
    • gendergetDictText('Gender')
    • educationgetDictText('Education')
    • householdLocation → XZQH 区县名
    • currentResidence → 完整省市区路径
    • appliedAidgetDictText('Whether')
  • 发送消息功能:新增 Tinymce 富文本推送弹窗,支持单条和批量推送
    • 模块类型: preliminary_eligible
    • 关联 /notification/send API
    • 推送人绑定当前登录用户

初步符合条件人员-详情页

  • 完整重写,所有字段使用 useDict 字典翻译
  • 字典覆盖:Gender, Education, Nation, Nationality, MaritalStatus, PoliticalStatus, HouseholdType, WorkExperience, IDType, Whether, JobSeekerStatus, JobSeekerCategory, XZQH
  • householdLocation → 区县名显示
  • currentResidence → 完整省市区路径显示
  • appliedAid → 改用原始值显示(DB存"是"/"否",Whether字典值为0/1,不匹配)

初步符合条件人员-列表页(第二次修复)

  • 搜索表单布局调整::lg="6"(4列/行) → :lg="8"(3列/行),解决长标签"是否已申请援助"显示不全问题
  • 按钮列 :lg="6":lg="24",独立占一行
  • 年龄输入框 style="width: 105px"style="width: 100%",自适应列宽

2026-06-12 修复与优化记录

就业援助管理-列表页 aidStatus 列去除颜色样式

  • aidStatus 列原来使用彩色 <a-tag>(已通过=绿/待审核=橙/已驳回=红),改为纯文本 {{ text || '-' }},与其他列保持一致

2026-06-12 初步符合条件人员导出字典翻译修复

问题

导出Excel时性别、学历、求职人员类别、求职状态等字典字段显示为原始编码。

修复文件

文件 修改
IPreliminaryEligibleService.java 新增 translateDictFieldsForPageVo() 方法
PreliminaryEligibleServiceImpl.java 注入 IDictionaryItemService,批量查询字典 → switch-case替换字段值为标签
PreliminaryEligibleController.java 重写 exportXls:查询 PreliminaryEligiblePageVo 数据 → 过滤选中 → 字典翻译 → 导出为 .xlsx