260604-企业基本信息模块开发记录.md 12 KB

企业基本信息模块开发记录

日期: 2026-06-04

模块概述

企业基本信息模块(enterprise)是招聘管理系统中的核心基础模块,负责管理招聘企业的基本信息。该模块采用 JeecgBoot 的前后端分离架构,前端基于 Vue3 + Ant Design Vue,后端基于 Spring Boot + MyBatis-Plus。

业务关系

  • EnterpriseInfo(企业基本信息):唯一的主表,记录企业的登记注册信息、经营信息、联系方式、宣传资料等。对外提供企业下拉列表接口供岗位信息等模块关联使用。

模块文件结构

前端(jeecgboot-vue3/src/views/recruitment/enterprise/)

文件 用途
EnterpriseInfoList.vue 企业信息列表页面,提供查询、新增、编辑、详情、删除、批量删除、导入导出等功能
EnterpriseInfo.api.ts 企业信息 API 封装
EnterpriseInfo.data.ts 列表页表格列配置(9列)与高级查询字段定义(26个查询字段)
components/EnterpriseInfoForm.vue 企业信息新增/编辑/详情表单组件,含图片上传与视频上传
components/EnterpriseInfoModal.vue 企业信息弹窗组件,包裹 EnterpriseInfoForm,全屏模式

后端(jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../org/jeecg/modules/zjrs/enterprise/)

层次 文件
Controller EnterpriseInfoController.java
Entity EnterpriseInfo.java
Service IEnterpriseInfoService.java
Service Impl EnterpriseInfoServiceImpl.java
Mapper EnterpriseInfoMapper.java
Mapper XML EnterpriseInfoMapper.xml

开发记录

功能清单

功能 说明
分页列表查询 支持按单位名称、统一社会信用代码、联系人、所属行业等条件查询,9 列展示
新增 全屏表单,支持 35 个企业字段录入,含 logo 图片上传、宣传图片上传(最多5张)、宣传视频上传
编辑 复用新增表单,预填充已有数据
详情 表单禁用模式查看企业全部信息
删除 / 批量删除 支持单条删除和批量删除,删除前弹窗确认
导入 / 导出 Excel 基于 Jeecg 标准 Excel 导入导出功能
高级查询 26 个查询字段,支持灵活的筛选条件
企业下拉列表 单独接口 /listForSelect,返回 id 和 companyName,供岗位信息等模块关联选择企业
字段必填校验 前端(Ant Design Vue Form 校验)+ 后端(Service 层 validateRequiredFields)双重校验

必填字段(前后端一致)

共 16 个必填字段:单位名称、统一社会信用代码、注册地址行政区划、单位类型、经济类型、所属行业、数据来源、人员规模、联系人、联系方式、接收平台短信推送、面向求职者会员开放、是否允许人社部门代报名、单位简介、办公地址行政区划、办公地址。


功能开发

日期 内容 涉及文件 说明
2026-06-04 企业基本信息模块初始构建 前端 5 个文件 + 后端 6 个文件 完成企业信息管理的基础 CRUD 功能,含 Excel 导入导出与企业下拉列表接口

EnterpriseInfo 实体字段一览

分类 字段 说明
登记信息 companyName 单位名称
unifiedCreditCode 统一社会信用代码
orgCode 组织机构代码
establishDate 成立日期
registeredCapital 注册资本
regAddrDistrict 注册地址行政区划
经营信息 businessStatus 经营状态
companyType 单位类型
economyType 经济类型
industry 所属行业
isListedCompany 是否上市公司
industryField 行业领域
industryAdminDept 行业主管部门
industryTag 产业标签
companyPropertyTag 单位属性标签
provinceOrCity 省属或所属地市
companyAttribute 单位属性
isHeadEnterprise 是否为头部企业
isKeyEnterprise 是否为重点企业
isKeyInstitution 是否为重点事业单位
isStrategicIndustry 是否属于20个战略性产业集群
联系方式 contactPerson 联系人
contactPhone 联系方式
email 电子邮箱
postalCode 邮政编码
website 单位网站
faxNumber 传真号码
officeAddrDistrict 办公地址行政区划
officeAddress 办公地址
配置项 dataSource 数据来源
companyTag 单位标签
staffSize 人员规模
acceptSmsPush 接收平台短信推送
openToJobSeeker 面向求职者会员开放
allowAgentSignup 是否允许人社部门代报名
companyBenefits 单位福利
companyIntro 单位简介
宣传资料 logoImg logo图片
promotionalVideo 宣传视频
promotionalImage 宣传图片
系统字段 id / createBy / createTime / updateBy / updateTime / sysOrgCode 系统内置字段

2026-06-04:企业列表字段调整 & 关联岗位数统计

需求描述: 调整企业信息列表页的表格显示字段,并从岗位信息表(post_info)关联统计当前岗位数。

表格列调整(13列):

新列 对应字段 说明
序号 index 自定义列,customRender 显示行索引
统一信用代码 unifiedCreditCode
单位名称 companyName
单位类型 companyType
所属行业 industry
注册地址 regAddrDistrict 对应注册地址行政区划字段
经营地址 officeAddress 对应办公地址字段
企业规模 staffSize 原"人员规模"改名为"企业规模"
是否重点企业 isKeyEnterprise 新增显示字段
单位标签 companyTag 新增显示字段
经营状态 businessStatus
当前岗位数 postCount 自 post_info 表关联统计
数据来源 dataSource 新增显示字段

删除的列: 注册资本、联系人、联系方式

涉及文件:

文件 操作 原因
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/entity/EnterpriseInfo.java 修改 移除 postCount 字段(已移到 VO)
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/vo/EnterpriseInfoVO.java 新增 企业信息 VO,继承 EnterpriseInfo,包含 postCount 扩展字段
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/mapper/EnterpriseInfoMapper.java 修改 添加 queryPageWithPostCountqueryListWithPostCount 自定义查询方法,返回 EnterpriseInfoVO
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/mapper/xml/EnterpriseInfoMapper.xml 修改 添加 LEFT JOIN 子查询 SQL,通过 enterprise_id 关联 post_info 表统计岗位数
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/service/IEnterpriseInfoService.java 修改 添加 queryPageWithPostCountqueryListWithPostCount 服务接口方法
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/service/impl/EnterpriseInfoServiceImpl.java 修改 实现自定义查询方法,委托给 Mapper 执行
jeecg-boot/jeecg-boot-module/jeecg-module-zjrs/.../enterprise/controller/EnterpriseInfoController.java 修改 分页列表接口改用 queryPageWithPostCount;导出方法重写以包含岗位数,处理 selections 选中导出和全量导出两种场景
jeecgboot-vue3/src/views/recruitment/enterprise/EnterpriseInfo.data.ts 修改 更新 columns 定义,调整为 12 列新字段配置

2026-06-04:数据字典字段适配(列表显示 + 表单下拉 + 导出翻译)

需求描述: 将企业信息模块中匹配数据字典的字段从普通文本输入改为下拉选择,列表页显示中文标签,导出时自动翻译字典值为中文。

涉及字典及字段映射:

字段名 字典编码 说明
businessStatus BusinessStatus 经营状态
companyType CompanyType 单位类型
dataSource DataSource 数据来源
staffSize CompanySize 人员规模
industryField IndustryField 行业领域

涉及文件:

文件 操作 原因
jeecgboot-vue3/src/views/recruitment/enterprise/EnterpriseInfoList.vue 修改 导入 useDict,预加载 BusinessStatus/CompanyType/CompanySize/DataSource 字典;bodyCell 插槽添加 4 个字典字段的 getDictText() 翻译渲染
jeecgboot-vue3/src/views/recruitment/enterprise/components/EnterpriseInfoForm.vue 修改 导入 useDict,预加载 5 个字典;5 个字典字段从 <a-input> 改为 <a-select> 下拉选择;校验提示从"请输入"改为"请选择"
jeecg-boot/.../enterprise/controller/EnterpriseInfoController.java 修改 添加 EXPORT_DICT_FIELD_MAP 静态常量映射 4 个字段到字典编码;导出流程增加 translateDictFields 调用
jeecg-boot/.../enterprise/service/IEnterpriseInfoService.java 修改 添加 translateDictFields 方法声明
jeecg-boot/.../enterprise/service/impl/EnterpriseInfoServiceImpl.java 修改 注入 IDictionaryItemService;实现 translateDictFields 方法,采用后端内存映射方案批量查询字典并替换字段值