69 lines
3.1 KiB
JavaScript
69 lines
3.1 KiB
JavaScript
|
|
import fs from 'fs';
|
|||
|
|
|
|||
|
|
// 读取日历数据
|
|||
|
|
const dataPath = './src/data/intelligentManufacturingCalendar.json';
|
|||
|
|
const data = JSON.parse(fs.readFileSync(dataPath, 'utf8'));
|
|||
|
|
|
|||
|
|
console.log('开始修正单元归属...\n');
|
|||
|
|
|
|||
|
|
let fixCount = 0;
|
|||
|
|
|
|||
|
|
// 1. 修正所有单元小结的单元归属
|
|||
|
|
data.forEach((item, index) => {
|
|||
|
|
if (item['个人课程表'] === '单元小结') {
|
|||
|
|
// 找前一条有个人课程的记录
|
|||
|
|
let prevUnit = null;
|
|||
|
|
for (let i = index - 1; i >= 0; i--) {
|
|||
|
|
if (data[i]['个人课程表'] &&
|
|||
|
|
data[i]['个人课程表'] !== '单元小结' &&
|
|||
|
|
data[i]['所属单元(个人课程)']) {
|
|||
|
|
prevUnit = data[i]['所属单元(个人课程)'];
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (prevUnit && item['所属单元(个人课程)'] !== prevUnit) {
|
|||
|
|
console.log(`修正单元小结 [${item['日期']}]:`);
|
|||
|
|
console.log(` 原单元:${item['所属单元(个人课程)'] || '(空)'}`);
|
|||
|
|
console.log(` 新单元:${prevUnit}`);
|
|||
|
|
item['所属单元(个人课程)'] = prevUnit;
|
|||
|
|
fixCount++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 2. 修正"个人职业目标与发展路径规划"的单元
|
|||
|
|
if (item['个人课程表'] === '个人职业目标与发展路径规划') {
|
|||
|
|
if (item['所属单元(个人课程)'] !== '职业规划课') {
|
|||
|
|
console.log(`\n修正课程 "个人职业目标与发展路径规划" [${item['日期']}]:`);
|
|||
|
|
console.log(` 原单元:${item['所属单元(个人课程)'] || '(空)'}`);
|
|||
|
|
console.log(` 新单元:职业规划课`);
|
|||
|
|
item['所属单元(个人课程)'] = '职业规划课';
|
|||
|
|
fixCount++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 3. 修正"采样方法与仪器选型"的单元
|
|||
|
|
if (item['个人课程表'] === '采样方法与仪器选型') {
|
|||
|
|
if (item['所属单元(个人课程)'] !== '空气及废气检测') {
|
|||
|
|
console.log(`\n修正课程 "采样方法与仪器选型" [${item['日期']}]:`);
|
|||
|
|
console.log(` 原单元:${item['所属单元(个人课程)'] || '(空)'}`);
|
|||
|
|
console.log(` 新单元:空气及废气检测`);
|
|||
|
|
item['所属单元(个人课程)'] = '空气及废气检测';
|
|||
|
|
fixCount++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 写回文件
|
|||
|
|
fs.writeFileSync(dataPath, JSON.stringify(data, null, 2), 'utf8');
|
|||
|
|
console.log(`\n修正完成!共更新了 ${fixCount} 条记录的单元归属。`);
|
|||
|
|
|
|||
|
|
// 验证修正结果
|
|||
|
|
console.log('\n验证结果:');
|
|||
|
|
const summaryCount = data.filter(d => d['个人课程表'] === '单元小结' && d['所属单元(个人课程)']).length;
|
|||
|
|
const careerCount = data.filter(d => d['个人课程表'] === '个人职业目标与发展路径规划' && d['所属单元(个人课程)'] === '职业规划课').length;
|
|||
|
|
const samplingCount = data.filter(d => d['个人课程表'] === '采样方法与仪器选型' && d['所属单元(个人课程)'] === '空气及废气检测').length;
|
|||
|
|
|
|||
|
|
console.log(` - 单元小结有单元归属的数量:${summaryCount}/10`);
|
|||
|
|
console.log(` - 个人职业目标与发展路径规划归属于"职业规划课":${careerCount > 0 ? '是' : '否'}`);
|
|||
|
|
console.log(` - 采样方法与仪器选型归属于"空气及废气检测":${samplingCount > 0 ? '是' : '否'}`);
|