Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
BackEnd-V2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Joel Andres Molina Velez
BackEnd-V2
Commits
d6b97184
Commit
d6b97184
authored
Aug 21, 2023
by
Joel Andres Molina Velez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Se realizan los servicios de ModelUzyTavSeguim
parent
381de82b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
248 additions
and
17 deletions
+248
-17
UzyTavSeguimController.java
...ilidad/MovilidadWS/Controller/UzyTavSeguimController.java
+53
-0
DtoUzyTavSeguim.java
...c/edu/espe/movilidad/MovilidadWS/Dto/DtoUzyTavSeguim.java
+13
-7
UzyTavSeguimMapper.java
...vilidadWS/Mapper/Components_Class/UzyTavSeguimMapper.java
+45
-0
ModelUzyTavSeguim.java
...u/espe/movilidad/MovilidadWS/Model/ModelUzyTavSeguim.java
+12
-10
IServiceUzyTavSeguim.java
...ovilidadWS/Service/UzyTavSeguim/IServiceUzyTavSeguim.java
+17
-0
ServiceUzyTavSeguim.java
...MovilidadWS/Service/UzyTavSeguim/ServiceUzyTavSeguim.java
+108
-0
No files found.
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Controller/UzyTavSeguimController.java
0 → 100644
View file @
d6b97184
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Controller
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavSeguim.IServiceUzyTavSeguim
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.http.ResponseEntity
;
import
javax.validation.Valid
;
import
java.util.List
;
import
static
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Constant
.
GlobalConstants
.
V1_API_VERSION
;
@RestController
@CrossOrigin
(
origins
=
"*"
)
@RequestMapping
(
V1_API_VERSION
+
"/seguim"
)
public
class
UzyTavSeguimController
{
private
final
IServiceUzyTavSeguim
serviceUzyTavSeguim
;
public
UzyTavSeguimController
(
IServiceUzyTavSeguim
serviceUzyTavSeguim
)
{
this
.
serviceUzyTavSeguim
=
serviceUzyTavSeguim
;
}
@GetMapping
(
"/exampleFindId/{id}"
)
public
DtoUzyTavSeguim
ListarPorID
(
@PathVariable
Long
id
)
{
return
serviceUzyTavSeguim
.
ListarPorID
(
id
);
}
@GetMapping
(
"/getAll"
)
public
List
<
DtoUzyTavSeguim
>
ListarRegistros
()
{
return
serviceUzyTavSeguim
.
ListarRegistros
();
}
@PostMapping
(
"/guardar"
)
public
DtoUzyTavSeguim
guardar
(
@Valid
@RequestBody
DtoUzyTavSeguim
dtoUzyTavSeguim
)
{
return
serviceUzyTavSeguim
.
guardar
(
dtoUzyTavSeguim
);
}
@PutMapping
(
"/editar/{id}"
)
public
DtoUzyTavSeguim
editar
(
@PathVariable
Long
id
,
@Valid
@RequestBody
DtoUzyTavSeguim
dtoUzyTavSeguim
)
{
return
serviceUzyTavSeguim
.
editar
(
id
,
dtoUzyTavSeguim
);
}
@DeleteMapping
(
"/eliminar/{id}"
)
public
ResponseEntity
<
String
>
eliminar
(
@PathVariable
Long
id
)
{
boolean
eliminado
=
serviceUzyTavSeguim
.
eliminar
(
id
);
if
(
eliminado
)
{
return
ResponseEntity
.
ok
(
"El registro se eliminó exitosamente."
);
}
else
{
return
ResponseEntity
.
notFound
().
build
();
}
}
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Dto/DtoUzyTavSeguim.java
View file @
d6b97184
...
...
@@ -2,15 +2,21 @@ package ec.edu.espe.movilidad.MovilidadWS.Dto;
import
lombok.Data
;
import
javax.validation.constraints.Positive
;
import
javax.validation.constraints.Size
;
import
java.util.Date
;
@Data
public
class
DtoUzyTavSeguim
{
private
Long
UZYTAVSEGUIM_ID
;
private
Long
UZYTAVPROYEC_ID
;
private
String
UZYTAVSEGUIM_DESCRIP
;
private
Long
UZYTAVOBJETIVO_PROGRAMA_ID
;
private
Date
UZYTAVSEGUIM_FECHA_LOGRO
;
private
String
UZYTAVSEGUIM_LOGRO
;
@Positive
(
message
=
"El campo uzytavseguim_id debe ser un número positivo"
)
private
Long
uzytavseguim_id
;
@Positive
(
message
=
"El campo uzytavproyec_id debe ser un número positivo"
)
private
Long
uzytavproyec_id
;
@Size
(
max
=
100
)
private
String
uzytavseguim_descrip
;
@Positive
(
message
=
"El campo uzytavobjetivo_programa_id debe ser un número positivo"
)
private
Long
uzytavobjetivo_programa_id
;
private
Date
uzytavseguim_fecha_logro
;
@Size
(
max
=
1000
)
private
String
uzytavseguim_logro
;
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Mapper/Components_Class/UzyTavSeguimMapper.java
0 → 100644
View file @
d6b97184
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Mapper
.
Components_Class
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzytavObjetivoPrograma
;
import
org.modelmapper.ModelMapper
;
import
org.springframework.stereotype.Component
;
import
javax.persistence.EntityManager
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Component
public
class
UzyTavSeguimMapper
{
private
final
ModelMapper
modelMapper
;
private
final
EntityManager
entityManager
;
public
UzyTavSeguimMapper
(
ModelMapper
modelMapper
,
EntityManager
entityManager
)
{
this
.
modelMapper
=
modelMapper
;
this
.
entityManager
=
entityManager
;
}
public
DtoUzyTavSeguim
entityToDto
(
ModelUzyTavSeguim
entity
)
{
return
modelMapper
.
map
(
entity
,
DtoUzyTavSeguim
.
class
);
}
public
ModelUzyTavSeguim
dtoToEntity
(
DtoUzyTavSeguim
dto
)
{
ModelUzyTavSeguim
entity
=
modelMapper
.
map
(
dto
,
ModelUzyTavSeguim
.
class
);
Long
objetivoPID
=
dto
.
getUzytavobjetivo_programa_id
();
if
(
objetivoPID
!=
null
)
{
ModelUzytavObjetivoPrograma
objetivoPrograma
=
entityManager
.
find
(
ModelUzytavObjetivoPrograma
.
class
,
objetivoPID
);
entity
.
setUzytavobjetivoPrograma
(
objetivoPrograma
);
}
return
entity
;
}
public
List
<
DtoUzyTavSeguim
>
entitiesToDtos
(
List
<
ModelUzyTavSeguim
>
entities
)
{
return
entities
.
stream
()
.
map
(
this
::
entityToDto
)
.
collect
(
Collectors
.
toList
());
}
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Model/ModelUzyTavSeguim.java
View file @
d6b97184
...
...
@@ -14,28 +14,30 @@ import java.util.Date;
@Table
(
name
=
"UZYTAVSEGUIM"
,
schema
=
"UTIC1"
)
public
class
ModelUzyTavSeguim
{
@Id
@Column
(
name
=
"UZYTAVSEGUIM_ID"
)
private
Long
UZYTAVSEGUIM_ID
;
@GeneratedValue
(
strategy
=
GenerationType
.
SEQUENCE
,
generator
=
"uzytavseguim_seq"
)
@SequenceGenerator
(
name
=
"uzytavseguim_seq"
,
sequenceName
=
"SEQ_UZYTAVSEGUIM"
,
allocationSize
=
1
)
@Column
(
name
=
"uzytavseguim_id"
)
private
Long
uzytavseguim_id
;
//RELACIÓN CON ModelUzyTavProyec TABLA PADRE
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
@JoinColumn
(
name
=
"
UZYTAVPROYEC_ID
"
)
@JoinColumn
(
name
=
"
uzytavproyec_id
"
)
private
ModelUzyTavProyec
uzytavproyec
;
@Size
(
max
=
100
)
@Column
(
name
=
"
UZYTAVSEGUIM_DESCRIP
"
,
length
=
100
)
private
String
UZYTAVSEGUIM_DESCRIP
;
@Column
(
name
=
"
uzytavseguim_descrip
"
,
length
=
100
)
private
String
uzytavseguim_descrip
;
//RELACIÓN CON ModelUzytavObjetivoPrograma TABLA PADRE
@ManyToOne
(
fetch
=
FetchType
.
LAZY
)
@JoinColumn
(
name
=
"
UZYTAVOBJETIVO_PROGRAMA_ID
"
)
@JoinColumn
(
name
=
"
uzytavobjetivo_programa_id
"
)
private
ModelUzytavObjetivoPrograma
uzytavobjetivoPrograma
;
@Column
(
name
=
"
UZYTAVSEGUIM_FECHA_LOGRO
"
)
private
Date
UZYTAVSEGUIM_FECHA_LOGRO
;
@Column
(
name
=
"
uzytavseguim_fecha_logro
"
)
private
Date
uzytavseguim_fecha_logro
;
@Size
(
max
=
1000
)
@Column
(
name
=
"
UZYTAVSEGUIM_LOGRO
"
,
length
=
1000
)
private
String
UZYTAVSEGUIM_LOGRO
;
@Column
(
name
=
"
uzytavseguim_logro
"
,
length
=
1000
)
private
String
uzytavseguim_logro
;
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Service/UzyTavSeguim/IServiceUzyTavSeguim.java
0 → 100644
View file @
d6b97184
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Service
.
UzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavSeguim
;
import
java.util.List
;
public
interface
IServiceUzyTavSeguim
{
DtoUzyTavSeguim
ListarPorID
(
Long
id
);
List
<
DtoUzyTavSeguim
>
ListarRegistros
();
DtoUzyTavSeguim
guardar
(
DtoUzyTavSeguim
dtoUzyTavSeguim
);
DtoUzyTavSeguim
editar
(
Long
id
,
DtoUzyTavSeguim
dtoUzyTavSeguim
);
boolean
eliminar
(
Long
id
);
}
src/main/java/ec/edu/espe/movilidad/MovilidadWS/Service/UzyTavSeguim/ServiceUzyTavSeguim.java
0 → 100644
View file @
d6b97184
package
ec
.
edu
.
espe
.
movilidad
.
MovilidadWS
.
Service
.
UzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavSeguim
;
import
ec.edu.espe.movilidad.MovilidadWS.Exceptions.InvalidArgumentException
;
import
ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException
;
import
ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavSeguimMapper
;
import
ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavSeguim
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
ServiceUzyTavSeguim
implements
IServiceUzyTavSeguim
{
private
static
final
String
MESSAGE
=
"No se encontró el registro con ID: "
;
private
final
DaoUzyTavSeguim
daoUzyTavSeguim
;
private
final
UzyTavSeguimMapper
mapper
;
public
ServiceUzyTavSeguim
(
DaoUzyTavSeguim
daoUzyTavSeguim
,
UzyTavSeguimMapper
mapper
)
{
this
.
daoUzyTavSeguim
=
daoUzyTavSeguim
;
this
.
mapper
=
mapper
;
}
@Override
public
DtoUzyTavSeguim
ListarPorID
(
Long
id
)
{
if
(
id
<=
0
)
{
throw
new
IllegalArgumentException
(
"El parámetro 'id' debe ser un valor positivo."
);
}
try
{
ModelUzyTavSeguim
entity
=
daoUzyTavSeguim
.
findById
(
id
)
.
orElseThrow
(()
->
new
ResourceNotFoundException
(
MESSAGE
+
id
));
return
mapper
.
entityToDto
(
entity
);
}
catch
(
ResourceNotFoundException
ex
)
{
throw
ex
;
}
catch
(
Exception
ex
)
{
// Manejo de cualquier error en el servidor
throw
new
RuntimeException
(
"Error al buscar el registro con ID: "
+
id
);
}
}
@Override
public
List
<
DtoUzyTavSeguim
>
ListarRegistros
()
{
try
{
List
<
ModelUzyTavSeguim
>
entities
=
daoUzyTavSeguim
.
findAll
();
return
mapper
.
entitiesToDtos
(
entities
);
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
"Error al listar los registros: "
+
ex
.
getMessage
());
}
}
@Override
public
DtoUzyTavSeguim
guardar
(
DtoUzyTavSeguim
dtoUzyTavSeguim
)
{
try
{
ModelUzyTavSeguim
entity
=
mapper
.
dtoToEntity
(
dtoUzyTavSeguim
);
ModelUzyTavSeguim
nuevoEntity
=
daoUzyTavSeguim
.
save
(
entity
);
return
mapper
.
entityToDto
(
nuevoEntity
);
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
MESSAGE
+
ex
.
getMessage
());
}
}
@Override
public
DtoUzyTavSeguim
editar
(
Long
id
,
DtoUzyTavSeguim
dtoUzyTavSeguim
)
{
if
(
id
<=
0
)
{
throw
new
InvalidArgumentException
(
"El ID del registro debe ser válido y mayor que cero."
);
}
try
{
ModelUzyTavSeguim
entity
=
daoUzyTavSeguim
.
findById
(
id
)
.
orElseThrow
(()
->
new
ResourceNotFoundException
(
MESSAGE
+
id
));
if
(
dtoUzyTavSeguim
.
getUzytavseguim_descrip
()
!=
null
)
{
entity
.
setUzytavseguim_descrip
(
dtoUzyTavSeguim
.
getUzytavseguim_descrip
());
}
if
(
dtoUzyTavSeguim
.
getUzytavseguim_fecha_logro
()
!=
null
)
{
entity
.
setUzytavseguim_fecha_logro
(
dtoUzyTavSeguim
.
getUzytavseguim_fecha_logro
());
}
if
(
dtoUzyTavSeguim
.
getUzytavseguim_logro
()
!=
null
)
{
entity
.
setUzytavseguim_logro
(
dtoUzyTavSeguim
.
getUzytavseguim_logro
());
}
ModelUzyTavSeguim
registroActualizado
=
daoUzyTavSeguim
.
save
(
entity
);
return
mapper
.
entityToDto
(
registroActualizado
);
}
catch
(
ResourceNotFoundException
ex
)
{
throw
ex
;
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
"Error al editar el usuario -> "
+
ex
.
getMessage
());
}
}
@Override
public
boolean
eliminar
(
Long
id
)
{
if
(
id
==
null
||
id
<=
0
)
{
throw
new
IllegalArgumentException
(
"El ID del registro debe ser válido y mayor que cero."
);
}
try
{
ModelUzyTavSeguim
entity
=
daoUzyTavSeguim
.
findById
(
id
)
.
orElseThrow
(()
->
new
ResourceNotFoundException
(
MESSAGE
+
id
));
if
(
entity
!=
null
)
{
daoUzyTavSeguim
.
delete
(
entity
);
return
true
;
}
return
false
;
}
catch
(
ResourceNotFoundException
ex
)
{
throw
ex
;
}
catch
(
Exception
ex
)
{
throw
new
RuntimeException
(
"Error al eliminar el registro: "
+
ex
.
getMessage
());
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment