103 lines
3.4 KiB
JavaScript
103 lines
3.4 KiB
JavaScript
|
|
import fs from 'fs';
|
|||
|
|
import path from 'path';
|
|||
|
|
import { fileURLToPath } from 'url';
|
|||
|
|
|
|||
|
|
const __filename = fileURLToPath(import.meta.url);
|
|||
|
|
const __dirname = path.dirname(__filename);
|
|||
|
|
|
|||
|
|
// 读取日历数据
|
|||
|
|
const calendarData = JSON.parse(
|
|||
|
|
fs.readFileSync(path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'), 'utf-8')
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
// 财经商贸导师名单
|
|||
|
|
const financeTeachers = ["刘红梅", "朱琳琳", "马国栋", "徐明辉"];
|
|||
|
|
|
|||
|
|
// 定义财经商贸相关单元名称列表
|
|||
|
|
const financeUnits = [
|
|||
|
|
"岗位体系认知",
|
|||
|
|
"产业体系认知",
|
|||
|
|
"财经商贸基础理论",
|
|||
|
|
"商务洽谈与礼仪",
|
|||
|
|
"市场营销",
|
|||
|
|
"供应链管理",
|
|||
|
|
"财务管理与会计核算",
|
|||
|
|
"国际贸易与跨境电商",
|
|||
|
|
"金融服务与投资",
|
|||
|
|
"数字化商务应用",
|
|||
|
|
"财经法规与合规",
|
|||
|
|
"项目管理与商务策划",
|
|||
|
|
"创新创业与商业模式",
|
|||
|
|
"财经数据分析"
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
// 定义垂直方向单元
|
|||
|
|
const verticalUnits = [
|
|||
|
|
"职业规划课",
|
|||
|
|
"国际贸易",
|
|||
|
|
"供应链管理",
|
|||
|
|
"电子商务",
|
|||
|
|
"金融服务"
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
// 备份原文件
|
|||
|
|
const backupPath = path.join(__dirname, 'src/data', `intelligentManufacturingCalendar.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`);
|
|||
|
|
fs.copyFileSync(
|
|||
|
|
path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'),
|
|||
|
|
backupPath
|
|||
|
|
);
|
|||
|
|
console.log(`备份已创建: ${backupPath}`);
|
|||
|
|
|
|||
|
|
// 更新数据
|
|||
|
|
let teacherIndex = 0;
|
|||
|
|
let updateCount = 0;
|
|||
|
|
|
|||
|
|
const updatedData = calendarData.map(item => {
|
|||
|
|
// 检查是否是财经商贸相关课程
|
|||
|
|
const isFinanceCourse =
|
|||
|
|
financeUnits.includes(item["所属单元(个人课程)"]) ||
|
|||
|
|
financeUnits.includes(item["所属单元(公共课)"]) ||
|
|||
|
|
verticalUnits.includes(item["所属单元(个人课程)"]) ||
|
|||
|
|
verticalUnits.includes(item["所属单元(公共课)"]);
|
|||
|
|
|
|||
|
|
// 检查是否有个人课程表内容(复合能力课)
|
|||
|
|
const hasPersonalCourse = item["个人课程表"] && item["个人课程表"].trim() !== "";
|
|||
|
|
|
|||
|
|
// 如果是财经商贸相关的复合能力课或垂直课,分配财经商贸导师
|
|||
|
|
if (isFinanceCourse && hasPersonalCourse && item["上课状态"] === "上课") {
|
|||
|
|
// 根据垂直方向分配特定导师
|
|||
|
|
let assignedTeacher;
|
|||
|
|
const unit = item["所属单元(个人课程)"];
|
|||
|
|
|
|||
|
|
if (unit === "国际贸易" || unit === "财经商贸基础理论") {
|
|||
|
|
assignedTeacher = "刘红梅"; // 国际贸易专家
|
|||
|
|
} else if (unit === "供应链管理" || unit === "项目管理与商务策划") {
|
|||
|
|
assignedTeacher = "朱琳琳"; // 供应链管理专家
|
|||
|
|
} else if (unit === "电子商务" || unit === "数字化商务应用") {
|
|||
|
|
assignedTeacher = "马国栋"; // 电子商务专家
|
|||
|
|
} else if (unit === "金融服务" || unit === "金融服务与投资") {
|
|||
|
|
assignedTeacher = "徐明辉"; // 金融服务专家
|
|||
|
|
} else {
|
|||
|
|
// 其他课程轮流分配
|
|||
|
|
assignedTeacher = financeTeachers[teacherIndex % financeTeachers.length];
|
|||
|
|
teacherIndex++;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
item["导师姓名查询"] = assignedTeacher;
|
|||
|
|
updateCount++;
|
|||
|
|
console.log(`更新课程:${item["个人课程表"]} - 导师:${assignedTeacher}`);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 公共课(AI课程等)保持原有导师不变
|
|||
|
|
|
|||
|
|
return item;
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// 写入更新后的数据
|
|||
|
|
fs.writeFileSync(
|
|||
|
|
path.join(__dirname, 'src/data/intelligentManufacturingCalendar.json'),
|
|||
|
|
JSON.stringify(updatedData, null, 2),
|
|||
|
|
'utf-8'
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
console.log(`\n成功更新 ${updateCount} 门财经商贸课程的导师信息`);
|