コード例 #1
0
 private static function validarParametrosClasificacionCliente($id_clasificacion_cliente = null, $clave_interna = null, $nombre = null, $descripcion = null, $id_tarifa_compra = null, $id_tarifa_venta = null)
 {
     //valida que la clasificacion exista
     if (!is_null($id_clasificacion_cliente)) {
         if (is_null(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente))) {
             return "La clasificacion de cliente " . $id_clasificacion_cliente . " no existe";
         }
     }
     //valida que la clave interna sea valida y que no se repita
     if (!is_null($clave_interna)) {
         $e = self::validarLongitudDeCadena($clave_interna, 0, 20);
         if (!$e) {
             return "La clave interna no tiene 0 a 20 caracteres";
         }
         if (!is_null($id_clasificacion_cliente)) {
             $clasificaciones_cliente = array_diff(ClasificacionClienteDAO::search(new ClasificacionCliente(array("clave_interna" => trim($clave_interna)))), array(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente)));
         } else {
             $clasificaciones_cliente = ClasificacionClienteDAO::search(new ClasificacionCliente(array("clave_interna" => trim($clave_interna))));
         }
         if (!empty($clasificaciones_cliente)) {
             Logger::log("La clave interna (" . $clave_interna . ") ya esta en uso");
             throw new BusinessLogicException("La clave interna (" . $clave_interna . ") ya esta en uso");
         }
     }
     //valida que el nombre sea valido y que no se repita
     if (!is_null($nombre)) {
         $e = ValidacionesController::validarLongitudDeCadena($nombre, 1, 16);
         if (!$e) {
             return "El nombre {$nombre} no tiene de 1 a 16 caracteres";
         }
         if (!is_null($id_clasificacion_cliente)) {
             $clasificaciones_cliente = array_diff(ClasificacionClienteDAO::search(new ClasificacionCliente(array("nombre" => trim($nombre)))), array(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente)));
         } else {
             $clasificaciones_cliente = ClasificacionClienteDAO::search(new ClasificacionCliente(array("nombre" => trim($nombre))));
         }
         if (!empty($clasificaciones_cliente)) {
             Logger::log("El nombre (" . $nombre . ") ya esta en uso");
             throw new BusinessLogicException("El nombre (" . $nombre . ") ya esta en uso");
         }
     }
     //valida que la descripcion este en rango
     if (!is_null($descripcion)) {
         $e = ValidacionesController::validarLongitudDeCadena($descripcion, 0, 255);
         if (!$e) {
             return "La descricpion no tiene de 0 a 255 caracteres";
         }
     }
     //valida que la tarifa de compra exista, este activa y sea una tarifa de compra
     if (!is_null($id_tarifa_compra)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_compra);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_compra . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_compra . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "compra") {
             return "La tarifa " . $id_tarifa_compra . " no es de compra";
         }
     }
     //valida que la tarifa de venta exista, este activa y sea una tarifa de venta
     if (!is_null($id_tarifa_venta)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_venta);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_venta . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_venta . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "venta") {
             return "La tarifa " . $id_tarifa_venta . " no es de venta";
         }
     }
     //No se encontro error
     return true;
 }
コード例 #2
0
 private static function validarParametrosClasificacionProveedor($id_clasificacion_proveedor = null, $nombre = null, $descripcion = null, $activa = null, $id_tarifa_compra = null, $id_tarifa_venta = null)
 {
     //valida que la clasificacion exista y este activa
     if (!is_null($id_clasificacion_proveedor)) {
         $clasificacion_proveedor = ClasificacionProveedorDAO::getByPK($id_clasificacion_proveedor);
         if (is_null($clasificacion_proveedor)) {
             return "La clasificacion proveedor " . $id_clasificacion_proveedor . " no existe";
         }
         if (!$clasificacion_proveedor->getActiva()) {
             return "La clasificacion proveedor " . $id_clasificacion_proveedor . " no esta activa";
         }
     }
     //valida que el nombre este en rango y que no se repita
     if (!is_null($nombre)) {
         $e = self::validarString($nombre, 100, "nombre");
         if (is_string($e)) {
             return $e;
         }
         $clasificaciones_proveedor = ClasificacionProveedorDAO::search(new ClasificacionProveedor(array("nombre" => trim($nombre))));
         foreach ($clasificaciones_proveedor as $clasificacion_proveedor) {
             if ($clasificacion_proveedor->getActiva()) {
                 return "El nombre (" . $nombre . ") esta siendo usado por la clasificacion de proveedor " . $clasificacion_proveedor->getIdClasificacionProveedor();
             }
         }
     }
     //valida que la descripcion este en rango
     if (!is_null($descripcion)) {
         $e = self::validarString($descripcion, 255, "descripcion");
         if (is_string($e)) {
             return $e;
         }
     }
     //valida el boleano activa
     if (!is_null($activa)) {
         $e = self::validarNumero($activa, 1, "activa");
         if (is_string($e)) {
             return $e;
         }
     }
     //valida que la tarifa de compra exista, este activa y sea una tarifa de compra
     if (!is_null($id_tarifa_compra)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_compra);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_compra . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_compra . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "compra") {
             return "La tarifa " . $id_tarifa_compra . " no es de compra";
         }
     }
     //valida que la tarifa de venta exista, este activa y sea una tarifa de venta
     if (!is_null($id_tarifa_venta)) {
         $tarifa = TarifaDAO::getByPK($id_tarifa_venta);
         if (is_null($tarifa)) {
             return "La tarifa " . $id_tarifa_venta . " no existe";
         }
         if (!$tarifa->getActiva()) {
             return "La tarifa " . $id_tarifa_venta . " no esta activa";
         }
         if ($tarifa->getTipoTarifa() != "venta") {
             return "La tarifa " . $id_tarifa_venta . " no es de venta";
         }
     }
     //no se encontro error, regresa verdadero
     return true;
 }
コード例 #3
0
 /**
  *
  *Edita la informacion de un grupo, puede usarse para editar los permisos del mismo
  *
  * @author Juan Manuel Garc&iacute;a Carmona <*****@*****.**>
  * @param id_rol int Id del rol a editar
  * @param descripcion string Descripcion larga del grupo
  * @param id_perfil int Id del perfil de usuario en el sistema
  * @param id_rol_padre int Id del rol padre
  * @param id_tarifa_compra int Id de la tarifa de compora por default que aplicara a los usuarios de este rol. Si un usuario tiene otra tarifa de compra, no sera sobreescrita
  * @param id_tarifa_venta int Id de la tarifa de venta por default que aplicara a los usuarios de este rol . Si un usuario ya tiene otra tarifa de venta, no sera sobreescrita.
  * @param nombre string Nombre del grupo
  * @param salario float Salario base para este rol
  **/
 public static function EditarRol($id_rol, $descripcion = null, $id_perfil = null, $id_rol_padre = null, $id_tarifa_compra = null, $id_tarifa_venta = null, $nombre = null, $salario = "0")
 {
     //verificamos si el rol qeu se quiere editar existe
     if (!($rol = RolDAO::getByPK($id_rol))) {
         Logger::error("No se tiene registro del rol que desea editar");
         throw new Exception("No se tiene registro del rol que desea editar", 901);
     }
     //verificamos si ya hay un Roll con el mismo nombre
     if ($nombre !== null && $nombre !== "") {
         $nombre = trim($nombre);
         if ($rol->getNombre() !== $nombre) {
             $roles = RolDAO::search(new Rol(array("nombre" => $nombre)));
             if (!empty($roles)) {
                 Logger::error("Ya existe un rol con ese nombre");
                 throw new Exception("Ya existe un rol con ese nombre", 901);
             } else {
                 $rol->setNombre($nombre);
             }
         }
     }
     //validamos si el salario es numerico
     if ($salario !== "0") {
         if (!is_numeric($salario)) {
             Logger::error("El salario debe ser un valor numerico");
             throw new Exception("El salario debe ser un valor numerico", 901);
         } else {
             if ($rol->getSalario() !== $salario) {
                 $rol->setSalario($salario);
             }
         }
     }
     //validamos si el perfil existe y es valido
     if ($id_perfil !== null && $id_perfil !== "" && !PerfilDAO::getByPK($id_perfil)) {
         Logger::error("No se tiene registro del Perfil indicado");
         throw new Exception("No se tiene registro del Perfil indicado", 901);
     } elseif ($id_perfil !== "") {
         $rol->setIdPerfil($id_perfil);
     } elseif ($id_perfil === "") {
         $rol->setIdPerfil(null);
     }
     //validamos si se envio un rol Padre y existe
     if ($id_rol_padre !== null && $id_rol_padre !== "" && !RolDAO::getByPK($id_rol_padre)) {
         Logger::error("No se tiene registro del Rol Padre indicado");
         throw new Exception("No se tiene registro del Rol Padre indicado", 901);
     } elseif ($id_rol_padre !== "") {
         $rol->setIdRolPadre($id_rol_padre);
     } elseif ($id_rol_padre === "") {
         $rol->setIdRolPadre(null);
     }
     //validamos si se envio una tarifa de compra
     if ($id_tarifa_compra !== null && $id_tarifa_compra !== "" && !TarifaDAO::getByPK($id_tarifa_compra)) {
         Logger::error("No se tiene registro de la Tarifa de Compra indicada");
         throw new Exception("No se tiene registro de la Tarifa de Compra indicada", 901);
     } elseif ($id_tarifa_compra !== "") {
         $rol->setIdTarifaCompra($id_tarifa_compra);
     } elseif ($id_tarifa_compra === "") {
         $rol->setIdTarifaCompra(null);
     }
     //validamos si se envio una tarifa de venta
     if ($id_tarifa_venta !== null && $id_tarifa_venta !== "" && !TarifaDAO::getByPK($id_tarifa_venta)) {
         Logger::error("No se tiene registro de la Tarifa de Venta indicada");
         throw new Exception("No se tiene registro de la Tarifa de Venta indicada", 901);
     } elseif ($id_tarifa_venta !== "") {
         $rol->setIdTarifaVenta($id_tarifa_venta);
     } elseif ($id_tarifa_venta === "") {
         $rol->setIdTarifaVenta(null);
     }
     $descripcion = trim($descripcion);
     //Editamos los valores
     if ($descripcion !== null && $descripcion !== "") {
         $rol->setDescripcion($descripcion);
     }
     DAO::transBegin();
     try {
         RolDAO::save($rol);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("Error al modificar el rol: " . $e);
         throw new Exception("Error al crear modificar el rol, consulte a su administrador de sistema", 901);
     }
     DAO::transEnd();
     Logger::log("Rol editado exitosamente");
 }
コード例 #4
0
ファイル: tarifas.editar.php プロジェクト: kailIII/pos-erp
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
$tarifa = TarifaDAO::getByPK($_GET["tid"]);
if (is_null($tarifa)) {
    die;
}
//
// Parametros necesarios
//
$page->requireParam("tid", "GET", "Esta tarifa no existe.");
//
// Titulo de la pagina
//
$page->addComponent(new TitleComponent("Detalle Tarifa"));
$page->addComponent(new TitleComponent(utf8_decode($tarifa->getNombre()), 2));
$page->partialRender();
?>

<table style ="width:100%;">
    <tr>
        <td style = "border-width:0px;" valign="middle">
            <input class="POS Boton OK"  type = "button" value = "Guardar" onClick = "" />
        </td>
    </tr>
</table>

<form>
    <table width = 100% border = 0 >
コード例 #5
0
 /**
  	 *
  	 *Desactiva una tarifa. Para poder desactivar una tarifa, esta no tiene que estar asignada como default para ningun usuario. La tarifa default del sistema no puede ser eliminada.
 
 La tarifa instalada por default no puede ser eliminada
  	 *
  	 * @param id_tarifa int Id de la tarifa a eliminar
  	 **/
 public static function Desactivar($id_tarifa)
 {
     Logger::log("Desactivando la tarifa " . $id_tarifa);
     //Se valida la tarifa recibida
     $validar = self::ValidarParametrosTarifa($id_tarifa);
     if (is_string($validar)) {
         Logger::error($validar);
         throw new Exception($validar);
     }
     $tarifa = TarifaDAO::getByPK($id_tarifa);
     if ($tarifa->getDefault()) {
         Logger::error("Se quiere eliminar una tarifa por default");
         throw new Exception("Se quiere eliminar una tarifa por default, primero cambie la tarifa default y despues vuelva a intentarlo", 901);
     }
     $tarifa->setActiva(0);
     DAO::transBegin();
     try {
         TarifaDAO::save($tarifa);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo eliminar la tarifa: " . $e);
         throw new Exception("No se pudo eliminar la tarifa, intentelo de nuevo mas tarde o consulte al administrado del sistema", 901);
     }
     DAO::transEnd();
     Logger::log("Tarifa desactivada exitosamente");
 }
コード例 #6
0
 /**
  *
  *Edita los datos de una sucursal
  *
  * @author Juan Manuel Garc&iacute;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");
 }
コード例 #7
0
ファイル: clientes.ver.php プロジェクト: kailIII/pos-erp
// Menu de opciones
//
if ($este_usuario->getActivo()) {
    $menu = new MenuComponent();
    $menu->addItem("Editar", "clientes.editar.php?cid=" . $este_usuario->getIdUsuario());
    $menu->addItem("Desactivar", "clientes.desactivar.php?cid=" . $este_usuario->getIdUsuario());
    $page->addComponent($menu);
} else {
    $menu = new MenuComponent();
    $menu->addItem("Reactivar", "clientes.desactivar.php?cid=" . $este_usuario->getIdUsuario());
    $page->addComponent($menu);
}
//
// Forma de producto
//
$t = TarifaDAO::getByPK($este_usuario->getIdTarifaVenta());
if (is_null($t)) {
    $este_usuario->setIdTarifaVenta("-----");
} else {
    $este_usuario->setIdTarifaVenta($t->getNombre());
}
$form = new DAOFormComponent($este_usuario);
$form->setEditable(false);
$form->hideField(array("id_usuario", "id_rol", "id_clasificacion_proveedor", "id_direccion", "id_direccion_alterna", "fecha_asignacion_rol", "comision_ventas", "fecha_alta", "fecha_baja", "activo", "last_login", "salario", "dias_de_embarque", "consignatario", "tiempo_entrega", "cuenta_bancaria", "mensajeria", "token_recuperacion_pass", "ventas_a_credito", "dia_de_pago", "dia_de_revision", "password", "id_sucursal", "id_clasificacion_cliente"));
$response = ContactosController::DetallesCategoria($este_usuario->getIdCategoriaContacto());
if (!is_null($response['categoria'])) {
    $form->setValueField('id_categoria_contacto', $response['categoria']->getNombre());
}
$form->setCaption('id_categoria_contacto', 'Categor&iacute;a');
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::getAll(), $este_usuario->getIdMoneda());
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::getAll(), $este_usuario->getIdSucursal());