Files
AIclinicalresearch/backend/scripts/get-test-projects.mjs
HaHafeng 88cc049fb3 feat(asl): Complete Day 5 - Fulltext Screening Backend API Development
- Implement 5 core API endpoints (create task, get progress, get results, update decision, export Excel)
- Add FulltextScreeningController with Zod validation (652 lines)
- Implement ExcelExporter service with 4-sheet report generation (352 lines)
- Register routes under /api/v1/asl/fulltext-screening
- Create 31 REST Client test cases
- Add automated integration test script
- Fix PDF extraction fallback mechanism in LLM12FieldsService
- Update API design documentation to v3.0
- Update development plan to v1.2
- Create Day 5 development record
- Clean up temporary test files
2025-11-23 10:52:07 +08:00

89 lines
2.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 快速测试脚本 - 获取已有项目ID
*
* 用途快速找到数据库中已有的项目ID方便测试结果统计页面
* 使用方法node scripts/get-test-projects.mjs
*/
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
async function getProjects() {
console.log('\n🔍 查询已有项目...\n');
try {
// 查询所有项目
const projects = await prisma.aslScreeningProject.findMany({
orderBy: { createdAt: 'desc' },
take: 10,
select: {
id: true,
projectName: true,
createdAt: true,
status: true,
_count: {
select: {
literatures: true,
screeningResults: true,
}
}
}
});
if (projects.length === 0) {
console.log('❌ 没有找到任何项目');
console.log('\n💡 提示:请先访问"设置与启动"页面上传Excel并启动筛选\n');
return;
}
console.log(`✅ 找到 ${projects.length} 个项目:\n`);
projects.forEach((project, index) => {
console.log(`${index + 1}. 项目名称: ${project.projectName}`);
console.log(` 项目ID: ${project.id}`);
console.log(` 状态: ${project.status}`);
console.log(` 文献数: ${project._count.literatures}`);
console.log(` 筛选结果数: ${project._count.screeningResults}`);
console.log(` 创建时间: ${project.createdAt.toLocaleString('zh-CN')}`);
console.log('');
});
// 推荐一个有数据的项目
const validProject = projects.find(p => p._count.screeningResults > 0);
if (validProject) {
console.log('🎯 推荐测试项目(有筛选结果):');
console.log(` 项目ID: ${validProject.id}`);
console.log(` 文献数: ${validProject._count.literatures}`);
console.log(` 筛选结果数: ${validProject._count.screeningResults}`);
console.log('\n📝 快速测试方法:');
console.log(`\n1. 访问审核工作台:`);
console.log(` http://localhost:3000/literature/screening/title/workbench?projectId=${validProject.id}`);
console.log(`\n2. 点击页面右上角的"查看结果统计"按钮`);
console.log(`\n3. 或直接访问结果统计页:`);
console.log(` http://localhost:3000/literature/screening/title/results?projectId=${validProject.id}\n`);
} else {
console.log('⚠️ 所有项目都没有筛选结果');
console.log('\n💡 提示:请选择一个项目,等待筛选完成后再查看结果\n');
if (projects.length > 0) {
console.log(`📝 测试URL待筛选完成后访问`);
console.log(` http://localhost:3000/literature/screening/title/workbench?projectId=${projects[0].id}\n`);
}
}
} catch (error) {
console.error('❌ 查询失败:', error);
} finally {
await prisma.$disconnect();
}
}
getProjects();