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['面试状态']}`); });