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
87 lines
3.6 KiB
SQL
87 lines
3.6 KiB
SQL
-- 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;
|
||
*/
|
||
|