223 lines
5.8 KiB
JavaScript
223 lines
5.8 KiB
JavaScript
/**
|
|
* 招生流程初始化脚本
|
|
* 用于为现有的待审核学生创建流程记录
|
|
*/
|
|
|
|
// API基础配置
|
|
const API_BASE_URL = 'http://localhost:8080';
|
|
const TENANT_ID = '000000'; // 根据实际情况修改
|
|
|
|
// 模拟的流程记录创建函数
|
|
async function createProcessRecord(enrollmentInfo) {
|
|
const processData = {
|
|
enrollmentId: enrollmentInfo.id,
|
|
studentName: enrollmentInfo.name,
|
|
idCard: enrollmentInfo.idCard,
|
|
currentStatus: '0', // 待审核
|
|
currentHandler: null,
|
|
currentHandlerName: null,
|
|
infoAuditStatus: '0', // 待审核
|
|
admissionStatus: '0', // 待处理
|
|
finalAuditStatus: '0', // 待审核
|
|
isCompleted: 0,
|
|
tenantId: TENANT_ID
|
|
};
|
|
|
|
console.log(`正在为学生 ${enrollmentInfo.name}(ID: ${enrollmentInfo.id}) 创建流程记录...`);
|
|
|
|
try {
|
|
// 这里应该调用实际的API接口
|
|
// const response = await fetch(`${API_BASE_URL}/zsjy/enrollmentProcess`, {
|
|
// method: 'POST',
|
|
// headers: {
|
|
// 'Content-Type': 'application/json',
|
|
// 'Authorization': 'Bearer YOUR_TOKEN_HERE'
|
|
// },
|
|
// body: JSON.stringify(processData)
|
|
// });
|
|
|
|
// 模拟API调用成功
|
|
console.log(`✅ 成功为学生 ${enrollmentInfo.name} 创建流程记录`);
|
|
return { success: true, data: processData };
|
|
} catch (error) {
|
|
console.error(`❌ 为学生 ${enrollmentInfo.name} 创建流程记录失败:`, error);
|
|
return { success: false, error };
|
|
}
|
|
}
|
|
|
|
// 主要的初始化函数
|
|
async function initializeProcesses() {
|
|
console.log('🚀 开始初始化招生流程...');
|
|
|
|
// 模拟的待审核学生数据(实际应该从API获取)
|
|
const pendingStudents = [
|
|
{
|
|
id: 1,
|
|
name: '张三',
|
|
idCard: '330106199001011234',
|
|
enrollmentStatus: '0',
|
|
applicationTime: '2025-01-20 10:00:00'
|
|
},
|
|
{
|
|
id: 2,
|
|
name: '李四',
|
|
idCard: '330106199001011235',
|
|
enrollmentStatus: '0',
|
|
applicationTime: '2025-01-20 11:00:00'
|
|
}
|
|
];
|
|
|
|
let successCount = 0;
|
|
let failedCount = 0;
|
|
const results = [];
|
|
|
|
for (const student of pendingStudents) {
|
|
const result = await createProcessRecord(student);
|
|
results.push({
|
|
student: student.name,
|
|
id: student.id,
|
|
success: result.success,
|
|
error: result.error
|
|
});
|
|
|
|
if (result.success) {
|
|
successCount++;
|
|
} else {
|
|
failedCount++;
|
|
}
|
|
}
|
|
|
|
console.log('\n📊 初始化结果统计:');
|
|
console.log(`✅ 成功: ${successCount} 条`);
|
|
console.log(`❌ 失败: ${failedCount} 条`);
|
|
|
|
if (failedCount > 0) {
|
|
console.log('\n❌ 失败详情:');
|
|
results.filter(r => !r.success).forEach(r => {
|
|
console.log(` - ${r.student} (ID: ${r.id}): ${r.error}`);
|
|
});
|
|
}
|
|
|
|
return results;
|
|
}
|
|
|
|
// SQL脚本生成函数
|
|
function generateSQLScript() {
|
|
const sql = `
|
|
-- 招生流程初始化SQL脚本
|
|
-- 执行前请确认数据库连接和权限
|
|
|
|
-- 1. 查看现有的待审核学生
|
|
SELECT
|
|
id as enrollment_id,
|
|
name as student_name,
|
|
id_card,
|
|
enrollment_status,
|
|
application_time
|
|
FROM zsjy_enrollment_info
|
|
WHERE enrollment_status = '0'
|
|
AND deleted = 0
|
|
ORDER BY application_time DESC;
|
|
|
|
-- 2. 为待审核学生创建流程记录
|
|
INSERT INTO zsjy_enrollment_process (
|
|
enrollment_id,
|
|
student_name,
|
|
id_card,
|
|
current_status,
|
|
info_audit_status,
|
|
admission_status,
|
|
final_audit_status,
|
|
is_completed,
|
|
tenant_id,
|
|
create_by,
|
|
create_time,
|
|
update_by,
|
|
update_time,
|
|
deleted
|
|
)
|
|
SELECT
|
|
ei.id,
|
|
ei.name,
|
|
ei.id_card,
|
|
'0', -- 待审核
|
|
'0', -- 待审核
|
|
'0', -- 待处理
|
|
'0', -- 待审核
|
|
0, -- 未完成
|
|
ei.tenant_id,
|
|
1, -- 系统用户ID,请根据实际情况修改
|
|
NOW(),
|
|
1, -- 系统用户ID,请根据实际情况修改
|
|
NOW(),
|
|
0
|
|
FROM zsjy_enrollment_info ei
|
|
WHERE ei.enrollment_status = '0'
|
|
AND ei.deleted = 0
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM zsjy_enrollment_process ep
|
|
WHERE ep.enrollment_id = ei.id AND ep.deleted = 0
|
|
);
|
|
|
|
-- 3. 验证创建结果
|
|
SELECT
|
|
COUNT(*) as total_processes,
|
|
SUM(CASE WHEN current_status = '0' THEN 1 ELSE 0 END) as pending_count
|
|
FROM zsjy_enrollment_process
|
|
WHERE deleted = 0;
|
|
`;
|
|
|
|
console.log('📝 生成的SQL脚本:');
|
|
console.log(sql);
|
|
return sql;
|
|
}
|
|
|
|
// 使用说明
|
|
function printUsageInstructions() {
|
|
console.log(`
|
|
🔧 招生流程初始化脚本使用说明
|
|
|
|
方案1: 使用SQL脚本 (推荐)
|
|
1. 复制下面生成的SQL脚本
|
|
2. 在数据库管理工具中执行
|
|
3. 验证创建结果
|
|
|
|
方案2: 使用API接口
|
|
1. 修改API_BASE_URL和认证信息
|
|
2. 调用 initializeProcesses() 函数
|
|
3. 检查控制台输出
|
|
|
|
方案3: 在前端页面操作
|
|
1. 打开招生信息管理页面
|
|
2. 选择待审核的学生记录
|
|
3. 点击"初始化流程"按钮
|
|
|
|
注意事项:
|
|
- 脚本会自动检查是否已存在流程记录,避免重复创建
|
|
- 请确保数据库连接和权限正确
|
|
- 建议先在测试环境验证
|
|
`);
|
|
}
|
|
|
|
// 执行脚本
|
|
if (typeof window === 'undefined') {
|
|
// Node.js环境
|
|
printUsageInstructions();
|
|
generateSQLScript();
|
|
// initializeProcesses(); // 取消注释以执行API调用
|
|
} else {
|
|
// 浏览器环境
|
|
console.log('在浏览器控制台中运行招生流程初始化脚本');
|
|
window.initializeProcesses = initializeProcesses;
|
|
window.generateSQLScript = generateSQLScript;
|
|
printUsageInstructions();
|
|
}
|
|
|
|
// 导出函数
|
|
if (typeof module !== 'undefined' && module.exports) {
|
|
module.exports = {
|
|
initializeProcesses,
|
|
generateSQLScript,
|
|
createProcessRecord
|
|
};
|
|
}
|