添加登录内容,尚未完善,先创建分支

This commit is contained in:
2025-07-14 12:31:43 +08:00
parent e3109423d4
commit fff474f46b
25 changed files with 2693 additions and 1102 deletions
+51 -1
View File
@@ -103,6 +103,12 @@ interface OcrData {
[key: string]: unknown;
}
interface ContractStructureComparison {
id: string | number;
document_id: string | number;
[key: string]: unknown;
}
/**
* 获取当前评查文件的所有评查点结果
* @param fileId 评查文件ID
@@ -116,6 +122,49 @@ export async function getReviewPoints(fileId: string) {
return Response.json({ error: documentData.error }, { status: documentData.status || 500 });
}
// 其次需要查询这个文档关联的文档附件,查询contract_structure_comparison表
const contractStructureComparisonParams: PostgrestParams = {
select: '*',
filter: {
'document_id': `eq.${fileId}`
},
order: 'id.desc',
limit: 1
};
const contractStructureComparisonResponse = await postgrestGet('contract_structure_comparison', contractStructureComparisonParams);
if (contractStructureComparisonResponse.error) {
console.error("获取文档附件数据错误:", contractStructureComparisonResponse.error);
return Response.json({ error: contractStructureComparisonResponse.error }, { status: contractStructureComparisonResponse.status || 500 });
}
const contractStructureComparisonData = extractApiData<ContractStructureComparison[]>(contractStructureComparisonResponse.data);
// console.log('文档附件的数据', JSON.stringify(contractStructureComparisonData, null, 2));
// 解析比对结果
let comparisonDocument = null;
if (contractStructureComparisonData && contractStructureComparisonData.length > 0) {
comparisonDocument = contractStructureComparisonData[0];
// 测试:将合同封面中的status改为abnormal
// (comparisonDocument.comparison_results as Record<string, Array<{ status: string; [key: string]: unknown }>>)['合同封面'][0]['status'] = 'abnormal';
// 如果 comparison_results 是字符串,尝试解析为 JSON
if (comparisonDocument.comparison_results && typeof comparisonDocument.comparison_results === 'string') {
try {
comparisonDocument.comparison_results = JSON.parse(comparisonDocument.comparison_results);
} catch (e) {
console.error('解析比对结果失败:', e);
comparisonDocument.comparison_results = null;
}
}
}else{
comparisonDocument = {
template_contract_path: '',
}
}
// console.log('documentData-------', documentData);
// 步骤1:根据fileId查询evaluation_results表
const evaluationResultsParams: PostgrestParams = {
select: '*',
@@ -125,6 +174,7 @@ export async function getReviewPoints(fileId: string) {
};
const evaluationResultsResponse = await postgrestGet('evaluation_results', evaluationResultsParams);
// console.log('evaluationResultsResponse-------', evaluationResultsResponse,);
if (evaluationResultsResponse.error) {
return { error: evaluationResultsResponse.error, status: evaluationResultsResponse.status };
}
@@ -622,7 +672,7 @@ export async function getReviewPoints(fileId: string) {
};
// console.log("reviewInfo-------",JSON.stringify(reviewInfo,null,2));
// data->reviewPoints stats->statistics reviewInfo->reviewInfo document->document
return { data: resultData, stats, reviewInfo, document: documentData.data };
return { data: resultData, stats, reviewInfo, document: documentData.data, comparison_document: comparisonDocument };
}
/**