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.
 
 
 
 
 
 

107 lines
3.7 KiB

<?php
$tpLayout = 1;
$clasId = $_REQUEST["clas_id"];
$clasDesc = $_REQUEST["clas_descricao"];
if (isset($_POST["btIncDac"])) {
$dacs = $_POST["dacs"];
pg_query($dbcon, 'begin');
foreach ($dacs as $idDac) {
$query = "INSERT INTO pbx_classifica_dacs(clas_id, id_dac )
SELECT '$clasId', '$idDac'
WHERE NOT EXISTS(SELECT '' FROM pbx_classifica_dacs WHERE id_dac = '$idDac' AND clas_id = '$clasId')";
$result = pg_query($dbcon, $query);
if (!$result) {
break;
}
}
if ($result) {
pg_query($dbcon, 'commit');
$msg = "<span style=\"color: #0000FF\">Operação realizada com sucesso!</span>";
} else {
pg_query($dbcon, 'rollback');
$erroDb = pg_last_error($dbcon);
$msg = "<span style=\"color: #FF0000\">A operação não pode realizada!" . ($erroDb ? (" Erro: " . $erroDb) : "") . "</span>";
}
} else if (isset($_POST["btRmDac"])) {
$dacs = $_POST["dacsInc"];
pg_query($dbcon, 'begin');
foreach ($dacs as $idDac) {
$query = "DELETE FROM pbx_classifica_dacs WHERE id_dac = '$idDac' AND clas_id = '$clasId' ";
$result = pg_query($dbcon, $query);
if (!$result) {
break;
}
}
if ($result) {
pg_query($dbcon, 'commit');
$msg = "<span style=\"color: #0000FF\">Operação realizada com sucesso!</span>";
} else {
pg_query($dbcon, 'rollback');
$erroDb = pg_last_error($dbcon);
$msg = "<span style=\"color: #FF0000\">A operação não pode realizada!" . ($erroDb ? (" Erro: " . $erroDb) : "") . "</span>";
}
}
$dacs = GetDacClas($dbcon, $clasId);
$dacsIncs = GetDacClasInc($dbcon, $clasId);
GetDac($dbcon, $codDac);
$smarty->assign("clas_id", $clasId);
$smarty->assign("clas_descricao", $clasDesc);
$smarty->assign("dacs", $dacs);
$smarty->assign("dacsIncs", $dacsIncs);
$smarty->assign("erro", $msg);
GetTemplate($smarty, 'cadastros/classificaAtendimento/classificacaoDacs.htm');
function GetDacClas($dbcon, $clasId)
{
/*
* Carrega lista de dacs disponivel
* para ser inserdo entre as tags <select></select>
*/
$org_id = GetOrganizacao();
$query = "SELECT DISTINCT id, nome AS nome, 'Receptivo' AS tipo
FROM pbx_queues_grupos d
WHERE status = 'A'
AND org_id = $org_id
AND id NOT IN(SELECT id_dac FROM pbx_classifica_dacs WHERE clas_id = $clasId)
ORDER BY 2";
$result = pg_query($dbcon, $query);
$dacs = "<select name=\"dacs[]\" id=\"dacs\" size=\"6\" multiple=\"multiple\" style=\"width:250px;\" >";
while ($dados = pg_fetch_row($result)) {
$dacs .= "<option value=\"$dados[0]\">" . RemoveExibicaoOrg($dados[1]) . "</option>";
}
$dacs .= "</select>";
return $dacs;
}
function GetDacClasInc($dbcon, $clasId)
{
/*
* Carrega lista de dacs disponivel
* para ser inserdo entre as tags <select></select>
*/
$org_id = GetOrganizacao();
$query = "SELECT DISTINCT id, nome AS nome, 'Receptivo' AS tipo
FROM pbx_queues_grupos d
WHERE status = 'A'
AND org_id = $org_id
AND id IN(SELECT id_dac FROM pbx_classifica_dacs WHERE clas_id = $clasId)
ORDER BY 2";
$result = pg_query($dbcon, $query);
$dacs = "<select name=\"dacsInc[]\" id=\"dacsInc\" size=\"6\" multiple=\"multiple\" style=\"width:250px;\" >";
while ($dados = pg_fetch_row($result)) {
$dacs .= "<option value=\"$dados[0]\">" . RemoveExibicaoOrg($dados[1]) . "</option>";
}
$dacs .= "</select>";
return $dacs;
}