use usuarios_cepaim;
/*
En principio creo conveniente las siguientes tablas (que pueden ir alojadas en la base de datos "usuarios_cepaim"):
- Las viviendas propiamente dichas
- Contratos de alquiler sobre dichas viviendas
- Usuarios vinculados con cada vivienda (moradores)
- Seguimientos de las viviendas
- Pagos de alquiler
- Pagos de comunidad
*/

CREATE TABLE vi_vivienda (
	id 			MEDIUMINT  UNIQUE NOT NULL AUTO_INCREMENT,
	centro_origen 		TINYINT UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
	centro 			TINYINT UNSIGNED NOT NULL DEFAULT '0',
	direccion_viv 		VARCHAR(255) NOT NULL,
	cp 			CHAR(5) NOT NULL,
	localidad_viv 		varchar(100) NOT NULL,
	provincia_viv 		TINYINT UNSIGNED NOT NULL,
	num_IPRA 		VARCHAR(12) DEFAULT NULL,
	tipologia 		VARCHAR(255) NOT NULL,
	num_habitaciones 	TINYINT unsigned NOT NULL,
	superficie 		SMALLINT 	unsigned NOT NULL,
	comunidad_cif 		VARCHAR(9),
	comunidad_direcc 	VARCHAR(255),
	comunidad_tlf 		VARCHAR(100),
	comunidad_email 	VARCHAR(100),
	comunidad_fax 		VARCHAR(100),
	comunidad_persona_contacto VARCHAR(100),
	comunidad_importe 	FLOAT(8,2) unsigned,
	observaciones 		TEXT,
	f_alta 			DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
	creador 		VARCHAR(9) NOT NULL DEFAULT '',
	f_modif 		DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
	modificador 		VARCHAR(9) NOT NULL DEFAULT '',
	PRIMARY KEY (centro_origen,viv_id)
	) ENGINE=InnoDB;

/*
CREATE UNIQUE INDEX viv_vivienda_idx ON viv_viviendas (centro_origen, viv_id);
*/

/*
Explicación de los campos:
- Los dos primeros son los campos índice de la tabla, el tercero es el centro al que "pertenece" la vivienda, esto es igual que en el fichero de empresas

- dirección, código postal, provincia (de un desplegable con los valores de la tabla "provincias_esp")

- El núm IPRA es un campo que me pidieron, es la referencia del banco para la vivienda, lo puedes etiquetar simplemente como "Núm. IPRA"

- Tipología; puede tener los siguientes valores: piso, casa

- número de habitaciones y superficie sólo puede contener valores numéricos enteros

- La parte relativa a los gastos de comunidad sería bueno que se diferenciara visualmente del resto. No todas las viviendas tienen gastos de comunidad, por lo que los campos no pueden ser de obligado cumplimiento.
*/

/**********
Contratos
***********/

CREATE TABLE vi_contrato (
	id 			SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
	viv_centro_origen 	TINYINT UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT unsigned NOT NULL DEFAULT '0',
	alta 			DATE NOT NULL DEFAULT '0000-00-00',
	baja 			DATE DEFAULT NULL,
	entrada_vivienda 	DATE DEFAULT NULL,
	importe_alquiler 	FLOAT(8,2) unsigned NOT NULL DEFAULT '0.00',
	observaciones 		TEXT,	
	PRIMARY KEY (id)
	) ENGINE=InnoDB;

/*
Los contratos aparecerán como un módulo de cada vivienda, al estilo de las Ofertas, Formaciones, Encuentros y jornadas son al fichero de empresas.

/******************
MORADORES

Otro módulo de información complementaria a la ficha de vivienda donde 
poder recoger la fecha de alta y baja de los distintos ocupantes que 
hayan podido morar en la vivienda.
*******************/

CREATE TABLE vi_ocupacion (
	id 			INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	viv_centro_origen 	TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	alta 			DATE NOT NULL DEFAULT '0000-00-00',
	baja 			DATE DEFAULT NULL,
	centro_origen 		TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
	idusuario 		MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	observaciones 		TEXT,
	PRIMARY KEY (id)
	) ENGINE=InnoDB;

/********
La persona debe poder seleccionarse de forma similar a las citas (creo que incluso se puede aprovechar el mismo fichero /red/citas/selec_benef.php
Como ejemplo te podría servir /red/usuarios/modulos/acogida_acogidas.php aunque aquí al ser varios ocupantes por vivienda no es completamente igual.
***********/

/************
Seguimientos

Esto es algo sencillo para ir anotando las visitas que se hacen a la vivienda, incidencias, ... de forma cronológica. Puedes tomar como ejemplo /red/usuarios/modulos/acogida_seguimientos.php
****************/

CREATE TABLE vi_seguimiento (
				id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	viv_centro_origen 	TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	fecha 			DATE NOT NULL DEFAULT '0000-00-00',
	observaciones 		TEXT,
	PRIMARY KEY (id)
) ENGINE=InnoDB;

/******************
Pagos de alquiler
*******************/

CREATE TABLE vi_alquiler (
	id 			INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	viv_centro_origen 	TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	fecha 			DATE NOT NULL DEFAULT '0000-00-00',
	importe 		FLOAT(8,2) UNSIGNED NOT NULL DEFAULT '0.00',
	pagado 			FLOAT(8,2) UNSIGNED,
	fecha_pago 		DATE DEFAULT NULL,
	observaciones 		TEXT,
	PRIMARY KEY (id)
	) ENGINE=InnoDB;

/***
El campo "fecha" se cumplimentará a través de un desplegable "mes año", similar al que se emplea en las ayudas económicas del proyecto CAT IRPF /red/usuarios/modulos/becas.php?proy=1&centro_origen=15&id=1863

Cuando se cumplimente "pagado" será obligatorio que también se cumplimente la fecha de pago (siendo una fecha válida, claro).

A la hora de mostrar la tabla de pagos se puede colorear en verde aquellos pagos cuyo importe=pagado, en rojo aquellos con pagado=0, en naranja los que pagado<importe (pagos parciales) o como tú mejor lo veas.

*******/

/********************
Pagos de comunidad
*********************/

CREATE TABLE vi_comunidad (
	id 			INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
	viv_centro_origen 	TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
	viv_id 			MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
	importe 		FLOAT(8,2) UNSIGNED,
	fecha_pago 		DATE DEFAULT NULL,
	observaciones 		TEXT,
	PRIMARY KEY (id)
	) ENGINE=InnoDB;


