From f615f4061b40fc6534a4b450b5efc97960a2f951 Mon Sep 17 00:00:00 2001 From: Kleber Cardoso Date: Mon, 10 Jul 2023 20:10:26 -0400 Subject: [PATCH] refatorando --- .../controller/PtoAdjustController.java | 9 +++--- .../controller/PtoExtractRestController.java | 2 +- .../ms/tangerino/model/PtoAdjustModel.java | 29 ++++++++++--------- .../ms/tangerino/model/PtoEventModel.java | 2 -- .../repository/PtoAdjustRepository.java | 3 ++ .../tangerino/service/PtoAdjustService.java | 4 +++ .../PtoAdjustsMockControllerTest.java | 4 +-- .../PtoAdjustsRestControllerTest.java | 4 +-- .../tangerino/model/PtoAdjustModelTest.java | 14 ++++----- 9 files changed, 38 insertions(+), 33 deletions(-) diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java index 2ef4c3c..b330a8d 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustController.java @@ -42,7 +42,7 @@ public class PtoAdjustController { this.equipamentService = equipamentService; } - public void extract(PtoEquipamentModel eq, Integer nsr) { + public void extract(PtoEquipamentModel eq, Integer nsr, PtoEquipamentModel equipament) { // 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); @@ -54,7 +54,7 @@ public class PtoAdjustController { try { // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento List ptoModels = gePunchTangerinoAPI(map); - lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels)); + lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels, equipament)); } catch (JsonProcessingException e) { throw new RuntimeException(e); } @@ -67,10 +67,11 @@ public class PtoAdjustController { return token; } - public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List ptoEventoModels) { + public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List ptoEventoModels, PtoEquipamentModel equipamentModel) { AtomicReference nsr = new AtomicReference<>(lastNsr); ptoEventoModels.stream().sorted(Comparator.comparing(PtoAdjustModel::getNsr)).forEach(x -> { - if (x.getNsr() > lastNsr) { + if (x.getNsr() > lastNsr && adjustService.findByNsrAndEquipament(x.getNsr(), equipamentModel.getId()) == null) { + x.setEquipament(equipamentModel.getId()); adjustService.save(x); nsr.set(x.getNsr()); } diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java index e0b1ddc..ef6b3ac 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoExtractRestController.java @@ -93,7 +93,7 @@ public class PtoExtractRestController { PtoAdjustController ajusteController = new PtoAdjustController(equipamentoService, ajusteService); ajusteController.setToken(token); ajusteController.setUrlApis(urlApis); - ajusteController.extract(equipamentoModel, nsrForEach.get()); + ajusteController.extract(equipamentoModel, nsrForEach.get(), equipamentoModel); } nsrForEach.set(x.getNsr()); } diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModel.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModel.java index 493f5cc..2b72827 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModel.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModel.java @@ -25,39 +25,40 @@ public class PtoAdjustModel { private Integer nsr; @Column(name = "tipo") - private Integer tipo; + private Integer registerType; @Column(name = "data_anterior") - private LocalDate dataAnterior; + private LocalDate dateBeforeAdjustment; @Column(name = "data_atual") - private LocalDate dataAtual; + private LocalDate dateAfterAdjustment; @Column(name = "hora_anterior") - private LocalTime horaAnterior; + private LocalTime timeBeforeAdjustment; @Column(name = "hora_atual") - private LocalTime horaAtual; + private LocalTime timeAfterAdjustment; // @JoinColumn(name = "equipamento") // @ManyToOne(cascade = CascadeType.REFRESH) // private PtoEquipamentoModel equipamento; @Column(name = "equipamento") - private Integer equipamento; + private Integer equipament; @Column(name = "periodo") - private String periodo; + private String period; public PtoAdjustModel(PtoAjusteDTO dto) { this.setNsr(dto.getNsr()); LocalDate localDate = Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate(); - this.setDataAnterior(localDate); - this.setHoraAnterior(Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); - this.setDataAtual(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate()); - this.setHoraAtual(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); - String periodo = localDate.getYear() + StringUtils.leftPad("0",2, String.valueOf(localDate.getMonthValue())); - this.setPeriodo(periodo); - this.setTipo(4); + this.setDateBeforeAdjustment(localDate); + this.setTimeBeforeAdjustment(Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); + this.setDateAfterAdjustment(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate()); + this.setTimeAfterAdjustment(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); + String periodo = String.valueOf(localDate.getYear()); + periodo = periodo + StringUtils.leftPad(String.valueOf(localDate.getMonthValue()),2, "0"); + this.setPeriod(periodo); + this.setRegisterType(4); } } diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventModel.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventModel.java index d11944f..4e93c3e 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventModel.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/model/PtoEventModel.java @@ -65,7 +65,5 @@ public class PtoEventModel { this.setProcess(false); this.setRegisterType(3); this.setPis(dto.getPis()); -// this.equipamento = - } } diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAdjustRepository.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAdjustRepository.java index 00ccaba..7191025 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAdjustRepository.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/repository/PtoAdjustRepository.java @@ -4,7 +4,10 @@ import br.com.ae3tecnologia.ms.tangerino.model.PtoAdjustModel; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.Optional; + @Repository public interface PtoAdjustRepository extends JpaRepository { + Optional findByNsrAndEquipament(Integer nsr, int equipament); } diff --git a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAdjustService.java b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAdjustService.java index 15e47dd..5edbd95 100644 --- a/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAdjustService.java +++ b/src/main/java/br/com/ae3tecnologia/ms/tangerino/service/PtoAdjustService.java @@ -27,4 +27,8 @@ public class PtoAdjustService { return optional.isPresent() ? optional.get() : null; } + public PtoAdjustModel findByNsrAndEquipament(Integer nsr, int equipament) { + Optional optional = repository.findByNsrAndEquipament(nsr, equipament); + return optional.isPresent() ? optional.get() : null; + } } diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsMockControllerTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsMockControllerTest.java index 9bbd0d9..95fa3f2 100644 --- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsMockControllerTest.java +++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsMockControllerTest.java @@ -75,8 +75,8 @@ class PtoAdjustsMockControllerTest { @Test void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { - when(controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), List.of(evento01))).thenReturn(Integer.valueOf("124")); - Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01)); + when(controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), List.of(evento01), equipamento01)).thenReturn(Integer.valueOf("124")); + Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01); Assertions.assertEquals(124, lastNsr); } } diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsRestControllerTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsRestControllerTest.java index f9d09d4..87cf408 100644 --- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsRestControllerTest.java +++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/controller/PtoAdjustsRestControllerTest.java @@ -2,7 +2,6 @@ package br.com.ae3tecnologia.ms.tangerino.controller; import br.com.ae3tecnologia.ms.tangerino.model.PtoAdjustModel; import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentModel; -import br.com.ae3tecnologia.ms.tangerino.model.PtoEventModel; import com.fasterxml.jackson.core.JsonProcessingException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; @@ -14,7 +13,6 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.LocalTime; import java.util.Arrays; import java.util.GregorianCalendar; @@ -73,7 +71,7 @@ class PtoAdjustsRestControllerTest { @Test void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { - Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01)); + Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01); Assertions.assertEquals(278, lastNsr); } diff --git a/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModelTest.java b/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModelTest.java index ee18610..3268bf3 100644 --- a/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModelTest.java +++ b/src/test/java/br/com/ae3tecnologia/ms/tangerino/model/PtoAdjustModelTest.java @@ -43,37 +43,37 @@ class PtoAdjustModelTest { @Test void testSetTipo() { - ptoModel.setTipo(0); + ptoModel.setRegisterType(0); } @Test void testSetDataAnterior() { - ptoModel.setDataAnterior(LocalDate.now()); + ptoModel.setDateBeforeAdjustment(LocalDate.now()); } @Test void testSetHoraAnterior() { - ptoModel.setHoraAnterior(LocalTime.now().minusHours(1)); + ptoModel.setTimeBeforeAdjustment(LocalTime.now().minusHours(1)); } @Test void testSetDataAtual() { - ptoModel.setDataAtual(LocalDate.now()); + ptoModel.setDateAfterAdjustment(LocalDate.now()); } @Test void testSetHoraAtual() { - ptoModel.setHoraAtual(LocalTime.now()); + ptoModel.setTimeAfterAdjustment(LocalTime.now()); } @Test void testSetEquipamento() { - ptoModel.setEquipamento(0); + ptoModel.setEquipament(0); } @Test void testSetPeriodo() { - ptoModel.setPeriodo("periodo"); + ptoModel.setPeriod("periodo"); } @Test