diff --git a/apps/web/src/pages/health/ConsultationDetail.tsx b/apps/web/src/pages/health/ConsultationDetail.tsx index 4cdb680..2bb73a4 100644 --- a/apps/web/src/pages/health/ConsultationDetail.tsx +++ b/apps/web/src/pages/health/ConsultationDetail.tsx @@ -120,7 +120,8 @@ export default function ConsultationDetail() { pollRef.current = setInterval(async () => { if (!sessionId) return; try { - const lastId = messages.length > 0 ? messages[messages.length - 1].id : undefined; + const realMsgs = messages.filter((m) => !m.id.startsWith('temp_')); + const lastId = realMsgs.length > 0 ? realMsgs[realMsgs.length - 1].id : undefined; const result = await consultationApi.listMessages(sessionId, { page: 1, page_size: 50, diff --git a/crates/erp-health/src/service/stats_service.rs b/crates/erp-health/src/service/stats_service.rs index c0cfc18..f97de36 100644 --- a/crates/erp-health/src/service/stats_service.rs +++ b/crates/erp-health/src/service/stats_service.rs @@ -386,7 +386,7 @@ async fn count_abnormal_lab_items( (SELECT jsonb_agg(elem) FROM jsonb_array_elements(items) elem WHERE elem->>'is_abnormal' = 'true'), '[]'::jsonb ) - )), 0) AS total + )), 0::bigint) AS total FROM lab_report WHERE tenant_id = $1 AND deleted_at IS NULL AND items IS NOT NULL AND created_at >= date_trunc('month', NOW()) @@ -446,7 +446,7 @@ async fn compute_daily_report_rate( let sql = r#" SELECT d::date::text AS date, COUNT(DISTINCT vs.patient_id) AS reported, - 0 AS total + 0::bigint AS total FROM generate_series( CURRENT_DATE - INTERVAL '6 days', CURRENT_DATE,