✏️ 正在编辑: CallcenterRelatorioUra.php
路径:
/srv/systems_dir/yuppiecred/application/models/DbTable/CallcenterRelatorioUra.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Model_DbTable_CallcenterRelatorioUra extends Core_DbTable { protected $_primary = 'id'; protected $_name = 'tb_callcenter_relatorio_ura'; protected $_referenceMap = array( 'Cliente' => array( 'columns' => array( 'cliente_id' ), 'refTableClass' => 'Model_DbTable_CallcenterBase', 'refColumns' => array( 'id' ) ), ); public function insert(array $data) { $existe = $this->fetchRow([ 'cliente_id = ?' => $data['cliente_id'], 'data_hora = ?' => $data['data_hora'], 'fone = ?' => $data['fone'], ]); if( $existe ){ return null; } return parent::insert($data); } public function getWhere($fields) { $where = array(); if(!empty($fields['telefone'])){ $telefone = ltrim($fields['telefone'], '0'); $where[] = "telefone LIKE '%{$telefone}%'"; } if(!empty($fields['cliente_id'])){ $where[] = "cliente_id = {$fields['cliente_id']}"; } if(!empty($fields['data'])){ $data = new Zend_Date($fields['data'],'dd/MM/yyyy'); $where[] = "data LIKE '%{$data->get('yyyy-MM-dd')}%'"; } if(!empty($fields['ramal'])){ $where[] = "ramal = {$fields['ramal']}"; } return $where; } /** * * @param string $relatorio Ex.: 26/05/2020 12:06:44|2522189#83998365740|i<br> * @return int * @throws Core_Exception */ public function importar($campanhaId, $relatorio) { if( empty($relatorio) ){ return false; } if( $relatorio == "A Campanha informada é inválida." ){ throw new Core_Exception($relatorio); } $linhas = array_filter(explode("<br>", $relatorio)); $cont = 0; $dbTelefone = new Model_DbTable_CallcenterTelefone(); $dbTelefone->setNaoAtende($campanhaId); foreach( $linhas as $linha ){ $campos = explode("|", $linha); $dataHora = new Zend_Date($campos[0], 'dd/MM/yyyy HH:mm:ss'); $numero = explode("#", $campos[1]); //cliente_id#telefone $clienteId = $numero[0]; $fone = $numero[1]; $opcaoUra = $campos[2]; $result = $this->insert([ 'data_hora' => $dataHora->get('yyyy-MM-dd HH:mm:ss'), 'numero' => $campos[1], 'campanha_id' => $campanhaId, 'cliente_id' => $clienteId, 'fone' => $fone, 'opcao' => $opcaoUra ]); if ($result) $cont++; //atualiza opção URA no telefone (new Model_DbTable_CallcenterTelefone())->update([ 'opcao_ura_reversa' => ($opcaoUra == "i") ? -1 : $opcaoUra, 'discador_descartar' => 0 ], [ 'cliente_id = ?' => $clienteId, 'fone = ?' => $fone, ]); } return $cont; } }
💾 保存文件
← 返回文件管理器