#!/usr/bin/php -q h,1,DeadAgi(tarifaFinaliza.php,${UNIQUEID}) function __Prepago($uniqueId) { include('util/funcoesApl.php'); global $log; $queryPrepago = "select case when(a.trr_conta_senha = 0)then a.trr_origem else a.trr_conta end as prm_ramal_conta, a.trr_conta_senha, a.trr_tarifa_zero, a.trr_franquia, b.contr_tipo_franquia, a.trr_preco_tipo, a.trr_vc_cad, a.trr_vc_ext, 0.0 as prm_valor, a.trr_id, a.trr_preco, a.trr_duracao, a.trr_destino, now()::date as prm_data, now() as prm_data_lanc, 'D' as prm_tipo_lancamento, 'Chamada Efetuada' as prm_historico from pbx_tarif_registra a, pbx_tarif_contrato b where b.contr_id = a.contr_id and a.uniqueid = '%s'"; $queryPrepagoIns = "insert into pbx_prepago_movimento (prm_ramal_conta, prm_conta_senha, trr_id, prm_valor_minuto, prm_tempo, prm_destino, prm_valor, prm_data, prm_data_lanc, prm_tipo_lancamento, prm_historico) values({prm_ramal_conta}, {trr_conta_senha}, {trr_id}, {trr_preco}, {trr_duracao}, {trr_destino}, {prm_valor}, {prm_data}, {prm_data_lanc}, {prm_tipo_lancamento}, {prm_historico})"; $prepagoIncluso = 0; /* * Verifica se o ramal/conta esta incluso no pre-pago */ $query = "select count(*) from pbx_prepago a, pbx_tarif_registra b where a.tipo = b.trr_conta_senha and a.id = case when(b.trr_conta_senha = 0)then b.trr_origem else b.trr_conta end and a.habilita_prepago = '1' and b.uniqueid = '%s'"; $query = sprintf($query, $uniqueId); $result = pg_query($query); if (!$result) $log[] = sprintf('Ver. Pre-pago: %s', $query); $row = pg_fetch_row($result); $prepagoIncluso = $row[0]; if ($prepagoIncluso) { $queryPrepago = sprintf($queryPrepago, $uniqueId); $result = @pg_query($queryPrepago); $row = pg_fetch_array($result); $tipoFranquia = $row["contr_tipo_franquia"]; $tarifaZero = $row["trr_tarifa_zero"] > 0; $franquia = ($row["trr_franquia"] > 0) && ($tipoFranquia > 0); $franquiaParcial = $franquia && ($row["trr_franquia"] != $row["trr_duracao"]); $tipoTarifa = $row["trr_preco_tipo"]; $precoMinuto = $row["trr_preco"]; $fator = $row["trr_vc_cad"]; $cadencia = $row["trr_vc_ext"]; $dura = $franquiaParcial ? $row["trr_franquia"] : (int) $row["trr_duracao"]; $row['prm_valor'] = $tarifaZero ? 0 : -(TarifaChamada($tipoTarifa, $dura, $precoMinuto, $fator, $cadencia)); foreach ($row as $key => $value) { $queryPrepagoIns = str_replace('{' . $key . '}', QuotedStr($value), $queryPrepagoIns); } $result = @pg_query($queryPrepagoIns); if (!$result) $log[] = sprintf('Ins. Pre-pago: %s', $queryPrepagoIns); } } function __InsereFranquia($disp, $franquia) { /* * Tipos de franquia: Fixo/Móvel -> 4, Móvel -> 3, Fixo -> 2, Compartilhada -> 1, Desbilidadta -> 0 */ if (!$franquia) { return false; } else if ($franquia == 4) { return true; } else if (($franquia == 3) and ( $disp == 'movel')) { return true; } else if (($franquia == 2) and ( $disp == 'fixo')) { return true; } return false; } ?>