Files
online_sys/frontend_智能开发/updateInterviewStatusComplete.cjs

105 lines
3.2 KiB
JavaScript
Raw Normal View History

const fs = require('fs');
// 读取智能开发岗位面试状态数据
const interviewStatusData = JSON.parse(
fs.readFileSync('./网页未导入数据/智能开发产业/智能开发岗位面试状态.json', 'utf-8')
);
console.log(`找到 ${interviewStatusData.length} 个岗位面试状态记录`);
// 转换为页面需要的格式
const transformedStatus = interviewStatusData.map((status, index) => {
// 根据流程标签和内容生成更详细的面试状态描述
let statusText = status['内容'];
// 根据不同的流程标签,生成更友好的状态文本
switch(status['流程标签']) {
case '简历投递':
statusText = `简历已投递,${status['内容']}`;
break;
case '简历通过':
statusText = `简历审核通过,${status['内容']}`;
break;
case '简历未通过':
statusText = `简历未通过审核,${status['内容']}`;
break;
case '面试日期':
statusText = `面试时间:${status['流程时间']}${status['内容']}`;
break;
case '面试完成':
statusText = `面试已完成,${status['内容']}`;
break;
case '面试通过':
statusText = `面试已通过,${status['内容']}`;
break;
case '面试日期已过':
statusText = `${status['内容']}`;
break;
case '收到Offer':
statusText = `已收到Offer请于2天内答复`;
break;
case '简历接收':
statusText = `简历已接收,${status['内容']}`;
break;
default:
statusText = status['内容'];
}
// 构建阶段日期显示
let stageDate = '';
switch(status['岗位内推流程']) {
case '简历投递':
stageDate = `简历投递:${status['流程时间']}`;
break;
case 'HR评估':
stageDate = `HR评估${status['流程时间']}`;
break;
case '面试':
stageDate = `面试阶段:${status['流程时间']}`;
break;
case '面试结果':
stageDate = `面试结果:${status['流程时间']}`;
break;
case 'Offer':
stageDate = `收到Offer${status['流程时间']}`;
break;
default:
stageDate = `${status['岗位内推流程']}${status['流程时间']}`;
}
return {
"查询岗位名称": status['查询岗位名称'],
"阶段日期": stageDate,
"面试状态": statusText,
"流程标签": status['流程标签'],
"截止日期": status['查询_截止日期']
};
});
// 写入文件
fs.writeFileSync(
'./src/data/interviewStatus.json',
JSON.stringify(transformedStatus, null, 2),
'utf-8'
);
console.log('✅ 面试状态数据更新成功!');
console.log(`- 共更新 ${transformedStatus.length} 个面试状态记录`);
// 统计各种状态
const statusCount = {};
transformedStatus.forEach(item => {
const label = item['流程标签'];
statusCount[label] = (statusCount[label] || 0) + 1;
});
console.log('\n流程标签统计');
Object.entries(statusCount).forEach(([label, count]) => {
console.log(` ${label}: ${count}`);
});
// 输出前5个示例
console.log('\n面试状态示例');
transformedStatus.slice(0, 5).forEach((status, index) => {
console.log(` ${index + 1}. ${status['查询岗位名称']} - ${status['流程标签']} - ${status['面试状态']}`);
});