Files
ALL-teach_sys/frontend_环保/replaceInterviewStatus.js

94 lines
3.3 KiB
JavaScript
Raw Permalink Normal View History

import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
// 读取环保岗位面试状态数据
const envInterviewData = JSON.parse(fs.readFileSync('./网页未导入数据/环保产业/环保岗位面试状态.json', 'utf8'));
// 转换函数:将环保数据格式转换为系统所需格式
function transformInterviewStatus(envData) {
return envData.map((item) => {
// 根据流程标签和内容生成合适的面试状态文本
let statusText = '';
let datePrefix = '';
// 根据岗位内推流程确定前缀和状态文本
switch (item['岗位内推流程']) {
case '简历投递':
datePrefix = '简历投递:';
statusText = item['内容'];
break;
case 'HR评估':
datePrefix = 'HR评估';
if (item['流程标签'] === '简历通过') {
statusText = item['内容'] || '等待面试安排';
} else {
statusText = item['内容'] || 'HR正在评估简历';
}
break;
case '面试':
datePrefix = '面试通知:';
statusText = item['内容'] || '面试日期已确定,等待面试';
break;
case '面试结果':
datePrefix = '面试结果:';
statusText = item['内容'] || '等待面试结果';
break;
case 'Offer':
datePrefix = '收到Offer';
statusText = item['内容'] || '已收到Offer请于2天内答复';
break;
default:
datePrefix = '状态更新:';
statusText = item['内容'] || '状态更新中';
}
// 格式化时间
let formattedDate = '';
if (item['流程时间']) {
// 将 "2025/7/11 0:00" 格式转换为 "2025/7/11 14:30" 这样的格式
const dateParts = item['流程时间'].split(' ');
const date = dateParts[0];
// 生成一个合理的时间9:00-18:00之间
const hours = 9 + Math.floor(Math.random() * 9);
const minutes = Math.floor(Math.random() * 60);
formattedDate = `${date} ${hours}:${minutes < 10 ? '0' + minutes : minutes}`;
}
return {
"查询岗位名称": item['查询岗位名称'],
"阶段日期": `${datePrefix}${formattedDate}`,
"面试状态": statusText
};
});
}
// 转换数据
const transformedData = transformInterviewStatus(envInterviewData);
// 备份原始文件
const originalFile = './src/data/interviewStatus.json';
const backupFile = `./src/data/interviewStatus.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
// 读取原始文件并备份
if (fs.existsSync(originalFile)) {
const originalData = fs.readFileSync(originalFile, 'utf8');
fs.writeFileSync(backupFile, originalData);
console.log(`原始文件已备份到: ${backupFile}`);
}
// 写入新数据
fs.writeFileSync(originalFile, JSON.stringify(transformedData, null, 2));
console.log('面试状态数据替换完成!');
console.log(`总共替换了 ${transformedData.length} 条岗位面试状态数据`);
// 显示前5条数据作为示例
console.log('\n前5条数据示例');
transformedData.slice(0, 5).forEach((item, index) => {
console.log(`${index + 1}. ${item['查询岗位名称']} - ${item['阶段日期']} - ${item['面试状态']}`);
});