Files
ALL-teach_sys/frontend_能源/fix_interview_job_mapping.py

77 lines
2.9 KiB
Python
Raw Normal View History

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import os
def fix_interview_job_mapping():
"""
修正面试状态中的岗位名称确保与companyJobsNew.json中的岗位名称匹配
"""
# 读取当前面试状态数据
with open("src/data/interviewStatus.json", 'r', encoding='utf-8') as f:
interview_data = json.load(f)
# 创建备份
with open("src/data/interviewStatus.json.backup_before_job_mapping", 'w', encoding='utf-8') as f:
json.dump(interview_data, f, ensure_ascii=False, indent=2)
# 创建岗位名称映射从joblevel中的名称 -> companyJobsNew中的名称
job_mapping = {
"输配电线路技术员": "输配电线路运维工程师",
"电厂运行技术员": "电厂热控工程师助理",
"储能电站运维工程师": "储能电站运维工程师助理",
"电网需求分析师助理": "电网需求分析师",
"电力交易员": "能源市场交易助理",
"电力系统调度员": "电力调度员",
"电力巡检员": "电力设备运维工程师",
"电力安全员": "EHS 安全管理专员"
}
print("=== 岗位名称映射关系 ===")
for old_name, new_name in job_mapping.items():
print(f" {old_name} -> {new_name}")
# 应用映射
updated_data = []
for item in interview_data:
old_name = item["查询岗位名称"]
new_name = job_mapping.get(old_name, old_name)
updated_item = {
"查询岗位名称": new_name,
"阶段日期": item["阶段日期"],
"面试状态": item["面试状态"]
}
updated_data.append(updated_item)
if old_name != new_name:
print(f"✓ 更新: {old_name} -> {new_name}")
# 写入更新后的数据
with open("src/data/interviewStatus.json", 'w', encoding='utf-8') as f:
json.dump(updated_data, f, ensure_ascii=False, indent=2)
print(f"\n✅ 成功更新 {len(updated_data)} 条面试状态数据")
# 验证更新结果
print("\n=== 验证更新结果 ===")
with open("src/data/companyJobsNew.json", 'r', encoding='utf-8') as f:
jobs_data = json.load(f)
jobs_positions = {job["内推岗位名称"] for job in jobs_data}
updated_positions = {item["查询岗位名称"] for item in updated_data}
not_found_in_jobs = updated_positions - jobs_positions
if not_found_in_jobs:
print(f"❌ 仍有 {len(not_found_in_jobs)} 个岗位在companyJobsNew.json中找不到:")
for pos in sorted(not_found_in_jobs):
print(f" - {pos}")
else:
print("✅ 所有岗位名称现在都能在companyJobsNew.json中找到!")
print("💡 这样transformInterviewStatus函数就能正确获取岗位详情信息了")
if __name__ == "__main__":
fix_interview_job_mapping()