public function testCatalogoCuentasEmpresa() { $dir = new Direccion(); $dir->setIdUsuarioUltimaModificacion(1); $dir->setUltimaModificacion(mktime()); $dir->setCalle("Calle: " . mktime()); DAO::transBegin(); try { DireccionDAO::save($dir); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se ha podido guardar la direccion (Desde Unit Tests): " . $e); if ($e->getCode() == 901) { throw new Exception("No se ha podido guardar la nueva direccion (desde Unit Test)|: " . $e->getMessage(), 901); } throw new Exception("No se ha podido guardar la nueva direccion (Desde Unit Tests)", 901); } DAO::transEnd(); $empresa = new Empresa(); $empresa->setRazonSocial("Razon Social - " . time()); $empresa->setRfc(time()); $empresa->setIdDireccion($dir->getIdDireccion()); $empresa->setFechaAlta(mktime()); $empresa->setIdLogo(1); $empresa->setActivo(1); DAO::transBegin(); try { EmpresaDAO::save($empresa); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se ha podido guardar la nueva empresa (Desde Unit Tests): " . $e); if ($e->getCode() == 901) { throw new Exception("No se ha podido guardar la nueva empresa (desde Unit Test)|: " . $e->getMessage(), 901); } throw new Exception("No se ha podido guardar la nueva empresa (Desde Unit Tests)", 901); } DAO::transEnd(); $res = ContabilidadController::NuevoCatalogoCuentasEmpresa($empresa->getIdEmpresa()); //return array("status"=>"ok","id_catalogo_cuentas"=>$nuevo_catalogo_cuentas->getIdCatalogo()); $this->assertSame('ok', $res["status"]); $this->assertInternalType('int', (int) $res["id_catalogo_cuentas"]); }
/** * *Edita los datos de una sucursal * * @author Juan Manuel García Carmona <*****@*****.**> * @param id_sucursal int Id de la sucursal a modificar * @param id_tarifa int Id de la tarifa por default de la sucursal * @param activo bool Indica si esta sucursal estar activa * @param descripcion string Descripcion de la sucursal * @param direccion json Objeto que contiene la informacin sobre al direccion * @param id_gerente int Id del gerente de la sucursal **/ public static function Editar($id_sucursal, $activo = null, $descripcion = null, $direccion = null, $id_gerente = null, $id_tarifa = null) { DAO::transBegin(); //Se obtiene la sucursal a editar y se valida que exista if (!($sucursal = SucursalDAO::getByPK($id_sucursal))) { Logger::error("La sucursal con id : {$id_sucursal} no existe"); throw new InvalidDataException("La sucursal con id : {$id_sucursal} no existe"); } //verificamos si la sucursal esta activa en caso de no estarlo solo permitira activarla if ($activo !== NULL) { $val = null; if ($activo == 1) { $val = true; } elseif ($activo == "") { $val = false; } $sucursal->setActiva($val); } //editamos solo la direccion if (!is_null($direccion)) { if (!is_array($direccion)) { $direccion = object_to_array($direccion); } //varificamos si la direccion que tiene la sucursal existe si no creamos una if (!($_direccion = DireccionDAO::getByPK($sucursal->getIdDireccion()))) { //no existe, etonces creamos una nueva direccion DireccionController::NuevaDireccion(isset($direccion['calle']) ? $direccion['calle'] : "", isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : "", isset($direccion['colonia']) ? $direccion['colonia'] : "", isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : "", isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : "", isset($direccion['numero_interior']) ? $direccion['numero_interior'] : "", isset($direccion['referencia']) ? $direccion['referencia'] : "", isset($direccion['telefono1']) ? $direccion['telefono1'] : "", isset($direccion['telefono2']) ? $direccion['telefono2'] : ""); } else { //la direccion existe, hay que editarla $_direccion->setCalle(isset($direccion['calle']) ? $direccion['calle'] : ""); $_direccion->setNumeroExterior(isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : ""); $_direccion->setNumeroInterior(isset($direccion['numero_interior']) ? $direccion['numero_interior'] : ""); $_direccion->setReferencia(isset($direccion['referencia']) ? $direccion['referencia'] : ""); $_direccion->setColonia(isset($direccion['colonia']) ? $direccion['colonia'] : ""); $_direccion->setIdCiudad(isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : ""); $_direccion->setCodigoPostal(isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : ""); $_direccion->setTelefono(isset($direccion['telefono1']) ? $direccion['telefono1'] : ""); $_direccion->setTelefono2(isset($direccion['telefono2']) ? $direccion['telefono2'] : ""); try { DireccionDAO::save($_direccion); } catch (Exception $e) { DAO::transRollback(); Logger::error("Error al modificar la direccion : {$e}"); throw new Exception("Ocurrio un error al modificar la direccion"); } } } //verificamos si cambio el gerente if (!is_null($id_gerente)) { $usuario_gerente = UsuarioDAO::getByPK($id_gerente); if (!$usuario_gerente) { Logger::error("No se tiene registro del gerente con id : {$id_gerente}"); throw new Exception("No se tiene registro del gerente con id : {$id_gerente}"); } else { $sucursal->setIdGerente($usuario_gerente->getIdUsuario()); } } // if (!is_null($id_tarifa) && !($tarifa = TarifaDAO::getByPK($id_tarifa))) { Logger::error("No se tiene registro de la tarifa con id : {$id_gerente}"); throw new Exception("No se tiene registro de la tarifa indicada"); } else { $sucursal->setIdTarifa($id_tarifa); } //verificamos si cambio la descripcion $descripcion = trim($descripcion); if ($descripcion !== $sucursal->getDescripcion()) { //verificamos si hay una sucursal con esa misma descripcion $sucursales = SucursalDAO::search(new Sucursal(array("descripcion" => $descripcion))); if (!empty($sucursales)) { DAO::transRollback(); Logger::error("Ya existe una sucursal con esa descripcion"); throw new Exception("Ya existe una sucursal con esa descripcion"); } else { $sucursal->setDescripcion($descripcion); } } try { SucursalDAO::save($sucursal); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo actualizar la sucursal: " . $e); if ($e->getCode() == 901) { throw new Exception("No se pudo actualizar la sucursal: " . $e->getMessage(), 901); } throw new Exception("No se pudo actualizar la sucursal", 901); } DAO::transEnd(); Logger::log("Sucursal actualizada exitosamente"); }
public static function EditarDireccion($direccion) { //verificamos si se cambiaron las direcciones if (!is_null($direccion)) { Logger::log("\tEditando direccion ..."); if (!is_array($direccion)) { //Logger::error("Verifique el formato de los datos de las direcciones, se esperaba un array "); //throw new Exception("Verifique el formato de los datos de las empresas, se esperaba un array "); $direccion = object_to_array($direccion); } $_direccion = new Direccion($direccion); $d = DireccionDAO::getByPK($_direccion->getIdDireccion()); //verificamos si se va a editar una direccion o se va a crear una nueva if (isset($d->id_direccion)) { //se edita la direccion if (!($_direccion = DireccionDAO::getByPK($d->id_direccion))) { DAO::transRollback(); Logger::error("No se tiene registro de la dirección con id : {$direccion->id_direccion}"); throw new InvalidDataException("No se tiene registro de la dirección con id : {$direccion->id_direccion}"); } //bandera que indica si cambia algun parametro de la direccion $cambio_direccion = false; //calle if (array_key_exists('calle', $direccion)) { $_direccion->setCalle($direccion['calle']); $cambio_direccion = true; } //numero_exterior if (array_key_exists('numero_exterior', $direccion)) { $cambio_direccion = true; $_direccion->setNumeroExterior($direccion['numero_exterior']); } //numero_interior if (array_key_exists('numero_interior', $direccion)) { $cambio_direccion = true; $_direccion->setNumeroInterior($direccion['numero_interior']); } //referencia if (array_key_exists('referencia', $direccion)) { $cambio_direccion = true; $_direccion->setReferencia($direccion['referencia']); } //colonia if (array_key_exists('colonia', $direccion)) { $cambio_direccion = true; $_direccion->setColonia($direccion['colonia']); } //id_ciudad if (array_key_exists('id_ciudad', $direccion)) { $cambio_direccion = true; $_direccion->setIdCiudad($direccion['id_ciudad']); } //codigo_postal if (array_key_exists('codigo_postal', $direccion)) { $cambio_direccion = true; $_direccion->setCodigoPostal($direccion['codigo_postal']); } //telefono if (array_key_exists('telefono', $direccion)) { $cambio_direccion = true; $_direccion->setTelefono($direccion['telefono']); } //telefono2 if (array_key_exists('telefono2', $direccion)) { $cambio_direccion = true; $_direccion->setTelefono2($direccion['telefono2']); } //Si cambio algun parametro de direccion, se actualiza el usuario que modifica y la fecha if ($cambio_direccion) { $_direccion->setUltimaModificacion(time()); $id_usuario = SesionController::Actual(); $id_usuario = $id_usuario["id_usuario"]; if (is_null($id_usuario)) { DAO::transRollback(); Logger::error("No se pudo obtener al usuario de la sesion, ya inicio sesion?"); throw new Exception("No se pudo obtener al usuario de la sesion, ya inicio sesion?"); } $_direccion->setIdUsuarioUltimaModificacion($id_usuario); //guardamos la direccion try { Logger::log("Salvando direccion..."); DireccionDAO::save($_direccion); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo guardar la direccion " . $e); if ($e->getCode() == 901) { throw new Exception("Error al guardar direccion de la sucursal {$sucursal->getRazonSocial()}: " . $e->getMessage(), 901); } throw new Exception("Error al guardar direccion de la sucursal {$sucursal->getRazonSocial()}", 901); } } //cambio dir } //verificacion editar dir } // !is_null }
/** * Desactivar Almacen */ public function testDesactivarAlmacen() { POSController::DropBd(); $usuario = UsuarioDAO::getAll(); if (sizeof($usuario) == 0) { Logger::error("WHOOOT no hay usuarios en la BD"); return; } $id_usuario = $usuario[0]->getIdUsuario(); @DireccionDAO::save($direccion = new Direccion(array("calle" => "Una Calle", "numero_exterior" => "322", "id_ciudad" => "12", "codigo_postal" => "38000", "ultima_modificacion" => "2012-02-21 22:10:45", "id_usuario_ultima_modificacion" => "2"))); @EmpresaDAO::save($empresa = new Empresa(array("id_direccion" => $direccion->getIdDireccion(), "rfc" => "RFC_" . time(), "razon_social" => "Empresa_Razon_Social__" . time(), "fecha_alta" => "2012-02-21 22:10:45", "activo" => 1, "direccion_web" => "Dir_" . time()))); @SucursalDAO::save($sucursal = new Sucursal(array("id_direccion" => $direccion->getIdDireccion(), "razon_social" => "Sucursal_Razon_Social__" . time(), "saldo_a_favor" => 2000, "fecha_apertura" => "2012-02-21 22:10:45", "activa" => 1))); $tipo_almacen = AlmacenesController::NuevoTipo("Nuevo_Tipo_Almacen___" . time()); Logger::log("Nuevo almacen"); $almacen = AlmacenesController::Nuevo($id_empresa = $empresa->getIdEmpresa(), $id_sucursal = $sucursal->getIdSucursal(), $id_tipo_almacen = $tipo_almacen["id_tipo_almacen"], $nombre = "Almacen_Editar" . time(), $descripcion = "Almacen de prueba_ " . time()); // Desactivamos el Almacen Logger::log("A desactivar almacen recien creado"); $almacen_desactivado = AlmacenesController::Desactivar($id_almacen = $almacen["id_almacen"]); $_almacen = AlmacenDAO::getByPK($almacen["id_almacen"]); $this->assertEquals(0, $_almacen->getActivo()); }