Exemplo n.º 1
0
 /**
  * Get param datos adicionales
  * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
  * @param int $maestroId
  * @param \stdClass $valores
  * @param string $tipo
  * @return \Tesoreria\Models\ParamDatosAdicionales
  */
 public static function getParamDatosAdicionales($serviceLocator, $maestroId, $valores = null, $tipo)
 {
     self::init($serviceLocator);
     $confDA = self::$confDatosAdicionalesDao->getAllObjects(array('ma_ba_maestro' => $maestroId));
     $objMaestro = self::$maestroBaseDao->getById($maestroId);
     $arrayListaConfiguraciones = array();
     $paramDA = new ParamDatosAdicionales();
     foreach ($confDA as $conf) {
         $listaConfiguracion = new ListaConfiguraciones();
         $listaConfiguracion->setConfiguracion($conf);
         if (!is_null($valores) && property_exists($valores, $conf->getId())) {
             $id = $conf->getId();
             $listaConfiguracion->setValor($valores->{$id});
         }
         $arrayListaConfiguraciones[] = $listaConfiguracion;
     }
     $paramDA->setMaestroBase($objMaestro);
     $paramDA->setTipo($tipo);
     $paramDA->setListaConfiguraciones($arrayListaConfiguraciones);
     return $paramDA;
 }
Exemplo n.º 2
0
 /**
  * inicio eporte Deposito
  * @param \Zend\ServiceManager\ServiceLocatorInterface $serviceLocator
  * @param \Tesoreria\Models\ERequest $request
  * @return \Tesoreria\Models\EResponse
  */
 public static function inicioReporteDeposito($serviceLocator, $request)
 {
     $response = new EResponse();
     $params = array();
     $params["request"] = $request;
     $params = json_encode($params);
     $conexion = $serviceLocator->get(Constants::SCHEMA_1)->getDriver()->getConnection();
     $conexion->beginTransaction();
     try {
         self::init($serviceLocator);
         ExpLog::save($serviceLocator, $request->header->serieEquipo, Constants::LOG_ACTIVIDAD, "", "inicio eporte Deposito", $params, "", $request->header->usuario);
         // Busco un maestro especifico, en este caso la terminal que esta interactuando
         $maestroTerminal = self::$maestroBaseDao->getOneObject(array('codigo_alternativo' => $request->header->serieEquipo));
         /// ---------------------------------- BUSCO DE LOS ITEMS DEL FAJO  -------------------------------------///
         // ----- Realizo la busqueda del item de fajos para la terminal en cuestion ------------- ///
         $condicion = 'owner = ' . $maestroTerminal->getId() . ' and it_cantidad > 0';
         $resultSetItemsFajos = ExpStoresProcedures::findItems($serviceLocator, Constants::MA_BA_FAJOS, $condicion);
         $cadenaIds = '';
         foreach ($resultSetItemsFajos as $item) {
             $cadenaIds .= $item->it_id . ',';
         }
         //$response->result = $cadenaIds;
         //return $response;
         $itemsFajos = self::$itemDao->getAllObjects(array('it_id_in' => $cadenaIds . '0'));
         /*foreach ($itemsFajos as $key => $item ) {
         
                        $usosItem   = $item->getUsosDatosAdicionales($serviceLocator);
                        $item->setUsosDatosAdicionales($usosItem);
         
                        $itemsFajos[$key] = $item;
                     }*/
         /// ---------------------------------------------------------------------------------------------------------///
         /// ---------------------------------- BUSCO EL ITEM DE PESOS DE LA TESORERIA -------------------------------///
         $maestroPesos = self::$maestroBaseDao->getById(Constants::MA_BA_PESOS);
         $condicion = 'owner = ' . $maestroTerminal->getId();
         $resultSetItemPesos = ExpStoresProcedures::findItems($serviceLocator, Constants::MA_BA_PESOS, $condicion);
         if (count($resultSetItemPesos) == 0) {
             throw new Exception("Error: el item de pesos de la terminal no ha sido encontrado");
         }
         $itemPesos = self::$itemDao->getOneObject(array('it_id' => $resultSetItemPesos[0]->it_id));
         /// ---------------------------------------------------------------------------------------------------------///
         // ----- Construyo el parametro de retorno de los items ------------- ///
         // Items de Fajos
         $paramItem = new ParamItems();
         $paramItem->setNombre('Fajos');
         $paramItem->setItems($itemsFajos);
         // Items de Pesos
         $paramItem1 = new ParamItems();
         $paramItem1->setNombre('Pesos');
         $paramItem1->setItems(array($itemPesos));
         // Seteo la variable para retornar
         $response->param_items = array($paramItem, $paramItem1);
         /// ---------------------------------------------------------------------------------------------------------///
         // ----- Construyo el parametro de retorno de los maestros ------------- ///
         // Busco un maestro especifico, en este caso
         $maestroBanco = self::$maestroBaseDao->getOneObject(array('ma_ba_id' => Constants::MA_BA_BANCO));
         // Busco un maestro especifico, en este caso
         $maestroTransporte = self::$maestroBaseDao->getOneObject(array('ma_ba_id' => Constants::MA_BA_TRANSEPORTE));
         $paramMaestros = new ParamMaestros();
         $paramMaestros->setNombre('TipoDepositos');
         $paramMaestros->setMaestrosBase(array($maestroBanco, $maestroTransporte));
         # 2. Construyo el parametro de retorno de los maestros del tipo ente
         $padreId = $maestroTerminal->getPadre($serviceLocator)->getId();
         $maestrosOrigenFajos = self::$maestroBaseDao->getAllObjects(array('ma_ba_padre' => $padreId));
         $paramMaestrosFajos = new ParamMaestros();
         $paramMaestrosFajos->setNombre('Origen_Fajos');
         $paramMaestrosFajos->setMaestrosBase($maestrosOrigenFajos);
         # 3. Seteo la variable para retornar
         $response->param_maestros = array($paramMaestros, $paramMaestrosFajos);
         /// ---------------------------------------------------------------------------------------------------------///
         /// ---------------------------------- CONSTRUYO LOS DATOS ADICIONALES  DE LA REGISTRACION -------------------------------///
         # Configuracion de fajos
         $confDAFajos = self::$confDatosAdicionalesDao->getAllObjects(array('ma_ba_maestro' => Constants::MA_BA_FAJOS));
         $allParamDA = array();
         foreach ($resultSetItemsFajos as $item) {
             $arrayListaConfiguraciones = array();
             $maestroFajos = self::$maestroBaseDao->getById(Constants::MA_BA_FAJOS);
             $paramDAFajos = new ParamDatosAdicionales();
             $paramDAFajos->setMaestroBase($maestroFajos);
             $paramDAFajos->setTipo(Constants::MO_SALIDA_CORTO);
             $paramDAFajos->setIdItem((int) $item->it_id);
             foreach ($confDAFajos as $conf) {
                 $listaConfiguracion = new ListaConfiguraciones();
                 $listaConfiguracion->setConfiguracion(self::$confDatosAdicionalesDao->getById($conf->id));
                 $columnName = $conf->nombre;
                 $listaConfiguracion->setValor($item->{$columnName});
                 $arrayListaConfiguraciones[] = $listaConfiguracion;
             }
             $paramDAFajos->setListaConfiguraciones($arrayListaConfiguraciones);
             $allParamDA[] = $paramDAFajos;
         }
         # Configuracion de Deposito Banco
         $confDADepBanco = self::$confDatosAdicionalesDao->getAllObjects(array('ma_ba_maestro' => Constants::MA_BA_BANCO));
         $maestroDepBanco = self::$maestroBaseDao->getById(Constants::MA_BA_BANCO);
         $paramDABanco = new ParamDatosAdicionales();
         $paramDABanco->setMaestroBase($maestroDepBanco);
         $paramDABanco->setTipo(Constants::MO_ENTRADA_CORTO);
         $arrayListaConfiguraciones = array();
         foreach ($confDADepBanco as $conf) {
             $listaConfiguracion = new ListaConfiguraciones();
             $listaConfiguracion->setConfiguracion(self::$confDatosAdicionalesDao->getById($conf->id));
             if ($conf->nombre == 'owner') {
                 $listaConfiguracion->setValor($maestroTerminal->id);
             }
             $arrayListaConfiguraciones[] = $listaConfiguracion;
         }
         $paramDABanco->setListaConfiguraciones($arrayListaConfiguraciones);
         $allParamDA[] = $paramDABanco;
         # Configuracion de Deposito Banco
         $confDADepTransp = self::$confDatosAdicionalesDao->getAllObjects(array('ma_ba_maestro' => Constants::MA_BA_TRANSEPORTE));
         $maestroDepTransp = self::$maestroBaseDao->getById(Constants::MA_BA_TRANSEPORTE);
         $paramDATransp = new ParamDatosAdicionales();
         $paramDATransp->setMaestroBase($maestroDepTransp);
         $paramDATransp->setTipo(Constants::MO_ENTRADA_CORTO);
         $arrayListaConfiguraciones = array();
         foreach ($confDADepTransp as $conf) {
             $listaConfiguracion = new ListaConfiguraciones();
             $listaConfiguracion->setConfiguracion(self::$confDatosAdicionalesDao->getById($conf->id));
             if ($conf->nombre == 'owner') {
                 $listaConfiguracion->setValor($maestroTerminal->id);
             }
             $arrayListaConfiguraciones[] = $listaConfiguracion;
         }
         $paramDATransp->setListaConfiguraciones($arrayListaConfiguraciones);
         $allParamDA[] = $paramDATransp;
         # Configuracion de Pesos
         $confDAPesos = self::$confDatosAdicionalesDao->getAllObjects(array('ma_ba_maestro' => Constants::MA_BA_PESOS));
         $paramDAPesos = new ParamDatosAdicionales();
         $paramDAPesos->setMaestroBase($maestroPesos);
         $paramDAPesos->setTipo(Constants::MO_SALIDA_CORTO);
         $paramDAPesos->setIdItem($itemPesos->id);
         $arrayListaConfiguraciones = array();
         foreach ($confDAPesos as $conf) {
             $listaConfiguracion = new ListaConfiguraciones();
             $listaConfiguracion->setConfiguracion(self::$confDatosAdicionalesDao->getById($conf->id));
             $listaConfiguracion->setValor($maestroTerminal->id);
             $arrayListaConfiguraciones[] = $listaConfiguracion;
         }
         $paramDAPesos->setListaConfiguraciones($arrayListaConfiguraciones);
         $allParamDA[] = $paramDAPesos;
         /// finalmente agregro todos los datoa al response.
         $response->param_da = $allParamDA;
         /// ---------------------------------------------------------------------------------------------------------------------///
         $conexion->commit();
         return $response;
     } catch (Exception $e) {
         $conexion->rollback();
         ExpLog::save($serviceLocator, $request->header->serieEquipo, Constants::LOG_ERROR, "", "inicio eporte Deposito", $params, $e->getMessage(), $request->header->usuario);
         $error = new Error();
         $error->setMensaje("Error: no se pudo iniciar el corte de caja.");
         $response->error = $error;
         return $response;
     }
 }