コード例 #1
0
<?php

define("BYPASS_INSTANCE_CHECK", false);
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
//titulos
$page->addComponent(new TitleComponent("Nueva caja"));
//forma de nueva caja
$form = new DAOFormComponent(array(new Caja()));
$form->hideField(array("id_caja", "abierta", "saldo", "activa", "id_cuenta_contable"));
$form->addApiCall("api/sucursal/caja/nueva/");
$form->onApiCallSuccessRedirect("sucursales.lista.caja.php");
$form->makeObligatory(array("token", "descripcion", "id_sucursal"));
$form->createComboBoxJoin("control_billetes", "control_billetes", array(array("id" => 1, "caption" => "Llevar control"), array("id" => 0, "caption" => "No llevar control")));
$form->createComboBoxJoin("id_sucursal", "descripcion", SucursalDAO::search(new Sucursal(array("activa" => 1))));
$page->addComponent($form);
//render the page
$page->render();
コード例 #2
0
require_once "../../../server/bootstrap.php";
$page = new GerenciaComponentPage();
//
// Titulo de la pagina
//
$page->addComponent(new TitleComponent("Editar gerencia", 2));
//
// Forma de usuario
//
$form = new DAOFormComponent(new Sucursal());
$form->hideField(array("id_direccion", "fecha_apertura", "fecha_baja", "activa", "rfc", "razon_social", "descripcion", "saldo_a_favor", "margen_utilidad", "descuento"));
$form->addApiCall("api/sucursal/gerencia/editar/", "GET");
//                $form->addField("id_producto", "Productos", "text","","productos");
//                $form->createListBoxJoin("id_producto", "nombre_producto", ProductoDAO::search( new Producto( array( "activo" => 1 ) ) ));
//
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::search(new Sucursal(array("activa" => 1))));
$form->createComboBoxJoinDistintName("id_gerente", "id_usuario", "nombre", UsuarioDAO::search(new Usuario(array("id_rol" => 2))));
//                $form->createComboBoxJoin( "id_rol", "nombre", RolDAO::getAll(), $este_usuario->getIdRol() );
//
//                $form->createComboBoxJoin( "id_moneda", "nombre", MonedaDAO::search( new Moneda( array( "activa" => 1 ) ) ),$este_usuario->getIdMoneda() );
//
//                $form->createComboBoxJoin( "id_clasificacion_cliente", "nombre", ClasificacionClienteDAO::getAll(), $este_usuario->getIdClasificacionCliente() );
//
//                $form->createComboBoxJoin( "id_clasificacion_proveedor", "nombre", ClasificacionProveedorDAO::search( new ClasificacionProveedor( array( "activa" => 1 ) ) ), $este_usuario->getIdClasificacionProveedor() );
//$form->createComboBoxJoin("id_tipo_almacen", "descripcion", array_diff(TipoAlmacenDAO::getAll(), TipoAlmacenDAO::search( new TipoAlmacen( array( "id_tipo_almacen" => 2 ) ) ) ), $este_almacen->getIdTipoAlmacen() );
//                $form->renameField( array(
//                    "id_ciudad" => "municipio"
//		));
$form->makeObligatory(array("id_sucursal", "id_gerente"));
$page->addComponent($form);
$page->render();
コード例 #3
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");
 }
コード例 #4
0
 /**
      *
      * Ver la lista de productos y sus existencias, se puede filtrar por empresa, sucursal, almac?n, y lote.
       Se puede ordenar por los atributos de producto.
      *
      * @param existencia_mayor_que float Se regresaran los productos cuya existencia sea mayor a la especificada por este valor
      * @param existencia_igual_que float Se regresaran los productos cuya existencia sea igual a la especificada por este valor
      * @param existencia_menor_que float Se regresaran los productos cuya existencia sea menor a la especificada por este valor
      * @param id_empresa int Id de la empresa de la cual se vern los productos.
      * @param id_sucursal int Id de la sucursal de la cual se vern los productos.
      * @param id_almacen	 int Id del almacen del cual se vern los productos.
      * @param activo	 bool Si es true, mostrar solo los productos que estn activos, si es false mostrar solo los productos que no lo sean.
      * @param id_lote int Id del lote del cual se veran los productos en existencia
      * @return existecias json Lista de existencias
      * */
 public static function Existencias($id_almacen = null, $id_empresa = null, $id_producto = null, $id_sucursal = null)
 {
     $e = AlmacenDAO::Existencias();
     return array("resultados" => $e, "numero_de_resultados" => sizeof($e));
     $daoProductos = ProductoDAO::getAll();
     $aOut = array();
     $daoAlmacenes = AlmacenDAO::getAll();
     for ($iProd = 0; $iProd < sizeof($daoProductos); $iProd++) {
         //por cada almacen
         for ($iAl = 0; $iAl < sizeof($daoAlmacenes); $iAl++) {
             //buscar sus lotes
         }
         array_push($aOut, $daoProductos[$iProd]->asArray());
     }
     return array("numero_de_resultados" => sizeof($aOut), "resultados" => $aOut);
     //Si se recibe un id producto, solo se listan las existencias de dicho producto, se puede combinar con
     //los demas parametros. Si no se recibe ningun otro, se realiza un acumulado de este producto en todos los almacenes.
     //
     //Si se recibe un id almacen, solo se listan las existencias de dicho almacen
     //
     //Si se recibe la variable id_empresa o id_sucursal, se listara un acumulado de todos los productos
     //con las cantidades de productos de los diferentes almacenes dentro de ella
     //
     //Cuando se recibe alguno de ellos, primero se consiguen todos los almacenes que le pertencen, despues
     //se consiguen todos los productos de cada almacen y se guardan en un arreglo temporal que despues es ordenado.
     //EL arreglo ordenado es el que se envia.
     //
     //Si no se recibe ningun parametro, se listaran todos los productos existentes en todos los almacenes
     $productos_almacenes = array();
     //Si solo se especifica un producto, se regresa un arreglo con las sucursales donde esta ese producto y
     //la cantidad total en cada una
     if (!is_null($id_producto) && is_null($id_almacen) && is_null($id_empresa) && is_null($id_sucursal)) {
         //Se obtienen todas las sucursales y se llama recursivamente a este metodo
         $sucursales = SucursalDAO::search(new Sucursal(array("activa" => 1)));
         $result = array();
         foreach ($sucursales as $sucursal) {
             $p_a = self::Existencias(null, null, $id_producto, $sucursal->getIdSucursal());
             if ($p_a["numero_de_resultados"] > 0) {
                 foreach ($p_a["resultados"] as $p) {
                     $result["id_sucursal"] = $sucursal->getIdSucursal();
                     $suc = SucursalDAO::getByPK($sucursal->getIdSucursal());
                     $result["nombre_sucursal"] = $suc->getDescripcion();
                     $result["id_producto"] = $p->getIdProducto();
                     $result["id_unidad"] = $p->getIdUnidad();
                     $result["cantidad"] = $p->getCantidad();
                     array_push($productos_almacenes, $result);
                 }
             }
         }
     } else {
         if (!is_null($id_almacen)) {
             //Se buscan los registros de productos que cumplan con el almacen y con el producto recibidos
             $productos_almacenes = LoteProductoDAO::search(new LoteProducto(array("id_almacen" => $id_almacen, "id_producto" => $id_producto)));
         } else {
             if (!is_null($id_empresa)) {
                 //Se obtienen todos los almacenes de la empresa
                 $almacenes_empresa = AlmacenDAO::search(new Almacen(array("id_empresa" => $id_empresa)));
                 $productos_almacenes_empresa = array();
                 //Se recorre cada almacen y se obtiene un arreglo de sus productos, para poder agruparlos, tenemos que seacarlos
                 //de su arreglo y ponerlos en un arreglo general
                 foreach ($almacenes_empresa as $almacen_empresa) {
                     //Se obtiene el arreglo de productos
                     $productos_almacen_empresa = LoteProductoDAO::search(new LoteProducto(array("id_almacen" => $almacen_empresa->getIdAlmacen(), "id_producto" => $id_producto)));
                     //Se vacía el arreglo en uno general
                     foreach ($productos_almacen_empresa as $producto_almacen_empresa) {
                         array_push($productos_almacenes_empresa, $producto_almacen_empresa);
                     }
                 }
                 //Se agrupan los productos iguales
                 $productos_almacenes = self::AgruparProductos($productos_almacenes_empresa);
             } else {
                 if (!is_null($id_sucursal)) {
                     //Se obtienen todos los almacenes de la sucursal
                     $almacenes_sucursal = AlmacenDAO::search(new Almacen(array("id_sucursal" => $id_sucursal)));
                     $productos_almacenes_sucursal = array();
                     //Se recorre cada almacen y se obtiene un arreglo de sus productos, para poder agruparlos, tenemos que sacarlos
                     //de su arreglo y ponerlos en un arreglo general
                     foreach ($almacenes_sucursal as $almacen_sucursal) {
                         //Se obtiene el arreglo de productos
                         $productos_almacen_sucursal = LoteProductoDAO::search(new LoteProducto(array("id_almacen" => $almacen_sucursal->getIdAlmacen(), "id_producto" => $id_producto)));
                         //Se vacía el arreglo en uno general
                         foreach ($productos_almacen_sucursal as $producto_almacen_sucursal) {
                             array_push($productos_almacenes_sucursal, $producto_almacen_sucursal);
                         }
                     }
                     //Se agrupan los productos iguales
                     $productos_almacenes = self::AgruparProductos($productos_almacenes_sucursal);
                 } else {
                     //Se obtienen todos los almacenes
                     $almacenes = AlmacenDAO::getAll();
                     $productos_almacen = array();
                     //Se recorre cada almacen y se obtiene un arreglo de sus productos, para poder agruparlos, tenemos que sacarlos
                     //de su arreglo y ponerlos en un arreglo general
                     foreach ($almacenes as $almacen) {
                         //Se obtiene el arreglo de productos
                         $productos_a = LoteProductoDAO::search(new LoteProducto(array("id_almacen" => $almacen->getIdAlmacen(), "id_producto" => $id_producto)));
                         //Se vacía el arreglo en uno general
                         foreach ($productos_a as $p_a) {
                             array_push($productos_almacen, $p_a);
                         }
                     }
                     //Se agrupan los productos iguales
                     $productos_almacenes = self::AgruparProductos($productos_almacen);
                 }
             }
         }
     }
     Logger::log("Se listan " . count($productos_almacenes) . " registros");
     $existencias = array("resultados" => $productos_almacenes, "numero_de_resultados" => count($productos_almacenes));
     return $existencias;
 }
コード例 #5
0
ファイル: clientes.editar.php プロジェクト: kailIII/pos-erp
$page->addComponent(new TitleComponent("Editando a " . $este_cliente->getNombre(), 2));
$page->nextTab("General");
$form = new DAOFormComponent($este_cliente);
$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", "id_clasificacion_cliente"));
$form->renameField(array("id_usuario" => "id_cliente"));
$form->sendHidden("id_cliente");
$form->setValueField("password", "");
$form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))), $este_cliente->getIdMoneda());
$clasificaciones = ContactosController::BuscarCategoria();
$clasificaciones = $clasificaciones['categorias'];
foreach ($clasificaciones as $key => $clasificacion) {
    $clasificacion->caption = $clasificacion->nombre;
    $clasificaciones[$key] = $clasificacion->asArray();
}
$form->createComboBoxJoin('id_categoria_contacto', 'nombre', $clasificaciones);
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::search(new Sucursal(array("activa" => 1))), $este_cliente->getIdSucursal());
$form->createComboBoxJoinDistintName("id_tarifa_venta", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "venta"))));
$form->createComboBoxJoin("id_tarifa_compra", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "compra"))));
$form->createComboBoxJoin("tarifa_compra_obtenida", "tarifa_compra_obtenida", array("rol", "proveedor", "cliente", "usuario"));
$form->createComboBoxJoin("tarifa_venta_obtenida", "tarifa_venta_obtenida", array("rol", "proveedor", "cliente", "usuario"));
$form->addApiCall("api/cliente/editar/", "POST");
$form->onApiCallSuccessRedirect("clientes.ver.php?cid=" . $_GET["cid"]);
$form->renameField(array("nombre" => "razon_social", "codigo_usuario" => "codigo_cliente", "correo_electronico" => "email", "id_categoria_contacto" => "clasificacion_cliente", "id_moneda" => "moneda_del_cliente", "pagina_web" => "sitio_web", "id_sucursal" => "sucursal"));
$page->addComponent($form);
$page->nextTab("Otros");
//buscar los parametros extra
$out = ExtraParamsValoresDAO::getVals("usuarios", $este_cliente->getIdUsuario());
$epform = new FormComponent();
$epform->setEditable(true);
foreach ($out as $ep) {
    $epform->addField($ep["campo"], $ep["caption"], $ep["tipo"], $ep["val"]);