# 见习岗位管理与见习人员管理模块开发记录 ## 开发日期 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,存储为逗号分隔字符串