feat 员工亲属关系

This commit is contained in:
wkc
2026-02-10 00:30:06 +08:00
parent 9a7fedcd74
commit bf19a9daa8
22 changed files with 3312 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
-- 员工亲属关系表
-- 创建时间: 2026-02-09
-- 说明: 存储员工家庭成员关系信息,仅处理员工家庭关系(is_emp_family=1)
CREATE TABLE IF NOT EXISTS `ccdi_staff_fmy_relation` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`person_id` VARCHAR(100) NOT NULL COMMENT '员工身份证号',
`relation_type` VARCHAR(50) NOT NULL COMMENT '关系类型(配偶、子女、父母、兄弟姐妹等)',
`relation_name` VARCHAR(100) NOT NULL COMMENT '关系人姓名',
`gender` CHAR(1) DEFAULT NULL COMMENT '性别M-男F-女O-其他',
`birth_date` DATE DEFAULT NULL COMMENT '关系人出生日期',
`relation_cert_type` VARCHAR(50) NOT NULL COMMENT '关系人证件类型',
`relation_cert_no` VARCHAR(50) NOT NULL COMMENT '关系人证件号码',
`mobile_phone1` VARCHAR(20) DEFAULT NULL COMMENT '手机号码1',
`mobile_phone2` VARCHAR(20) DEFAULT NULL COMMENT '手机号码2',
`wechat_no1` VARCHAR(50) DEFAULT NULL COMMENT '微信名称1',
`wechat_no2` VARCHAR(50) DEFAULT NULL COMMENT '微信名称2',
`wechat_no3` VARCHAR(50) DEFAULT NULL COMMENT '微信名称3',
`contact_address` VARCHAR(500) DEFAULT NULL COMMENT '详细联系地址',
`relation_desc` VARCHAR(500) DEFAULT NULL COMMENT '关系详细描述',
`status` INT(11) NOT NULL DEFAULT 1 COMMENT '状态0-无效1-有效',
`effective_date` DATETIME DEFAULT NULL COMMENT '关系生效日期',
`invalid_date` DATETIME DEFAULT NULL COMMENT '关系失效日期',
`remark` TEXT DEFAULT NULL COMMENT '备注信息',
`data_source` VARCHAR(50) DEFAULT NULL COMMENT '数据来源MANUAL-手工录入SYSTEM-系统同步IMPORT-批量导入API-接口获取',
`is_emp_family` TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否是员工的家庭关系0-否 1-是',
`is_cust_family` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否是信贷客户的家庭关系0-否 1-是',
`created_by` VARCHAR(100) NOT NULL COMMENT '记录创建人',
`updated_by` VARCHAR(100) DEFAULT NULL COMMENT '记录更新人',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_person_cert` (`person_id`, `relation_cert_no`) COMMENT '员工身份证号+关系人证件号码唯一',
KEY `idx_person_id` (`person_id`) COMMENT '员工身份证号索引',
KEY `idx_relation_cert_no` (`relation_cert_no`) COMMENT '关系人证件号码索引',
KEY `idx_status` (`status`) COMMENT '状态索引',
KEY `idx_data_source` (`data_source`) COMMENT '数据来源索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工家庭关系表';
-- 测试数据
-- INSERT INTO `ccdi_staff_fmy_relation`
-- (`person_id`, `relation_type`, `relation_name`, `gender`, `birth_date`, `relation_cert_type`, `relation_cert_no`, `mobile_phone1`, `contact_address`, `status`, `data_source`, `is_emp_family`, `is_cust_family`, `created_by`)
-- VALUES
-- ('110101199001011234', '配偶', '张三', 'M', '1990-05-15', '身份证', '110101199001015678', '13800138000', '北京市朝阳区', 1, 'MANUAL', 1, 0, 'admin');

View File

@@ -0,0 +1,45 @@
-- 添加员工亲属关系维护菜单
-- 注意: 执行前请确认已存在"信息维护"父菜单
-- 如果不存在,请先执行以下语句创建父菜单:
-- INSERT INTO sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark)
-- VALUES (2000, '信息维护', 0, 4, 'dpc', NULL, '', '', 1, 0, 'M', '0', '0', '', 'example', 'admin', NOW(), '信息维护目录');
-- 查询信息维护父菜单ID
SET @parent_menu_id = (SELECT menu_id FROM sys_menu WHERE menu_name='信息维护' AND parent_id=0 LIMIT 1);
-- 添加员工亲属关系维护菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
('员工亲属关系维护', @parent_menu_id, 3, 'staffFmyRelation', 'ccdiStaffFmyRelation/index', 1, 0, 'C', '0', '0', 'ccdi:staffFmyRelation:list', 'peoples', 'admin', NOW(), '', NULL, '员工亲属关系信息管理菜单');
-- 获取刚插入的菜单ID
SET @menu_id = LAST_INSERT_ID();
-- 添加按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, remark) VALUES
('亲属关系查询', @menu_id, 1, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:query', '#', 'admin', NOW(), ''),
('亲属关系新增', @menu_id, 2, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:add', '#', 'admin', NOW(), ''),
('亲属关系修改', @menu_id, 3, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:edit', '#', 'admin', NOW(), ''),
('亲属关系删除', @menu_id, 4, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:remove', '#', 'admin', NOW(), ''),
('亲属关系导出', @menu_id, 5, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:export', '#', 'admin', NOW(), ''),
('亲属关系导入', @menu_id, 6, '', '', 1, 0, 'F', '0', '0', 'ccdi:staffFmyRelation:import', '#', 'admin', NOW(), '');
-- 查询结果验证
SELECT
m.menu_id AS '菜单ID',
m.menu_name AS '菜单名称',
m.parent_id AS '父菜单ID',
p.menu_name AS '父菜单名称',
m.order_num AS '显示顺序',
m.path AS '路由地址',
m.component AS '组件路径',
m.menu_type AS '菜单类型',
m.perms AS '权限标识',
m.icon AS '菜单图标',
m.visible AS '显示状态',
m.status AS '菜单状态',
m.create_time AS '创建时间'
FROM sys_menu m
LEFT JOIN sys_menu p ON m.parent_id = p.menu_id
WHERE m.menu_name = '员工亲属关系维护' OR m.parent_id = @menu_id
ORDER BY m.parent_id, m.order_num;