Files
aiform_dev/docs/DELETE_DUPLICATES_KEEP_SPECIFIC.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

87 lines
3.6 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
-- Оставляет только запись с id = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'
-- Удаляет все остальные записи с таким же claim_id в payload
-- ⚠️ ВНИМАНИЕ: Перед выполнением DELETE обязательно выполните SELECT ниже,
-- чтобы увидеть, что будет удалено!
-- ============================================================================
-- ШАГ 1: ПРОВЕРКА - Какие записи будут удалены?
-- ============================================================================
-- Выполните этот запрос ПЕРВЫМ, чтобы увидеть, что будет удалено:
SELECT
id,
payload->>'claim_id' AS claim_id,
status_code,
channel,
created_at,
updated_at,
CASE
WHEN id = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'::uuid THEN '✅ ОСТАВИТЬ'
ELSE '❌ УДАЛИТЬ'
END AS action,
-- Показываем, есть ли 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' = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'
ORDER BY updated_at DESC;
-- ============================================================================
-- ШАГ 2: УДАЛЕНИЕ - Удаляем все записи, кроме нужной
-- ============================================================================
-- ⚠️ ВНИМАНИЕ: Этот запрос УДАЛИТ данные! Выполняйте только после проверки!
-- Вариант 1: Удалить все записи с таким claim_id, кроме нужной
DELETE FROM clpr_claims
WHERE payload->>'claim_id' = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'
AND id != '0eb051ec-23a6-4e06-8b98-f02d20d35f68'::uuid
RETURNING
id,
payload->>'claim_id' AS claim_id,
status_code,
created_at,
updated_at;
-- ============================================================================
-- ШАГ 3: ПРОВЕРКА - Убедиться, что осталась только одна запись
-- ============================================================================
-- После удаления выполните этот запрос, чтобы проверить результат:
SELECT
id,
payload->>'claim_id' AS claim_id,
status_code,
channel,
created_at,
updated_at,
CASE
WHEN payload->'send_to_form_approve' IS NOT NULL THEN 'YES'
ELSE 'NO'
END AS has_send_to_form_approve
FROM clpr_claims
WHERE payload->>'claim_id' = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'
ORDER BY updated_at DESC;
-- Должна остаться только одна запись с id = '0eb051ec-23a6-4e06-8b98-f02d20d35f68'
-- ============================================================================
-- АЛЬТЕРНАТИВНЫЙ ВАРИАНТ: Удалить по ID (если знаете конкретные ID дубликатов)
-- ============================================================================
/*
-- Если вы знаете конкретные ID дубликатов, можно удалить их напрямую:
DELETE FROM clpr_claims
WHERE id IN (
'uuid-дубликата-1',
'uuid-дубликата-2',
'uuid-дубликата-3'
)
RETURNING id, payload->>'claim_id' AS claim_id;
*/