This commit is contained in:
李旭明 committed 2025-07-24 10:20:17 +08:00
commit 75201841cd
243 files changed
+89463 -2524

No files matched your search

+95
View File
@@ -0,0 +1,95 @@
-- 招生流程修复脚本
-- 为现有的待审核学生创建流程记录
-- 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,
current_handler,
current_handler_name,
info_audit_status,
admission_status,
final_audit_status,
is_completed,
tenant_id,
create_by,
create_time,
update_by,
update_time,
deleted
)
SELECT
ei.id as enrollment_id,
ei.name as student_name,
ei.id_card,
'0' as current_status, -- 待审核
NULL as current_handler,
NULL as current_handler_name,
'0' as info_audit_status, -- 待审核
'0' as admission_status, -- 待处理
'0' as final_audit_status, -- 待审核
0 as is_completed,
ei.tenant_id,
ei.create_by,
NOW() as create_time,
ei.update_by,
NOW() as update_time,
0 as deleted
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
)
ORDER BY ei.application_time DESC;
-- 3. 验证创建的流程记录
SELECT
ep.id,
ep.enrollment_id,
ep.student_name,
ep.id_card,
ep.current_status,
ep.info_audit_status,
ep.admission_status,
ep.final_audit_status,
ep.create_time,
ei.application_time
FROM zsjy_enrollment_process ep
LEFT JOIN zsjy_enrollment_info ei ON ep.enrollment_id = ei.id
WHERE ep.deleted = 0
ORDER BY ep.create_time DESC;
-- 4. 统计流程状态
SELECT
current_status,
CASE
WHEN current_status = '0' THEN '待审核'
WHEN current_status = '1' THEN '信息审核中'
WHEN current_status = '2' THEN '录取处理中'
WHEN current_status = '3' THEN '待最终确认'
WHEN current_status = '4' THEN '录取完成'
WHEN current_status = '9' THEN '已驳回'
ELSE '未知状态'
END as status_name,
COUNT(*) as count
FROM zsjy_enrollment_process
WHERE deleted = 0
GROUP BY current_status
ORDER BY current_status;
+223
View File
@@ -0,0 +1,223 @@
/**
* 招生流程初始化脚本
* 用于为现有的待审核学生创建流程记录
*/
// 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
};
}