Вы находитесь на странице: 1из 74

Tecnologas de informacin Sistemas Informticos

Grupo Corso
Bienes Races

Manual Tcnico
Realizado por:
Israel Daz de Len Nevrez
Cesar Gustavo Faire Macas
Jos Miguel Cortinas Martnez
Asesor de proyecto:
MSC. Marco de la Torre
Torren Coahuila
Abril 2017
NDICE

INTRODUCCION .............................................................................................................................................. 7
CAPTULO 1 TIPOS DE DATOS EN CORSO ...................................................................................................... 8
TIPOS DE DATOS EN CORSO ................................................................................................................................... 9
SECCION I CONTROLADORES ...................................................................................................................... 10
CAPITULO 2 LOGIN CONTROLLER ............................................................................................................... 11
2.1VERIFICACIN DEL LOGIN. .............................................................................................................................. 12
2.2 CAMBIAR CONTRASEA ................................................................................................................................ 13
2.3CIERRE DE SESIN......................................................................................................................................... 14
CAPITULO 3 INICIO CONTROLLER ............................................................................................................... 15
3.1 VERIFICA TIPO DE USUARIO LOGUEADO ........................................................................................................... 16
CAPITULO 4 GERENTE CONTROLLER ........................................................................................................... 17
4.1 CORREO EN PGINA PRINCIPAL ....................................................................................................................... 18
CAPITULO 5 GRAFICAS CONTROLLER ......................................................................................................... 19
5.1 GRAFICA DE VENTAS .................................................................................................................................... 20
5.2 VENTAS DEL AO ......................................................................................................................................... 20
5.3GRAFICA DE CITAS POR MES ........................................................................................................................... 21
5.4 GRAFICA DE CITAS POR AO .......................................................................................................................... 21
CAPITULO 6 EDITAR CONTROLLER .............................................................................................................. 22
6.1 PEDIR USUARIO .......................................................................................................................................... 23
6.2EDICIONES DE USUARIOS................................................................................................................................ 24
6.3 ELIMINACIN DE USUARIOS. ......................................................................................................................... 27
CAPITULO 7 CONFIG CONTROLLER ............................................................................................................. 28
7.1 EDITAR DATOS PGINA PRINCIPAL ................................................................................................................... 29
CAPITULO 8 REGISTER CONTROLLER .......................................................................................................... 30
8.1 REGISTRAR EL PERSONAL ............................................................................................................................... 31
CAPITULO 9 VENDEDOR CONTROLLER ....................................................................................................... 33
9.1 HISTORIAL DE VENTA .................................................................................................................................... 34
9.2 HISTORIAL CITAS ......................................................................................................................................... 34
9.3 CANCELA CITAS ........................................................................................................................................... 35
9.4 CITAS PENDIENTES....................................................................................................................................... 36
CAPITULO 10 CLIENTE CONTROLLER........................................................................................................... 37
10.1 REGISTRAR CLIENTE ................................................................................................................................... 38
CAPITULO 11 NOTARIO CONTROLLER ........................................................................................................ 39
11.1REGISTRAR NOTARIO................................................................................................................................... 40
11.2 VISTA NOTARIO ........................................................................................................................................ 41
CAPITULO 12 CASAS CONTROLLER ............................................................................................................. 42
12.1 AGREGAR FOTO A CASA .............................................................................................................................. 43
12.2 ELIMINA FOTOS DE UNA CASA ...................................................................................................................... 44
12.3 IDENTIFICAR CASA ...................................................................................................................................... 45
12.4 RETORNO DE FOTO .................................................................................................................................... 45
12.5 FILTRO DE VER CASAS ................................................................................................................................. 46
CAPITULO 13 CITAS CONTROLLER .............................................................................................................. 47
13.1 EXTRAER CITAS.......................................................................................................................................... 48
13.2 PEDIR VENTAS........................................................................................................................................... 48
13.3 CASAS DISPONIBLES ................................................................................................................................... 49
13.4 VERIFICA VENDEDORES DISPONIBLES ............................................................................................................. 49
13.5 REGISTRARCITAS ....................................................................................................................................... 49
CAPITULO 14 VENTAS CONTROLLER ........................................................................................................... 50
14.1 VENTA CONCRETADA .................................................................................................................................. 51
14.2 VENTA ASIGNADA A UN NOTARIO .................................................................................................................. 51
14.3 CITA CANCELADA ...................................................................................................................................... 52
14.4 VISTA DE MODIFICACIN VENTA ................................................................................................................... 52
14.5 RETORNA VENTAS ORDENADAS..................................................................................................................... 53
14.6 VENTAS CONCRETADAS .............................................................................................................................. 53
14.7 DOCUMENTOS DE LA VENTA........................................................................................................................ 53
14.8 REGISTRA VENTA ....................................................................................................................................... 53
14.9 REGISTRA VENTA ....................................................................................................................................... 53
SECCION II .................................................................................................................................................. 54
CAPITULO 15 DIAGRAMA DE CLASE ........................................................................................................... 55
CAPITULO 16 DIAGRAMAS DE SECUENCIA ................................................................................................. 62
CAPITULO 17 DICCIONARIO DE DATOS....................................................................................................... 68
CAPTULO 18 MODELO DE BASE DE DATOS ................................................................................................ 73

3
Torren Coahuila Abril 2017
ndice de Figuras
CAPTULO 1 TIPOS DE DATOS EN CORSO ...................................................................................................... 8
SECCION I CONTROLADORES ...................................................................................................................... 10
CAPITULO 2 LOGIN CONTROLLER ............................................................................................................... 11
FIGURA 2.1 PRIMERA PETICIN ........................................................................................................................... 12
FIGURA 2.2 CAMBIO DE CONTRASEA................................................................................................................... 13
FIGURA 2.3 LOGAUT.......................................................................................................................................... 14
CAPITULO 3 INICIO CONTROLLER ............................................................................................................... 15
FIGURA 3.1 CHECARTIPO .................................................................................................................................... 16
CAPITULO 4 GERENTE CONTROLLER ........................................................................................................... 17
FIGURA 4.1 SENDEMAIL ..................................................................................................................................... 18
CAPITULO 5 GRAFICAS CONTROLLER ......................................................................................................... 19
FIGURA 5.1 VENTASG ....................................................................................................................................... 20
FIGURA 5.2 VENTASGYEAR ................................................................................................................................ 20
FIGURA 5.3 CITASG .......................................................................................................................................... 21
FIGURA 5.4 CITASGYEAR ................................................................................................................................... 21
CAPITULO 6 EDITAR CONTROLLER .............................................................................................................. 22
FIGURA 6.1 PEDIR USUARIO ............................................................................................................................... 23
FIGURA 6.2 EDITAR USUARIO1............................................................................................................................. 24
FIGURA 6.3 EDITAR USUARIO2............................................................................................................................. 25
FIGURA 12.2 EDITAR USUARIO............................................................................................................................. 26
FIGURA 6,4 EDITAR USUARIO3............................................................................................................................. 26
FIGURA 6.5 ELIMINACIN DE USUARIO FIGURA 6.6 ELIMINACIN DE USUARIO.............................................................. 27
CAPITULO 7 CONFIG CONTROLLER ............................................................................................................. 28
FIGURA 7.1 EDITARDATOS.................................................................................................................................. 29
CAPITULO 8 REGISTER CONTROLLER .......................................................................................................... 30
FIGURAS 8.1 REGISTR FIGURA 8.2 REGISTRO ....................................................................................... 31
FIGURA 8.3 REGISTRO 8.4 REGISTRO ...................................................................... 32
CAPITULO 9 VENDEDOR CONTROLLER ....................................................................................................... 33
FIGURA 9.1 HISTORIAL VENTAS. ........................................................................................................................... 34
FIGURA 9.2 HISTORIAL CITAS .............................................................................................................................. 34
FIGURA 9.3 CANCELAR CITA ................................................................................................................................ 35
FIGURA 9.4 CITAS PENDIENTES ........................................................................................................................... 36
CAPITULO 10 CLIENTE CONTROLLER ........................................................................................................... 37
FIGURA 10.1 REGISTRAR CLIENTE FIGURA 10.2 REGISTRAR CLIENTE .......................................................... 38
CAPITULO 11 NOTARIO CONTROLLER ........................................................................................................ 39
FIGURA 11.1 REGISTRO NOTARIO ......................................................................................................................... 40
FIGURA 11.2 VISTA NOTARIO .............................................................................................................................. 41
CAPITULO 12 CASAS CONTROLLER ............................................................................................................. 42
FIGURA 12.1 AGREGAR FOTO A CASA.................................................................................................................... 43
FIGURA 12.2 ELIMINAR FOTOS DE CASA ................................................................................................................ 44
FIGURA 12.3 IDENTIFICAR CASA ........................................................................................................................... 45
FIGURA 12.4 RETORNO DE FOTO .......................................................................................................................... 45
FIGURA 12.5 FILTRO DE CASAS ............................................................................................................................ 46

CAPITULO 13 CITAS CONTROLLER .............................................................................................................. 47


FIGURA 13.1 EXTRAER CITA ................................................................................................................................ 48
FIGURA 13.2 PEDIRVENTAS ................................................................................................................................ 48
FIGURA 13.3 VENDEDORES DISPONIBLES ............................................................................................................... 49
CAPITULO 14 VENTAS CONTROLLER ........................................................................................................... 50
FIGURA 14.1 VENTA CONCRETADA ...................................................................................................................... 51
FIGURA 14.2 VENTA A NOTARIO .......................................................................................................................... 51
FIGURA 14.3 CITA CANCELADA ........................................................................................................................... 52
FIGURA 14.4 CHECKSTATUS ............................................................................................................................... 52
FIGURA 14.5 RETORNO VENTAS ORDENADAS ......................................................................................................... 53
SECCION II .................................................................................................................................................. 54
CAPITULO 15 DIAGRAMA DE CLASE ........................................................................................................... 55
FIGURA 15. 1 DIAGRAMA ADAPTERS .................................................................................................................... 56
FIGURA 15.2 DIAGRAMA CASA ........................................................................................................................... 57
FIGURA 15.3 DIAGRAMA CITA ............................................................................................................................ 57
FIGURA 15.4 DIAGRAMA NOTARIO ..................................................................................................................... 58
FIGURA 15.5 DIAGRAMA DATO........................................................................................................................... 58
FIGURA 15.6 DIAGRAMASQLOPENHELPER .......................................................................................................... 59
FIGURA 15.7 DIAGRAMA USER ........................................................................................................................... 60
FIGURA 15. 8 DIAGRAMA VENTA ......................................................................................................................... 61
CAPITULO 16 DIAGRAMAS DE SECUENCIA ................................................................................................. 62
FIGURA 16.1 SECUENCIA SECRETARIA INGRESAR ................................................................................................... 63
FIGURA 16.2 SECUENCIA SECRETARIACOMPLETO ................................................................................................... 64
FIGURA 16.3 SECUENCIA USURAIO ...................................................................................................................... 64
FIGURA 16.5 SECUENCIA CLIENTE ........................................................................................................................ 65
FIGURA 16.6 SECUENCIA USUARIO COMPLETO ....................................................................................................... 66
FIGURA 16.7 SECUENCIA SECRETARIA INTERFAZ ..................................................................................................... 67
CAPITULO 17 DICCIONARIO DE DATOS....................................................................................................... 68
FIGURA 17.1 DICCIONARIO CASA ......................................................................................................................... 69
FIGURA 17.2 DICCIONARIO CITAS......................................................................................................................... 69
FIGURA 17.3 DICCIONARIO CLIENTE ..................................................................................................................... 70
FIGURA 17.4 DICCIONARIO DATO ........................................................................................................................ 70
FIGURA 17.5 DICCIONARIO DOCUMENTOS ............................................................................................................. 70
FIGURA 17.6 DICCIONARIO FOTOSCASA ................................................................................................................ 70
FIGURA 17.7 DICCIONARIO GERENTE .................................................................................................................... 71
FIGURA 17.8 DICCIONARIO NOTARIO .................................................................................................................... 71

5
Torren Coahuila Abril 2017
FIGURA 17.9 DICCIONARIO SECRETARIA ................................................................................................................ 71
FIGURA 17.10 DICCIONARIO USERS ...................................................................................................................... 71
FIGURA 17.11 DICCIONARIO VENDEDORES ............................................................................................................ 72
FIGURA 17.12 DICCIONARIO VENTAS .................................................................................................................... 72
CAPTULO 18 MODELO DE BASE DE DATOS ................................................................................................ 73
18.1 MODELO DE BASE DE DATOS ....................................................................................................................... 74

6
Torren Coahuila Abril 2017
INTRODUCCION

Este manual ha sido elaborado para proporcionar una clara percepcin


para aquellos que se involucren de manera tcnica y profesional con el
proyecto de Bienes Races Corso. As mismo, su objetivo es
convertirse en una referencia para agilizar el proceso de aprendizaje
en cuanto al funcionamiento del sistema y para casos de depuracin o
dudas respecto a su estructura y cdigo.
Abordamos cada uno de los controladores y sus respectivas funciones
para explicar su objetivo y algunos de los mtodos que incorpora
Laravel de manera breve y sencilla, sin profundizar mucho en el
conocimiento del framework, pues se asume que el lector ser
acreedor del mismo al menos en un nivel bsico.

7
Torren Coahuila Abril 2017
Captulo 1 Tipos
de datos en Corso

8
Torren Coahuila Abril 2017
Tipos de datos en Corso
STATUS DE LAS VENTAS:
1 = En trmite.
2 = Concretada.
3 = Cancelada.

Tipos de pago en las ventas:


1 = Infonavit
2 = Fovissste
3 = Contado

Disponibilidad de las casas:


1 = Disponible y en venta.
2 = En trmite de venta (No disponible).
3 = Vendida.

Tipos de citas:
1 = Cita para ver una casa.
2 = Cita para entregar documentos de una venta.

Status de cita:
1 = Pendiente
2 = Exitosa
3 = Cancelada

Tipos de usuario:
1 = Gerente
2 = Secretaria
3 = Vendedor

9
Torren Coahuila Abril 2017
SECCION I
CONTROLADORES
CAPITULO 2
LOGIN
CONTROLLER
2.1Verificacin del Login.
Funcin que recibe y verifica los datos para el log in al sistema. Se encarga de
checar si la informacin es vlida y luego redireccionar a InicioController.

public function primeraPeticion(Request $r)


{
$rules=[
"email"=>"required|email",
"password"=>"required"
];
$traduction = [
"email.required" => "Ingrese su correo electrnico!",
"email.email" => "Ingrese un correo vlido!",
"password.required" => "Ingrese la clave de acceso!"];
$result=Validator::make($r->all(),$rules,$traduction);
if ($result->fails()) {
return back()->with('msgs',$result->messages())
->withInput($r->except('password'));
}
$checkemail=User::where('email',$r->input('email'))->get()->count();
if ($checkemail==0) {
return back()->with('msgE',"El email no est registrado!")
->withInput($r->except('password'));
}
$userData=[
"email"=>$r->input('email'),
"password"=>$r->input('password')
];
if (Auth::attempt($userData)) {
return redirect('/inicio');
}
return back()->with('msgP',"Error de autenticacin!")
->withInput($r->except('password'));
}

Figura 2.1 Primera peticin

12
Torren Coahuila Abril 2017
2.2 Cambiar Contrasea
Funcin que cambia la contrasea del usuario. Al momento de guardarla es
necesario usar la encriptacin Hash de Laravel.

Figura 2.2 Cambio de contrasea

13
Torren Coahuila Abril 2017
2.3Cierre de sesin
Funcin para cerrar la sesin en Laravel. Redirige a la raz que vendra siendo la
pantalla principal.

Figura 2.3 Logaut

14
Torren Coahuila Abril 2017
CAPITULO 3
INICIO
CONTROLLER
3.1 Verifica Tipo de usuario Logueado
Funcin que verifica el tipo de usuario para retornar su vista de inicio
correspondiente.

Figura 3.1 checarTipo

16
Torren Coahuila Abril 2017
CAPITULO 4
GERENTE
CONTROLLER

17
Torren Coahuila Abril 2017
4.1 Correo en pgina principal
Esta funcin se encarga de enviar el correo de contacto que se encuentra en el
formulario de la pgina de inicio.

public function sendEmail(Request $r){


$rules=[
"nombre"=>"required",
"correo"=>"required",
"mensaje"=>"required"
];
$trad=[
"nombre.required"=>"Indique su nombre!",
"correo.required"=>"Indique su correo electrnico!",
"mensaje.required"=>"Indique su mensaje!"
];
$vR=Validator::make($r->all(),$rules,$trad);
if ($vR->fails()) {
return back()->with("msgCorreoE",1)->withInput();
}
$dataUser = ['nombre'=>$r['nombre'],
'correo'=>$r['correo'],
'mensaje'=>$r['mensaje']
];
\Mail::send('Templates.email_msg',['data' => $dataUser],function($message) use ($dataUser){
$message->from($dataUser['correo'],"Grupo Corso.");
$message->subject("Cliente enva un mensaje.");
$message->to('Cesar_gus_123@hotmail.com');
});
return redirect("/")->with("msgCorreo",1);
}
Figura 4.1 sendEmail

18
Torren Coahuila Abril 2017
CAPITULO 5
GRAFICAS
CONTROLLER
5.1 Grafica de Ventas
Funcin que retorna las ventas cuyo trmite inici en lo que va del mes actual si la
peticin no es GET. Si la peticin es GET retorna la vista donde se encuentran las
grficas de ventas para el gerente.

Figura 5.1 VentasG

5.2 Ventas del ao


Funcion que retorna las ventas cuya fecha de inicio est entre hoy y el ao actual.

Figura 5.2 VentasGYear

20
Torren Coahuila Abril 2017
5.3Grafica de Citas por mes
Funcin que retorna las citas cuya fecha y hora estn entre el principio del mes y
el da de hoy. Si la peticin es GET se retorna una vista que contiene las grficas
de la cita.

Figura 5.3 CitasG

5.4 Grafica de Citas por ao


Funcin que retorna las citas cuya fecha y hora estn entre el da de hoy y el inicio
del ao actual.

Figura 5.4 CitasGYear

21
Torren Coahuila Abril 2017
CAPITULO 6
EDITAR
CONTROLLER

22
Torren Coahuila Abril 2017
6.1 Pedir Usuario
Estas funciones retornan el objeto necesario segun corresponda, solo necesitan
recibir el id del objeto, ya sea vendedor, secretaria, cliente, gerente o notario. Se
usan para la edicin de datos.

public function PedirNotario(Request $r){


if($r->isMethod("POST")){
return Notario::find($r->id);
}
return redirect("?");
}

public function PedirCliente(Request $r){


if($r->isMethod("POST")){
return Cliente::find($r->id);
}
return redirect("?");
}

public function PedirGerente(Request $r){


if($r->isMethod("POST")){
return Gerente::find($r->id);
}
return redirect("?");
}

public function PedirSecre(Request $r){


if($r->isMethod("POST")){
return Secretaria::find($r->id);
}
return redirect("?");
}

public function PedirVendedor(Request $r){


if($r->isMethod("POST")){
return Vendedor::find($r->id);
}
return redirect("?");
}

Figura 6.1 Pedir Usuario

23
Torren Coahuila Abril 2017
6.2Ediciones de usuarios.
Las funciones anteriores son las encargadas de editar la informacin de notario,
secretaria, vendedor, gerente o cliente. Segun la informacin que venga en el
objeto Request, se acta o no sobre los campos del objeto.

public function EditarNotario(Request $r){


if ($r->isMethod("POST")) {
$not=Notario::find($r->id);
if($r->nombre){
$not->nombre=$r->nombre;
}
if($r->ap_paterno){
$not->ap_paterno=$r->ap_paterno;
}
if($r->ap_materno){
$not->ap_materno=$r->ap_materno;
}
if($r->cedula){
$not->cedula=$r->cedula;
}
$not->update();
return view("secretaria.tabla_notarios_paraedicion");
}else if ($r->isMethod("GET")) {
return view("secretaria.ver_notarios");
}
return redirect("/");
}
public function EditarGerente(Request $r){
if ($r->isMethod("POST")) {
$geren=Gerente::find($r->id);
if($r->nombre){
$geren->nombre=$r->nombre;
}
if($r->ap_paterno){
$geren->ap_paterno=$r->ap_paterno;
}
if($r->ap_materno){
$geren->ap_materno=$r->ap_materno;
}
if($r->rfc){
Figura 6.2 editar usuario1
$geren->rfc=$r->rfc;
}
if($r->direccion){
$geren->direccion=$r->direccion;
24
}
Torren Coahuila Abril 2017
if($r->fecha_nac){
$geren->fecha_nacimiento=$r->fecha_nac;
}
$geren->update();
return view("gerente.tabla_gerentes");
}else if ($r->isMethod("GET")) {
return view("gerente.ver_gerentes");

}
return redirect("/");
}
public function EditarSecretaria(Request $r){
if ($r->isMethod("POST")) {
$secre=Secretaria::find($r->id);
if($r->nombre){
$secre->nombre=$r->nombre;
}
if($r->ap_paterno){
$secre->ap_paterno=$r->ap_paterno;
}
if($r->ap_materno){
$secre->ap_materno=$r->ap_materno;
}
if($r->rfc){
$secre->rfc=$r->rfc;
}
if($r->direccion){
$secre->direccion=$r->direccion;
}
if($r->fecha_nac){
$secre->fecha_nacimiento=$r->fecha_nac;
}
if($r->curp){
$secre->curp=$r->curp;
}
$secre->update();
return view("gerente.tabla_secretarias");
}else if ($r->isMethod("GET")) {
return view("gerente.ver_secretarias");
}
return redirect("/");
}

public function EditarVendedor(Request $r){


if ($r->isMethod("POST")) {
$vendedor=Vendedor::find($r->id);
if($r->nombre){
$vendedor->nombre=$r->nombre;
}
Figura 6.3 editar usuario2
if($r->ap_paterno){
$vendedor->ap_paterno=$r->ap_paterno;
} 25
Torren Coahuila Abril 2017
if($r->ap_materno){
$vendedor->ap_materno=$r->ap_materno;
}
if($r->rfc){
Figura 12.2 editar usuario
$vendedor->rfc=$r->rfc;
}
if($r->direccion){
$vendedor->direccion=$r->direccion;
}
if($r->fecha_nac){
$vendedor->fecha_nacimiento=$r->fecha_nac;
}
if($r->curp){
$vendedor->curp=$r->curp;
}
if($r->contacto){
$vendedor->contacto=$r->contacto;
}
$vendedor->update();
return view("gerente.tabla_vendedores");
}else if ($r->isMethod("GET")) {
switch(Auth::user()->tipo_usuario){
case 1:
return view("gerente.ver_vendedores");
break;
case 2:
return view("secretaria.ver_vendedores");
break;
}
}
return redirect("/");
}
public function EditarCliente(Request $r){
if ($r->isMethod("POST")) {
$clien=Cliente::find($r->id);
if($r->nombre){
$clien->nombre=$r->nombre;
}
if($r->ap_paterno){
$clien->ap_paterno=$r->ap_paterno;
}
if($r->ap_materno){
$clien->ap_materno=$r->ap_materno;
}
if($r->contacto){
$clien->contacto=$r->contacto;
}
Figura 6,4 editar usuario3
$clien->update();
return view("secretaria.tabla_clientes");
}else if ($r->isMethod("GET")) {
return view("secretaria.ver_clientes"); 26
Torren
} Coahuila Abril 2017
return redirect("/");
}
6.3 Eliminacin de usuarios.

Estas funciones se encargar de eliminar un vendedor, cliente, gerente, notario o


secretaria. Segn corresponde necesitan indicar como null aquellos objetos que
poseen propiedades unique pues realmente las acciones realizadas son
softdelete, y as se evitan conflictos en nuevos registros.

public function EliminarNotario(Request $r){ public function EliminarSecretaria(Request


$data=Notario::find($r->id); $r){
$data->cedula=null; $data=Secretaria::find($r->id);
$data->update(); $data->curp=null;
$data->delete(); $data->rfc=null;
return $data->update();
view("secretaria.tabla_notarios_paraedicion"); $data->user->email=null;
} $data->user->update();
$data->user->delete();
public function EliminarCliente(Request $r){ $data->delete();
$data=Cliente::find($r->id); return view("gerente.tabla_secretarias");
$data->delete(); }
return view("secretaria.tabla_clientes");
} public function EliminarVendedor(Request
$r){
public function EliminarGerente(Request $r){ $data=Vendedor::find($r->id);
$data=Gerente::find($r->id); $data->curp=null;
$data->rfc=null; $data->rfc=null;
$data->update(); $data->update();
$data->user->email=null; $data->user->email=null;
$data->user->update(); $data->user->update();
$data->user->delete(); $data->user->delete();
$data->delete(); $data->delete();
return view("gerente.tabla_gerentes"); return view("gerente.tabla_vendedores");
} }

Figura 6.5 Eliminacin de usuario figura 6.6 Eliminacin de usuario

27
Torren Coahuila Abril 2017
CAPITULO 7
CONFIG
CONTROLLER
7.1 Editar datos Pgina principal
Funcin que registra la informacin de contacto segn lo que venga en el objeto
Request.

public function EditarDatos(Request $request) {


if ($request->isMethod("GET")) {
return view("gerente.configuracion")
->with("dato",Dato::get()->first());
}
$dato=Dato::get()->first();
if (!$dato) {
$dato=new Dato();
$dato->correo = $request['correo'];
$dato->telefono = $request['telefono'];
$dato->facebook = $request['facebook'];
$dato->save();
}else{
if ($request['correo']) {
$dato->correo = $request['correo'];
}
if ($request['telefono']) {
$dato->telefono = $request['telefono'];
}
if ($request['facebook']) {
$dato->facebook = $request['facebook'];
}
$dato->update();
}
return redirect("/editar_datos")
->with('msg',"Informacin actualizada!");
}

Figura 7.1 EditarDatos

29
Torren Coahuila Abril 2017
CAPITULO 8
REGISTER
CONTROLLER

30
Torren Coahuila Abril 2017
8.1 Registrar el personal
Funciones que registran al personal. Validan la informacin que viene en el
Request y proceden a registrar al nuevo personal. En el caso de registro del
vendedor, tanto la secretaria como el gerente usan la misma funcin.

//Funcion para el registro de gerentes:


public function RegistroGerente(Request $peticion) {
if($peticion->method() == "POST") {
$rules = ["email"=>"required|email|unique:users",
"nombre"=>"required", if($resultado->fails()){
"ap_paterno"=>"required", return back()->with('error',$resultado->messages()-
"ap_materno"=>"required", >all())->withInput();
"direccion"=>"required", }
"rfc"=>"required|min:10|max:13|unique:gerentes|regex:/ else
^[a-zA-Z0-9]/", {
"fecha_nac"=>"required"]; $pass=str_random(10);
$data = [
$traduccion = [ 'name' => $peticion['nombre'],
"email.required" => "Debes completar el campo Email", 'email' => $peticion['email'],
"email.email" => "El campo Email debe ser vlido", 'usuario'=> 'Gerente',
"email.unique" => "El email ingresado ya se encuentra 'pass'=>$pass
registrado", ];
"nombre.required"=>"Debes completar el campo
Nombre", \Mail::send('Templates.email',['data' =>
"ap_materno.required"=>"Debes completar el campo $data],function($mail) use($data) {
Apellido paterno", $mail->from('hello@app.com', 'Grupo Corso');
"ap_paterno.required"=>"Debes completar el campo $mail->subject('Usuario y password de acceso.');
Apellido materno", $mail->to($data['email'], $data['name']);
"rfc.required"=>"Debes completar el campo RFC", });
"rfc.unique"=>"El RFC ya est registrado!", $usuario = new User;
"rfc.max" => "El limite de caracteres del $usuario->usuario = 'Gerente';
campo :attribute son 13", $usuario->email = $peticion['email'];
"rfc.min" => "El minimo de caracteres del $usuario->password = Hash::make($pass);
campo :attribute es 10", $usuario->tipo_usuario=1;
"rfc.regex"=>"El RFC solo admite numeros y letras!", $usuario->remember_token = $peticion['_token'];
"direccion.required"=>"Debes completar el campo $usuario->movil=false;
Direccion", $usuario->save();
"fecha_nac.required"=>"Debes completar el campo
fecha de nacimiento"];

$resultado = Validator::make($peticion-
>all(),$rules,$traduccion);

Figuras 8.1 registr figura 8.2 registro

31
Torren Coahuila Abril 2017
\Mail::send('Templates.email',['data' =>
$data],function($mail) use($data) {
$mail->from('hello@app.com', 'Grupo Corso');
$mail->subject('Usuario y password de acceso.');
$mail->to($data['email'], $data['name']);
});

$usuario = new User;


$usuario->usuario = 'Secretaria';
$gte=new Gerente;
$usuario->email = $peticion['email'];
$gte->nombre=$peticion["nombre"];
$usuario->password = Hash::make($pass);
$gte->ap_paterno=$peticion["ap_paterno"];
$usuario->tipo_usuario=2;
$gte->ap_materno=$peticion["ap_materno"];
$usuario->remember_token = $peticion['_token'];
$gte->direccion=$peticion["direccion"];
$usuario->movil=false;
$gte->rfc=$peticion["rfc"];
$usuario->save();
$gte->fecha_nacimiento=$peticion["fecha_nac"];
$gte->usuario_id=$usuario->id;
$secre=new Secretaria;
$gte->save();
$secre->nombre=$peticion["nombre"];
$secre->ap_paterno=$peticion["ap_paterno"];
return back()->with('usuario_reg',$usuario->email);
$secre->ap_materno=$peticion["ap_materno"];
}
$secre->direccion=$peticion["direccion"];
}else if($peticion->isMethod("GET")){
$secre->rfc=$peticion["rfc"];
return view("gerente.registro_gerente");
$secre->curp=$peticion["curp"];
}
$secre->fecha_nacimiento=$peticion["fecha_nac"];
return redirect('/');
$secre->usuario_id=$usuario->id;
}
$secre->save();

return back()->with('usuario_reg',$usuario->email);
}
}else if($peticion->isMethod("GET")){
return view("gerente.registro_secretaria");
}
return redirect('/');
}

Figura 8.3 registro 8.4 registro

32
Torren Coahuila Abril 2017
CAPITULO 9
VENDEDOR
CONTROLLER

33
Torren Coahuila Abril 2017
9.1 Historial de venta
Las funciones anteriores retornan las vistas para el vendedor con sus ventas en
trmite (status 1) o todas las dems ventas canceladas o exitosas (status 2 y 3).

public function HistorialVentas(Request $r){


return view("vendedor.historial_ventas")
->with("ventas",Auth::user()->vendedor->ventas()-
>whereIn("status",[2,3])->get());
}

public function VentasTramite(Request $r){


return view("vendedor.ventas_tramite")
->with("ventas",Auth::user()->vendedor->ventas()-
>where("status",1)->get());
}

Figura 9.1 historial ventas.


9.2 Historial Citas
Esta funcin retorna el historial e citas considerando aquellas que estn
canceladas o exitosas y tambin aquellas cuya fecha sea antes del da de hoy a
las 00:00 hrs.
public function HistorialCitas(Request $r){
$c=Carbon::now("America/Monterrey");
$c->second(0)->minute(0)->hour(0);
$c2=Carbon::now("America/Monterrey");
$c2->second(0)->minute(0)->hour(0);

return view("vendedor.historial_citas")
->with("today",$c2->toDateTimeString())
->with("citas",Auth::user()->vendedor->citas()
->whereIn("status",[2,3])->Orwhere("fecha_hora","<",$c->toDateTimeString())
->orderBy("fecha_hora","desc")->get());
}

Figura 9.2 Historial Citas

34
Torren Coahuila Abril 2017
9.3 Cancela Citas
Las funciones anteriores cancelan o indican una cita como exitosa. Buscan la cita
mediante su id y verifican que su estatus sea pendiente para evitar modificaciones
que produzcan conflicto entre secretarias y vendedores.

public function CancelarCita(Request $r){


$cita=Cita::find($r->id);
if ($cita) {
if ($cita->status==1) {
$cita->status=3;
$cita->update();
}
}
return back();
}

public function CitaExitosa(Request $r){


$cita=Cita::find($r->id);
if ($cita) {
if ($cita->status==1) {
$cita->status=2;
$cita->update();
}
}
return back();
}

Figura 9.3 Cancelar cita

35
Torren Coahuila Abril 2017
9.4 Citas Pendientes
Esta funcin retorna la vista con las citas pendientes del vendedor. Dichas citas
son aquellas cuya fecha sea mayor al da de hoy a las 00:00hrs y cuyo status sea
pendiente.

public function CitasPendientes(Request $r){


$c=Carbon::now("America/Monterrey");
$c->second(0)->minute(0)->hour(0);
$c2=Carbon::now("America/Monterrey");
$c2->second(0)->minute(0)->hour(0);
$c3=Carbon::now("America/Monterrey");
$c3->second(0)->minute(0)->hour(0)->addDay();
return view("vendedor.citas_pendientes")
->with("today",$c2->toDateTimeString())
->with("todayUp",$c3->toDateTimeString())
->with("citas", Auth::user()->vendedor->citas()
->where("status",1)->orderBy("tipo_cita","desc")
->where("fecha_hora",">",$c->toDateTimeString())
->get());
}

Figura 9.4 Citas pendientes

36
Torren Coahuila Abril 2017
CAPITULO 10
CLIENTE
CONTROLLER

37
Torren Coahuila Abril 2017
10.1 Registrar cliente
Funcin que registra un cliente a la hora de registrar una venta o cita si es que
hace falta.

public function RegistrarCliente(Request $r){


if ($r->isMethod("POST")) {
$rules=[
"client_name"=>"required",
"ap_paterno"=>"required",
"ap_materno"=>"required", $cliente=new Cliente();
"contacto"=>"required" $cliente->nombre=$r->input("client_name");
]; $cliente->ap_paterno=$r->input("ap_paterno");
$trad=[ $cliente->ap_materno=$r->input("ap_materno");
"client_name.required"=>"Indique el nombre!", $cliente->contacto=$r->input("contacto");
"ap_paterno.required"=>"Indique el apellido $cliente->save();
paterno!",
"ap_materno.required"=>"Indique el apellido $selectedClient=-666;
materno!", if($r->id){
"contacto.required"=>"Indique un nmero de $selectedClient=$r->id;
contacto!" }
]; return view("secretaria.clientes_tabla")
$vR=Validator::make($r->all(),$rules,$trad); ->with("clientes",Cliente::all())
if($vR->fails()){ ->with("selected",$selectedClient);
return ["msgs"=>$vR->messages()]; }
} return "What happened here? :/";
$count=Cliente::where("nombre",$r- }
>input("client_name"))
->where("ap_paterno",$r->input("ap_paterno"))
->where("ap_materno",$r->input("ap_materno"))-
>count();
if ($count>0) {
return ["msgs"=>["existe"=>"El cliente ya est
registrado!"]];
}
Figura 10.1 Registrar Cliente Figura 10.2 Registrar Cliente

38
Torren Coahuila Abril 2017
CAPITULO 11
NOTARIO
CONTROLLER

39
Torren Coahuila Abril 2017
11.1Registrar notario
Funcin que registra un notario. Valida los datos que vienen en la peticin, registra
y luego retorna la tabla de notarios actualizada.

public function RegistrarNotario(Request $r){


if ($r->isMethod("POST")) {
$rules=[
"nombre"=>"required",
"ap_paterno"=>"required",
"ap_materno"=>"required",
"cedula"=>"required|unique:notarios"
];
$trad=[
"nombre.required"=>"Indique el nombre!",
"ap_paterno.required"=>"Indique el apellido paterno!",
"ap_materno.required"=>"Indique el apellido materno!",
"cedula.required"=>"Indique la cdula!",
"cedula.unique"=>"La cdula profesional ya est registrada!"
];
$vR=Validator::make($r->all(),$rules,$trad);
if($vR->fails()){
return ["msgs"=>$vR->messages()];
}

$not=new Notario();
$not->nombre=$r->input("nombre");
$not->ap_paterno=$r->input("ap_paterno");
$not->ap_materno=$r->input("ap_materno");
$not->cedula=$r->input("cedula");
$not->save();

return view("secretaria.notarios_tabla")
->with("notarios",Notario::get())
->with("selected",Venta::find($r->id)->notario)
->with("venta",$r->id);
}
return "What happened here? :/";
}

Figura 11.1 registro notario

40
Torren Coahuila Abril 2017
11.2 Vista Notario

Funcin que retorna la vista de notarios registrados para seleccionarlos al


actualizar una venta.

public function PedirVistaNotarios(Request $r){


return view("secretaria.notarios_vista")
->with("notarios",Notario::get())
->with("selected",Venta::find($r->id)->notario)
->with("venta",$r->id);
}

Figura 11.2 Vista notario

41
Torren Coahuila Abril 2017
CAPITULO 12
Casas Controller

42
Torren Coahuila Abril 2017
12.1 Agregar Foto a casa
Funcin para agregar fotos a una casa. Se pueden subir varios archivos.

public function AgregarFotos(Request $r){


if($r->isMethod("POST")){
$trad = [
"the_files.required"=>"Selecciona las imagenes!",
"the_files.*.image"=>"Solo se aceptan imagenes!"
];
$rules=[
"the_files"=>"required",
"the_files.*"=>"required|image"];
$vRes=Validator::make($r->all(),$rules,$trad);
if ($vRes->fails()) {
return back()->withInput()->with("msgs", $vRes->messages())
->with("id_casa",$r->input("id"));
}
$casa=Casa::find($r->input("id"));
$sources=[];
foreach ($r->file("the_files") as $file) {
$original=basename($file->getClientOriginalName(), '.'.$file->getClientOriginalExtension());
$name=md5($original.microtime());
$newname= $name.'.'.$file->getClientOriginalExtension();
$src="public/img/casas_reg/".$newname;
$file->move(
base_path() . '/public/img/casas_reg/', $newname
);
$sources[]=$src;
}

foreach ($sources as $src) {


$pick=new Foto();
$pick->string_foto=$src;
$pick->casa_id=$casa->id;
$pick->save();
}
return back()->with("id_casa",$r->input("id"));
}
return redirect("/casas_venta");
}

Figura 12.1 Agregar foto a casa

43
Torren Coahuila Abril 2017
12.2 Elimina fotos de una casa
Funcin para eliminar fotos de una casa. Busca una casa mediante eloquent y elimina la foto
solicitada si hay ms de 1 foto en la casa.

Figura 12.2 Eliminar Fotos de casa

Edita los datos de una casa segn sea necesario. Si vienen determinados datos
los cambia, sino vienen en la request no se realiza ninguna accin sobre ese
campo. Funcin Editar casa

44
Torren Coahuila Abril 2017
12.3 Identificar casa
La primera funcin en la captura indica la casa que se editar mediante el ID.
La segunda obtiene una casa segn el id con Eloquent y la retorna.

Figura 12.3 Identificar casa

12.4 Retorno de foto


Funcin que retorna las fotos de una casa segn su id.

Figura 12.4 retorno de foto

45
Torren Coahuila Abril 2017
12.5 Filtro de ver casas
Funciones dedicadas a filtrar el tipo de casas con las que se visualizarn. Cada
una retorna las casas segun su disponibilidad, ya sean en venta, en trmite o casa
vendidas.

figura 12.5 filtro de casas

12.6 Registra casas

Funcin que registra una casa con todos sus datos y las fotos que el usuario haya
decidido subir. Al finalizar el registro retorna las casas en venta en una vista.

46
Torren Coahuila Abril 2017
CAPITULO 13
CITAS
CONTROLLER

47
Torren Coahuila Abril 2017
13.1 Extraer citas
Funcin dedicada a extraer las citas registradas indicando a la vista qu da es
hoy con la librera Carbon\Carbon.

Figura 13.1 Extraer cita


13.2 Pedir ventas
PedirVentas es la funcin que extrae aquellas ventas para las cuales se pueda
agendar una cita (status en tramite). Pedir vista clientes regresa los clientes
registrados para la cita y ambas funciones verifican si se ha seleccionado

previamente uno.

Figura 13.2 PedirVentas

48
Torren Coahuila Abril 2017
13.3 Casas disponibles
CasasDisponibles es la Funcin que busca las casas que no estn disponibles
para visitar. A su vez esta funcin invoca whereBetween, y whereDoesntHave para
checar que las casas no tengan una cita ya registrada una hora antes o una hora
despus del momento en el que se quiere registrar la cita actual.
13.4 Verifica Vendedores disponibles
Funcin que checa los vendedores que no tengan citas una hora antes o despus
del momento en que se quiere registrar la cita actual, usando whereDoesntHave y
whereBetween de Eloquent.

public function VendedoresDisponibles(Request $r){


$selected=-666;
if($r->id){
$selected=$r->id;
}
if ($r->imASale) {
return view("secretaria.vendedores_disponibles")
->with("vendedores",Vendedor::all())
->with("selected",$selected);
}
$c=new Carbon($r->date);
$c2=new Carbon($r->date);
$c->second(0);
$c2->second(0);

$cAdd=self::returnAdd($c);
$cSub=self::returnSub($c2);

$vendedoresDis= Vendedor::whereDoesntHave("citas",function($q) use($cAdd,$cSub){


$q->whereBetween("fecha_hora",[$cSub,$cAdd])->where("status",1);
})->get();
return view("secretaria.vendedores_disponibles")
->with("vendedores",$vendedoresDis)
->with("selected",$selected);
}

Figura 13.3 Vendedores disponibles


13.5 RegistrarCitas
Registrar citas Es la funcin ms importante pues es la encargada de registrar la
cita y al finalizar enviar a la vista de citas registradas. Verifica el tipo de cita que se
quiere registrar ya sea para agendar una visita o para entregar documentos, y
extrae la informacin que corresponda del objeto Request segn sea necesario.

49
Torren Coahuila Abril 2017
CAPITULO 14
VENTAS
CONTROLLER

50
Torren Coahuila Abril 2017
14.1 Venta concretada
Funcin que indica una venta que ha sido concretada, es decir status 2.

$venta=Venta::find($r->id);
if ($venta) {
$venta->status=2;
$venta-
>fecha_cierre=Carbon::now("America/Monterrey")-
>toDateTimeString();
$venta->casa->disponibilidad=3;
$venta->casa->update();
$venta->update();
}
return back()->with("id",$r->id);
}
Figura 14.1 venta concretada

14.2 Venta asignada a un notario


La primera funcin indica cuando a una venta se le asigna el notario relacionado
con sus escrituras. La segunda funcin indica cuando el monto de la venta ha sido
cubierto.
p ublic function NotarioVenta(Request $r){
$venta=Venta::find($r->input("venta"));
$venta->notario_id=$r->input("notario");
$venta->update();
return redirect("/ventas_registradas")-
>with("id",$r->input("venta"));
}

public function MontoCubierto(Request $r){


$venta=Venta::find($r->id);
if ($venta) {
$venta-
>monto_cubierto=Carbon::now("America/Monter
rey")->toDateTimeString();
$venta->update();
}
return back()->with("id",$r->id);
}

Figura 14.2 Venta a notario

51
Torren Coahuila Abril 2017
14.3 Cita Cancelada
Indica cuando una cita ha sido cancelada. Esta funcin tambin verifica que todas
las citas asociadas con la venta sean canceladas.

public function CancelarVenta(Request $r){


$venta=Venta::find($r->id);
if ($venta) {
$venta->status=3;
$venta->fecha_cierre=Carbon::now("America/Monterrey")->toDateTimeString();
$venta->casa->disponibilidad=1;
$venta->casa->update();
$venta->update();
}
$citas_cancelar=Cita::where("venta_docs_id",$venta->id)->where("status",1)->get();
foreach ($citas_cancelar as $key => $val) {
$val->status=3;
$val->update();
}
return back()->with("id",$r->id);
}

Figura 14.3 Cita cancelada


14.4 Vista de modificacin venta
Funcin que retorna la vista del modal para ver si una venta puede ser modificada
en sus documentos, es decir, si est en status 1.

public function CheckStatus(Request $r){


$venta=Venta::find($r->id);
if ($venta->status==1) {
return ["view"=>view("secretaria.editar_archivo")->with("id",$venta->id)->with("doc",$r->doc)-
>render()];
}
return "Nope";
}

Figura 14.4 CheckStatus

52
Torren Coahuila Abril 2017
14.5 Retorna ventas ordenadas
Funcin que retorna la vista con las ventas registradas ordenadas segn la fecha
en que se insertaron en la base de datos.

public function VentasRegistradas(Request $r){


return view("secretaria.ventas_registradas")
->with("ventas",Venta::orderBy("created_at","desc")->get());
}

Figura 14.5 Retorno ventas ordenadas

14.6 Ventas Concretadas


Ventasconcretadas esta funcin es la encargada de modificar los documentos
correspondientes a la venta. Segn los archivos que vienen presentes en el
request, modifica o no la ruta que corresponde al documento del archivo.

14.7 Documentos de la venta


Subirdoc esta funcin sube los documentos de la venta. Es usada tanto para acta
de nacimiento, ine y escrituras, pues acta segn los archivos que vienen en la
peticin.

14.8 Registra venta


RegistraVenta esta funcin se encarga de validar si un vendedor y un cliente han
tenido citas previas a la fecha en la que se intenta registrar la venta. Si las han
tenido verifica si fue con dicho vendedor la primera cita, y regresa el mensaje
correspondiente. Si ha sido con ese vendedor la primera cita, no regresa ningn
mensaje.

14.9 Registra venta

RegistraVentaDefinitivo es la Funcion que registra la venta formalmente, ya


habiendo sido evaluada en relacion con las citas entre el cliente y el vendedor por
parte de la funcin anterior.

53
Torren Coahuila Abril 2017
SECCION II
CAPITULO 15
DIAGRAMA DE
CLASE
Figura 15. 1 Diagrama Adapters

56
Torren Coahuila Abril 2017
Figura 15.2 Diagrama Casa

Figura 15.3 Diagrama cita

57
Torren Coahuila Abril 2017
Figura 15.4 Diagrama Notario

Figura 15.5 Diagrama dato

58
Torren Coahuila Abril 2017
Figura 15.6 DiagramaSQLOpenHelper

59
Torren Coahuila Abril 2017
Figura 15.7 Diagrama User

60
Torren Coahuila Abril 2017
Figura 15. 8 Diagrama venta

61
Torren Coahuila Abril 2017
CAPITULO 16
DIAGRAMAS DE
SECUENCIA
Figura 16.1 Secuencia Secretaria Ingresar

63
Torren Coahuila Abril 2017
Figura 16.2 Secuencia SecretariaCompleto

Figura 16.3 Secuencia usuraio

64
Torren Coahuila Abril 2017
Figura 16.5 Secuencia cliente

65
Torren Coahuila Abril 2017
Figura 16.6 Secuencia usuario completo

66
Torren Coahuila Abril 2017
Figura 16.7 Secuencia secretaria interfaz

67
Torren Coahuila Abril 2017
Capitulo 17
Diccionario de
Datos
Figura 17.1 Diccionario casa

Figura 17.2 Diccionario citas

69
Torren Coahuila Abril 2017
Figura 17.3 Diccionario cliente

Figura 17.4 Diccionario dato

Figura 17.5 Diccionario documentos

Figura 17.6 Diccionario fotoscasa

70
Torren Coahuila Abril 2017
Figura 17.7 Diccionario gerente

Figura 17.8 Diccionario notario

Figura 17.9 Diccionario secretaria

Figura 17.10 Diccionario users

71
Torren Coahuila Abril 2017
Figura 17.11 Diccionario vendedores

Figura 17.12 Diccionario ventas

72
Torren Coahuila Abril 2017
Captulo 18 Modelo
de Base de Datos

73
Torren Coahuila Abril 2017
18.1 Modelo de Base de Datos

74
Torren Coahuila Abril 2017

Вам также может понравиться