예제 #1
0
 /**
  *
  *Busca un cliente por su razon social, denominacion comercial, rfc o representante legal y regresa un objeto que contiene un conjunto de objetos que contiene la informacion de los clientes que coincidieron con la busqueda
  *
  * @param limit int Indica el registro final del conjunto de datos que se desea mostrar
  * @param page int Indica en que pagina se encuentra dentro del conjunto de resultados que coincidieron en la bsqueda
  * @param query string El texto a buscar
  * @param start int Indica el registro inicial del conjunto de datos que se desea mostrar
  * @return numero_de_resultados int Numero de registros que regreso esta busqueda
  * @return resultados json Lista de clientes que clientes que satisfacen la busqueda
  **/
 public static function Buscar($id_sucursal = null, $id_usuario = null, $limit = 5000, $page = null, $query = null, $start = 0)
 {
     if (!is_null($id_usuario)) {
         $resultados = array(UsuarioDAO::getByPK($id_usuario)->AsArray());
         if (1 == sizeof($resultados)) {
             $direccionArray = new Direccion();
             $direccionArray = $direccionArray->asArray();
             $resultados[0] = array_merge($resultados[0], $direccionArray);
         }
     } else {
         $resultados = UsuarioDAO::buscarClientes($query);
     }
     for ($i = 0; $i < sizeof($resultados); $i++) {
         $resultados[$i]["direccion"] = array("id_direccion" => $resultados[$i]["id_direccion"], "calle" => $resultados[$i]["calle"], "numero_exterior" => $resultados[$i]["numero_exterior"], "numero_interior" => $resultados[$i]["numero_interior"], "referencia" => $resultados[$i]["referencia"], "colonia" => $resultados[$i]["colonia"], "id_ciudad" => $resultados[$i]["id_ciudad"], "codigo_postal" => $resultados[$i]["codigo_postal"], "telefono" => $resultados[$i]["telefono"], "telefono2" => $resultados[$i]["telefono2"], "ultima_modificaion" => $resultados[$i]["ultima_modificacion"], "id_usuario_ultima_modificacion" => $resultados[$i]["id_usuario_ultima_modificacion"]);
         $resultados[$i]["params_extra"] = ExtraParamsValoresDAO::getVals("usuarios", $resultados[$i]["id_usuario"]);
         unset($resultados[$i]["password"]);
         unset($resultados[$i]["id_direccion"]);
         unset($resultados[$i]["id_direccion_alterna"]);
     }
     return array("resultados" => $resultados, "numero_de_resultados" => sizeof($resultados));
 }
예제 #2
0
 public static function actualizarRegistros($tabla)
 {
     $estructura = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => $tabla)));
     $usuarios = UsuarioDAO::getAll();
     for ($i = 0; $i < sizeof($usuarios); $i++) {
         $valores = self::getVals($tabla, $usuarios[$i]->getIdUsuario());
         for ($e = 0; $e < sizeof($estructura); $e++) {
             $found = false;
             for ($v = 0; $v < sizeof($valores); $v++) {
                 if ($valores[$v]["campo"] == $estructura[$e]->getCampo()) {
                     $found = true;
                 }
             }
             if (!$found) {
                 $toInsert = new ExtraParamsValores();
                 $toInsert->setIdExtraParamsEstructura($estructura[$e]->getIdExtraParamsEstructura());
                 $toInsert->setIdPkTabla($usuarios[$i]->getIdUsuario());
                 $toInsert->setVal(null);
                 ExtraParamsValoresDAO::save($toInsert);
             }
         }
     }
 }
예제 #3
0
    $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"]);
    if (!is_null($ep["descripcion"])) {
        $epform->setHelp($ep["campo"], $ep["descripcion"]);
    }
}
$epform->beforeSend("editar_extra_p");
$page->addComponent('
			<script>
				var cliente = ' . $_GET["cid"] . ';
				function editar_extra_p(obj){
					return	{
						id_cliente		: cliente,
예제 #4
0
 /**
  *
  *Crea un nuevo documento.
  *
  * @param id_documento_base int el documento base del cual este documento es instancia
  * @param extra_params json 
  * @param id_empresa int Si pertence a una empresa en especifico, o puede realizarse en cualquier empresa.
  * @param id_sucursal int Si pertenece a una sucursal en especifico o puede realizarse en cualquier sucursal.
  * @return id_documento int Id del nuevo documento
  **/
 public static function Nuevo($id_documento_base, $extra_params = null, $id_empresa = null, $id_sucursal = null)
 {
     $dbase = DocumentoBaseDAO::getByPK($id_documento_base);
     if (is_null($dbase)) {
         throw new InvalidDataException("This base doc does not exist");
     }
     $nDoc = new Documento();
     $nDoc->setIdDocumentoBase($id_documento_base);
     $nDoc->setFolio(0);
     $nDoc->setFecha(time());
     $nDoc->setIdOperacion(0);
     DAO::transBegin();
     try {
         DocumentoDAO::save($nDoc);
     } catch (Exception $e) {
         DAO::transRollback();
         throw InvalidDatabaseOperationException($e);
     }
     //test all extra params in base doc are present in $extra_params
     $pindb = ExtraParamsEstructuraDao::search(new ExtraParamsEstructura(array("tabla" => "documento_base-" . $id_documento_base)));
     foreach ($pindb as $campo) {
         if (!array_key_exists($campo->getCampo(), $extra_params)) {
             //no existe en extra params
             //salir si este parametro es
             //obligatorio
             if ($campo->getObligatorio()) {
                 throw new InvalidDataException("El campo " . $campo->getObligatorio() . " es obligatorio");
             }
         } else {
             $valueToStore = $extra_params->{$campo->getCampo()};
             $valueToStore = is_null($valueToStore) ? "" : $valueToStore;
             $val = new ExtraParamsValores(array("id_extra_params_estructura" => $campo->getIdExtraParamsEstructura(), "id_pk_tabla" => $nDoc->getIdDocumento(), "val" => $valueToStore));
             try {
                 ExtraParamsValoresDAO::save($val);
             } catch (Exception $e) {
                 DAO::transRollback();
                 throw new InvalidDatabaseOperationException($e);
             }
         }
     }
     //foreach
     DAO::transEnd();
 }
예제 #5
0
 public function testCredenciales_Sapuraiya()
 {
     $res = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => "usuarios", "campo" => "Agenda")));
     if (count($res) <= 0) {
         return;
     }
     $u = UsuarioDAO::getAll();
     $o = "Empresa | Credenciales restantes | Numero de credenciales\n";
     foreach ($u as $user) {
         $out = ExtraParamsValoresDAO::getVals("usuarios", $user->getIdUsuario());
         $cr = $out[4]["val"];
         $nc = $out[8]["val"];
         if (strlen($nc > 1)) {
             $tipo_creden = substr($nc, 1, 1);
             switch ($tipo_creden) {
                 case 'a':
                     $nc = str_replace('a', " Proveedor", $nc);
                     break;
                 case 'b':
                     $nc = str_replace('b', " Expositor", $nc);
                     break;
                 case 'c':
                     $nc = str_replace('c', " Expositor/Proveedor", $nc);
                     break;
                 case 'd':
                     $nc = str_replace('d', " Empresa Tractora", $nc);
                     break;
             }
         }
         Logger::log("Credenciales restantes: " . $cr);
         Logger::log("Num credenciales: " . $nc);
         $o .= $user->getNombre() . " | " . $cr . " | " . $nc . "\n";
     }
     $fp = fopen('credenciales.txt', 'w');
     fwrite($fp, $o);
     fclose($fp);
 }