public function asignarClienteUsuarioAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $SesionUsuarioPlugin->isLoginVentas();
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $UsuarioBO = new UsuarioBO();
         $PedidoBO = new PedidoBO();
         $UsuarioBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $PedidoBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $body = $this->getRequest()->getContent();
         $json = json_decode($body, true);
         $cliente_id = $json['cliente_id'];
         $usuario_id = $json['usuario_id'];
         $reg_usuario = $UsuarioBO->consultar($usuario_id, \Application\Constants\ResultType::MATRIZ);
         $SesionUsuarioPlugin->setUserClienteId($cliente_id);
         $SesionUsuarioPlugin->setUserClienteNombre($reg_usuario['cliente_nombre']);
         $SesionUsuarioPlugin->setClienteUsuarioId($usuario_id);
         $SesionUsuarioPlugin->setClienteUsuarioNombre($reg_usuario['nombre']);
         $SesionUsuarioPlugin->setClienteUsuarioUserName($reg_usuario['username']);
         //$SesionUsuarioPlugin->setClienteCalidadId			($reg_usuario['calidad_id']);
         //-------------2015-09-29 Se asignan las nuevas variables de session --------------------
         $SesionUsuarioPlugin->setUserInventarioId($reg_usuario['inventario_id']);
         $SesionUsuarioPlugin->setUserCalidadId($reg_usuario['calidad_id']);
         $SesionUsuarioPlugin->setUserGrupoPrecioCabId($reg_usuario['grupo_precio_cab_id']);
         $SesionUsuarioPlugin->setUserGrupoDispoCabId($reg_usuario['grupo_dispo_cab_id']);
         $SesionUsuarioPlugin->setUserPuntoCorte($reg_usuario['punto_corte']);
         //---------------------------------------------------------------------------------------
         $response = new \stdClass();
         $response->respuesta_code = 'OK';
         $response->cliente_id = $cliente_id;
         $response->cliente_usuario_id = $usuario_id;
         $response->cliente_nombre = $reg_usuario['cliente_nombre'];
         $response->cliente_usuario_nombre = $reg_usuario['nombre'];
         $response->cliente_usuario_username = $reg_usuario['username'];
         //Se consulta si existe un pedido comprando para reactivar y seguir en la compra
         $reg_pedido = $PedidoBO->consultarUltimoPedidoComprando($cliente_id);
         //Si existe el registro en estado comprando lo asigna a la variable de sesion para que lo utilize
         if ($reg_pedido) {
             $session = new Container('usuario');
             $session->offsetSet('cliente_pedido_cab_id_actual', $reg_pedido['id']);
             $session->offsetSet('cliente_seleccion_marcacion_sec', $reg_pedido['marcacion_sec']);
             $session->offsetSet('cliente_seleccion_marcacion_nombre', $reg_pedido['marcacion_nombre']);
             $session->offsetSet('cliente_seleccion_agencia_id', $reg_pedido['agencia_carga_id']);
             $session->offsetSet('marcacion_tipo_caja_default_id', $reg_pedido['tipo_caja_default_id']);
         }
         //end if
         $json = new JsonModel(get_object_vars($response));
         return $json;
     } catch (\Exception $e) {
         $excepcion_msg = utf8_encode($this->ExcepcionPlugin()->getMessageFormat($e));
         $response = $this->getResponse();
         $response->setStatusCode(500);
         $response->setContent($excepcion_msg);
         return $response;
     }
 }
 public function autenticarAction()
 {
     try {
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $UsuarioBO = new UsuarioBO();
         $PedidoBO = new PedidoBO();
         $UsuarioBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $PedidoBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $request = $this->getRequest();
         $this->capturaDatosRedUsuario();
         if ($this->getRequest()->isPost()) {
             $usuario = $this->getRequest()->getPost('username', null);
             $clave = $this->getRequest()->getPost('password', null);
             $ipAcceso = $this->_ipAcceso;
             $nombreHost = $this->_nombreHost;
             $agenteUsuario = $this->_agenteUsuario;
             if (empty($usuario) || empty($clave)) {
                 $this->flashmessenger()->addMessage("Usuario y/o Clave no válidos");
                 return $this->redirect()->toRoute('home');
             }
             //end if
             $rsUsuario = $UsuarioBO->login($usuario, $clave, $ipAcceso, $nombreHost, $agenteUsuario);
             //					$menuDinamico = $UsuarioBO->getMenuDinamicoPerfil($rsUsuario['id'], $dispositivo_id, 1);
             if (empty($rsUsuario['id'])) {
                 $this->flashmessenger()->addMessage($rsUsuario['respuesta_mensaje']);
                 return $this->redirect()->toRoute('home');
             } else {
                 switch ($rsUsuario['respuesta_codigo']) {
                     case "OK":
                         $session = new Container('usuario');
                         $session->offsetSet('usuario_id', $rsUsuario['id']);
                         $session->offsetSet('usuario_nombre', $rsUsuario['usuario_nombre']);
                         $session->offsetSet('username', $rsUsuario['username']);
                         $session->offsetSet('email', $rsUsuario['email']);
                         $session->offsetSet('atributos', $rsUsuario['atributos']);
                         $session->offsetSet('perfil_id', $rsUsuario['perfil_id']);
                         $session->offsetSet('perfil_nombre', $rsUsuario['perfil_nombre']);
                         $session->offsetSet('cliente_id', $rsUsuario['cliente_id']);
                         $session->offsetSet('cliente_nombre', $rsUsuario['cliente_nombre']);
                         //$session->offsetSet('cliente_calidad_id', $rsUsuario['calidad_id']);
                         /** -------------------------------------------------------------------
                          * 2015-09-29  - Variables nuevas que se implemento al usuario
                          */
                         $session->offsetSet('cliente_usuario_inventario_id', $rsUsuario['usuario_inventario_id']);
                         $session->offsetSet('cliente_usuario_calidad_id', $rsUsuario['usuario_calidad_id']);
                         $session->offsetSet('cliente_usuario_grupo_precio_cab_id', $rsUsuario['usuario_grupo_precio_cab_id']);
                         $session->offsetSet('cliente_usuario_grupo_dispo_cab_id', $rsUsuario['usuario_grupo_dispo_cab_id']);
                         $session->offsetSet('cliente_usuario_punto_corte', $rsUsuario['usuario_punto_corte']);
                         /** ------------------------------------------------------------------ */
                         $session->offsetSet('cliente_seleccion_marcacion_sec', null);
                         $session->offsetSet('cliente_seleccion_agencia_id', null);
                         //Variables de sesion usadas por el usuario de vendedor para emular a los clientes
                         $session->offsetSet('cliente_usuario_id', null);
                         $session->offsetSet('cliente_usuario_nombre', null);
                         $session->offsetSet('cliente_usuario_username', null);
                         switch ($rsUsuario['perfil_id']) {
                             case \Application\Constants\Perfil::ID_CLIENTE:
                                 //CLIENTE
                                 //Se setea las variables del cliente, que solo es usuario en la emulacion del usuario vendedor
                                 //pero se lo deja inicializado para tener constancia de su existencia
                                 $session->offsetSet('cliente_usuario_id', $rsUsuario['id']);
                                 $session->offsetSet('cliente_usuario_nombre', $rsUsuario['usuario_nombre']);
                                 $session->offsetSet('cliente_usuario_username', $rsUsuario['username']);
                                 //Se consulta si existe un pedido comprando para reactivar y seguir en la compra
                                 $reg_pedido = $PedidoBO->consultarUltimoPedidoComprando($rsUsuario['cliente_id']);
                                 //Si existe el registro en estado comprando lo asigna a la variable de sesion para que lo utilize
                                 if ($reg_pedido) {
                                     $session->offsetSet('cliente_pedido_cab_id_actual', $reg_pedido['id']);
                                     $session->offsetSet('cliente_seleccion_marcacion_sec', $reg_pedido['marcacion_sec']);
                                     $session->offsetSet('cliente_seleccion_marcacion_nombre', $reg_pedido['marcacion_nombre']);
                                     $session->offsetSet('cliente_seleccion_agencia_id', $reg_pedido['agencia_carga_id']);
                                     $session->offsetSet('marcacion_tipo_caja_default_id', $reg_pedido['tipo_caja_default_id']);
                                     //$session->offsetSet('cliente_seleccion_marcacion_puntocorte',$reg_pedido['marcacion_punto_corte']);
                                     //Se consulta la marcacion y la agencia de carga del detalle de la factura
                                     /*											$reg_det	= $PedidoBO->consultarPedidoDetUltimoRegistro($reg_pedido['id']);//end if
                                     											if ($reg_det)
                                     											{
                                     												$session->offsetSet('cliente_seleccion_marcacion_sec', $reg_det['marcacion_sec']);
                                     												$session->offsetSet('cliente_seleccion_marcacion_nombre', $reg_det['marcacion_nombre']);
                                     												$session->offsetSet('cliente_seleccion_agencia_id', $reg_det['agencia_carga_id']);
                                     											}//end if
                                     */
                                 }
                                 //end if
                                 $session->offsetSet('layout', 'layout/pedido');
                                 unset($reg_pedido);
                                 break;
                             case \Application\Constants\Perfil::ID_VENTAS:
                                 $session->offsetSet('vendedor_usuario_id', $rsUsuario['id']);
                                 $session->offsetSet('vendedor_nombre_usuario', $rsUsuario['usuario_nombre']);
                                 $session->offsetSet('vendedor_username', $rsUsuario['username']);
                                 $session->offsetSet('layout', 'layout/pedido');
                                 break;
                             case \Application\Constants\Perfil::ID_ADMIN:
                                 //ADMIN
                                 $session->offsetSet('vendedor_usuario_id', $rsUsuario['id']);
                                 $session->offsetSet('vendedor_nombre_usuario', $rsUsuario['usuario_nombre']);
                                 $session->offsetSet('vendedor_username', $rsUsuario['username']);
                                 $session->offsetSet('layout', 'layout/pedido');
                                 //$session->offsetSet('layout','layout/admin');
                                 break;
                             default:
                                 //PARA EL PERFIL de DISPO
                                 $session->offsetSet('layout', 'layout/pedido');
                                 break;
                         }
                         //end switch
                         return $this->redirect()->toRoute('load-app');
                         break;
                     case "CAMBIO":
                         /*		$session = new Container('usuario');
                         						$session->offsetSet('usuario_id', $rsUsuario['id']);
                         						$session->offsetSet('usuario_nombre', $rsUsuario['nombre_usuario']);
                         						$session->offsetSet('username', $rsUsuario['nombre_persona']);
                         						$session->offsetSet('email', $rsUsuario['nombre_persona']);
                         						$session->offsetSet('perfil_id', $rsUsuario['perfil_id']);
                         						$session->offsetSet('perfil_nombre', $rsUsuario['nombre_perfil']);
                         						$session->offsetSet('cliente_id', $rsUsuario['perfil_siglas']);
                         						$session->offsetSet('cliente_nombre', $rsUsuario['grupo_empresarial_id']);
                         														
                         						$this->flashmessenger()->addMessage('Debe cambiar su clave');
                         						return $this->redirect()->toRoute('seguridad-cambioclave');
                         				*/
                         break;
                     default:
                         $this->flashmessenger()->addMessage($rsUsuario['respuesta_mensaje']);
                         return $this->redirect()->toRoute('home');
                         break;
                 }
             }
             //end if
         } else {
             $this->flashmessenger()->addMessage("Acceso no válido");
             return $this->redirect()->toRoute('home');
         }
         //end if
     } catch (\Exception $e) {
         $excepcion_msg = utf8_encode($this->ExcepcionPlugin()->getMessageFormat($e));
         $response = $this->getResponse();
         $response->setStatusCode(500);
         $response->setContent($excepcion_msg);
         return $response;
     }
     //end try
 }
 public function pruebaAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $PedidoBO = new PedidoBO();
         $PedidoBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $pedido_cab_id = $this->params()->fromQuery('pedido_cab_id', 78);
         //27  //75 //47
         $config = $this->getServiceLocator()->get('Config');
         //$archivo_pdf = $config['rutaArchivo']['tmp']."pedido".$pedido_cab_id.".pdf";
         //$PedidoBO->generarPDF($pedido_cab_id, null, $archivo_pdf, $config);
         //$PedidoBO->enviarEmailAdjuntoPDF($pedido_cab_id, null, $archivo_pdf, $config);
         $PedidoBO->enviarEmailAdjuntoPDF($pedido_cab_id);
         exit;
     } catch (\Exception $e) {
         $excepcion_msg = utf8_encode($this->ExcepcionPlugin()->getMessageFormat($e));
         $response = $this->getResponse();
         $response->setStatusCode(500);
         $response->setContent($excepcion_msg);
         return $response;
     }
 }