You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
5.5 KiB

<?php
//conexao para a base corrente
$dbHost = GetDbFromHost($_SESSION["listaSites"]);
if ($_POST["btConsulta"]) {
$trocaDac = $_SESSION["listaSites"] != $_POST["listaSites"];
$_SESSION["listaSites"] = $_POST["listaSites"];
$_SESSION["listaEmpresas"] = $_POST["listaEmpresas"];
$_SESSION["listaDeptos"] = $_POST["listaDeptos"];
$_SESSION["dataIni"] = $_POST["dataIni"];
$_SESSION["dataFim"] = $_POST["dataFim"];
$_SESSION["duracao"] = $_POST["rbDuracao"];
$inRel = 1;
} else {
$_SESSION["listaSites"] = GetDefaultSite();
;
$_SESSION["listaEmpresas"] = GetDefCodEmpresa($dbHost);
$_SESSION["listaDeptos"] = "0";
$_SESSION["dataIni"] = date('d/m/Y');
$_SESSION["dataFim"] = date('d/m/Y');
$_SESSION["duracao"] = 1;
$inRel = 0;
}
//carrega sites
$sites = GetSites($dbcon, $_SESSION["listaSites"]);
//carrega empresas
$empresas = GetEmpresas($dbcon, $_SESSION["listaEmpresas"]);
//carrega sites
$deptos = GetDeptos($dbcon, $_SESSION["listaEmpresas"], $_SESSION["listaDeptos"]);
$isValid = 1;
if ($inRel && !is_date($_SESSION["dataIni"])) {
$isValid = 0;
$msg = "Data inicial inv<EFBFBD>lida!";
} else if ($inRel && !is_date($_SESSION["dataFim"])) {
$isValid = 0;
$msg = "Data final inv<EFBFBD>lida!";
}
$imp = 0;
$linha = "";
$linhaTotal = "";
$linhaTmp = "";
$linhas = array();
if ($isValid && $inRel) {
$result = pg_query($dbHost, GetQuery());
while ($row = @pg_fetch_array($result)) {
$src = $row["src"];
$dst = $row["dst"];
$conta = $row["matricula"];
$nome = $row["nome"];
$apelido = $row["apelido"];
$codigo_empresa = $row["codigo_empresa"];
$nome_empresa = $row["nome_empresa"];
$codigo_departamento = $row["codigo_departamento"];
$nome_depto = $row["nome_depto"];
$data = FormataDBDataHora($row["data"]);
$duration = $row["duracao"];
$somaDuration += $duration;
$_SESSION["SScCustoEmpresa"] = $row["nome_empresa"];
$_SESSION["SScCustoDepto"] = $row["nome_depto"];
//formata dura<EFBFBD><EFBFBD>o
$duration = SecondToStrTime($duration);
$linhaTmp = " <tr>
<td align=\"left\" class=\"headData\">$src</td>
<td align=\"left\" class=\"headData\">$dst</td>
<td align=\"left\" class=\"headData\">$conta</td>
<td align=\"left\" class=\"headData\">$apelido</td>
<td align=\"center\" class=\"headData\">$data</td>
<td align=\"right\" class=\"headData\">$duration</td>
</tr>";
$linhas[] = $linhaTmp;
$linha .= $linhaTmp;
$imp++;
}
}
if (empty($linha)) {
if ($isValid && pg_last_error($dbcon))
$noData = "Erro ao realizar a consulta. Erro: " . pg_last_error($dbcon);
else
$noData = $inRel ? ($isValid ? "Nenhum registro encontrado!" : $msg) : "clique em consultar!";
$linha = " <tr><td colspan=\"6\" align=\"left\" class=\"headData\">$noData</td>";
}
else {
$_SESSION["SSsiteDesc"] = GetSiteDesc($dbHost, $_SESSION["listaSites"]);
}
$somaDuration = SecondToStrTime($somaDuration);
$linhaTotal = " <tr>
<th colspan=\"5\" align=\"left\" class=\"headColun\">Total</th>
<th align=\"right\" class=\"headColun\">$somaDuration</th>
</tr>";
$linha .= $linhaTotal;
$linhas[] = $linhaTotal;
$_SESSION["SSlinhas"] = $linhas;
if (!$isValid)
$jsStartup[] = "alert('$msg');";
$jsJQuery[] = "\$('#dataIni').keypress(function(){formataDataHora(this);}) ";
$jsJQuery[] = "\$('#dataFim').keypress(function(){formataDataHora(this);}) ";
//Funcao ajax para carregas depos qdo selecinada uma nova empresa
$jsJQuery[] = "\$('#listaEmpresas').change(function(){GetDeptos();}) ";
$smarty->assign('imp', $imp);
$smarty->assign('sites', $sites);
$smarty->assign('dtIni', $_SESSION["dataIni"]);
$smarty->assign('dtFim', $_SESSION["dataFim"]);
$smarty->assign('linhas', $linha);
$smarty->assign('empresas', $empresas);
$smarty->assign('deptos', $deptos);
$smarty->assign('duracao', $_SESSION["duracao"]);
GetTemplate($smarty, 'pbx/relatorios/chamadasSaintes/saintesCentroCusto.tpl');
function GetQuery() {
$dataIni = FormatDtMssql($_SESSION["dataIni"]);
$dataFim = FormatDtMssql($_SESSION["dataFim"]);
$emp = $_SESSION["listaEmpresas"];
$depto = $_SESSION["listaDeptos"];
$duracao = $_SESSION["duracao"];
$sql = " select a.src, a.dst, a.calldate as data, a.billsec as duracao, c.matricula, c.nome, c.apelido, d.id as codigo_empresa, d.nome as nome_empresa,
e.id as codigo_departamento, e.nome_depto
from pbx_bilhetes a, pbx_bilhetes_complemento b, pbx_usuarios_cs c, pbx_empresa d, pbx_departamentos e
where b.uniqueid2 = a.uniqueid
and c.id = b.id_usuario
and e.id = c.departamento
and e.empresa = c.empresa
and d.id = e.empresa
and cast(calldate as date) >= '$dataIni'
and cast(calldate as date) <= '$dataFim' ";
if ($emp)
$sql .= " and d.id = $emp ";
if ($depto)
$sql .= " and e.id = $depto ";
if ($duracao == 2)
$sql .= " and a.billsec > 0 ";
if ($duracao == 3)
$sql .= " and a.billsec = 0 ";
$sql .= " order by 4, 2 ";
// if(IsAdmin ()) echo $sql;
return $sql;
}
?>