lucas cardoso
2 years ago
5 changed files with 0 additions and 263 deletions
@ -1,103 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of Bilhete |
||||
* |
||||
* @author root |
||||
*/ |
||||
class Bilhete extends Model |
||||
{ |
||||
|
||||
const TABLE = "pbx_bilhetes"; |
||||
const EVENTOS_DACS = 'pbx_eventos_dacs'; |
||||
|
||||
public function addBilhete($calldate, $src, $dst, $duration, $billsec, $disposition, $unique = null, $forahorario = 0) |
||||
{ |
||||
if ($unique == null) { |
||||
$unique = uniqid('', true); |
||||
} |
||||
$this->query = "INSERT INTO " . self::TABLE . " (uniqueid, calldate, src, dst, duration, billsec, disposition, fora_horario, data_bilhete) VALUES(:uniqueid, :calldate, :src, :dst, :duration, :billsec, :disposition, :fora_horario, :data_bilhete);"; |
||||
|
||||
$data['uniqueid'] = $unique; |
||||
$data['calldate'] = $calldate; |
||||
$data['src'] = $src; |
||||
$data['dst'] = $dst; |
||||
$data['duration'] = $duration; |
||||
$data['billsec'] = abs($billsec); |
||||
$data['disposition'] = $disposition; |
||||
$data['fora_horario'] = $forahorario; |
||||
$data['data_bilhete'] = date('Y-m-d H:i:s'); |
||||
|
||||
$return = $this->create($this->query, $data); |
||||
if ($return) { |
||||
return $unique; |
||||
} |
||||
|
||||
return $return; |
||||
} |
||||
|
||||
public function findByUniqueid($uniqueid) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " WHERE uniqueid = :uniqueid"; |
||||
return $this->read($this->query, ['uniqueid' => $uniqueid])->fetch(); |
||||
} |
||||
|
||||
public function findBilheteByEventosDacs($queue = null, $dataBilhete = 'now', $eventos = ['COMPLETEAGENT', 'COMPLETECALLER', 'COMPLETAAGENT', 'COMPLETACALLER', 'TRANSFER', 'ABANDON'], $agente = null, $media) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " a |
||||
INNER JOIN " . self::EVENTOS_DACS . " b ON a.uniqueid = b.uid2 |
||||
WHERE 1=1 AND evento IN(:evento) "; |
||||
|
||||
$data['evento'] = is_array($eventos) ? implode(",", $eventos) : $eventos; |
||||
|
||||
if ($queue) { |
||||
$this->query .= " AND b.fila = :queue "; |
||||
$data['queue'] = $queue; |
||||
} |
||||
|
||||
if ($dataBilhete) { |
||||
$this->query .= " AND data_bilhete = :data_bilhete "; |
||||
$data['data_bilhete'] = $dataBilhete; |
||||
} |
||||
if ($media) { |
||||
$this->query .= " AND param2 = :param2 "; |
||||
$data['param2'] = $media; |
||||
} |
||||
|
||||
if ($agente) { |
||||
$this->query .= " AND b.agente = :agente "; |
||||
$data['agente'] = $agente; |
||||
} |
||||
$this->query .= " ORDER BY calldate"; |
||||
return $this->read($this->query, $data)->fetchAll(); |
||||
} |
||||
|
||||
public function findBilheteBySrc($src, $eventos = ['COMPLETEAGENT', 'COMPLETECALLER', 'COMPLETAAGENT', 'COMPLETACALLER', 'TRANSFER', 'ABANDON']) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " a |
||||
INNER JOIN " . self::EVENTOS_DACS . " b ON a.uniqueid = b.uid2 |
||||
WHERE 1=1 "; |
||||
$this->query .= " AND a.src = :src "; |
||||
$this->query .= " AND evento IN(:evento) "; |
||||
$this->query .= " ORDER BY calldate"; |
||||
|
||||
$data['src'] = $src; |
||||
$data['evento'] = is_array($eventos) ? implode(",", $eventos) : $eventos; |
||||
|
||||
return $this->read($this->query, $data)->fetch(); |
||||
} |
||||
|
||||
public function updateBilheteForaHorario($uniqueid, $ramalorigem, $forahorario, $disposition) |
||||
{ |
||||
$this->query = "UPDATE " . self::TABLE . " SET disposition = :disposition, fora_horario = :fora_horario, ramal_origem = :ramal_origem WHERE uniqueid = :uniqueid;"; |
||||
$data['disposition'] = $disposition; |
||||
$data['fora_horario'] = $forahorario; |
||||
$data['ramal_origem'] = $ramalorigem; |
||||
$data['uniqueid'] = $uniqueid; |
||||
return $this->update($this->query, $data); |
||||
} |
||||
} |
@ -1,49 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of Classificacao |
||||
* |
||||
* @author root |
||||
*/ |
||||
class Classificacao extends Model |
||||
{ |
||||
|
||||
const CLASSIFICACAO_ATT = "pbx_classifica_atendimento"; |
||||
const CLASSIFICACAO_ITEM = "pbx_classifica_item"; |
||||
const CLASSIFICACAO_DACS = "pbx_classifica_dacs"; |
||||
const CLASSIFICACAO_REG = "pbx_classifica_reg"; |
||||
const QUEUE_GROUPOS = "pbx_queues_grupos"; |
||||
|
||||
public function findClassificacaoRegByUniqueid($uniqueid) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::CLASSIFICACAO_REG . " WHERE id_bilhetes = :id_bilhetes;"; |
||||
return $this->read($this->query, ['id_bilhetes' => $uniqueid])->fetch(); |
||||
} |
||||
|
||||
public function findClassificacaoByQueue($queue) |
||||
{ |
||||
$this->query = "SELECT pca.clas_descricao, pca.clas_id, pci2.clit_id, pci2.clit_descricao, pcd.id_dac FROM " . self::CLASSIFICACAO_ATT . " pca |
||||
INNER JOIN " . self::CLASSIFICACAO_ITEM . " pci2 ON pci2.clas_id = pca.clas_id |
||||
INNER JOIN " . self::CLASSIFICACAO_DACS . " pcd ON pcd.clas_id = pca.clas_id |
||||
INNER JOIN " . self::QUEUE_GROUPOS . " pqg ON pcd.id_dac = pqg.id |
||||
WHERE pqg.nome = :queue ;"; |
||||
return $this->read($this->query, ['queue' => $queue])->fetchAll(); |
||||
} |
||||
|
||||
public function addClassificacaoReg($matricula, $clas_id, $clit_id, $id_bilhetes, $id_dac) |
||||
{ |
||||
$this->query = "INSERT INTO " . self::CLASSIFICACAO_REG . " |
||||
(matricula, clas_id, clit_id, id_bilhetes, id_dac) |
||||
VALUES(:matricula, :clas_id, :clit_id, :id_bilhetes, :id_dac)"; |
||||
$data['matricula'] = $matricula; |
||||
$data['clas_id'] = $clas_id; |
||||
$data['clit_id'] = $clit_id; |
||||
$data['id_bilhetes'] = $id_bilhetes; |
||||
$data['id_dac'] = $id_dac; |
||||
return $this->create($this->query, $data); |
||||
} |
||||
} |
@ -1,63 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of EventQueue |
||||
* |
||||
* @author root |
||||
*/ |
||||
class EventQueue extends Model |
||||
{ |
||||
|
||||
const TABLE = 'pbx_eventos_dacs'; |
||||
|
||||
public function findEventQueueByAgent($agente, $queue = false) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " WHERE agente = :agente "; |
||||
|
||||
if ($queue) { |
||||
$this->query .= " AND fila = :queue "; |
||||
$data['queue'] = $queue; |
||||
} |
||||
|
||||
$this->query .= " ORDER BY uid1 DESC LIMIT 1 "; |
||||
|
||||
$data['agente'] = $agente; |
||||
return $this->read($this->query, $data)->fetch(); |
||||
} |
||||
|
||||
public function findEventQueueByParam2($uniqueid) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " WHERE param2 = :param2 "; |
||||
return $this->read($this->query, ['param2' => $uniqueid])->fetch(); |
||||
} |
||||
|
||||
public function addEventQueue($uniqueid, $queue, $agent, $event, $media) |
||||
{ |
||||
$this->query = "INSERT INTO " . self::TABLE . " (uid1, uid2, fila, agente, evento, param2) VALUES(:uid1, :uid2, :fila, :agente, :evento, :param2);"; |
||||
$data['uid1'] = time(); |
||||
$data['uid2'] = $uniqueid; |
||||
$data['fila'] = $queue; |
||||
$data['agente'] = $agent; |
||||
$data['evento'] = $event; |
||||
$data['param2'] = $media; |
||||
return $this->create($this->query, $data); |
||||
} |
||||
|
||||
public function updateEventQueue($uniqueid, $queue, $agent, $event, $param1 = null, $param2 = null) |
||||
{ |
||||
$this->query = "UPDATE " . self::TABLE . " SET fila = :fila, agente = :agente, evento = :evento, param1 = :param1, param2 = :param2 WHERE uid2 = :uid2;"; |
||||
return $this->update($this->query, ['fila' => $queue, 'agente' => $agent, 'evento' => $event, 'param1' => $param1, 'param2' => $param2, 'uid2' => $uniqueid]); |
||||
} |
||||
|
||||
public function findAllEventByAwait($queue) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " |
||||
WHERE evento = :evento |
||||
AND fila = :fila "; |
||||
return $this->read($this->query, ['fila' => $queue, 'evento' => CONF_EVENT_ESPERA]); |
||||
} |
||||
} |
@ -1,22 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
|
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of Ramal |
||||
* |
||||
* @author Lucas Awade |
||||
*/ |
||||
class Ramal extends Model |
||||
{ |
||||
|
||||
const TABLE = 'pbx_sip_ramais'; |
||||
|
||||
public function findRamal($ramal) |
||||
{ |
||||
$this->query = "SELECT * FROM " . self::TABLE . " pr WHERE pr.nome = :ramal;"; |
||||
return $this->read($this->query, ['ramal' => $ramal])->fetch(); |
||||
} |
||||
} |
@ -1,26 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace app\Models; |
||||
use app\Core\Model; |
||||
|
||||
/** |
||||
* Description of EventQueue |
||||
* |
||||
* @author root |
||||
*/ |
||||
class SupervisorQueue extends Model { |
||||
|
||||
const TABLE = 'pbx_supervisor_dacs'; |
||||
|
||||
public function updateEsperaSupervisorQueue($name, $time){ |
||||
$this->query = "UPDATE " . self::TABLE . " SET espera = (b.espera::int + :time) |
||||
FROM (SELECT espera FROM " . self::TABLE . " b WHERE b.dac = :dac) AS b |
||||
WHERE dac = :dac;"; |
||||
return $this->update($this->query, ['espera' => $time , 'dac' => $name]); |
||||
} |
||||
|
||||
public function updateEsperaByQueue($queue, $time, $numberwait){ |
||||
$this->query = "UPDATE " . self::TABLE . " SET tempo_espera = :tempo_espera, espera = :espera WHERE dac = :dac;"; |
||||
return $this->update($this->query, ['tempo_espera' => $time , 'espera' => $numberwait, 'dac' => $queue]); |
||||
} |
||||
} |
Loading…
Reference in new issue