This commit is contained in:
Your Name
2026-09-21 10:26:14 +08:00
parent bbe3e870a1
commit dbf474ddd7
67 changed files with 10636 additions and 279 deletions
@@ -119,7 +119,9 @@ final class PrescriptionAiGenerator
}
$status = (string) ($file['status'] ?? 'pending');
if ($status === 'restricted' || empty($file['url']) || !in_array($file['type'] ?? '', ['image', 'document'], true) || $batchSize === 0) {
$coverage['files'][$id] = ['file_id' => $id, 'status' => $status === 'restricted' ? 'restricted' : 'unsupported', 'transmitted' => false,
// 附件类型随覆盖清单一起保留:界面按类型展示每个附件的读取结果,不再只有编号。
$coverage['files'][$id] = ['file_id' => $id, 'type' => (string) ($file['type'] ?? ''),
'status' => $status === 'restricted' ? 'restricted' : 'unsupported', 'transmitted' => false,
'version_verified' => false, 'reason' => $batchSize === 0 ? 'FILE_CAPABILITY_DISABLED' : 'FILE_UNAVAILABLE_OR_UNSUPPORTED'];
$criticalGap = true;
$unavailableGroups++;
@@ -149,7 +151,8 @@ final class PrescriptionAiGenerator
throw $e;
}
foreach ($batch as $file) {
$coverage['files'][$file['file_id']] = ['file_id' => $file['file_id'], 'status' => 'unsupported', 'transmitted' => false,
$coverage['files'][$file['file_id']] = ['file_id' => $file['file_id'], 'type' => (string) ($file['type'] ?? ''),
'status' => 'unsupported', 'transmitted' => false,
'version_verified' => false, 'reason' => $e->getMessage()];
}
$criticalGap = true;
@@ -162,7 +165,8 @@ final class PrescriptionAiGenerator
// Delivery was confirmed and one format repair was already spent, so no finding
// in this malformed group is usable evidence.
foreach ($batch as $file) {
$coverage['files'][$file['file_id']] = ['file_id' => $file['file_id'], 'status' => 'unreadable', 'transmitted' => true,
$coverage['files'][$file['file_id']] = ['file_id' => $file['file_id'], 'type' => (string) ($file['type'] ?? ''),
'status' => 'unreadable', 'transmitted' => true,
'version_verified' => false, 'reason' => 'MODEL_FILE_OUTPUT_INVALID'];
}
$criticalGap = true;
@@ -171,7 +175,8 @@ final class PrescriptionAiGenerator
}
foreach ($result as $fileResult) {
$file = $batch[array_search($fileResult['file_id'], array_column($batch, 'file_id'), true)];
$coverage['files'][$fileResult['file_id']] = ['file_id' => $fileResult['file_id'], 'status' => $fileResult['status'], 'transmitted' => true,
$coverage['files'][$fileResult['file_id']] = ['file_id' => $fileResult['file_id'], 'type' => (string) ($file['type'] ?? ''),
'status' => $fileResult['status'], 'transmitted' => true,
'version_verified' => !empty($file['version_verified']), 'reason' => $fileResult['status'] === 'processed' ? '' : 'MODEL_REPORTED_' . strtoupper($fileResult['status'])];
if ($fileResult['status'] !== 'processed') {
$criticalGap = true;