Files
aiform_prod/docs/CHECK_DUPLICATES.sql
AI Assistant f82df1ebd7 fix: Add propertyName to caseJson for iframe form data
Problem:
- Form was empty because propertyName was not passed to iframe
- JavaScript code checked for injected.propertyName but it was undefined
- Only case (normalized) was passed, not the original propertyName

Solution:
- Added propertyName to caseJson object that gets embedded in HTML
- Now JavaScript code can access both case and propertyName
- This allows the form to properly display data from send_to_form_approve.draft

Files:
- frontend/src/components/form/generateConfirmationFormHTML.ts: Added propertyName to caseJson
2025-11-24 17:44:30 +03:00

63 lines
2.0 KiB
SQL
Raw 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.

-- SQL запрос для проверки дубликатов claim_id в таблице clpr_claims
-- Показывает записи с одинаковым claim_id в payload, но разными ID
-- 1. Найти все claim_id, которые встречаются более одного раза
WITH claim_id_counts AS (
SELECT
payload->>'claim_id' AS claim_id,
COUNT(*) AS count,
array_agg(id ORDER BY updated_at DESC) AS ids,
array_agg(updated_at ORDER BY updated_at DESC) AS updated_dates
FROM clpr_claims
WHERE payload->>'claim_id' IS NOT NULL
GROUP BY payload->>'claim_id'
HAVING COUNT(*) > 1
)
SELECT
claim_id,
count AS duplicate_count,
ids AS record_ids,
updated_dates,
-- Показываем разницу во времени между записями
updated_dates[1] - updated_dates[array_length(updated_dates, 1)] AS time_diff
FROM claim_id_counts
ORDER BY count DESC, claim_id
LIMIT 20;
-- 2. Детальная информация о дубликатах (для конкретного claim_id)
-- Замените 'YOUR_CLAIM_ID' на реальный claim_id
/*
SELECT
id,
payload->>'claim_id' AS claim_id,
status_code,
channel,
created_at,
updated_at,
-- Показываем, есть ли send_to_form_approve в разных записях
CASE
WHEN payload->'send_to_form_approve' IS NOT NULL THEN 'YES'
ELSE 'NO'
END AS has_send_to_form_approve,
-- Показываем размер payload для сравнения
pg_column_size(payload) AS payload_size_bytes
FROM clpr_claims
WHERE payload->>'claim_id' = 'YOUR_CLAIM_ID'
ORDER BY updated_at DESC;
*/
-- 3. Статистика: сколько всего дубликатов
SELECT
COUNT(*) AS total_duplicate_claim_ids,
SUM(count) AS total_duplicate_records
FROM (
SELECT
payload->>'claim_id' AS claim_id,
COUNT(*) AS count
FROM clpr_claims
WHERE payload->>'claim_id' IS NOT NULL
GROUP BY payload->>'claim_id'
HAVING COUNT(*) > 1
) AS duplicates;