105 lines
3.2 KiB
JavaScript
105 lines
3.2 KiB
JavaScript
|
|
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['面试状态']}`);
|
|||
|
|
});
|