✏️ 正在编辑: CallcenterPausaOperador.php
路径:
/srv/systems_dir/yuppiecred/application/models/CallcenterPausaOperador.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_CallcenterPausaOperador { private $id; private $operador; private $dataHoraAcao; private $acao; private $motivoAcao; private $pausaManual; /** * @return mixed */ public function getId() { return $this->id; } /** * @param mixed $id */ public function setId($id): void { $this->id = $id; } /** * @return mixed */ public function getOperador() { return $this->operador; } /** * @param mixed $operador */ public function setOperador($operador): void { $this->operador = $operador; } /** * @return mixed */ public function getDataHoraAcao() { return $this->dataHoraAcao; } /** * @param mixed $dataHoraAcao */ public function setDataHoraAcao($dataHoraAcao): void { $this->dataHoraAcao = $dataHoraAcao; } /** * @return mixed */ public function getAcao() { return $this->acao; } /** * @param mixed $acao */ public function setAcao($acao): void { $this->acao = $acao; } /** * @return mixed */ public function getMotivoAcao() { return $this->motivoAcao; } /** * @param mixed $motivoAcao */ public function setMotivoAcao($motivoAcao): void { $this->motivoAcao = $motivoAcao; } /** * @return mixed */ public function getPausaManual() { return $this->pausaManual; } /** * @param mixed $pausaManual */ public function setPausaManual($pausaManual): void { $this->pausaManual = $pausaManual; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode('_', $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_CallcenterPausaOperador(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = array(); foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode('_', $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if( in_array($method, $methods) ){ $data[$col] = $this->$method(); } } return $data; } public function salvar(Model_CallcenterPausaOperador $campanha) { $dbtable = new Model_DbTable_CallcenterPausaOperador(); if( $campanha->getId() > 0 ){ $dbtable->update($campanha->_toArray(), 'id = ' . $campanha->getId()); return $campanha->getId(); } else { return $dbtable->insert($campanha->_toArray()); } } public function listar($fields = null, $order = "data_hora_acao ASC") { $where = []; if( !empty($fields['operador']) ){ $where['operador LIKE ?'] = "%{$fields['operador']}%"; } if( !empty($fields['data_inicial']) ){ $dt = new Zend_Date($fields['data_inicial'] . " 00:00:00"); $where['data_hora_acao >= ?'] = $dt->get('yyyy-MM-dd HH:mm:ss'); } if( !empty($fields['data_final']) ){ $dt = new Zend_Date($fields['data_final'] . " 23:59:59"); $where['data_hora_acao <= ?'] = $dt->get('yyyy-MM-dd HH:mm:ss'); } if (!empty($fields['acao'])) { $where['acao = ?'] = $fields['acao']; } $dbtable = new Model_DbTable_CallcenterPausaOperador(); return $dbtable->fetchAll($where, $order); } public static function realizarPausa($motivoPausa) { $operador = Yuppie_Auth::getIdentity()->nome; $dbPausaOperador = new Model_DbTable_CallcenterPausaOperador(); $pausa = current((new Model_DbTable_CallcenterMotivoPausa)->find($motivoPausa)->toArray()); $acaoDiscador = $pausa['pausa_discador'] == 1 ? 'pausar' : 'play'; $acaoYuppie = $pausa['pausa_yuppie'] == 1 ? 'pausar' : 'play'; $retornoSonax = Model_Usuario::alteraStatusRamal($acaoDiscador, $pausa['id'], $pausa['descricao']); $pausaAtual = $dbPausaOperador->fetchRow(['operador = ?' => $operador], ['id DESC']); (new Model_DbTable_Usuario)->update([ 'ramal_status' => $motivoPausa ], ['id = ?' => Yuppie_Auth::getIdentity()->id]); if ($pausaAtual->acao != $acaoYuppie) { $acao = new Model_CallcenterPausaOperador([ 'acao' => $pausa['pausa_yuppie'] == 1 ? 'pausar' : 'play', 'motivo_acao' => $pausa['descricao'], 'operador' => Yuppie_Auth::getIdentity()->nome, 'data_hora_acao' => date('Y-m-d H:i:s', time()) ]); $result = $acao->salvar($acao); if ($result && $pausa['tempo_limite_pausa']) { return ['mensagem' => "Você tem " . $pausa['tempo_limite_pausa'] / 60 . " minuto(s) de pausa"]; } } return $retornoSonax; } public static function consultarPausaYuppie() { $operador = Yuppie_Auth::getIdentity()->nome; $dbtable = new Model_DbTable_CallcenterPausaOperador(); $pausa = $dbtable->fetchRow(['operador = ?' => $operador], ['id DESC']); return !empty($pausa) && $pausa->acao == 'play' ? true : false; } }
💾 保存文件
← 返回文件管理器