开发记录_见习岗位与见习人员管理模块.md 6.4 KB

见习岗位管理与见习人员管理模块开发记录

开发日期

2026-06-03

模块概述

本次开发实现了"见习岗位管理"和"见习人员管理"两个模块的完整后端+前端代码,参考 FocusPersonnel 模块的代码模式。


一、见习岗位管理(InternshipPost)

1.1 后端代码

文件 路径 说明
InternshipPost.java org.jeecg.modules.zjrs.internshippost.entity 实体类,@TableName("internship_post"),包含22个字段
InternshipPostMapper.java org.jeecg.modules.zjrs.internshippost.mapper Mapper接口,继承BaseMapper
InternshipPostMapper.xml org.jeecg.modules.zjrs.internshippost.mapper.xml Mapper XML,基础配置(此表不需要JOIN)
IInternshipPostService.java org.jeecg.modules.zjrs.internshippost.service Service接口,继承IService
InternshipPostServiceImpl.java org.jeecg.modules.zjrs.internshippost.service.impl Service实现类
InternshipPostController.java org.jeecg.modules.zjrs.internshippost.controller Controller,使用QueryGenerator自动构建查询条件

关键设计:

  • /list 接口使用 QueryGenerator 自动构建查询条件(不需要自定义queryPageList)
  • 权限前缀:internship_post
  • 实体类使用 @TableId(type = IdType.ASSIGN_ID)

1.2 前端代码

文件 路径 说明
InternshipPost.api.ts views/internshippost/ API定义,基础路径 /internshipPost
InternshipPost.data.ts views/internshippost/ 列定义和高级查询配置
InternshipPostList.vue views/internshippost/ 列表页面
InternshipPostForm.vue views/internshippost/components/ 表单组件,分两个卡片区域
InternshipPostModal.vue views/internshippost/components/ 弹窗组件

关键设计:

  • 查询区域:单位名称(输入框)、工作地点(输入框)、见习岗位(输入框)、发布状态(a-select: 0未发布/1已发布)、报名状态(a-select: 01报名中/02人员已满)
  • 表单分两个卡片:卡片1-见习单位信息、卡片2-见习岗位信息
  • 身份要求使用 a-checkbox-group(高校毕业生/失业青年/脱贫家庭青年),存储为逗号分隔字符串
  • 单位性质使用 a-select 硬编码选项(国有企业/民营企业/外资企业/事业单位/社会团体)
  • 报名方式使用 a-select 硬编码选项(网上报名/现场报名)
  • 报名截止日期使用 a-date-picker 日期选择器

1.3 Flyway菜单SQL

文件 路径
V20260603_5__menu_insert_InternshipPost.sql flyway/sql/mysql/

菜单结构:

  • 一级菜单"见习管理":id=178060100000030
  • 二级菜单"见习岗位管理":id=178060100000031
  • 按钮权限:add(1780601000000311), edit(1780601000000312), delete(1780601000000313), deleteBatch(1780601000000314), exportXls(1780601000000315), importExcel(1780601000000316)
  • 角色授权:ID从1780601000000317开始

二、见习人员管理(InternshipPersonnel)

2.1 后端代码

文件 路径 说明
InternshipPersonnel.java org.jeecg.modules.zjrs.internshippersonnel.entity 实体类,@TableName("internship_personnel"),只包含表自身字段
InternshipPersonnelPageVo.java org.jeecg.modules.zjrs.internshippersonnel.entity 列表VO,映射视图v_internship_personnel_list字段
InternshipPersonnelMapper.java org.jeecg.modules.zjrs.internshippersonnel.mapper Mapper接口,添加queryPageList方法
InternshipPersonnelMapper.xml org.jeecg.modules.zjrs.internshippersonnel.mapper.xml queryPageList从视图查询,支持5个查询参数
IInternshipPersonnelService.java org.jeecg.modules.zjrs.internshippersonnel.service Service接口,添加queryPageList方法
InternshipPersonnelServiceImpl.java org.jeecg.modules.zjrs.internshippersonnel.service.impl Service实现类
InternshipPersonnelController.java org.jeecg.modules.zjrs.internshippersonnel.controller Controller,/list使用queryPageList模式

关键设计:

  • /list 接口使用 queryPageList(参考FocusPersonnelController),从视图v_internship_personnel_list查询
  • 查询参数:fullName(模糊)、internshipStatus(精确)、auditStatus(精确)、postName(模糊)、companyName(模糊)
  • 权限前缀:internship_personnel
  • 排序:ORDER BY id DESC

2.2 前端代码

文件 路径 说明
InternshipPersonnel.api.ts views/internshippersonnel/ API定义,基础路径 /internshipPersonnel
InternshipPersonnel.data.ts views/internshippersonnel/ 列定义和高级查询配置
InternshipPersonnelList.vue views/internshippersonnel/ 列表页面
InternshipPersonnelForm.vue views/internshippersonnel/components/ 表单组件
InternshipPersonnelModal.vue views/internshippersonnel/components/ 弹窗组件

关键设计:

  • 查询区域:姓名(输入框)、见习状态(a-select: 见习中/已期满/已退出)、审核状态(a-select: 待审核/已通过/未通过)、见习单位(输入框)、见习岗位(输入框)
  • 表单字段:关联个人信息(personalId输入框)、关联见习岗位(internshipPostId输入框)、见习状态(下拉框)、见习开始日期(日期选择器)、见习结束日期(日期选择器)、审核状态(下拉框)、审核意见(文本域)

2.3 Flyway菜单SQL

文件 路径
V20260603_6__menu_insert_InternshipPersonnel.sql flyway/sql/mysql/

菜单结构:

  • 二级菜单"见习人员管理":id=178060100000032,parent_id=178060100000030(见习管理)
  • 按钮权限:add(1780601000000321), edit(1780601000000322), delete(1780601000000323), deleteBatch(1780601000000324), exportXls(1780601000000325), importExcel(1780601000000326)
  • 角色授权:ID从1780601000000327开始

三、注意事项

  1. 所有Java注释使用中文
  2. Flyway SQL不使用反引号(达梦数据库兼容)
  3. 见习岗位模块的/list接口使用标准QueryGenerator模式(不需要视图)
  4. 见习人员模块的/list接口使用queryPageList模式(从视图v_internship_personnel_list查询)
  5. 实体类使用 @TableId(type = IdType.ASSIGN_ID)
  6. Controller 继承 JeecgController
  7. 前端表单下拉框使用 a-select 硬编码选项
  8. Flyway SQL中INSERT语句每行一个,不使用多行VALUES
  9. 见习岗位表单的身份要求使用 a-checkbox-group,存储为逗号分隔字符串