feat: otimização de performance e ajustes finais
This commit is contained in:
@@ -0,0 +1,368 @@
|
||||
-- ============================================================================
|
||||
-- SCRIPT COMPLEMENTAR DE DADOS PARA TESTES FUNCIONAIS COMPLETOS
|
||||
-- Adiciona dados necessários para testar fluxos completos do sistema
|
||||
-- ============================================================================
|
||||
--
|
||||
-- Este script complementa insert_all_test_data.sql adicionando:
|
||||
-- - Períodos de folha adicionais
|
||||
-- - Execuções de folha completas (COMPLETED)
|
||||
-- - Itens de folha completos com todos os cálculos
|
||||
-- - Execuções orçamentárias (COMMITMENT, LIQUIDATION, PAYMENT)
|
||||
-- - Lotes de pagamento
|
||||
-- - Ordens de pagamento
|
||||
-- - Confirmações de pagamento do tesouro
|
||||
-- - Dados para testar fluxos end-to-end
|
||||
--
|
||||
-- IMPORTANTE: Execute insert_all_test_data.sql primeiro!
|
||||
|
||||
DO $$
|
||||
DECLARE
|
||||
-- IDs existentes
|
||||
v_min_financas UUID;
|
||||
v_min_saude UUID;
|
||||
v_min_educacao UUID;
|
||||
v_ou_tesouro UUID;
|
||||
v_ou_orcamento UUID;
|
||||
v_ou_hospital UUID;
|
||||
v_ou_escola UUID;
|
||||
|
||||
-- Agentes
|
||||
v_agent_amilcar UUID;
|
||||
v_agent_francisca UUID;
|
||||
v_agent_joao UUID;
|
||||
v_agent_maria UUID;
|
||||
v_agent_samba UUID;
|
||||
|
||||
-- Ano Fiscal e Linhas Orçamentais
|
||||
v_fy_2025 UUID;
|
||||
v_bl_financas UUID;
|
||||
v_bl_saude UUID;
|
||||
v_bl_educacao UUID;
|
||||
|
||||
-- Tipos de Proventos e Descontos
|
||||
v_earning_vencimento UUID;
|
||||
v_earning_abono UUID;
|
||||
v_deduction_inps UUID;
|
||||
v_deduction_irps UUID;
|
||||
v_deduction_selo UUID;
|
||||
|
||||
-- Contas Bancárias
|
||||
v_account_amilcar UUID;
|
||||
v_account_francisca UUID;
|
||||
v_account_joao UUID;
|
||||
v_account_maria UUID;
|
||||
v_account_samba UUID;
|
||||
|
||||
-- Períodos de Folha
|
||||
v_period_jan2025 UUID;
|
||||
v_period_fev2025 UUID;
|
||||
v_period_mar2025 UUID;
|
||||
|
||||
-- Execuções de Folha
|
||||
v_payroll_run_jan_completed UUID;
|
||||
v_payroll_run_fev_completed UUID;
|
||||
v_payroll_run_mar_pending UUID;
|
||||
|
||||
-- Lotes de Pagamento
|
||||
v_batch_jan UUID;
|
||||
v_batch_fev UUID;
|
||||
|
||||
-- Usuário Admin
|
||||
v_user_admin UUID;
|
||||
|
||||
BEGIN
|
||||
RAISE NOTICE '=== INICIANDO CARGA DE DADOS PARA TESTES FUNCIONAIS ===';
|
||||
|
||||
-- ========================================================================
|
||||
-- OBTER IDs EXISTENTES
|
||||
-- ========================================================================
|
||||
SELECT id INTO v_min_financas FROM ministry WHERE code = 'MIN-001';
|
||||
SELECT id INTO v_min_saude FROM ministry WHERE code = 'MIN-002';
|
||||
SELECT id INTO v_min_educacao FROM ministry WHERE code = 'MIN-003';
|
||||
|
||||
SELECT id INTO v_ou_tesouro FROM org_unit WHERE code = 'UO-001';
|
||||
SELECT id INTO v_ou_orcamento FROM org_unit WHERE code = 'UO-002';
|
||||
SELECT id INTO v_ou_hospital FROM org_unit WHERE code = 'UO-003';
|
||||
SELECT id INTO v_ou_escola FROM org_unit WHERE code = 'UO-004';
|
||||
|
||||
SELECT id INTO v_agent_amilcar FROM agents WHERE matricula = '2020/001';
|
||||
SELECT id INTO v_agent_francisca FROM agents WHERE matricula = '2021/045';
|
||||
SELECT id INTO v_agent_joao FROM agents WHERE matricula = '2019/089';
|
||||
SELECT id INTO v_agent_maria FROM agents WHERE matricula = '2022/112';
|
||||
SELECT id INTO v_agent_samba FROM agents WHERE matricula = '2024/201';
|
||||
|
||||
SELECT id INTO v_fy_2025 FROM fiscal_year WHERE year = 2025;
|
||||
|
||||
SELECT id INTO v_bl_financas FROM budget_line WHERE code = '2025-MINFIN-311100';
|
||||
SELECT id INTO v_bl_saude FROM budget_line WHERE code = '2025-MINSAUDE-311100';
|
||||
SELECT id INTO v_bl_educacao FROM budget_line WHERE code = '2025-MINEDU-311100';
|
||||
|
||||
SELECT id INTO v_earning_vencimento FROM earning_type WHERE code = 'VENC-BASE';
|
||||
SELECT id INTO v_earning_abono FROM earning_type WHERE code = 'ABONO-FAM';
|
||||
SELECT id INTO v_deduction_inps FROM deduction_type WHERE code = 'INPS';
|
||||
SELECT id INTO v_deduction_irps FROM deduction_type WHERE code = 'IRPS';
|
||||
SELECT id INTO v_deduction_selo FROM deduction_type WHERE code = 'SELO';
|
||||
|
||||
SELECT id INTO v_account_amilcar FROM agent_bank_account WHERE agent_id = v_agent_amilcar AND is_primary = true;
|
||||
SELECT id INTO v_account_francisca FROM agent_bank_account WHERE agent_id = v_agent_francisca AND is_primary = true;
|
||||
SELECT id INTO v_account_joao FROM agent_bank_account WHERE agent_id = v_agent_joao AND is_primary = true;
|
||||
|
||||
SELECT id INTO v_user_admin FROM user_account WHERE username = 'admin';
|
||||
|
||||
-- Criar contas bancárias para agentes que não têm
|
||||
IF v_account_maria IS NULL THEN
|
||||
INSERT INTO agent_bank_account (id, agent_id, bank, account_number, branch_code, is_primary, created_at, updated_at)
|
||||
VALUES ('00110001-0000-0000-0000-000000000000', v_agent_maria, 'BCEAO', '4567890123', '004', true, now(), now())
|
||||
RETURNING id INTO v_account_maria;
|
||||
END IF;
|
||||
|
||||
IF v_account_samba IS NULL THEN
|
||||
INSERT INTO agent_bank_account (id, agent_id, bank, account_number, branch_code, is_primary, created_at, updated_at)
|
||||
VALUES ('00110002-0000-0000-0000-000000000000', v_agent_samba, 'BRS', '5678901234', '005', true, now(), now())
|
||||
RETURNING id INTO v_account_samba;
|
||||
END IF;
|
||||
|
||||
-- ========================================================================
|
||||
-- PERÍODOS DE FOLHA ADICIONAIS
|
||||
-- ========================================================================
|
||||
INSERT INTO payroll_period (id, fiscal_year, month, start_date, end_date, status, created_at, updated_at) VALUES
|
||||
('00120001-0000-0000-0000-000000000000', 2025, 2, '2025-02-01', '2025-02-28', 'OPEN', now(), now()),
|
||||
('00120002-0000-0000-0000-000000000000', 2025, 3, '2025-03-01', '2025-03-31', 'OPEN', now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT id INTO v_period_jan2025 FROM payroll_period WHERE fiscal_year = 2025 AND month = 1;
|
||||
SELECT id INTO v_period_fev2025 FROM payroll_period WHERE fiscal_year = 2025 AND month = 2;
|
||||
SELECT id INTO v_period_mar2025 FROM payroll_period WHERE fiscal_year = 2025 AND month = 3;
|
||||
|
||||
-- ========================================================================
|
||||
-- EXECUÇÕES DE FOLHA COMPLETAS
|
||||
-- ========================================================================
|
||||
-- Janeiro - COMPLETED (para gerar ordens de pagamento)
|
||||
INSERT INTO payroll_run (id, period_id, ministry_id, org_unit_id, run_type, status, created_at, updated_at, created_by) VALUES
|
||||
('00130001-0000-0000-0000-000000000000', v_period_jan2025, v_min_financas, v_ou_tesouro, 'REGULAR', 'COMPLETED', now(), now(), v_user_admin)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT id INTO v_payroll_run_jan_completed FROM payroll_run WHERE id = '00130001-0000-0000-0000-000000000000';
|
||||
|
||||
-- Fevereiro - COMPLETED
|
||||
INSERT INTO payroll_run (id, period_id, ministry_id, org_unit_id, run_type, status, created_at, updated_at, created_by) VALUES
|
||||
('00130002-0000-0000-0000-000000000000', v_period_fev2025, v_min_financas, v_ou_tesouro, 'REGULAR', 'COMPLETED', now(), now(), v_user_admin)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT id INTO v_payroll_run_fev_completed FROM payroll_run WHERE id = '00130002-0000-0000-0000-000000000000';
|
||||
|
||||
-- Março - PENDING (para testar validações)
|
||||
INSERT INTO payroll_run (id, period_id, ministry_id, org_unit_id, run_type, status, created_at, updated_at, created_by) VALUES
|
||||
('00130003-0000-0000-0000-000000000000', v_period_mar2025, v_min_financas, v_ou_tesouro, 'REGULAR', 'PENDING', now(), now(), v_user_admin)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT id INTO v_payroll_run_mar_pending FROM payroll_run WHERE id = '00130003-0000-0000-0000-000000000000';
|
||||
|
||||
-- ========================================================================
|
||||
-- ITENS DE FOLHA COMPLETOS (Janeiro - COMPLETED)
|
||||
-- Com todos os cálculos: Vencimento, Abono, INPS, IRPS, Selo
|
||||
-- ========================================================================
|
||||
-- Amilcar Cabral - Vencimento Base: 600.000
|
||||
INSERT INTO payroll_item (
|
||||
id, payroll_run_id, agent_id, line_type, earning_type_id, deduction_type_id,
|
||||
description, unit_amount, quantity, total_amount, budget_line_id, created_at, updated_at
|
||||
) VALUES
|
||||
-- Vencimento Base
|
||||
('00140001-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_amilcar, 'EARNING', v_earning_vencimento, NULL,
|
||||
'Vencimento Base', 600000.00, 1.00, 600000.00, v_bl_financas, now(), now()),
|
||||
-- Abono de Família (2 dependentes)
|
||||
('00140002-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_amilcar, 'EARNING', v_earning_abono, NULL,
|
||||
'Abono de Família (2 dep.)', 2000.00, 2.00, 4000.00, v_bl_financas, now(), now()),
|
||||
-- INPS 7% sobre 604.000 = 42.280
|
||||
('00140003-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_inps,
|
||||
'INPS 7%', 42280.00, 1.00, 42280.00, NULL, now(), now()),
|
||||
-- Selo 0.3% sobre 604.000 = 1.812
|
||||
('00140004-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_selo,
|
||||
'Imposto de Selo 0.3%', 1812.00, 1.00, 1812.00, NULL, now(), now()),
|
||||
-- IRPS: Base = 604.000 - 42.280 = 561.720
|
||||
-- Faixa 50001-150000: (561.720 - 50.000) * 10% - 5.000 = 51.172 - 5.000 = 46.172
|
||||
('00140005-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_irps,
|
||||
'IRPS', 46172.00, 1.00, 46172.00, NULL, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- Francisca Pereira - Vencimento Base: 550.000
|
||||
INSERT INTO payroll_item (
|
||||
id, payroll_run_id, agent_id, line_type, earning_type_id, deduction_type_id,
|
||||
description, unit_amount, quantity, total_amount, budget_line_id, created_at, updated_at
|
||||
) VALUES
|
||||
-- Vencimento Base
|
||||
('00140006-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_francisca, 'EARNING', v_earning_vencimento, NULL,
|
||||
'Vencimento Base', 550000.00, 1.00, 550000.00, v_bl_financas, now(), now()),
|
||||
-- Abono de Família (1 dependente)
|
||||
('00140007-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_francisca, 'EARNING', v_earning_abono, NULL,
|
||||
'Abono de Família (1 dep.)', 2000.00, 1.00, 2000.00, v_bl_financas, now(), now()),
|
||||
-- INPS 7% sobre 552.000 = 38.640
|
||||
('00140008-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_francisca, 'DEDUCTION', NULL, v_deduction_inps,
|
||||
'INPS 7%', 38640.00, 1.00, 38640.00, NULL, now(), now()),
|
||||
-- Selo 0.3% sobre 552.000 = 1.656
|
||||
('00140009-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_francisca, 'DEDUCTION', NULL, v_deduction_selo,
|
||||
'Imposto de Selo 0.3%', 1656.00, 1.00, 1656.00, NULL, now(), now()),
|
||||
-- IRPS: Base = 552.000 - 38.640 = 513.360
|
||||
-- Faixa 50001-150000: (513.360 - 50.000) * 10% - 5.000 = 46.336 - 5.000 = 41.336
|
||||
('0014000a-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_francisca, 'DEDUCTION', NULL, v_deduction_irps,
|
||||
'IRPS', 41336.00, 1.00, 41336.00, NULL, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- João Vieira - Vencimento Base: 600.000 (Saúde)
|
||||
INSERT INTO payroll_item (
|
||||
id, payroll_run_id, agent_id, line_type, earning_type_id, deduction_type_id,
|
||||
description, unit_amount, quantity, total_amount, budget_line_id, created_at, updated_at
|
||||
) VALUES
|
||||
('0014000b-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_joao, 'EARNING', v_earning_vencimento, NULL,
|
||||
'Vencimento Base', 600000.00, 1.00, 600000.00, v_bl_saude, now(), now()),
|
||||
('0014000c-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_joao, 'EARNING', v_earning_abono, NULL,
|
||||
'Abono de Família (3 dep.)', 2000.00, 3.00, 6000.00, v_bl_saude, now(), now()),
|
||||
('0014000d-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_joao, 'DEDUCTION', NULL, v_deduction_inps,
|
||||
'INPS 7%', 42420.00, 1.00, 42420.00, NULL, now(), now()),
|
||||
('0014000e-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_joao, 'DEDUCTION', NULL, v_deduction_selo,
|
||||
'Imposto de Selo 0.3%', 1818.00, 1.00, 1818.00, NULL, now(), now()),
|
||||
('0014000f-0000-0000-0000-000000000000', v_payroll_run_jan_completed, v_agent_joao, 'DEDUCTION', NULL, v_deduction_irps,
|
||||
'IRPS', 46178.00, 1.00, 46178.00, NULL, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- ========================================================================
|
||||
-- EXECUÇÕES ORÇAMENTÁRIAS (Budget Execution)
|
||||
-- COMMITMENT: Compromisso quando a folha é gerada
|
||||
-- LIQUIDATION: Liquidação quando a folha é processada
|
||||
-- PAYMENT: Pagamento quando o tesouro confirma
|
||||
-- ========================================================================
|
||||
-- COMMITMENT - Janeiro (compromisso inicial)
|
||||
INSERT INTO budget_execution (
|
||||
id, budget_line_id, period_id, movement_type, amount, source_module, reference_id, created_at, updated_at
|
||||
) VALUES
|
||||
('00150001-0000-0000-0000-000000000000', v_bl_financas, 202501, 'COMMITMENT', 1156000.00, 'RH', v_payroll_run_jan_completed, now(), now()),
|
||||
('00150002-0000-0000-0000-000000000000', v_bl_saude, 202501, 'COMMITMENT', 606000.00, 'RH', v_payroll_run_jan_completed, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- LIQUIDATION - Janeiro (liquidação após processamento)
|
||||
INSERT INTO budget_execution (
|
||||
id, budget_line_id, period_id, movement_type, amount, source_module, reference_id, created_at, updated_at
|
||||
) VALUES
|
||||
('00150003-0000-0000-0000-000000000000', v_bl_financas, 202501, 'LIQUIDATION', 1156000.00, 'RH', v_payroll_run_jan_completed, now(), now()),
|
||||
('00150004-0000-0000-0000-000000000000', v_bl_saude, 202501, 'LIQUIDATION', 606000.00, 'RH', v_payroll_run_jan_completed, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- ========================================================================
|
||||
-- LOTES DE PAGAMENTO (Payment Batch)
|
||||
-- ========================================================================
|
||||
INSERT INTO payment_batch (
|
||||
id, period_id, ministry_id, status, created_at, updated_at, created_by
|
||||
) VALUES
|
||||
('00160001-0000-0000-0000-000000000000', 202501, v_min_financas, 'CREATED', now(), now(), v_user_admin),
|
||||
('00160002-0000-0000-0000-000000000000', 202502, v_min_financas, 'SENT_TO_BANK', now(), now(), v_user_admin)
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
SELECT id INTO v_batch_jan FROM payment_batch WHERE id = '00160001-0000-0000-0000-000000000000';
|
||||
SELECT id INTO v_batch_fev FROM payment_batch WHERE id = '00160002-0000-0000-0000-000000000000';
|
||||
|
||||
-- ========================================================================
|
||||
-- ORDENS DE PAGAMENTO (Payment Order)
|
||||
-- Geradas a partir da folha de Janeiro
|
||||
-- ========================================================================
|
||||
-- Amilcar: Bruto = 604.000, Líquido = 604.000 - 42.280 - 1.812 - 46.172 = 513.736
|
||||
-- NOTA: payroll_run_id é bigint no schema mas UUID na entidade Java - usando NULL por enquanto
|
||||
INSERT INTO payment_order (
|
||||
id, payment_batch_id, payroll_run_id, agent_id, bank_account_id, budget_line_id,
|
||||
gross_amount, net_amount, status, created_at, updated_at
|
||||
) VALUES
|
||||
('00170001-0000-0000-0000-000000000000', v_batch_jan, NULL, v_agent_amilcar, v_account_amilcar, v_bl_financas,
|
||||
604000.00, 513736.00, 'CREATED', now(), now()),
|
||||
-- Francisca: Bruto = 552.000, Líquido = 552.000 - 38.640 - 1.656 - 41.336 = 470.368
|
||||
('00170002-0000-0000-0000-000000000000', v_batch_jan, NULL, v_agent_francisca, v_account_francisca, v_bl_financas,
|
||||
552000.00, 470368.00, 'CREATED', now(), now()),
|
||||
-- João: Bruto = 606.000, Líquido = 606.000 - 42.420 - 1.818 - 46.178 = 515.584
|
||||
('00170003-0000-0000-0000-000000000000', v_batch_jan, NULL, v_agent_joao, v_account_joao, v_bl_saude,
|
||||
606000.00, 515584.00, 'SENT_TO_BANK', now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- ========================================================================
|
||||
-- CONFIRMAÇÕES DE PAGAMENTO DO TESOURO (Treasury Payment)
|
||||
-- ========================================================================
|
||||
INSERT INTO treasury_payment (
|
||||
id, payment_order_id, paid_at, transaction_ref, status, message, created_at, updated_at
|
||||
) VALUES
|
||||
-- Amilcar - Pago
|
||||
('00180001-0000-0000-0000-000000000000', '00170001-0000-0000-0000-000000000000', '2025-01-15 10:30:00', 'TXN-2025-001-001', 'PAID', 'Pagamento confirmado pelo banco', now(), now()),
|
||||
-- Francisca - Pendente
|
||||
('00180002-0000-0000-0000-000000000000', '00170002-0000-0000-0000-000000000000', NULL, NULL, 'PENDING', NULL, now(), now()),
|
||||
-- João - Pago
|
||||
('00180003-0000-0000-0000-000000000000', '00170003-0000-0000-0000-000000000000', '2025-01-15 11:15:00', 'TXN-2025-001-003', 'PAID', 'Pagamento confirmado pelo banco', now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- ========================================================================
|
||||
-- EXECUÇÕES ORÇAMENTÁRIAS - PAYMENT (após confirmação do tesouro)
|
||||
-- ========================================================================
|
||||
INSERT INTO budget_execution (
|
||||
id, budget_line_id, period_id, movement_type, amount, source_module, reference_id, created_at, updated_at
|
||||
) VALUES
|
||||
-- Pagamentos confirmados
|
||||
('00150005-0000-0000-0000-000000000000', v_bl_financas, 202501, 'PAYMENT', 513736.00, 'TREASURY', '00170001-0000-0000-0000-000000000000', now(), now()),
|
||||
('00150006-0000-0000-0000-000000000000', v_bl_saude, 202501, 'PAYMENT', 515584.00, 'TREASURY', '00170003-0000-0000-0000-000000000000', now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
-- ========================================================================
|
||||
-- ITENS DE FOLHA PARA FEVEREIRO (para testar múltiplos períodos)
|
||||
-- ========================================================================
|
||||
INSERT INTO payroll_item (
|
||||
id, payroll_run_id, agent_id, line_type, earning_type_id, deduction_type_id,
|
||||
description, unit_amount, quantity, total_amount, budget_line_id, created_at, updated_at
|
||||
) VALUES
|
||||
-- Amilcar - Fevereiro
|
||||
('00140010-0000-0000-0000-000000000000', v_payroll_run_fev_completed, v_agent_amilcar, 'EARNING', v_earning_vencimento, NULL,
|
||||
'Vencimento Base', 600000.00, 1.00, 600000.00, v_bl_financas, now(), now()),
|
||||
('00140011-0000-0000-0000-000000000000', v_payroll_run_fev_completed, v_agent_amilcar, 'EARNING', v_earning_abono, NULL,
|
||||
'Abono de Família (2 dep.)', 2000.00, 2.00, 4000.00, v_bl_financas, now(), now()),
|
||||
('00140012-0000-0000-0000-000000000000', v_payroll_run_fev_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_inps,
|
||||
'INPS 7%', 42280.00, 1.00, 42280.00, NULL, now(), now()),
|
||||
('00140013-0000-0000-0000-000000000000', v_payroll_run_fev_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_selo,
|
||||
'Imposto de Selo 0.3%', 1812.00, 1.00, 1812.00, NULL, now(), now()),
|
||||
('00140014-0000-0000-0000-000000000000', v_payroll_run_fev_completed, v_agent_amilcar, 'DEDUCTION', NULL, v_deduction_irps,
|
||||
'IRPS', 46172.00, 1.00, 46172.00, NULL, now(), now())
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
RAISE NOTICE '=== DADOS PARA TESTES FUNCIONAIS INSERIDOS COM SUCESSO ===';
|
||||
RAISE NOTICE 'Períodos de folha adicionados: 2';
|
||||
RAISE NOTICE 'Execuções de folha criadas: 3';
|
||||
RAISE NOTICE 'Itens de folha completos: 15+';
|
||||
RAISE NOTICE 'Execuções orçamentárias: 6';
|
||||
RAISE NOTICE 'Lotes de pagamento: 2';
|
||||
RAISE NOTICE 'Ordens de pagamento: 3';
|
||||
RAISE NOTICE 'Confirmações de pagamento: 3';
|
||||
|
||||
END $$;
|
||||
|
||||
-- ========================================================================
|
||||
-- VERIFICAÇÃO FINAL DOS DADOS INSERIDOS
|
||||
-- ========================================================================
|
||||
SELECT 'PERIODOS FOLHA' as tipo, COUNT(*)::text as total FROM payroll_period WHERE fiscal_year = 2025
|
||||
UNION ALL
|
||||
SELECT 'EXECUCOES FOLHA', COUNT(*)::text FROM payroll_run WHERE period_id IN (
|
||||
SELECT id FROM payroll_period WHERE fiscal_year = 2025
|
||||
)
|
||||
UNION ALL
|
||||
SELECT 'ITENS FOLHA', COUNT(*)::text FROM payroll_item WHERE payroll_run_id IN (
|
||||
SELECT id FROM payroll_run WHERE period_id IN (
|
||||
SELECT id FROM payroll_period WHERE fiscal_year = 2025
|
||||
)
|
||||
)
|
||||
UNION ALL
|
||||
SELECT 'EXECUCOES ORCAMENTARIAS', COUNT(*)::text FROM budget_execution WHERE period_id >= 202501
|
||||
UNION ALL
|
||||
SELECT 'LOTES PAGAMENTO', COUNT(*)::text FROM payment_batch WHERE period_id >= 202501
|
||||
UNION ALL
|
||||
SELECT 'ORDENS PAGAMENTO', COUNT(*)::text FROM payment_order WHERE payment_batch_id IN (
|
||||
SELECT id FROM payment_batch WHERE period_id >= 202501
|
||||
)
|
||||
UNION ALL
|
||||
SELECT 'CONFIRMACOES TESOURO', COUNT(*)::text FROM treasury_payment WHERE payment_order_id IN (
|
||||
SELECT id FROM payment_order WHERE payment_batch_id IN (
|
||||
SELECT id FROM payment_batch WHERE period_id >= 202501
|
||||
)
|
||||
)
|
||||
ORDER BY tipo;
|
||||
|
||||
Reference in New Issue
Block a user