/*================================================
   Ajusa os valores dos repasses das guias sindicais
   Antigamente estes valores vinham no arquivo de retorno
   agora temos q ajustar manualmente...
   ajusta todas as guias com data de credito sem informação de repasses

 no calculo de percentual de repasses pode ocorrer diferenca de centavos
 decorrente ao arredondamento. Por isso considero o valor de repasse
 da federacao igual ao valor pago.
=================================================*/

execute block
 as
 declare codigo_detalhe integer;
 declare valor_pago numeric(15,2);

 declare Valor_Da_Guia numeric(15,2);
 declare Valor_Federacao numeric(15,2);
 declare Valor_Sindicado numeric(15,2);
 declare Valor_Confederacao numeric(15,2);
 declare Valor_MTE numeric(15,2);
 begin
   for
      select  processamento_detalhes.cod_proc_detalhe
            , processamento_detalhes.valor_pagamento
      from processamento_detalhes
      where 0 = 0
        and ( processamento_detalhes.valor_repasse_confederacao is null  or processamento_detalhes.valor_repasse_confederacao = 0 )
        and processamento_detalhes.data_credito is not null
        and processamento_detalhes.valor_pagamento > 0
        and processamento_detalhes.convenio = 'SITCS'
      into :codigo_detalhe, :valor_pago do
      begin
   
         Valor_Da_Guia = (:valor_pago * 100) / 15;
   
         :valor_federacao    = :valor_pago;
         :valor_sindicado    = (:valor_da_guia * 60) / 100;
         :valor_confederacao = (:valor_da_guia *  5) / 100;
         :valor_mte          = (:valor_da_guia * 20) / 100;


         update processamento_detalhes set processamento_detalhes.valor_repasse_federacao    =  :valor_federacao
                                         , processamento_detalhes.valor_repasse_confederacao =  :valor_confederacao
                                         , processamento_detalhes.valor_repasse_outros       =  :valor_mte
         where processamento_detalhes.cod_proc_detalhe = :codigo_detalhe;

      end
 end
