diff --git a/pom.xml b/pom.xml
index 6407086..b5527c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,12 @@
spring-boot-starter-test
test
+
+
+ org.apache.commons
+ commons-lang3
+ 3.12.0
+
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAjusteController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAjusteController.java
index 67efcf4..92fbda0 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAjusteController.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAjusteController.java
@@ -1,10 +1,10 @@
package br.com.ae3tecnologia.ms.tangerino.controller;
-import br.com.ae3tecnologia.ms.tangerino.dto.ResultDTO;
+import br.com.ae3tecnologia.ms.tangerino.dto.ResultAdjustDTO;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoAjusteModel;
import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentoModel;
-import br.com.ae3tecnologia.ms.tangerino.model.PtoEventoModel;
+import br.com.ae3tecnologia.ms.tangerino.service.PtoAjusteService;
import br.com.ae3tecnologia.ms.tangerino.service.PtoEquipamentoService;
-import br.com.ae3tecnologia.ms.tangerino.service.PtoEventoService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -14,10 +14,7 @@ import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.stereotype.Controller;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
@@ -26,12 +23,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
-import static br.com.ae3tecnologia.ms.tangerino.utils.Constants.API_ROUTE;
import static br.com.ae3tecnologia.ms.tangerino.utils.Constants.TANGERINO_API_PUNCH;
-@RestController
-@CrossOrigin(maxAge = 3600, origins = "*")
-@RequestMapping(API_ROUTE + "/${app.version}/run")
+@Controller
public class PtoAjusteController {
@Value("${app.token}")
@@ -39,59 +33,49 @@ public class PtoAjusteController {
@Value("${app.url.apis}")
private String urlApis;
- private final PtoEventoService eventoService;
+ private final PtoAjusteService ajusteService;
private final PtoEquipamentoService equipamentoService;
@Autowired
- private PtoAjusteController(PtoEquipamentoService equipamentoService, PtoEventoService eventoService) {
- this.eventoService = eventoService;
+ public PtoAjusteController(PtoEquipamentoService equipamentoService, PtoAjusteService ajusteService) {
+ this.ajusteService = ajusteService;
this.equipamentoService = equipamentoService;
}
- @GetMapping(
- produces = MediaType.APPLICATION_JSON_VALUE
- )
- public void extrairPontos() {
-
- List equipamentoList = obterRelogios(false);
- equipamentoList.forEach(eq -> {
- // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr
- AtomicReference lastNsr = new AtomicReference<>(0);
- HashMap map = new HashMap<>();
- map.put("serialNumber", eq.getCodigo());
- map.put("nsr", eq.getUltimoNsr()); //precisa pegar o ultimo NSR do relogio para passar como parametro
-
- try {
- // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
- List ptoEventoModels = obterPontosPorRelogio(map);
- lastNsr.set(extrairEventos(lastNsr.get(), ptoEventoModels));
- } catch (JsonProcessingException e) {
- throw new RuntimeException(e);
- }
- // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo
- eq.setUltimoNsr(lastNsr.get());
- equipamentoService.saveOrUpdate(eq);
- });
+ public void extrair(PtoEquipamentoModel eq, Integer nsr) {
+
+ // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr
+ AtomicReference lastNsr = new AtomicReference<>(nsr);
+ HashMap map = new HashMap<>();
+ map.put("serialNumber", eq.getCodigo());
+ map.put("registerType", 4);
+ map.put("nsr", nsr);
+
+ try {
+ // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
+ List ptoModels = obterAjustesPorRelogio(map);
+ lastNsr.set(extrairAjustes(lastNsr.get(), ptoModels));
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo
+ eq.setUltimoNsr(lastNsr.get());
+ equipamentoService.saveOrUpdate(eq);
}
- private Integer extrairEventos(Integer lastNsr, List ptoEventoModels) {
- AtomicReference nsr = new AtomicReference<>(0);
- ptoEventoModels.stream().sorted(Comparator.comparing(PtoEventoModel::getNsr)).forEach(x -> {
+ private Integer extrairAjustes(Integer lastNsr, List ptoEventoModels) {
+ AtomicReference nsr = new AtomicReference<>(lastNsr);
+ ptoEventoModels.stream().sorted(Comparator.comparing(PtoAjusteModel::getNsr)).forEach(x -> {
if (x.getNsr() > lastNsr) {
- eventoService.saveOrUpdate(x);
+ ajusteService.saveOrUpdate(x);
nsr.set(x.getNsr());
}
});
return nsr.get();
}
- public List obterRelogios(Boolean inativo) {
- // pega todos os relogios ativos de PtoEquipamentoModel
- return equipamentoService.findByInativo(inativo);
- }
-
- public List obterPontosPorRelogio(HashMap filtros) throws JsonProcessingException {
+ public List obterAjustesPorRelogio(HashMap filtros) throws JsonProcessingException {
RestTemplate restTemplate = new RestTemplate();
@@ -117,9 +101,9 @@ public class PtoAjusteController {
String jsonStr = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headers), String.class).getBody();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
- ResultDTO forObject = objectMapper.readValue(jsonStr, ResultDTO.class);
- List eventos = new ArrayList<>();
- forObject.getContent().forEach(x -> eventos.add(new PtoEventoModel(x)));
+ ResultAdjustDTO forObject = objectMapper.readValue(jsonStr, ResultAdjustDTO.class);
+ List eventos = new ArrayList<>();
+ forObject.getContent().forEach(x -> eventos.add(new PtoAjusteModel(x)));
return eventos;
}
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoController.java
index 818f5b9..f48bfac 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoController.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoController.java
@@ -1,7 +1,9 @@
package br.com.ae3tecnologia.ms.tangerino.controller;
-import br.com.ae3tecnologia.ms.tangerino.dto.ResultDTO;
+import br.com.ae3tecnologia.ms.tangerino.dto.ResultEventDTO;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentoModel;
import br.com.ae3tecnologia.ms.tangerino.model.PtoEventoModel;
+import br.com.ae3tecnologia.ms.tangerino.service.PtoAjusteService;
import br.com.ae3tecnologia.ms.tangerino.service.PtoEquipamentoService;
import br.com.ae3tecnologia.ms.tangerino.service.PtoEventoService;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -9,15 +11,21 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.*;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
-import java.net.URISyntaxException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import static br.com.ae3tecnologia.ms.tangerino.utils.Constants.API_ROUTE;
@@ -25,48 +33,76 @@ import static br.com.ae3tecnologia.ms.tangerino.utils.Constants.TANGERINO_API_PU
@RestController
@CrossOrigin(maxAge = 3600, origins = "*")
-@RequestMapping(API_ROUTE+"/${app.version}/run")
+@RequestMapping(API_ROUTE + "/${app.version}/run")
public class PtoEventoController {
@Value("${app.token}")
private String token;
@Value("${app.url.apis}")
private String urlApis;
- @Value("${app.url.employer}")
- private String urlEmployer;
- @Value("${server.port}")
- private String serverPort;
- private PtoEventoService eventoService;
- private PtoEquipamentoService equipamentoService;
+ private final PtoEventoService eventoService;
+ private final PtoAjusteService ajusteService;
+ private final PtoEquipamentoService equipamentoService;
@Autowired
- private PtoEventoController(PtoEquipamentoService equipamentoService, PtoEventoService eventoService){
+ private PtoEventoController(PtoEquipamentoService equipamentoService, PtoEventoService eventoService, PtoAjusteService ajusteService) {
this.eventoService = eventoService;
this.equipamentoService = equipamentoService;
+ this.ajusteService = ajusteService;
}
@GetMapping(
produces = MediaType.APPLICATION_JSON_VALUE
)
- public void extrairPontos() throws URISyntaxException, JsonProcessingException {
+ public void extrairPontos() {
+
+ List equipamentoList = obterRelogios(false);
+ equipamentoList.forEach(eq -> {
+ // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora
+ AtomicReference lastNsr = new AtomicReference<>(0);
+ HashMap map = new HashMap<>();
+ map.put("serialNumber", eq.getCodigo());
+ map.put("nsrType", 3);
+ map.put("nsr", eq.getUltimoNsr()); //precisa pegar o ultimo NSR do relogio para passar como parametro
+
+ try {
+ // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
+ List ptoEventoModels = obterPontosPorRelogio(map);
+ lastNsr.set(extrairEventos(lastNsr.get(), ptoEventoModels, eq));
+ } catch (JsonProcessingException e) {
+ throw new RuntimeException(e);
+ }
+ // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo
+ eq.setUltimoNsr(lastNsr.get());
+ equipamentoService.saveOrUpdate(eq);
+ });
- // pega todos os relogios ativos de PtoEquipamentoModel
- // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr
- AtomicReference lastNsr = new AtomicReference<>(0); //precisa pegar o ultimo NSR do relogio para passar como parametro
- HashMap map = new HashMap<>();
- map.put("employerId", String.valueOf(2775694));
- map.put("offset", String.valueOf(1037355));
- List ptoEventoModels = obterPontosPorRelogio(map);
- ptoEventoModels.stream().sorted(Comparator.comparing(PtoEventoModel::getNsr)).forEach(x-> {
- // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
- lastNsr.set(x.getNsr());
- eventoService.save(x);
+ }
+
+ private Integer extrairEventos(Integer lastNsr, List ptoEventoModels, PtoEquipamentoModel equipamentoModel) {
+ AtomicReference nsr = new AtomicReference<>(0);
+ AtomicInteger nsrForEach = new AtomicInteger(lastNsr);
+ ptoEventoModels.stream().sorted(Comparator.comparing(PtoEventoModel::getNsr)).forEach(x -> {
+ if (x.getNsr() > lastNsr) { // tratando para nao duplicar os nsr
+ eventoService.saveOrUpdate(x);
+ nsr.set(x.getNsr());
+ if(x.getNsr() - nsrForEach.get() > 1){ //se a diferença entre o ultimo nsr e o atual for maior que um, chamará o Ajustes
+ PtoAjusteController ajusteController = new PtoAjusteController(equipamentoService, ajusteService);
+ ajusteController.extrair(equipamentoModel, nsrForEach.get());
+ }
+ nsrForEach.set(x.getNsr());
+ }
});
- // ao final, atualiza a ptoEquipamento com o ultimoNSR salvo
+ return nsr.get();
+ }
+
+ public List obterRelogios(Boolean inativo) {
+ // pega todos os relogios ativos de PtoEquipamentoModel
+ return equipamentoService.findByInativo(inativo);
}
- public List obterPontosPorRelogio(HashMap filtros) throws URISyntaxException, JsonProcessingException {
+ public List obterPontosPorRelogio(HashMap filtros) throws JsonProcessingException {
RestTemplate restTemplate = new RestTemplate();
@@ -74,27 +110,27 @@ public class PtoEventoController {
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setBasicAuth(token);
- String url = urlApis+TANGERINO_API_PUNCH;
+ String url = urlApis + TANGERINO_API_PUNCH;
final String[] filter = {""};
- filtros.forEach((k,v) ->{
- if(filter[0].isEmpty()){
- filter[0] = filter[0].concat(k).concat("=").concat(v);
+ filtros.forEach((k, v) -> {
+ if (filter[0].isEmpty()) {
+ filter[0] = filter[0].concat(k).concat("=").concat(v.toString());
} else {
- filter[0] = filter[0].concat("&").concat(k).concat("=").concat(v);
+ filter[0] = filter[0].concat("&").concat(k).concat("=").concat(v.toString());
}
});
- if(!filter[0].isEmpty()){
+ if (!filter[0].isEmpty()) {
url = url.concat("?").concat(filter[0]);
}
- String jsonStr = restTemplate.exchange(url, HttpMethod.GET,new HttpEntity<>(headers), String.class).getBody();
+ String jsonStr = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headers), String.class).getBody();
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
- ResultDTO forObject = objectMapper.readValue(jsonStr , ResultDTO.class);
+ ResultEventDTO forObject = objectMapper.readValue(jsonStr, ResultEventDTO.class);
List eventos = new ArrayList<>();
- forObject.getContent().stream().forEach(x-> eventos.add(new PtoEventoModel(x)));
+ forObject.getContent().forEach(x -> eventos.add(new PtoEventoModel(x)));
return eventos;
}
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoAjusteDTO.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoAjusteDTO.java
index 372ce10..b87eb72 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoAjusteDTO.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoAjusteDTO.java
@@ -9,19 +9,12 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
-public class PtoEventoDTO {
+public class PtoAjusteDTO {
- private Integer id;
- private String hashStart;
- private String date;
- private Long dateIn;
- private Long dateInFull;
- private Integer nsrIn;
- private Integer type;
- private String devicedId;
- private Boolean adjust;
- private String status;
- private Long lastModifiedDate;
+ private Long dateTimeBeforeAdjustment;
+ private Long dateTimeAfterAdjustment;
+ private Integer nsr;
+ private String serialNumber;
private EmployeeDTO employee;
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoEventoDTO.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoEventoDTO.java
index 372ce10..8d4ce2d 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoEventoDTO.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/PtoEventoDTO.java
@@ -11,17 +11,10 @@ import lombok.NoArgsConstructor;
@JsonIgnoreProperties(ignoreUnknown = true)
public class PtoEventoDTO {
- private Integer id;
- private String hashStart;
- private String date;
- private Long dateIn;
- private Long dateInFull;
- private Integer nsrIn;
- private Integer type;
- private String devicedId;
- private Boolean adjust;
- private String status;
- private Long lastModifiedDate;
- private EmployeeDTO employee;
+ private Integer nsr;
+ private Long punchDate;
+ private String pis;
+ private String serialNumber;
+ private int employerId;
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultAdjustDTO.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultAdjustDTO.java
index e88a152..54648ae 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultAdjustDTO.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultAdjustDTO.java
@@ -12,9 +12,9 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
-public class ResultEventDTO {
+public class ResultAdjustDTO {
- private List content;
+ private List content;
private Boolean last;
private Integer totalPages;
private Integer totalElements;
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultEventDTO.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultEventDTO.java
index 0c918fb..e88a152 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultEventDTO.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/dto/ResultEventDTO.java
@@ -12,7 +12,7 @@ import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
-public class ResultDTO {
+public class ResultEventDTO {
private List content;
private Boolean last;
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModel.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModel.java
index 1c81165..3ca0655 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModel.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModel.java
@@ -1,7 +1,6 @@
package br.com.ae3tecnologia.ms.tangerino.model;
import br.com.ae3tecnologia.ms.tangerino.dto.PtoAjusteDTO;
-import br.com.ae3tecnologia.ms.tangerino.dto.PtoEventoDTO;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -15,7 +14,7 @@ import java.time.*;
@NoArgsConstructor
@Entity
@Table(name = "pto_ajustes", schema = "rh")
-public class PtoAjustesModel {
+public class PtoAjusteModel {
@Id
@Column(name = "id")
@@ -50,10 +49,7 @@ public class PtoAjustesModel {
@Column(name = "periodo")
private String periodo;
- @Transient
- private LocalDateTime lastModifiedDate;
-
- public PtoAjustesModel(PtoAjusteDTO dto) {
+ public PtoAjusteModel(PtoAjusteDTO dto) {
this.setNsr(dto.getNsr());
LocalDate localDate = Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate();
this.setDataAnterior(localDate);
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEquipamentoModel.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEquipamentoModel.java
index f5e17ae..6261c2a 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEquipamentoModel.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEquipamentoModel.java
@@ -11,7 +11,7 @@ import java.util.Date;
@AllArgsConstructor
@NoArgsConstructor
@Entity
-@Table(name = "pto_equipamento")
+@Table(name = "pto_equipamento", schema = "rh")
public class PtoEquipamentoModel {
@Id
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventoModel.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventoModel.java
index cdc3daa..2413248 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventoModel.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventoModel.java
@@ -5,6 +5,7 @@ import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
import java.time.*;
@@ -12,7 +13,7 @@ import java.time.*;
@AllArgsConstructor
@NoArgsConstructor
@Entity
-@Table(name = "pto_evento")
+@Table(name = "pto_evento", schema = "rh")
public class PtoEventoModel {
@Id
@@ -58,22 +59,16 @@ public class PtoEventoModel {
private LocalDateTime lastModifiedDate;
public PtoEventoModel(PtoEventoDTO dto) {
- this.setId(dto.getId());
- this.setNsr(dto.getNsrIn());
- this.setDataEvento(Instant.ofEpochMilli(dto.getDateIn()).atZone(ZoneId.systemDefault()).toLocalDate());
- this.setHoraEvento(Instant.ofEpochMilli(dto.getDateInFull()).atZone(ZoneId.systemDefault()).toLocalTime());
- this.setLastModifiedDate(Instant.ofEpochMilli(dto.getLastModifiedDate()).atZone(ZoneId.systemDefault()).toLocalDateTime());
- String periodo = dto.getDate().replace("-","");
- periodo = periodo.substring(0,dto.getDate().length()-4);
+ this.setNsr(dto.getNsr());
+ LocalDate localDate = Instant.ofEpochMilli(dto.getPunchDate()).atZone(ZoneId.systemDefault()).toLocalDate();
+ this.setDataEvento(localDate);
+ this.setHoraEvento(Instant.ofEpochMilli(dto.getPunchDate()).atZone(ZoneId.systemDefault()).toLocalTime());
+ String periodo = localDate.getYear() + StringUtils.leftPad("0",2, String.valueOf(localDate.getMonthValue()));
this.setPeriodo(periodo);
this.setProcessado(false);
-// dto.getHashStart();
- this.setTipo(dto.getType());
-// dto.getDevicedId();
-// dto.getAdjust();
-// dto.getStatus();
-// dto.getLastModifiedDate();
- this.setPis(dto.getEmployee().getPis());
+ this.setTipo(3);
+ this.setPis(dto.getPis());
+// this.equipamento =
}
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAjusteRepository.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAjusteRepository.java
index 7584e5b..2dd10e2 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAjusteRepository.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAjusteRepository.java
@@ -1,10 +1,10 @@
package br.com.ae3tecnologia.ms.tangerino.repository;
-import br.com.ae3tecnologia.ms.tangerino.model.PtoEventoModel;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoAjusteModel;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
-public interface PtoEventoRepository extends JpaRepository {
+public interface PtoAjusteRepository extends JpaRepository {
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoEquipamentoRepository.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoEquipamentoRepository.java
index c962b18..0a66785 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoEquipamentoRepository.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoEquipamentoRepository.java
@@ -4,6 +4,10 @@ import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentoModel;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
+import java.util.List;
+import java.util.Optional;
+
@Repository
public interface PtoEquipamentoRepository extends JpaRepository {
+ public Optional> findByInativoEquals(Boolean inativo);
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAjusteService.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAjusteService.java
index 92d36ec..e9a5624 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAjusteService.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAjusteService.java
@@ -1,7 +1,8 @@
package br.com.ae3tecnologia.ms.tangerino.service;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoAjusteModel;
import br.com.ae3tecnologia.ms.tangerino.model.PtoEventoModel;
-import br.com.ae3tecnologia.ms.tangerino.repository.PtoEventoRepository;
+import br.com.ae3tecnologia.ms.tangerino.repository.PtoAjusteRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -9,10 +10,10 @@ import org.springframework.stereotype.Service;
public class PtoAjusteService {
@Autowired
- private PtoEventoRepository repository;
+ private PtoAjusteRepository repository;
- public PtoEventoModel saveOrUpdate(PtoEventoModel eventoModel){
- return repository.save(eventoModel);
+ public PtoAjusteModel saveOrUpdate(PtoAjusteModel model){
+ return repository.save(model);
}
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEquipamentoService.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEquipamentoService.java
index 29449a1..8437f30 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEquipamentoService.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEquipamentoService.java
@@ -1,11 +1,29 @@
package br.com.ae3tecnologia.ms.tangerino.service;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentoModel;
+import br.com.ae3tecnologia.ms.tangerino.model.PtoEventoModel;
import br.com.ae3tecnologia.ms.tangerino.repository.PtoEquipamentoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+
@Service
public class PtoEquipamentoService {
@Autowired
private PtoEquipamentoRepository repository;
+
+ public List findByInativo(Boolean inativo){
+ Optional optional = repository.findByInativoEquals(inativo);
+ if(optional.isPresent() && !optional.isEmpty()){
+ return (List) optional.get();
+ }
+ return Arrays.asList();
+ }
+
+ public PtoEquipamentoModel saveOrUpdate(PtoEquipamentoModel equipamentoModel){
+ return repository.save(equipamentoModel);
+ }
}
diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEventoService.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEventoService.java
index 2bba408..a3ba8f8 100644
--- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEventoService.java
+++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoEventoService.java
@@ -11,7 +11,7 @@ public class PtoEventoService {
@Autowired
private PtoEventoRepository repository;
- public PtoEventoModel save(PtoEventoModel eventoModel){
+ public PtoEventoModel saveOrUpdate(PtoEventoModel eventoModel){
return repository.save(eventoModel);
}
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 8780d93..5a7d5ae 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -26,4 +26,4 @@ spring:
datasource:
url: jdbc:postgresql://localhost:5432/sisgep
username: postgres
- password: postgres
+ password: 123123
diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoControllerTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoControllerTest.java
index 66e9da3..c4632f6 100644
--- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoControllerTest.java
+++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoEventoControllerTest.java
@@ -11,7 +11,6 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.List;
@@ -29,16 +28,16 @@ class PtoEventoControllerTest {
}
@Test
- void testExtrairPontos() throws URISyntaxException, JsonProcessingException {
+ void testExtrairPontos() {
controller.extrairPontos();
}
@Test
- void deveObterPontosPorRelogio() throws URISyntaxException, JsonProcessingException {
+ void deveObterPontosPorRelogio() throws JsonProcessingException {
// when(eventoService.)
- HashMap map = new HashMap<>();
- map.put("employerId", String.valueOf(2775694));
- map.put("offset", String.valueOf(1037355));
+ HashMap map = new HashMap<>();
+ map.put("employerId", 2775694);
+ map.put("offset", 1037355);
List ptoEventoModels = controller.obterPontosPorRelogio(map);
Assertions.assertTrue(ptoEventoModels.size() > 0);
}
diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModelTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModelTest.java
index 589bf1c..8870796 100644
--- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModelTest.java
+++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAjusteModelTest.java
@@ -9,108 +9,96 @@ import org.mockito.MockitoAnnotations;
import java.time.LocalDate;
import java.time.LocalTime;
-class PtoEventoModelTest {
+class PtoAjusteModelTest {
@InjectMocks
- PtoEventoModel ptoEventoModel;
-
- PtoEventoModel other = new PtoEventoModel(
- 123,
- 123,
- 1,
- LocalDate.now(),
- LocalTime.now(),
- "default",
- 123,
- 123,
- false,
- 1,
- "202304"
- );
+ PtoAjusteModel ptoModel;
+
+ PtoAjusteModel other;
@BeforeEach
void setUp() {
+ other = new PtoAjusteModel(
+ 123,
+ 123,
+ 1,
+ LocalDate.now(),
+ LocalDate.now(),
+ LocalTime.now().minusHours(10),
+ LocalTime.now(),
+ 1,
+ "202304"
+ );
MockitoAnnotations.openMocks(this);
}
@Test
void testSetId() {
- ptoEventoModel.setId(Integer.valueOf(0));
+ ptoModel.setId(0);
}
@Test
void testSetNsr() {
- ptoEventoModel.setNsr(Integer.valueOf(0));
+ ptoModel.setNsr(0);
}
@Test
void testSetTipo() {
- ptoEventoModel.setTipo(Integer.valueOf(0));
- }
-
- @Test
- void testSetDataEvento() {
- ptoEventoModel.setDataEvento(LocalDate.now());
+ ptoModel.setTipo(0);
}
@Test
- void testSetHoraEvento() {
- ptoEventoModel.setHoraEvento(LocalTime.now());
+ void testSetDataAnterior() {
+ ptoModel.setDataAnterior(LocalDate.now());
}
@Test
- void testSetPis() {
- ptoEventoModel.setPis("pis");
+ void testSetHoraAnterior() {
+ ptoModel.setHoraAnterior(LocalTime.now().minusHours(1));
}
@Test
- void testSetPessoa() {
- ptoEventoModel.setPessoa(Integer.valueOf(0));
+ void testSetDataAtual() {
+ ptoModel.setDataAtual(LocalDate.now());
}
@Test
- void testSetArquivo() {
- ptoEventoModel.setArquivo(Integer.valueOf(0));
- }
-
- @Test
- void testSetProcessado() {
- ptoEventoModel.setProcessado(Boolean.TRUE);
+ void testSetHoraAtual() {
+ ptoModel.setHoraAtual(LocalTime.now());
}
@Test
void testSetEquipamento() {
- ptoEventoModel.setEquipamento(Integer.valueOf(0));
+ ptoModel.setEquipamento(0);
}
@Test
void testSetPeriodo() {
- ptoEventoModel.setPeriodo("periodo");
+ ptoModel.setPeriodo("periodo");
}
@Test
void testEquals() {
- ptoEventoModel = other;
- boolean result = ptoEventoModel.equals(other);
- Assertions.assertTrue(result);
+ ptoModel = other;
+ Assertions.assertEquals(ptoModel, other);
}
@Test
void testCanEqual() {
- ptoEventoModel = other;
- boolean result = ptoEventoModel.canEqual(other);
+ ptoModel = other;
+ boolean result = ptoModel.canEqual(other);
Assertions.assertTrue(result);
}
@Test
void testHashCode() {
- ptoEventoModel = other;
- Assertions.assertEquals(other.hashCode(), ptoEventoModel.hashCode());
+ ptoModel = other;
+ Assertions.assertEquals(other.hashCode(), ptoModel.hashCode());
}
@Test
void testToString() {
- ptoEventoModel = other;
- String result = ptoEventoModel.toString();
+ ptoModel = other;
+ String result = ptoModel.toString();
Assertions.assertEquals(other.toString(), result);
}