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 = "