/** * *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)); }
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); } } } }
$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,
/** * *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(); }
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); }