feat: 优化人员拉取和数据字典部分3

This commit is contained in:
2026-10-29 16:14:08 +08:00
parent e3f32fe72b
commit d1050db6b3
5 changed files with 112 additions and 1 deletions
@@ -56,6 +56,12 @@ public class Sys_user_source extends Sys_user {
@DataCenterColumn(name = "聘岗类型代码", key = "ZYJSGWLBDM")
private String jobCategoryCode;
@Column
@Comment("当前状态代码")
@ColDefine(type = ColType.VARCHAR, width = 30)
@DataCenterColumn(name = "当前状态代码", key = "DQZTDM")
private String userStateCode;
@Column
@Comment("拉取时间")
@ColDefine(type = ColType.DATETIME)
+1
View File
@@ -12756,6 +12756,7 @@ CREATE TABLE `sys_user_source` (
`employmentType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '聘用方式',
`identityType` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份类型',
`userState` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '在职状态',
`userStateCode` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '当前状态代码',
`retireDate` date NULL DEFAULT NULL COMMENT '退休时间',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '头像',
`email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '电子邮箱',
@@ -726,4 +726,58 @@ WHERE NOT EXISTS (
WHERE existing.parentCode = source.parentCode AND existing.code = source.code
);
-- 人员类型:独立补充 v3 的 17 项映射,不混入上面的其他字典数据。
UPDATE sys_data_dict existing
JOIN (
SELECT '1' AS code, '在编类' AS name
UNION ALL SELECT '1001', '聘用合同制(享受人事代理待遇)'
UNION ALL SELECT '101', '在编'
UNION ALL SELECT '102', '兰溪编制'
UNION ALL SELECT '2', '非在编类'
UNION ALL SELECT '202', '派遣人员'
UNION ALL SELECT '204', '博士后'
UNION ALL SELECT '206', '挂职人员'
UNION ALL SELECT '208', '外籍教师'
UNION ALL SELECT '209', '兼职教师'
UNION ALL SELECT '210', '非学校聘用人员'
UNION ALL SELECT '214', '单位返聘'
UNION ALL SELECT '215', '附属单位'
UNION ALL SELECT '902', '聘用合同制'
UNION ALL SELECT '904', '聘用制专家'
UNION ALL SELECT '905', '人事代理'
UNION ALL SELECT '909', '其他'
) source ON existing.parentCode = 'USER_PERSON_TYPE' AND existing.code = source.code
SET existing.name = source.name, existing.updatedAt = UNIX_TIMESTAMP(NOW()) * 1000
WHERE NOT (existing.name <=> source.name);
INSERT INTO sys_data_dict (
parentCode, name, code, createdBy, createdAt, updatedBy, updatedAt, delFlag
)
SELECT
'USER_PERSON_TYPE', source.name, source.code,
'', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
FROM (
SELECT '1' AS code, '在编类' AS name
UNION ALL SELECT '1001', '聘用合同制(享受人事代理待遇)'
UNION ALL SELECT '101', '在编'
UNION ALL SELECT '102', '兰溪编制'
UNION ALL SELECT '2', '非在编类'
UNION ALL SELECT '202', '派遣人员'
UNION ALL SELECT '204', '博士后'
UNION ALL SELECT '206', '挂职人员'
UNION ALL SELECT '208', '外籍教师'
UNION ALL SELECT '209', '兼职教师'
UNION ALL SELECT '210', '非学校聘用人员'
UNION ALL SELECT '214', '单位返聘'
UNION ALL SELECT '215', '附属单位'
UNION ALL SELECT '902', '聘用合同制'
UNION ALL SELECT '904', '聘用制专家'
UNION ALL SELECT '905', '人事代理'
UNION ALL SELECT '909', '其他'
) source
WHERE NOT EXISTS (
SELECT 1 FROM sys_data_dict existing
WHERE existing.parentCode = 'USER_PERSON_TYPE' AND existing.code = source.code
);
COMMIT;
@@ -729,4 +729,53 @@ WHERE parent.code IN ('USER_TABLE_COLUMN_DICTS', 'TECHNICAL_TITLE_LEVEL')
WHERE child.parentId = parent.id
);
-- 10. 人员类型:沿用 v3 的 17 个名称,code、name 均保存名称。
INSERT INTO sys_dict (
id, parentId, path, name, remark, code, disabled, location, hasChildren,
createdBy, createdAt, updatedBy, updatedAt, delFlag
)
SELECT
REPLACE(UUID(), '-', ''), parent.id,
CONCAT(parent.path, LPAD(IFNULL((
SELECT MAX(CAST(RIGHT(child.path, 4) AS UNSIGNED))
FROM sys_dict child WHERE child.path LIKE CONCAT(parent.path, '____')
), 0) + source.sortOrder, 4, '0')),
source.name, '', source.name, 0,
IFNULL((SELECT MAX(child.location) FROM sys_dict child WHERE child.parentId = parent.id), 0)
+ source.sortOrder,
0, '', UNIX_TIMESTAMP(NOW()) * 1000, '', UNIX_TIMESTAMP(NOW()) * 1000, 0
FROM sys_dict parent
CROSS JOIN (
SELECT 1 AS sortOrder, '在编类' AS name
UNION ALL SELECT 2, '聘用合同制(享受人事代理待遇)'
UNION ALL SELECT 3, '在编'
UNION ALL SELECT 4, '兰溪编制'
UNION ALL SELECT 5, '非在编类'
UNION ALL SELECT 6, '派遣人员'
UNION ALL SELECT 7, '博士后'
UNION ALL SELECT 8, '挂职人员'
UNION ALL SELECT 9, '外籍教师'
UNION ALL SELECT 10, '兼职教师'
UNION ALL SELECT 11, '非学校聘用人员'
UNION ALL SELECT 12, '单位返聘'
UNION ALL SELECT 13, '附属单位'
UNION ALL SELECT 14, '聘用合同制'
UNION ALL SELECT 15, '聘用制专家'
UNION ALL SELECT 16, '人事代理'
UNION ALL SELECT 17, '其他'
) source
WHERE parent.code = 'USER_PERSON_TYPE'
AND NOT EXISTS (
SELECT 1 FROM sys_dict existing
WHERE existing.parentId = parent.id AND existing.code = source.name
);
UPDATE sys_dict parent
SET parent.hasChildren = 1
WHERE parent.code = 'USER_PERSON_TYPE'
AND EXISTS (
SELECT 1 FROM (SELECT DISTINCT parentId FROM sys_dict) child
WHERE child.parentId = parent.id
);
COMMIT;
@@ -5,6 +5,7 @@ ALTER TABLE sys_user_source
ADD COLUMN educationCode varchar(20) NULL DEFAULT NULL COMMENT '最高学历代码' AFTER education,
ADD COLUMN academicDegreeCode varchar(50) NULL DEFAULT NULL COMMENT '最高学位代码' AFTER academicDegree,
ADD COLUMN preparedByCode varchar(30) NULL DEFAULT NULL COMMENT '编制类别代码' AFTER preparedBy,
ADD COLUMN jobCategoryCode varchar(50) NULL DEFAULT NULL COMMENT '聘岗类型代码' AFTER jobCategory;
ADD COLUMN jobCategoryCode varchar(50) NULL DEFAULT NULL COMMENT '聘岗类型代码' AFTER jobCategory,
ADD COLUMN userStateCode varchar(30) NULL DEFAULT NULL COMMENT '当前状态代码' AFTER userState;
COMMIT;