260609-职业指导服务模块开发记录.md 5.5 KB

职业指导服务模块开发记录

开发日期:2026-06-09 模块路径:就业一湛通服务平台 > 职业指导服务 参考模块:重点关注人员管理 (focuspersonnel)


一、功能说明

职业指导服务模块用于提供就业指导相关的服务,包括公开文件的宣传、职业指导专家库管理以及用户求职指导需求的跟进与记录。

1.1 查询字段

文件名称、专家姓名、姓名、是否已跟进

1.2 列表字段

文件名称、专家姓名、姓名、申请原因、申请日期、是否已跟进、最后通知时间


二、新增文件清单

2.1 后端文件(12个)

序号 文件路径 说明
1 jeecg-boot/.../careerguidancedocument/entity/CareerGuidanceDocument.java 实体类
2 jeecg-boot/.../careerguidancedocument/mapper/CareerGuidanceDocumentMapper.java Mapper接口
3 jeecg-boot/.../careerguidancedocument/service/ICareerGuidanceDocumentService.java Service接口
4 jeecg-boot/.../careerguidancedocument/service/impl/CareerGuidanceDocumentServiceImpl.java Service实现
5 jeecg-boot/.../careerguidancedocument/controller/CareerGuidanceDocumentController.java Controller
6 jeecg-boot/.../careerguidanceexpert/entity/CareerGuidanceExpert.java 实体类
7 jeecg-boot/.../careerguidanceexpert/mapper/CareerGuidanceExpertMapper.java Mapper接口
8 jeecg-boot/.../careerguidanceexpert/service/ICareerGuidanceExpertService.java Service接口
9 jeecg-boot/.../careerguidanceexpert/service/impl/CareerGuidanceExpertServiceImpl.java Service实现
10 jeecg-boot/.../careerguidanceexpert/controller/CareerGuidanceExpertController.java Controller
11 jeecg-boot/.../careerguidanceservice/entity/CareerGuidanceService.java 主实体
12 jeecg-boot/.../careerguidanceservice/entity/CareerGuidanceRecord.java 子实体

2.2 前端文件(8个)

序号 文件路径 说明
1 views/careerguidancedocument/CareerGuidanceDocument.api.ts 文档API
2 views/careerguidancedocument/CareerGuidanceDocumentList.vue 文档列表
3 views/careerguidanceexpert/CareerGuidanceExpert.api.ts 专家API
4 views/careerguidanceexpert/CareerGuidanceExpertList.vue 专家列表
5 views/careerguidanceservice/CareerGuidanceService.api.ts 服务API
6 views/careerguidanceservice/CareerGuidanceServiceList.vue 服务主列表
7 views/careerguidanceservice/components/CareerGuidanceServiceForm.vue 主表单
8 views/careerguidanceservice/components/CareerGuidanceRecordList.vue 服务记录跟进弹窗

2.3 SQL脚本与迁移脚本

序号 文件路径 说明
1 .docs/sql/职业指导服务-达梦表与视图.sql 核心建表与视图 (DM8标准)
2 .docs/sql/职业指导服务-测试数据.sql 测试数据
3 flyway/sql/mysql/V20260609_1__menu_insert_CareerGuidance.sql 菜单权限注册

三、技术规范

  • 严格遵循 org.jeecg.modules.zjrs 包结构。
  • 使用 jakarta.servlet
  • 使用 io.swagger.v3.oas.annotations (OpenAPI 3)。
  • 数据审计字段通过继承或手动定义,确保与参考模块一致。

四、职业指导服务-达梦表与视图建表脚本

-- 修复说明:修正列名 ID_CARD 为 ID_NUMBER,增加模式前缀 ZJRS_JEECG_BOOT

-- 1. 表结构创建
CREATE TABLE IF NOT EXISTS CAREER_GUIDANCE_DOCUMENT (
  ID VARCHAR(36) NOT NULL,
  CATEGORY_ID VARCHAR(36) NOT NULL,
  NAME VARCHAR(200) NOT NULL,
  FILE_URL VARCHAR(1000),
  SORT_NO INTEGER,
  CREATE_BY VARCHAR(50),
  CREATE_TIME TIMESTAMP,
  UPDATE_BY VARCHAR(50),
  UPDATE_TIME TIMESTAMP,
  SYS_ORG_CODE VARCHAR(50),
  PRIMARY KEY (ID)
);

CREATE TABLE IF NOT EXISTS CAREER_GUIDANCE_EXPERT (
  ID VARCHAR(36) NOT NULL,
  NAME VARCHAR(100) NOT NULL,
  CONTACT_PHONE VARCHAR(50),
  EXPERTISE_AREA VARCHAR(500),
  CREATE_BY VARCHAR(50),
  CREATE_TIME TIMESTAMP,
  UPDATE_BY VARCHAR(50),
  UPDATE_TIME TIMESTAMP,
  SYS_ORG_CODE VARCHAR(50),
  PRIMARY KEY (ID)
);

CREATE TABLE IF NOT EXISTS CAREER_GUIDANCE_SERVICE (
  ID VARCHAR(36) NOT NULL,
  PERSONAL_ID VARCHAR(36) NOT NULL,
  APPLICATION_REASON VARCHAR(1000) NOT NULL,
  APPLICATION_DATE DATE,
  IS_FOLLOWED_UP VARCHAR(10) DEFAULT '否',
  LAST_NOTIFY_TIME TIMESTAMP,
  CREATE_BY VARCHAR(50),
  CREATE_TIME TIMESTAMP,
  UPDATE_BY VARCHAR(50),
  UPDATE_TIME TIMESTAMP,
  SYS_ORG_CODE VARCHAR(50),
  PRIMARY KEY (ID)
);

CREATE TABLE IF NOT EXISTS CAREER_GUIDANCE_RECORD (
  ID VARCHAR(36) NOT NULL,
  SERVICE_ID VARCHAR(36) NOT NULL,
  RECORD_TYPE INTEGER NOT NULL,
  TITLE VARCHAR(200),
  CONTENT VARCHAR(2000) NOT NULL,
  RECORD_TIME TIMESTAMP NOT NULL,
  OPERATOR VARCHAR(100) NOT NULL,
  CREATE_BY VARCHAR(50),
  CREATE_TIME TIMESTAMP,
  UPDATE_BY VARCHAR(50),
  UPDATE_TIME TIMESTAMP,
  SYS_ORG_CODE VARCHAR(50),
  PRIMARY KEY (ID)
);

-- 2. 视图定义 (核心修正版本)
CREATE OR REPLACE VIEW V_CAREER_GUIDANCE_SERVICE AS
SELECT
    cgs.ID,
    cgs.PERSONAL_ID,
    cgs.APPLICATION_REASON,
    cgs.APPLICATION_DATE,
    cgs.IS_FOLLOWED_UP,
    cgs.LAST_NOTIFY_TIME,
    pi.FULL_NAME AS NAME,
    pi.ID_NUMBER AS ID_CARD,
    pi.GENDER,
    YEARS_BETWEEN(pi.BIRTH_DATE, SYSDATE) AS AGE,
    pi.EDUCATION,
    pi.HOUSEHOLD_LOCATION,
    pi.CONTACT_PHONE,
    cgs.CREATE_TIME
FROM CAREER_GUIDANCE_SERVICE cgs
LEFT JOIN ZJRS_JEECG_BOOT.PERSONAL_INFO pi ON cgs.PERSONAL_ID = pi.ID;