diff --git a/cadastros/classificaAtendimento/classificaDac.php b/cadastros/classificaAtendimento/classificaDac.php index 82a86717..7072bf6c 100644 --- a/cadastros/classificaAtendimento/classificaDac.php +++ b/cadastros/classificaAtendimento/classificaDac.php @@ -3,14 +3,15 @@ $tpLayout = 1; $clasId = $_REQUEST["clas_id"]; $clasDesc = $_REQUEST["clas_descricao"]; +$org_id = $_SESSION['SSEmpresaPadrao']; 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')"; + $query = "INSERT INTO pbx_classifica_dacs(clas_id, id_dac, org_id) + SELECT '$clasId', '$idDac', $org_id + WHERE NOT EXISTS(SELECT '' FROM pbx_classifica_dacs WHERE id_dac = '$idDac' AND clas_id = '$clasId' AND org_id = $org_id)"; $result = pg_query($dbcon, $query); if (!$result) { break; @@ -29,7 +30,7 @@ if (isset($_POST["btIncDac"])) { $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' "; + $query = "DELETE FROM pbx_classifica_dacs WHERE id_dac = '$idDac' AND clas_id = '$clasId' AND org_id = $org_id "; $result = pg_query($dbcon, $query); if (!$result) { break; @@ -46,8 +47,8 @@ if (isset($_POST["btIncDac"])) { } } -$dacs = GetDacClas($dbcon, $clasId); -$dacsIncs = GetDacClasInc($dbcon, $clasId); +$dacs = GetDacClasGeneric($dbcon, $clasId, true, "dacs[]", "dacs"); +$dacsIncs = GetDacClasGeneric($dbcon, $clasId, false, "dacsInc[]", "dacsInc"); GetDac($dbcon, $codDac); @@ -58,46 +59,23 @@ $smarty->assign("dacsIncs", $dacsIncs); $smarty->assign("erro", $msg); GetTemplate($smarty, 'cadastros/classificaAtendimento/classificacaoDacs.htm'); -function GetDacClas($dbcon, $clasId) +function GetDacClasGeneric($dbcon, $clasId, $useNotIn, $selectName, $selectId) { /* * Carrega lista de dacs disponivel * para ser inserdo entre as tags */ $org_id = GetOrganizacao(); + $inCondition = $useNotIn ? 'NOT IN' : 'IN'; $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"; + FROM pbx_queues_grupos d + WHERE status = 'A' + AND org_id = $org_id + AND id $inCondition (SELECT id_dac FROM pbx_classifica_dacs WHERE clas_id = $clasId) + ORDER BY 2"; $result = pg_query($dbcon, $query); - $dacs = ""; - return $dacs; -} - -function GetDacClasInc($dbcon, $clasId) -{ - /* - * Carrega lista de dacs disponivel - * para ser inserdo entre as tags - */ - $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 = ""; while ($dados = pg_fetch_row($result)) { $dacs .= "";