72 lines
2.6 KiB
Python
72 lines
2.6 KiB
Python
|
|
#!/usr/bin/env python3
|
|||
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
|
|||
|
|
import json
|
|||
|
|
import shutil
|
|||
|
|
from datetime import datetime
|
|||
|
|
|
|||
|
|
def update_energy_interview_status_with_labels():
|
|||
|
|
"""更新能源产业面试状态数据,包含流程标签和完整时间"""
|
|||
|
|
|
|||
|
|
# 备份原有数据
|
|||
|
|
backup_file = f"src/data/interviewStatus.json.backup_{datetime.now().strftime('%Y%m%d_%H%M%S')}"
|
|||
|
|
shutil.copy('src/data/interviewStatus.json', backup_file)
|
|||
|
|
print(f"已创建备份文件: {backup_file}")
|
|||
|
|
|
|||
|
|
# 读取能源面试状态数据
|
|||
|
|
with open('网页未导入数据/能源产业/能源岗位面试状态.json', 'r', encoding='utf-8') as f:
|
|||
|
|
energy_status = json.load(f)
|
|||
|
|
|
|||
|
|
# 转换数据格式
|
|||
|
|
converted_status = []
|
|||
|
|
|
|||
|
|
for item in energy_status:
|
|||
|
|
# 构建阶段日期字段 - 包含流程标签和完整时间
|
|||
|
|
stage = item['岗位内推流程']
|
|||
|
|
flow_label = item.get('流程标签', '')
|
|||
|
|
flow_time = item['流程时间'] # 保留完整时间 "2025/7/2 0:00"
|
|||
|
|
|
|||
|
|
# 映射流程阶段名称
|
|||
|
|
stage_map = {
|
|||
|
|
'HR评估': 'HR评估',
|
|||
|
|
'面试': '面试',
|
|||
|
|
'面试结果': '面试结果',
|
|||
|
|
'Offer': 'Offer'
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
stage_name = stage_map.get(stage, stage)
|
|||
|
|
|
|||
|
|
# 构建显示格式:流程标签 | 阶段:时间
|
|||
|
|
if flow_label:
|
|||
|
|
stage_date_str = f"{flow_label} | {stage_name}:{flow_time}"
|
|||
|
|
else:
|
|||
|
|
stage_date_str = f"{stage_name}:{flow_time}"
|
|||
|
|
|
|||
|
|
# 创建转换后的记录
|
|||
|
|
converted_item = {
|
|||
|
|
"查询岗位名称": item['查询岗位名称'],
|
|||
|
|
"阶段日期": stage_date_str,
|
|||
|
|
"面试状态": item['内容'],
|
|||
|
|
"流程标签": flow_label, # 保留流程标签字段
|
|||
|
|
"流程时间": flow_time # 保留完整时间字段
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
converted_status.append(converted_item)
|
|||
|
|
|
|||
|
|
# 写入转换后的数据
|
|||
|
|
with open('src/data/interviewStatus.json', 'w', encoding='utf-8') as f:
|
|||
|
|
json.dump(converted_status, f, ensure_ascii=False, indent=2)
|
|||
|
|
|
|||
|
|
print(f"已成功更新面试状态数据:")
|
|||
|
|
print(f"- 能源产业面试状态记录数: {len(converted_status)} 条")
|
|||
|
|
print(f"- 备份文件: {backup_file}")
|
|||
|
|
|
|||
|
|
# 显示前5条记录
|
|||
|
|
print("\n已更新的面试状态示例:")
|
|||
|
|
for i, item in enumerate(converted_status[:5], 1):
|
|||
|
|
print(f"{i}. {item['查询岗位名称']}:")
|
|||
|
|
print(f" 阶段日期: {item['阶段日期']}")
|
|||
|
|
print(f" 面试状态: {item['面试状态']}")
|
|||
|
|
|
|||
|
|
if __name__ == "__main__":
|
|||
|
|
update_energy_interview_status_with_labels()
|