felipesulser / serviciossociales Goto Github PK
View Code? Open in Web Editor NEWPara SistInfoInet
Para SistInfoInet
I think the title is self-explanatory.
Vivenda obligatoriamente debe tener un expediente.
Vivenda actual obligatoriamente debe tener o un expediente o un ciudadano (hace falta consenso)
Están las relaciones al revés
@soutoner @fraanii94 @FelipeSulser @AlvaroFaure @Steveomatic
MU (string)
Hay problemas con el DDL generado. Al definir el atributo dni de ciudadano lo pone como unique, pero luego hace un alter table add constraint dni unique (da un error). Tampoco genera las FK de profesional y en expediente se crea propietario_id pero no existe ese atributo!!! LOL
CREATE TABLE CIUDADANO (ID BIGINT NOT NULL, APELLIDO1 VARCHAR(255) NOT NULL, APELLIDO2 VARCHAR(255), DNI VARCHAR(255) NOT NULL UNIQUE, FECHA_NACIMIENTO DATE NOT NULL, NACIONALIDAD VARCHAR(255) NOT NULL, NOMBRE VARCHAR(255) NOT NULL, EXPEDIENTE_PERSONAL_ID BIGINT, PRIMARY KEY (ID))
CREATE TABLE CITA (ID BIGINT NOT NULL, COMENTARIOS VARCHAR(255), FECHA DATE NOT NULL, TIPO_DE_CITA VARCHAR(255) NOT NULL, CIUDADANO_ID BIGINT NOT NULL, PROFESIONAL_ID BIGINT NOT NULL, PRIMARY KEY (ID))
CREATE TABLE EXPEDIENTE (ID BIGINT NOT NULL, CSS VARCHAR(255) NOT NULL, FECHA_APERTURA DATE NOT NULL, ZONA VARCHAR(255) NOT NULL, PRIMARY KEY (ID))
CREATE TABLE PROFESIONAL (ID BIGINT NOT NULL, APELLIDO1 VARCHAR(255) NOT NULL, APELLIDO2 VARCHAR(255), DNI VARCHAR(255) NOT NULL UNIQUE, NOMBRE VARCHAR(255) NOT NULL, PRIMARY KEY (ID))
CREATE TABLE VIVIENDA (ID BIGINT NOT NULL, CALLE VARCHAR(255) NOT NULL, CODIGO_POSTAL VARCHAR(255) NOT NULL, CONDICIONES VARCHAR(255), METROS_CUADRADOS VARCHAR(255), MUNICIPIO VARCHAR(255) NOT NULL, REGIMEN_TENENCIA VARCHAR(255) NOT NULL, TELEFONO VARCHAR(255), PROPIETARIO_ID BIGINT, EXPEDIENTE_RESIDENCIA_ID BIGINT NOT NULL, PRIMARY KEY (ID))
CREATE TABLE FAMILIAR (ID BIGINT NOT NULL, APELLIDO1 VARCHAR(255) NOT NULL, APELLIDO2 VARCHAR(255), DNI VARCHAR(255) NOT NULL UNIQUE, FECHA_NACIMIENTO DATE NOT NULL, INGRESO_MEDIO FLOAT, MU VARCHAR(255), NOMBRE VARCHAR(255) NOT NULL, PARENTESCO VARCHAR(255) NOT NULL, EXPEDIENTE_FAM_ID BIGINT NOT NULL, PRIMARY KEY (ID))
CREATE TABLE INTERVENCIONES (ID BIGINT NOT NULL, ANOTACIONES VARCHAR(255), FECHA DATE NOT NULL, EXPEDIENTE_ID BIGINT NOT NULL, CITA_ID BIGINT NOT NULL, PRIMARY KEY (ID))
ALTER TABLE CIUDADANO ADD CONSTRAINT UNQ_CIUDADANO_0 UNIQUE (dni)
ALTER TABLE CIUDADANO ADD CONSTRAINT CDDNXPDNTPRSONALID FOREIGN KEY (EXPEDIENTE_PERSONAL_ID) REFERENCES EXPEDIENTE (ID)
ALTER TABLE CITA ADD CONSTRAINT CITAPROFESIONAL_ID FOREIGN KEY (PROFESIONAL_ID) REFERENCES PROFESIONAL (ID)
ALTER TABLE CITA ADD CONSTRAINT CITA_CIUDADANO_ID FOREIGN KEY (CIUDADANO_ID) REFERENCES CIUDADANO (ID)
ALTER TABLE VIVIENDA ADD CONSTRAINT VVNDXPDNTRSDNCIAID FOREIGN KEY (EXPEDIENTE_RESIDENCIA_ID) REFERENCES EXPEDIENTE (ID)
ALTER TABLE VIVIENDA ADD CONSTRAINT VVENDAPRPIETARIOID FOREIGN KEY (PROPIETARIO_ID) REFERENCES EXPEDIENTE (ID)
ALTER TABLE FAMILIAR ADD CONSTRAINT FMLARXPDIENTEFAMID FOREIGN KEY (EXPEDIENTE_FAM_ID) REFERENCES EXPEDIENTE (ID)
ALTER TABLE INTERVENCIONES ADD CONSTRAINT NTERVENCIONESCTAID FOREIGN KEY (CITA_ID) REFERENCES CITA (ID)
ALTER TABLE INTERVENCIONES ADD CONSTRAINT NTRVNCONESXPDNTEID FOREIGN KEY (EXPEDIENTE_ID) REFERENCES EXPEDIENTE (ID)
CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))
INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0)
Así practicas git es algo muy sencillo
Quiero que se especifique la navegación de las vistas y todas las vistas necesarias.
@soutoner también te puede ayudar.
Cuando lo tengas, el resto lo revisará.
Fecha límite: domingo 19 de abril
El lunes y martes se hará la revisión y el miércoles comenzaremos a programar.
Una vivienda debe estar asignada al menos a un expediente, no tiene sentido almacenar viviendas que no son de nadie.
Lo cambio yo en el E/R, cambiadlo en el JPA
Cambiamos la versión. Antes era una relación con ciudadano pero daba problemas para crear un ciudadano. ADemás, @AlvaroFaure y yo pensamos que tiene más sentido así
Los getters y setters a veces están mezclado lo cual hace que sea más difícil leerlos. Los quiero todos juntitos getX() junto con setX().
NO ES PARA HOY.
Fecha límite: domingo 19 de abril
Asignar siempre un id a cada elemento JSF. Por lo menos aquellos que se vayan a testear.
Yo creo que por hacerlo más sencillo un familiar solo puede estar relacionado con un expediente. Y creo que en la vida real también se hace así. Por ejemplo: cuando pido una beca tengo que poner los datos de mis hermanos, pero si mi hermano pide la misma beca, él también tendría que poner todos los datos de sus hermanos, a pesar de que ya están en el sistema.
@FelipeSulser
Cambiado en el E/R, falta el JPA (consultar modelo en la wiki o drive), @Steveomatic
Tal vez los SSC tengan un código para asignar el identificador del expediente, eg: Año/Mes/Dia/NumeroDeCiudadanosRegistradosEseMes
@FelipeSulser
Recordad hacer la encuesta en puzzle
@AlvaroFaure @Steveomatic
No es tan fácil, hacer una PK compuesta por id y las FK no vale ya que las FK son relaciones. Mirad los apuntes y lo veréis. Hay que preguntar al profesor.
Dada la situación actual, me encuentro que no sé dónde hay un E/R actualizado. ¿El de drive?
¿Porqué no lo subimos a la wiki? @FelipeSulser si tienes el último esquema E/R, subelo
NOTA: Quitar sector de los requisitos. Quitar fecha inicio-fin, sólo es en un día. Quitar estado y actualización, no sabemos bien lo que es.
No hay que hacer más cambios (en principio) en Intervenciones.
La relación entre expediente y vivienda (la de uno a muchos, no la que identifica la vivienda actual) está mal. En Expediente.java no es obligatoria, mientras que en el modelo Entidad/Relación aparece que sí. Debería no ser obligatoria porque si no obligamos a un ciudadano a tener una vivienda actual (acogemos gente sin techo) no tiene sentido que exijamos que tenga al menos alguna vivienda.
Así si borramos una cita, las anotaciones también se borrarían.
Eso no está reflejado ni en el ER ni en el JPA
fecha de apertura
indice de la vivienda (en expediente hay un array con las viviendas. Debe haber un campo que indique la posición en el array donde está la vivienda en la que reside)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.