fix sql
This commit is contained in:
@@ -6,7 +6,6 @@ import { toTitleCase } from '@/lib/utils';
|
|||||||
import { getSupabaseServerClient } from '@/packages/supabase/src/clients/server-client';
|
import { getSupabaseServerClient } from '@/packages/supabase/src/clients/server-client';
|
||||||
|
|
||||||
import { PageBody, PageHeader } from '@kit/ui/page';
|
import { PageBody, PageHeader } from '@kit/ui/page';
|
||||||
import { Skeleton } from '@kit/ui/skeleton';
|
|
||||||
import { Trans } from '@kit/ui/trans';
|
import { Trans } from '@kit/ui/trans';
|
||||||
import { createUserAnalysesApi } from '@kit/user-analyses/api';
|
import { createUserAnalysesApi } from '@kit/user-analyses/api';
|
||||||
|
|
||||||
@@ -62,9 +61,6 @@ async function UserHomePage() {
|
|||||||
<Suspense fallback={<RecommendationsSkeleton />}>
|
<Suspense fallback={<RecommendationsSkeleton />}>
|
||||||
<Recommendations account={account} />
|
<Recommendations account={account} />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
<Suspense fallback={<RecommendationsSkeleton />}>
|
|
||||||
<Recommendations account={account} />
|
|
||||||
</Suspense>
|
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</PageBody>
|
</PageBody>
|
||||||
|
|||||||
@@ -12,8 +12,6 @@ import {
|
|||||||
} from '@kit/ui/shadcn/card';
|
} from '@kit/ui/shadcn/card';
|
||||||
import { Skeleton } from '@kit/ui/skeleton';
|
import { Skeleton } from '@kit/ui/skeleton';
|
||||||
|
|
||||||
import OrderAnalysesCards from './order-analyses-cards';
|
|
||||||
|
|
||||||
const RecommendationsSkeleton = () => {
|
const RecommendationsSkeleton = () => {
|
||||||
const emptyData = [
|
const emptyData = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
drop function if exists medreport.get_latest_analysis_response_elements_for_current_user(uuid);
|
||||||
|
|
||||||
|
create or replace function medreport.get_latest_analysis_response_elements_for_current_user(p_user_id uuid)
|
||||||
|
returns table (
|
||||||
|
analysis_name medreport.analysis_response_elements.analysis_name%type,
|
||||||
|
response_time medreport.analysis_response_elements.response_time%type,
|
||||||
|
norm_upper medreport.analysis_response_elements.norm_upper%type,
|
||||||
|
norm_lower medreport.analysis_response_elements.norm_lower%type,
|
||||||
|
norm_status medreport.analysis_response_elements.norm_status%type,
|
||||||
|
response_value medreport.analysis_response_elements.response_value%type,
|
||||||
|
analysis_name_lab medreport.analysis_elements.analysis_name_lab%type
|
||||||
|
)
|
||||||
|
language sql
|
||||||
|
as $$
|
||||||
|
WITH ranked AS (
|
||||||
|
SELECT
|
||||||
|
are.analysis_name,
|
||||||
|
are.response_time,
|
||||||
|
are.norm_upper,
|
||||||
|
are.norm_lower,
|
||||||
|
are.norm_status,
|
||||||
|
are.response_value,
|
||||||
|
ae.analysis_name_lab,
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
PARTITION BY are.analysis_name
|
||||||
|
ORDER BY are.response_time DESC, are.id DESC
|
||||||
|
) AS rn
|
||||||
|
FROM medreport.analysis_responses ar
|
||||||
|
JOIN medreport.analysis_response_elements are
|
||||||
|
ON are.analysis_response_id = ar.id
|
||||||
|
JOIN medreport.analysis_elements ae
|
||||||
|
ON are.analysis_element_original_id = ae.analysis_id_original
|
||||||
|
WHERE ar.user_id = auth.uid()
|
||||||
|
AND ar.order_status = 'COMPLETED'
|
||||||
|
)
|
||||||
|
SELECT analysis_name, response_time, norm_upper, norm_lower, norm_status, response_value, analysis_name_lab
|
||||||
|
FROM ranked
|
||||||
|
WHERE rn = 1
|
||||||
|
ORDER BY analysis_name;
|
||||||
|
$$;
|
||||||
|
|
||||||
|
grant execute on function medreport.get_latest_analysis_response_elements_for_current_user(uuid) to authenticated, service_role;
|
||||||
Reference in New Issue
Block a user