daily pastebin goal
8%
SHARE
TWEET

Untitled

a guest Oct 27th, 2015 129 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. class TesteAction extends IndexBaseAction {
  4.  
  5.         private $persistenceService;
  6.         private $palavrasChave;
  7.         private $cachePalavrasChavePorCanal;
  8.        
  9.         public function __construct(){
  10.                 $this->persistenceService = new PersistenceService();
  11.         }
  12.        
  13.         public function palavras_chaves() {
  14.                
  15.                
  16.                 //$palavras = $this->persistenceService->selectByExample('palavras_chave', array("id_canal_comunicacao" => 131, "id_assunto" => 0), null, "ordem");
  17.                
  18.                 /*$palavraChave = array(
  19.                         "id_canal_comunicacao" => 131,
  20.                         "id_assunto" => 0
  21.                 );
  22.                
  23.                 $example = array('id_assunto' => $palavraChave['id_assunto'], 'id_canal_comunicacao' => $palavraChave['id_canal_comunicacao']);
  24.                
  25.                 $canalComunicacao = $this->persistenceService->query("tarefas/QryBuscarAreasResponsabilidade", $example, true);
  26.                
  27.                 $para = "sac@ricardoeletro.com.br";
  28.                
  29.                 if (!empty($para) && strpos($para, "<") !== false) {
  30.                         preg_match('/\<.*?\>/', $para, $matches);
  31.                
  32.                         $para = ltrim(rtrim($matches[0], '>'), '<');
  33.                 }
  34.                
  35.                 $remetente = Utils::converterUTF8(utf8_decode("fzs80@hotmail.com"));
  36.                
  37.                 if (!empty($remetente) && strpos($remetente, "<") !== false) {
  38.                         preg_match('/\<.*?\>/', $remetente, $matches);
  39.                
  40.                         $remetente = ltrim(rtrim($matches[0], '>'), '<');
  41.                 }
  42.                
  43.                 $join = array(
  44.                                 new Join("unidades_atendimento as ua", "ua.id_und_atendimento = canais_comunicacao.id_und_atendimento"),
  45.                                 new Join("undatmund_negocio as una", "una.id_und_atendimento = ua.id_und_atendimento and una.ativo = 1", array("id_unidade_negocio"))
  46.                 );
  47.                
  48.                 $canalCom = $this->persistenceService->selectByExample(
  49.                                 "canais_comunicacao",
  50.                                 array("id_canal_comunicacao" => $palavraChave['id_canal_comunicacao']),
  51.                                 "id_canal_comunicacao, id_und_atendimento",
  52.                                 "",
  53.                                 $join
  54.                 );
  55.                
  56.                 $assunto = Utils::converterUTF8(utf8_decode("Entrega"));
  57.                
  58.                 $msgBody = "
  59.                                 Fale Conosco  - ClubeDoRicardo.com.br
  60.                                 Nome: Fernando
  61.                                 Email: fernandoamario@yahoo.com.br
  62.                                 Telefone: (33) 8406-4015
  63.                                 Pedido: 22205918
  64.                                 Assunto: Entrega
  65.                                 Comentário: Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).
  66.                                 Adianto ainda que o produto já foi trocado pelo mesmo problema e que a cor requerida no segundo produto era aço escovado e não preto com veio.
  67.                 ";
  68.                
  69.                 $msgBody =$msgBody;
  70.                
  71.                
  72.                 $tarefa = array(
  73.                                 'id_tipo_acao'          => TipoAcaoConstants::EMAIL_RECEBIDO,
  74.                                 'id_acao'               => $canalComunicacao['id_acao'],
  75.                                 'id_situacao'           => SituacaoTarefaConstants::ABERTA,
  76.                                 'id_canal_comunicacao'  => $palavraChave['id_canal_comunicacao'],
  77.                                 'id_are_res'                    => $canalComunicacao['id_are_res'],
  78.                                 'id_areres_origem'      => $canalComunicacao['id_are_res'],
  79.                                 'id_assunto_origem'     => $palavraChave['id_assunto'],
  80.                                 'de'                    => substr($remetente, 0, 150),
  81.                                 'para'                  => substr($para, 0, 255),
  82.                                 'descricao'             => empty($assunto) ? "(sem assunto)" : substr($assunto, 0, 1000),
  83.                                 'texto_tarefa'          => Utils::converterUTF8(utf8_decode($msgBody)),
  84.                                 'texto_area_html'       => Utils::converterUTF8(utf8_decode($msgBody)),
  85.                                 'data_registro'         => date('Y-m-d H:i:s'),
  86.                                 'ind_possui_anexo'              => false,
  87.                                 'anexos'                                => null,
  88.                                 'operacao'                              => 'INSERT'
  89.                 );
  90.                
  91.                
  92.                 if (!empty($canalCom)) {
  93.                         $tarefa['id_und_atendimento'] = $canalCom[0]['id_und_atendimento'];
  94.                         $tarefa['id_unidade_negocio'] = $canalCom[0]['id_unidade_negocio'];
  95.                 }
  96.                 */
  97.                
  98.                
  99.                 $remetente = "<a href='mailto: gentilramos@gmail.com'>gentilramos@gmail.com</a>";
  100.                
  101.                 $remetente = Utils::converterUTF8(utf8_decode($remetente));
  102.                
  103.                 if (!empty($remetente) && strpos($remetente, "<") !== false) {
  104.                         preg_match('/\<.*?\>/', $remetente, $matches);
  105.                
  106.                         $remetente = ltrim(rtrim($matches[0], '>'), '<');
  107.                 }
  108.                
  109.                 $tarefa = array(
  110.                         "id_unidade_negocio" => 10
  111.                 );
  112.                
  113.                 if (!empty($remetente) && !empty($tarefa['id_unidade_negocio'])) {
  114.                        
  115.                         $identificacao = $this->identificarEmailCliente($remetente, $tarefa);
  116.                        
  117.                         if (!empty($identificacao)) {
  118.                                 $identificacao = $identificacao[0];
  119.                                 $tarefa["numero_documento"] = $identificacao["documento"];
  120.                                 $tarefa["id_tipo_documento"] = TipoDocumentoConstants::CLIENTE;
  121.                         }
  122.                        
  123.                 }
  124.                 echo'<pre>';print_r($tarefa);
  125.         }
  126.        
  127.         private function identificarEmailCliente($remetente, $tarefa) {
  128.                 $tarefaBO = new TarefaBO();
  129.                 $params = array(
  130.                         "id_tipo_documento"  => TipoDocumentoConstants::EMAIL,
  131.                         "numero_documento"   => $remetente,
  132.                         "id_unidade_negocio" => $tarefa['id_unidade_negocio']
  133.                 );
  134.                 return $tarefaBO->identificarTarefaPorEmail($params, $tarefa);
  135.         }
  136.        
  137.        
  138.         public function gerarTarefaPorPalavraChave() {
  139.                
  140.                 $infoMail = array(
  141.                         "id_canal_comunicacao" => 26
  142.                 );
  143.                
  144.                 $this->palavrasChave = $this->persistenceService->selectByExample('palavras_chave', null, null, "ordem");
  145.                
  146.                 $palavrasChavePorCanal = null;
  147.                
  148.                 if (isset($this->cachePalavrasChavePorCanal[$infoMail["id_canal_comunicacao"]])) {
  149.                        
  150.                         $palavrasChavePorCanal = $this->cachePalavrasChavePorCanal[$infoMail["id_canal_comunicacao"]];
  151.                        
  152.                 } else {
  153.                        
  154.                         $palavrasChavePorCanal = array_filter($this->palavrasChave, function ($elem) use ($infoMail) {
  155.                                 return $elem["id_canal_comunicacao"] == $infoMail["id_canal_comunicacao"];
  156.                         });
  157.                
  158.                         $this->cachePalavrasChavePorCanal[$infoMail["id_canal_comunicacao"]] = $palavrasChavePorCanal;
  159.                 }
  160.                
  161.                 $emails = $this->getEmails();
  162.                
  163.                 foreach ($emails as $email) {
  164.                
  165.                         foreach ($palavrasChavePorCanal as $palavraChave) {
  166.                        
  167.                                 $assunto = utf8_decode($email["assunto"]);
  168.                        
  169.                                 $texto = utf8_decode($email["texto"]);
  170.                        
  171.                                 $remetente = utf8_decode("fernandoamario@yahoo.com.br");
  172.                                
  173.                                 $destinatario = utf8_decode("sac@clubedoricardo.com.br");
  174.                        
  175.                                 if ($this->encontrar($palavraChave, Utils::converterUTF8($remetente))
  176.                                         || $this->encontrar($palavraChave, Utils::converterUTF8($destinatario))
  177.                                         || $this->encontrar($palavraChave, Utils::converterUTF8($assunto))
  178.                                         || $this->encontrar($palavraChave, Utils::converterUTF8($texto))) {
  179.                        
  180.                                         $example = array('id_assunto' => $palavraChave['id_assunto'], 'id_canal_comunicacao' => $palavraChave['id_canal_comunicacao']);
  181.                                        
  182. //                                      $canalComunicacao = $this->persistenceService->query("tarefas/QryBuscarAreasResponsabilidade", $example, true);
  183.                                        
  184.                                         echo'<pre>';
  185.                                         print_r($palavraChave);
  186.                                         echo'<br>----------------------<br>';
  187. //                                      print_r($canalComunicacao);
  188.                                         echo '<hr>';
  189.                                 }
  190.                         }
  191.                 }
  192.         }
  193.        
  194.         protected function encontrar($palavraChave = '', $mensagem = '', &$return) {
  195.                 if (empty($mensagem)) {
  196.                         return false;
  197.                 }
  198.        
  199.                 if (!is_string($palavraChave['palavra_chave'])) {
  200.                         throw new BusinessException(
  201.                                         sprintf(
  202.                                                         'palavra chave deve ser uma string, %s fornecido.',
  203.                                                         gettype($palavraChave)
  204.                                         )
  205.                         );
  206.                 }
  207.        
  208.                 if (!is_string($mensagem)) {
  209.                         throw new BusinessException(
  210.                                         sprintf(
  211.                                                         'mensagem deve ser uma string, %s fornecido.',
  212.                                                         gettype($mensagem)
  213.                                         )
  214.                         );
  215.                 }
  216.        
  217.                 $tokens = explode("%", $palavraChave['palavra_chave']);
  218.        
  219.                 $offset = 0;
  220.        
  221.                 foreach ($tokens as $token) {
  222.                         $token = Utils::trim($token);
  223.        
  224.                         $offset = stripos($mensagem, $token, $offset);
  225.        
  226.                         if ($offset === false) {
  227.                                 return false;
  228.                         }
  229.        
  230.                         $offset += strlen($token);
  231.                        
  232.                         $return .= $token;
  233.                 }
  234.        
  235.                 return true;
  236.         }
  237.        
  238.        
  239.         function getEmails() {
  240.                
  241.                 return array(
  242.                         array("assunto" => "Fale Conosco", "texto" => "Fale Conosco  - ClubeDoRicardo.com.br Nome: Fernando Email: fernandoamario@yahoo.com.brTelefone: (33) 8406-4015Pedido: 22205918 Assunto: Entrega Coment&aacute;rio: Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),  
  243.                         /*array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),      
  244.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  245.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  246.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  247.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  248.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  249.                         array("assunto" => "Fale Conosco", "texto" => "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> Fernando<br/><strong>Email:</strong> <a href='mailto: fernandoamario@yahoo.com.br'>fernandoamario@yahoo.com.br</a><br/><strong>Telefone:</strong> (33) 8406-4015<br/><strong>Pedido:</strong> 22205918<br/><strong>Assunto:</strong> Entrega<br/><br/><strong>Coment&aacute;rio:</strong> Solicito o cancelamento do referido pedido, o produto comprado veio com defeito(  as cadeiras vieram arranhadas e enferrujadas e de cor diferente ).Adianto ainda que o produto j&aacute; foi trocado pelo mesmo problema e que a cor requerida no segundo produto era a&ccedil;o escovado e n&atilde;o preto com veio."),
  250.                 */);
  251.                
  252.         }
  253.        
  254.         function getUrl() {
  255.        
  256.                 $lstTelas = array(
  257.                                 "transp"                        => array("tela" => "transportadora.ARC0265", "label" => "Transp"),
  258.                                 "canal"                         => array("tela" => "canal.ARC0266", "label" => "Canal"),
  259.                                 "uf"                            => array("tela" => "uf.ARC0267", "label" => "UF"),
  260.                                 "rede"                          => array("tela" => "rede.ARC0268", "label" => "Rede"),
  261.                                 "contrato"                      => array("tela" => "contrato.ARC0269", "label" => "Contrato"),
  262.                                 "tipo_transporte"       => array("tela" => "tipo_transporte.ARC0301", "label" => "Tipo"),
  263.                                 "dia"                           => array("tela" => "dia.ARC0270", "label" => "Dia"),
  264.                 );
  265.        
  266.                 $row = array('id_transportadora' => 1);
  267.                
  268.                 foreach ($lstTelas as $id => $tela) {
  269.                                
  270.                         if (Url::param($id) == null) {
  271.        
  272.                                 $outrasTelas = array_filter($lstTelas, function ($id) use ($tela){
  273.                                         return $tela != $id;
  274.                                 });
  275.                                
  276.                                 $link = '<a href="/relatorios/Gte/tela/modulo/gte/id/gerencial/aba/'.$tela["tela"].'/transp/' . $row['id_transportadora'];
  277.        
  278.                                 foreach ($outrasTelas as $chave => $dados) {
  279.                                        
  280.                                         if (Url::param($chave) != null) {
  281.                                                 //echo 'Url::param(chave) = '. $chave."->".  Url::param($chave).'<br>';
  282.                                                 $link .= "/" . $chave . "/" . Url::param($chave);
  283.                                         }
  284.        
  285.                                 }
  286.        
  287.                                 $link .= '"/>'.$tela['label'].'</a>';
  288.                                 echo $link. '&nbsp;';
  289.        
  290.                         }
  291.                 }
  292.        
  293.         }
  294.  
  295.         public function getParamVale() {
  296.                
  297.                 $itemVale = ItensBO::ITEM_VALE_TROCA;
  298.                
  299.                 $valor = $this->persistenceService->findByExample('parametros_gerais', array("nome_parametro" => $itemVale, "ativo" => 1), true);
  300.                
  301.                 echo'<pre>';print_r($valor);
  302.         }
  303.        
  304.        
  305.         public function getPedidoViaEmail() {
  306.                
  307.                 $email = "<strong>Fale Conosco  - ClubeDoRicardo.com.br</strong><br/><br/><br/><strong>Nome:</strong> gentil ramos junior<br/><strong>Email:</strong> <a href='mailto: gentilramos@gmail.com'>gentilramos@gmail.com</a><br/><strong>Telefone:</strong> (48) 8423-1664<br/><strong>Pedido:</strong> 22951989<br/><strong>Assunto:</strong> Reclama&ccedil;&otilde;es<br/><br/><strong>Coment&aacute;rio:</strong> o fone que comprei esta se descolando todo o que devo fazer?";
  308.                
  309.                 $email = Utils::converterUTF8(utf8_decode($email));
  310.                
  311.                 var_dump($email);echo'<hr>';
  312.                 echo $email.'<hr>';
  313.                
  314.                 $palavraChave = array(
  315.                         "palavra_chave" => "Pedido"
  316.                 );
  317.                
  318.                 if ($this->encontrar($palavraChave, $email, $return)) {
  319.                         echo "encontrou o texto : " . $return;
  320.                 } else {
  321.                         echo "NAO encontrou o texto";
  322.                 }
  323.                
  324.                
  325.                 //echo '<hr>';var_dump(strip_tags($email));
  326.                 $this->getNumPedidoTextoEmail($email);
  327.                
  328.         }
  329.        
  330.        
  331.         private function identificarClientePedidoEmail($remetente, $idUndNegocio, $msgBody) {
  332.        
  333.         $tarefaBO = new TarefaBO();
  334.        
  335.         $pedido = $this->getNumPedidoTextoEmail($msgBody);
  336.        
  337.         if ($pedido !== false) {
  338.                
  339.                 $params = array(
  340.                         "id_tipo_documento"  => TipoDocumentoConstants::PEDIDO,
  341.                         "numero_documento"   => $pedido,
  342.                         "id_unidade_negocio" => $idUndNegocio
  343.                 );
  344.                
  345.         } else {
  346.                
  347.                 $params = array(
  348.                         "id_tipo_documento"  => TipoDocumentoConstants::EMAIL,
  349.                         "numero_documento"   => $remetente,
  350.                         "id_unidade_negocio" => $idUndNegocio
  351.                 );
  352.         }
  353.        
  354.         $identificacao = $tarefaBO->identificacaoPorDocumento($params, false);
  355.        
  356.         if (!empty($identificacao) && $params["id_tipo_documento"] == TipoDocumentoConstants::EMAIL) {
  357.                 $length = ($identificacao[0]["id_tipo_documento"] == TipoTerceiroConstants::FISICA) ? 11 : 14;
  358.                 $identificacao[0]["numero_documento"] = str_pad($identificacao[0]["numero_documento"], $length);
  359.                
  360.         }
  361.        
  362.         return array('identificacao' => $identificacao, 'id_tipo_documento' => $params["id_tipo_documento"]);
  363.        
  364.     }
  365.    
  366.         /**
  367.          * Identifica o pedido ou email de um cliente para tarefas do tipo 'R'
  368.          *
  369.          * @param unknown $email
  370.          * @return unknown|boolean
  371.          */    
  372.         private function getNumPedidoTextoEmail($email) {
  373.        
  374.                 $email = str_replace(array("<br>", "<br >", "<br/>", "<br />"), PHP_EOL, $email);
  375.        
  376.                 $email = strip_tags($email);
  377.        
  378.                 $tokens = explode(PHP_EOL, $email);
  379.        
  380.                 $pedido = "pedido";
  381.        
  382.                 foreach ($tokens as $token) {
  383.                                
  384.                         if (stripos($token, $pedido) !== false) {
  385.        
  386.                                 preg_match('/[0-9]+/', $token, $matches);
  387.                                
  388.                                 if (!empty($matches)) {
  389.                                         return $matches[0];
  390.                                 }
  391.                         }
  392.                 }
  393.                 return false;
  394.         }
  395.        
  396.        
  397.         public function identificarEmail() {
  398.                
  399.                 $remetente = "frederico.contab@gmail.com";
  400.                
  401.                 $tarefa = array("id_unidade_negocio" => 10);
  402.                
  403.                 $msgBody = "Fale Conosco  - ClubeDoRicardo.com.br
  404.                                 Nome: Frederico Eduardo de Oliveira
  405.                                 Email: frederico.contab@gmail.comTelefone: (62) 9616-9292
  406.                                 Assunto: Entrega
  407.                                 Pedido: 23375843
  408.                                 Coment&aacute;rio: Bom dia !!!
  409. N&atilde;o consigo rastrear meu pedido mandei email e n&atilde;o me responderam
  410. o que devo fazer por favor";
  411.                
  412.                 if (!empty($remetente) && !empty($tarefa['id_unidade_negocio'])) {
  413.                                
  414.                         $ident = $this->identificarClientePedidoEmail($remetente, $tarefa['id_unidade_negocio'], $msgBody);
  415.                                
  416.                         if (!empty($ident["identificacao"])) {
  417.                
  418.                                 $identificacao = (!empty($ident["identificacao"][0])) ? $ident["identificacao"][0] : $ident["identificacao"];
  419.                                 $tarefa["id_pedido_venda"] = ($ident["id_tipo_documento"] == TipoDocumentoConstants::PEDIDO) ? $identificacao["id_pedido_venda"] : null;
  420.                                 $tarefa["numero_documento"] = ($ident["id_tipo_documento"] == TipoDocumentoConstants::PEDIDO) ? $identificacao["num_controle_pedido"] : $identificacao["documento"];
  421.                                 $tarefa["id_tipo_documento"] = ($ident["id_tipo_documento"] == TipoDocumentoConstants::EMAIL) ? TipoDocumentoConstants::CLIENTE : $ident["id_tipo_documento"];
  422.                
  423.                                 if (!$this->validaIdentificacao($tarefa)) {
  424.                                         unset($tarefa["id_pedido_venda"], $tarefa["numero_documento"], $tarefa["id_tipo_documento"]);
  425.                                 }
  426.                                
  427.                         }
  428.                 }
  429.                
  430.                 echo'<pre>';print_r($tarefa);
  431.         }
  432.        
  433.         private function validaIdentificacao($dados) {
  434.                  
  435.                 $tabela = ($dados["id_tipo_documento"] == TipoDocumentoConstants::PEDIDO) ? "pedidos_venda" : "terceiros";
  436.                 $campo = ($dados["id_tipo_documento"] == TipoDocumentoConstants::PEDIDO) ? "num_controle_pedido" : "documento";
  437.                 $filtros = array($campo => $dados["numero_documento"]);
  438.                  
  439.                 return $this->persistenceService->count($tabela, $filtros);
  440.         }
  441.        
  442.         public function buscarTarefasEmails() {
  443.                 $tarefaBO = new TarefaBO();
  444.                
  445.                 $dados = array(
  446.                         "id_tipo_acao" => "E",
  447.                         "id_acao"          => 10005,
  448.                         "id_are_res"   => "SBO"
  449.                 );
  450.                
  451.                 $tarefa = $tarefaBO->buscarTarefasEmails($dados);
  452.                
  453.                
  454.                 echo'<pre>';print_r($tarefa);
  455.                
  456.         }
  457.        
  458. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top