Skip to content

Commit

Permalink
* Cambiando la relacion entre ciudad y Municipio, ahora los municipio…
Browse files Browse the repository at this point in the history
…s pueden tener mas de una ciudad
  • Loading branch information
ripper2hl committed Apr 13, 2024
1 parent ef899d6 commit aaf5732
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 28 deletions.
9 changes: 5 additions & 4 deletions src/main/java/com/perales/sepomex/model/Ciudad.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,11 @@ public class Ciudad implements Serializable {

@OneToMany(mappedBy = "ciudad", fetch = FetchType.LAZY)
private List<Colonia> colonias;


@OneToMany(mappedBy = "ciudad", fetch = FetchType.LAZY)
private List<Municipio> municipios;


@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "municipio_id")
private Municipio municipio;


@OneToMany(mappedBy = "ciudad", fetch = FetchType.LAZY)
Expand Down
7 changes: 3 additions & 4 deletions src/main/java/com/perales/sepomex/model/Municipio.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,9 @@ public class Municipio implements Serializable {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "estado_id")
private Estado estado;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ciudad_id")
private Ciudad ciudad;

@OneToMany(mappedBy = "municipio", fetch = FetchType.LAZY)
private List<Ciudad> ciudades;

@OneToMany(mappedBy = "municipio", fetch = FetchType.LAZY)
private List<CodigoPostal> codigosPostales;
Expand Down
35 changes: 17 additions & 18 deletions src/main/java/com/perales/sepomex/service/ArchivoService.java
Original file line number Diff line number Diff line change
Expand Up @@ -315,42 +315,41 @@ private void revisarColonia(Colonia colonia, EntityManager em) {
codigoPostalAdministracionAsentamientoOficina.setEstado( estado );
}

Municipio municipio = colonia.getMunicipio();
if( municipios.contains( municipio ) ){
municipio = municipios.get( municipios.indexOf( municipio ) );
colonia.setMunicipio(municipio);
codigoPostal.setMunicipio( municipio );
codigoPostalAdministracionAsentamiento.setMunicipio( municipio );
codigoPostalAdministracionAsentamientoOficina.setMunicipio( municipio );
}else {
colonia.getMunicipio().setEstado(estado);
em.persist(colonia.getMunicipio());
municipios.add( colonia.getMunicipio() );
codigoPostal.setMunicipio( colonia.getMunicipio() );
codigoPostalAdministracionAsentamiento.setMunicipio( colonia.getMunicipio() );
codigoPostalAdministracionAsentamientoOficina.setMunicipio( colonia.getMunicipio() );
}

if(colonia.getCiudad() != null && estado != null){
Ciudad ciudad = colonia.getCiudad();
if( ciudades.contains( ciudad ) ) {
ciudad = ciudades.get( ciudades.indexOf( ciudad ) );
colonia.setCiudad(ciudad);
colonia.getMunicipio().setCiudad(ciudad);
codigoPostal.setCiudad( ciudad);
codigoPostalAdministracionAsentamiento.setCiudad( ciudad );
codigoPostalAdministracionAsentamientoOficina.setCiudad( ciudad );
}else {
colonia.getCiudad().setEstado(estado);
colonia.getCiudad().setMunicipio(municipio);
em.persist(colonia.getCiudad());
ciudades.add( colonia.getCiudad() );
colonia.getMunicipio().setCiudad(colonia.getCiudad());
codigoPostal.setCiudad(colonia.getCiudad());
codigoPostalAdministracionAsentamiento.setCiudad( colonia.getCiudad() );
codigoPostalAdministracionAsentamientoOficina.setCiudad( colonia.getCiudad() );
}
}

Municipio municipio = colonia.getMunicipio();
if( municipios.contains( municipio ) ){
municipio = municipios.get( municipios.indexOf( municipio ) );
colonia.setMunicipio(municipio);
codigoPostal.setMunicipio( municipio );
codigoPostalAdministracionAsentamiento.setMunicipio( municipio );
codigoPostalAdministracionAsentamientoOficina.setMunicipio( municipio );
}else {
colonia.getMunicipio().setEstado(estado);
em.persist(colonia.getMunicipio());
municipios.add( colonia.getMunicipio() );
codigoPostal.setMunicipio( colonia.getMunicipio() );
codigoPostalAdministracionAsentamiento.setMunicipio( colonia.getMunicipio() );
codigoPostalAdministracionAsentamientoOficina.setMunicipio( colonia.getMunicipio() );
}

ZonaTipo zonaTipo = colonia.getZonaTipo();
if (zonaTipos.contains( zonaTipo ) ) {
colonia.setZonaTipo( zonaTipos.get( zonaTipos.indexOf( zonaTipo ) ) );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ public Ciudad actualizar(Ciudad entity) {
public Ciudad borrar(Integer id) {
Ciudad ciudad = ciudadRepository.findById(id).get();
ciudad.getColonias().forEach( colonia -> colonia.setCiudad(null));
ciudad.getMunicipios().forEach(municipio -> municipio.setCiudad(null));
ciudad.getCodigosPostales().forEach(codigoPostal -> codigoPostal.setCiudad(null));
ciudadRepository.deleteById(id);
return ciudad;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public Municipio actualizar(Municipio entity) {
public Municipio borrar(Integer id) {
Municipio municipio = municipioRepository.findById(id).get();
municipio.getColonias().forEach(colonia -> colonia.setMunicipio(null));
municipio.getCiudades().forEach(ciudad -> ciudad.setMunicipio(null));
municipio.getCodigosPostales().forEach(codigoPostal -> codigoPostal.setMunicipio(null));
municipioRepository.delete(municipio);
return municipio;
Expand Down
1 change: 0 additions & 1 deletion src/test/resources/sample-data/municipio.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@
<Municipio
id="100" nombre="municipio"
estado_id="100"
ciudad_id="100"
/>
</dataset>

0 comments on commit aaf5732

Please sign in to comment.