Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sistema de Gerenciamento de projetos - TCE
SGP_Backend
Commits
4b588a14
Commit
4b588a14
authored
4 months ago
by
KillianDB
Browse files
Options
Download
Email Patches
Plain Diff
fix: testes
parent
cce2aafa
Pipeline
#20801
failed with stages
Changes
9
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
src/main/java/SGP_Backend/SGP_Backend/controller/RiscoController.java
+34
-0
...a/SGP_Backend/SGP_Backend/controller/RiscoController.java
src/main/java/SGP_Backend/SGP_Backend/dto/RiscoDTO.java
+25
-0
src/main/java/SGP_Backend/SGP_Backend/dto/RiscoDTO.java
src/main/java/SGP_Backend/SGP_Backend/enuns/EscalaInteiro.java
+19
-0
...ain/java/SGP_Backend/SGP_Backend/enuns/EscalaInteiro.java
src/main/java/SGP_Backend/SGP_Backend/enuns/Nivel.java
+5
-0
src/main/java/SGP_Backend/SGP_Backend/enuns/Nivel.java
src/main/java/SGP_Backend/SGP_Backend/enuns/RespostaRisco.java
+5
-0
...ain/java/SGP_Backend/SGP_Backend/enuns/RespostaRisco.java
src/main/java/SGP_Backend/SGP_Backend/exceptions/risco/RiscoInvalidoException.java
+5
-0
.../SGP_Backend/exceptions/risco/RiscoInvalidoException.java
src/main/java/SGP_Backend/SGP_Backend/model/Risco.java
+72
-0
src/main/java/SGP_Backend/SGP_Backend/model/Risco.java
src/main/java/SGP_Backend/SGP_Backend/repository/RiscoRepository.java
+20
-0
...a/SGP_Backend/SGP_Backend/repository/RiscoRepository.java
src/main/java/SGP_Backend/SGP_Backend/service/RiscoService.java
+56
-0
...in/java/SGP_Backend/SGP_Backend/service/RiscoService.java
with
241 additions
and
0 deletions
+241
-0
src/main/java/SGP_Backend/SGP_Backend/controller/RiscoController.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.controller
;
import
SGP_Backend.SGP_Backend.dto.RiscoDTO
;
import
SGP_Backend.SGP_Backend.model.Risco
;
import
SGP_Backend.SGP_Backend.service.RiscoService
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/risco"
)
@RequiredArgsConstructor
public
class
RiscoController
{
private
final
RiscoService
service
;
@PostMapping
public
ResponseEntity
<
Risco
>
criarRisco
(
@RequestBody
RiscoDTO
risco
)
{
return
ResponseEntity
.
ok
(
service
.
criarRisco
(
risco
));
}
@GetMapping
public
ResponseEntity
<
List
<
Risco
>>
buscarPorProjetoId
(
@RequestParam
(
value
=
"projetoId"
,
required
=
true
)
Long
id
)
{
return
ResponseEntity
.
ok
(
service
.
buscarRiscoPorProjetoId
(
id
));
}
@PutMapping
(
"/{id}"
)
public
ResponseEntity
<
Risco
>
atualizar
(
@PathVariable
Long
id
,
@RequestBody
Risco
risco
)
{
return
ResponseEntity
.
ok
(
service
.
atualizarRisco
(
id
,
risco
));
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/dto/RiscoDTO.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.dto
;
import
SGP_Backend.SGP_Backend.model.Risco
;
import
SGP_Backend.SGP_Backend.enuns.Nivel
;
import
SGP_Backend.SGP_Backend.enuns.RespostaRisco
;
import
SGP_Backend.SGP_Backend.enuns.EscalaInteiro
;
import
lombok.*
;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
RiscoDTO
{
private
Long
id
;
private
String
vinculo
;
private
String
descricao
;
private
EscalaInteiro
probabilidade
;
private
EscalaInteiro
impacto
;
private
int
criticidade
;
private
String
acao
;
private
Nivel
nivel
;
private
RespostaRisco
resposta
;
private
Long
projetoId
;
}
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/enuns/EscalaInteiro.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.enuns
;
import
lombok.Getter
;
@Getter
public
enum
EscalaInteiro
{
UM
(
1
),
DOIS
(
2
),
TRES
(
3
),
QUATRO
(
4
),
CINCO
(
5
);
private
final
int
valor
;
EscalaInteiro
(
int
valor
)
{
this
.
valor
=
valor
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/enuns/Nivel.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.enuns
;
public
enum
Nivel
{
BAIXO
,
MÉDIO
,
ALTO
,
MUITO_ALTO
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/enuns/RespostaRisco.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.enuns
;
public
enum
RespostaRisco
{
ACEITAR
,
REDUZIR
,
COMPARTILHAR
,
TRANSFERIR
,
EVITAR
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/exceptions/risco/RiscoInvalidoException.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.exceptions.risco
;
public
class
RiscoInvalidoException
extends
RuntimeException
{
public
RiscoInvalidoException
(
String
mensagem
)
{
super
(
mensagem
);}
}
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/model/Risco.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.model
;
import
SGP_Backend.SGP_Backend.dto.RiscoDTO
;
import
SGP_Backend.SGP_Backend.enuns.Nivel
;
import
SGP_Backend.SGP_Backend.enuns.RespostaRisco
;
import
SGP_Backend.SGP_Backend.enuns.EscalaInteiro
;
import
com.fasterxml.jackson.annotation.JsonBackReference
;
import
lombok.*
;
import
jakarta.persistence.*
;
import
java.util.Objects
;
@Builder
@Entity
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@Table
(
name
=
"risco"
)
@EqualsAndHashCode
public
class
Risco
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
private
String
vinculo
;
private
String
descricao
;
private
EscalaInteiro
probabilidade
;
private
EscalaInteiro
impacto
;
private
int
criticidade
;
private
String
acao
;
private
Nivel
nivel
;
private
RespostaRisco
resposta
;
@ManyToOne
@JsonBackReference
@JoinColumn
(
name
=
"projeto_id"
)
private
Projeto
projeto
;
public
static
Risco
fromDTO
(
RiscoDTO
dto
)
{
if
(
dto
==
null
)
{
return
null
;
}
Risco
risco
=
new
Risco
();
risco
.
setDescricao
(
dto
.
getDescricao
());
risco
.
setProbabilidade
(
dto
.
getProbabilidade
());
risco
.
setImpacto
(
dto
.
getImpacto
());
risco
.
setCriticidade
(
dto
.
getCriticidade
());
risco
.
setAcao
(
dto
.
getAcao
());
risco
.
setNivel
(
dto
.
getNivel
());
risco
.
setResposta
(
dto
.
getResposta
());
if
(
dto
.
getProjetoId
()
!=
null
)
{
Projeto
projeto
=
new
Projeto
();
projeto
.
setId
(
dto
.
getProjetoId
());
risco
.
setProjeto
(
projeto
);
}
return
risco
;
}
public
RiscoDTO
toDTO
()
{
RiscoDTO
dto
=
new
RiscoDTO
();
dto
.
setId
(
this
.
id
);
dto
.
setDescricao
(
this
.
descricao
);
dto
.
setProbabilidade
(
this
.
probabilidade
);
dto
.
setImpacto
(
this
.
impacto
);
dto
.
setCriticidade
(
this
.
criticidade
);
dto
.
setAcao
(
this
.
acao
);
dto
.
setNivel
(
this
.
nivel
);
dto
.
setResposta
(
this
.
resposta
);
dto
.
setProjetoId
(
this
.
projeto
.
getId
());
return
dto
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/repository/RiscoRepository.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.repository
;
import
SGP_Backend.SGP_Backend.model.Risco
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
RiscoRepository
extends
JpaRepository
<
Risco
,
Long
>
{
@Query
(
"SELECT r FROM Risco r WHERE r.projeto.id = :id"
)
List
<
Risco
>
buscarPorProjetoId
(
@Param
(
"id"
)
Long
id
);
//pensando aqui
@Query
(
"UPDATE Risco r SET WHERE b.projeto.id = :id"
)
List
<
Risco
>
atualizarPorProjetoId
(
@Param
(
"id"
)
Long
id
);
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
src/main/java/SGP_Backend/SGP_Backend/service/RiscoService.java
0 → 100644
View file @
4b588a14
package
SGP_Backend.SGP_Backend.service
;
import
SGP_Backend.SGP_Backend.dto.RiscoDTO
;
import
SGP_Backend.SGP_Backend.exceptions.projeto.ProjetoNaoEncontradoException
;
import
SGP_Backend.SGP_Backend.exceptions.risco.RiscoInvalidoException
;
import
SGP_Backend.SGP_Backend.model.Risco
;
import
SGP_Backend.SGP_Backend.repository.RiscoRepository
;
import
SGP_Backend.SGP_Backend.enuns.Nivel
;
import
SGP_Backend.SGP_Backend.enuns.RespostaRisco
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Optional
;
@RequiredArgsConstructor
@Service
public
class
RiscoService
{
private
final
RiscoRepository
repository
;
public
Risco
criarRisco
(
RiscoDTO
riscoDTO
)
{
Risco
risco
=
Risco
.
fromDTO
(
riscoDTO
);
return
repository
.
save
(
risco
);
}
public
List
<
Risco
>
buscarRiscoPorProjetoId
(
Long
projetoId
)
{
return
repository
.
buscarPorProjetoId
(
projetoId
);
}
public
Risco
atualizarRisco
(
Long
id
,
Risco
riscoRequest
)
{
Optional
<
Risco
>
riscoOptional
=
repository
.
findById
(
id
);
if
(
riscoOptional
.
isEmpty
())
{
throw
new
ProjetoNaoEncontradoException
(
"Risco não encontrado."
);
}
Risco
risco
=
riscoOptional
.
get
();
Nivel
nivel
=
riscoRequest
.
getNivel
();
RespostaRisco
resposta
=
riscoRequest
.
getResposta
();
if
(!
nivel
.
equals
(
Nivel
.
BAIXO
)
&&
resposta
.
equals
(
RespostaRisco
.
ACEITAR
))
{
throw
new
RiscoInvalidoException
(
"Resposta não pode ser 'ACEITAR' para riscos de nível médio, alto ou muito alto."
);
}
risco
.
setNivel
(
riscoRequest
.
getNivel
());
risco
.
setResposta
(
riscoRequest
.
getResposta
());
risco
.
setDescricao
(
riscoRequest
.
getDescricao
());
risco
.
setProjeto
(
riscoRequest
.
getProjeto
());
return
repository
.
save
(
risco
);
}
}
This diff is collapsed.
Click to expand it.
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