PABX da Simples IP
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.
 
 
 
 
 
 

109 lines
5.8 KiB

<?php
$template = "vendas/funilVendas.htm";
$dataIni = isset($_POST["dataIni"]) ? $_POST["dataIni"] : date('01/m/Y');
$dataFim = isset($_POST["dataFim"]) ? $_POST["dataFim"] : date('d/m/Y');
$chamadasTotal = 0;
$chamadasAtendida = 0;
$chamadasConvertidas = 0;
$revendas = isset($_POST["revendas"]) ? $_POST["revendas"] : null;
$grpId = isset($_REQUEST['grp_id']) ? $_REQUEST['grp_id'] : 0;
if (!is_date($dataIni) || !is_date($dataFim)) {
Alert("Datas inválidas, verifique e tente novamente!");
} else {
$conn = $dbcon;
//$conn = GetAlernativeDB("192.168.115.12");
$dtIni = FormatDtMssql($dataIni);
$dtFim = FormatDtMssql($dataFim);
$revendasUser = GetRevendasUsuario($conn, $grpId, true);
$query = "SELECT SUM(originadas) AS originadas, SUM(atendidas) AS atendidas, SUM(vendido) AS vendido, SUM(nao_atendidas) AS nao_atendidas
FROM vds_chamadas_diario
WHERE data_ini >= '$dtIni' AND data_fim <= '$dtFim'
AND id_pk_emp IN ($revendasUser)";
$result = pg_query($conn, $query);
$dados = pg_fetch_array($result, null, PGSQL_ASSOC);
$totalOrig = $dados['originadas'];
$chamadasTotal = sprintf("%s", FormataValor($dados['originadas'], 0));
$chamadasAtendida = sprintf("%s", FormataValor($dados['atendidas'], 0));
$chamadasAtendidaPerc = sprintf("%s", FormataValor(($dados['atendidas'] / $totalOrig) * 100.0, 2));
$chamadasConvertidas = sprintf("%s", FormataValor($dados['vendido'], 0));
$chamadasConvertidasPerc = sprintf("%s", FormataValor(($dados['vendido'] / $dados['atendidas']) * 100.0, 2));
/*
* $chamadasTotal = sprintf("<span style=\"font-size: xx-large; font-weight: bold\">%s</span><br /> <span style=\"font-style: italic\">%s%%</span>", FormataValor($dados['originadas'], 0), " 100");
* $chamadasAtendida = sprintf("<span style=\"font-size: xx-large; font-weight: bold\">%s</span><br /><span style=\"font-style: italic\">%s%%</span>", FormataValor($dados['atendidas'], 0), FormataValor( ($dados['atendidas'] / $totalOrig) * 100.0, 2));
* $chamadasConvertidas = sprintf("<span style=\"font-size: xx-large; font-weight: bold\">%s</span><br /><span style=\"font-style: italic\">%s%%</span>", FormataValor($dados['vendido'], 0), FormataValor( ($dados['vendido'] / $totalOrig) * 100.0, 2));
*/
}
$imgDetalhes = "<img src=\"imgSite/detalhes.png\" width=\"22\" height=\"22\" border=\"0\" title=\"Detalhamento por Revenda!\">";
$detalhes = "<a href=\"javaScript:NovaJanela('index.php?idProg=282&dataIni=%s&dataFim=%s&revendas=%s', 'jnDetalhesRevendas', '%s', '%s', 'resizable=NO,scrollbars=auto');\">%s</a>";
$detalhes = sprintf($detalhes, $dtIni, $dtFim, GetRevendasUsuario($conn, $grpId, true), 800, 420, $imgDetalhes);
$smarty->assign('dataIni', $dataIni);
$smarty->assign('dataFim', $dataFim);
$smarty->assign('detalhes', $detalhes);
$smarty->assign('revendas', vdsGetRevendas($conn, $revendasUser, $dtIni, $dtFim));
$smarty->assign('regionais', vdsGetRegionais($conn, $grpId));
$smarty->assign('chamadasTotal', $chamadasTotal);
$smarty->assign('chamadasAtendida', $chamadasAtendida);
$smarty->assign('chamadasAtendidaPerc', $chamadasAtendidaPerc);
$smarty->assign('chamadasConvertidas', $chamadasConvertidas);
$smarty->assign('chamadasConvertidasPerc', $chamadasConvertidasPerc);
GetTemplate($smarty, 'vendas/funilVendas.htm');
function vdsGetRevendas($conn, $revendasUser, $dtIni, $dtFim) {
/*
$query = "select a.emp_id, a.emp_nome_fantasia, a.emp_razao_social, a.emp_cnpj
from vds_empresas a
where a.emp_id in($revendasUser)
and exists(select '' from vds_chamadas where emp_id = a.emp_id and chm_data_bilhete >= '$dtIni' and chm_data_bilhete <= '$dtFim')
order by 3 ";
*/
$query = "select DISTINCT a.emp_id, a.emp_nome_fantasia, coalesce(c.grp_nome, 'ND') || ' - ' || a.emp_razao_social as emp_razao_social, a.emp_cnpj
from vds_empresas a
left join vds_grupos_empresas b on b.emp_id = a.emp_id
left join vds_grupos c on c.grp_id = b.grp_id
where a.emp_id in($revendasUser)
and exists(select '' from vds_chamadas where emp_id = a.emp_id and chm_data_bilhete >= '$dtIni' and chm_data_bilhete <= '$dtFim')
order by 3 ";
$linhas = '';
$result = pg_query($conn, $query);
while ($dados = pg_fetch_array($result, null, PGSQL_ASSOC)) {
//$ck = ( is_null($revendas)) || (array_search($dados['emp_id'], $revendas) !== false) ? 'checked="checked"' : '';
//$linhas .= sprintf('<tr><td style="border: 0"><input type="checkbox" name="revendas[]" value="%s" id="%s" %s></td><td nowrap style="border: 0">%s</td></tr>', $dados['emp_id'], $dados['emp_id'], $ck, $dados['emp_razao_social']);
$linhas .= sprintf('<tr><td style="border: 0">&nbsp;</td><td nowrap style="border: 0">%s</td></tr>', $dados['emp_razao_social']);
}
return $linhas;
}
function vdsGetRegionais($conn, $grpId) {
$idUser = GetIdUser();
$query = "select distinct a.grp_id, a.grp_nome
from vds_grupos a
inner join vds_grupos_empresas b on b.grp_id = a.grp_id
inner join pbx_grupo_revendas c on c.emp_id = b.emp_id
inner join pbx_grupo_usuario d on d.gp_id = c.gp_id
inner join vds_empresas e on e.emp_id = c.emp_id\n";
$query .= isAdmin() ? '' : sprintf("where d.user_id = '%s'\n", $idUser);
$query .= "order by a.grp_nome\n";
$sel = !$grpId ? ' selected="selected"' : '';
$linhas = sprintf('<option value="0"%s>Todos</option>', $sel);
$result = pg_query($conn, $query);
// echo $query;
while ($dados = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$sel = ($grpId == $dados['grp_id']) ? ' selected="selected"' : '';
$linhas .= sprintf('<option value="%s"%s>%s</option>', $dados['grp_id'], $sel, $dados['grp_nome']);
}
return $linhas;
}