refatorando

master
Kleber Cardoso 2 years ago
parent 15c0e2932f
commit f615f4061b

@ -42,7 +42,7 @@ public class PtoAdjustController {
this.equipamentService = equipamentService; 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 // percorre cada relogio, passando o ultimo nsr do relogio ou a ulima data/hora, tratando para nao duplicar os nsr
AtomicReference<Integer> lastNsr = new AtomicReference<>(nsr); AtomicReference<Integer> lastNsr = new AtomicReference<>(nsr);
@ -54,7 +54,7 @@ public class PtoAdjustController {
try { try {
// requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento // requisita da API do tangerino os pontos disponiveis, salvando eles na tabela ptoEvento
List<PtoAdjustModel> ptoModels = gePunchTangerinoAPI(map); List<PtoAdjustModel> ptoModels = gePunchTangerinoAPI(map);
lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels)); lastNsr.set(extractAdjustsAndReturnLastNsr(lastNsr.get(), ptoModels, equipament));
} catch (JsonProcessingException e) { } catch (JsonProcessingException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@ -67,10 +67,11 @@ public class PtoAdjustController {
return token; return token;
} }
public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List<PtoAdjustModel> ptoEventoModels) { public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List<PtoAdjustModel> ptoEventoModels, PtoEquipamentModel equipamentModel) {
AtomicReference<Integer> nsr = new AtomicReference<>(lastNsr); AtomicReference<Integer> nsr = new AtomicReference<>(lastNsr);
ptoEventoModels.stream().sorted(Comparator.comparing(PtoAdjustModel::getNsr)).forEach(x -> { 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); adjustService.save(x);
nsr.set(x.getNsr()); nsr.set(x.getNsr());
} }

@ -93,7 +93,7 @@ public class PtoExtractRestController {
PtoAdjustController ajusteController = new PtoAdjustController(equipamentoService, ajusteService); PtoAdjustController ajusteController = new PtoAdjustController(equipamentoService, ajusteService);
ajusteController.setToken(token); ajusteController.setToken(token);
ajusteController.setUrlApis(urlApis); ajusteController.setUrlApis(urlApis);
ajusteController.extract(equipamentoModel, nsrForEach.get()); ajusteController.extract(equipamentoModel, nsrForEach.get(), equipamentoModel);
} }
nsrForEach.set(x.getNsr()); nsrForEach.set(x.getNsr());
} }

@ -25,39 +25,40 @@ public class PtoAdjustModel {
private Integer nsr; private Integer nsr;
@Column(name = "tipo") @Column(name = "tipo")
private Integer tipo; private Integer registerType;
@Column(name = "data_anterior") @Column(name = "data_anterior")
private LocalDate dataAnterior; private LocalDate dateBeforeAdjustment;
@Column(name = "data_atual") @Column(name = "data_atual")
private LocalDate dataAtual; private LocalDate dateAfterAdjustment;
@Column(name = "hora_anterior") @Column(name = "hora_anterior")
private LocalTime horaAnterior; private LocalTime timeBeforeAdjustment;
@Column(name = "hora_atual") @Column(name = "hora_atual")
private LocalTime horaAtual; private LocalTime timeAfterAdjustment;
// @JoinColumn(name = "equipamento") // @JoinColumn(name = "equipamento")
// @ManyToOne(cascade = CascadeType.REFRESH) // @ManyToOne(cascade = CascadeType.REFRESH)
// private PtoEquipamentoModel equipamento; // private PtoEquipamentoModel equipamento;
@Column(name = "equipamento") @Column(name = "equipamento")
private Integer equipamento; private Integer equipament;
@Column(name = "periodo") @Column(name = "periodo")
private String periodo; private String period;
public PtoAdjustModel(PtoAjusteDTO dto) { public PtoAdjustModel(PtoAjusteDTO dto) {
this.setNsr(dto.getNsr()); this.setNsr(dto.getNsr());
LocalDate localDate = Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate(); LocalDate localDate = Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate();
this.setDataAnterior(localDate); this.setDateBeforeAdjustment(localDate);
this.setHoraAnterior(Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); this.setTimeBeforeAdjustment(Instant.ofEpochMilli(dto.getDateTimeBeforeAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime());
this.setDataAtual(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate()); this.setDateAfterAdjustment(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalDate());
this.setHoraAtual(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime()); this.setTimeAfterAdjustment(Instant.ofEpochMilli(dto.getDateTimeAfterAdjustment()).atZone(ZoneId.systemDefault()).toLocalTime());
String periodo = localDate.getYear() + StringUtils.leftPad("0",2, String.valueOf(localDate.getMonthValue())); String periodo = String.valueOf(localDate.getYear());
this.setPeriodo(periodo); periodo = periodo + StringUtils.leftPad(String.valueOf(localDate.getMonthValue()),2, "0");
this.setTipo(4); this.setPeriod(periodo);
this.setRegisterType(4);
} }
} }

@ -65,7 +65,5 @@ public class PtoEventModel {
this.setProcess(false); this.setProcess(false);
this.setRegisterType(3); this.setRegisterType(3);
this.setPis(dto.getPis()); this.setPis(dto.getPis());
// this.equipamento =
} }
} }

@ -4,7 +4,10 @@ import br.com.ae3tecnologia.ms.tangerino.model.PtoAdjustModel;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository @Repository
public interface PtoAdjustRepository extends JpaRepository<PtoAdjustModel, Integer> { public interface PtoAdjustRepository extends JpaRepository<PtoAdjustModel, Integer> {
Optional<PtoAdjustModel> findByNsrAndEquipament(Integer nsr, int equipament);
} }

@ -27,4 +27,8 @@ public class PtoAdjustService {
return optional.isPresent() ? optional.get() : null; return optional.isPresent() ? optional.get() : null;
} }
public PtoAdjustModel findByNsrAndEquipament(Integer nsr, int equipament) {
Optional<PtoAdjustModel> optional = repository.findByNsrAndEquipament(nsr, equipament);
return optional.isPresent() ? optional.get() : null;
}
} }

@ -75,8 +75,8 @@ class PtoAdjustsMockControllerTest {
@Test @Test
void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { void mustObteinLastNsrByExtractEventsAndReturnLastNsr() {
when(controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), List.of(evento01))).thenReturn(Integer.valueOf("124")); when(controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), List.of(evento01), equipamento01)).thenReturn(Integer.valueOf("124"));
Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01)); Integer lastNsr = controller.extractAdjustsAndReturnLastNsr(evento01.getNsr(), Arrays.asList(evento01), equipamento01);
Assertions.assertEquals(124, lastNsr); Assertions.assertEquals(124, lastNsr);
} }
} }

@ -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.PtoAdjustModel;
import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentModel; import br.com.ae3tecnologia.ms.tangerino.model.PtoEquipamentModel;
import br.com.ae3tecnologia.ms.tangerino.model.PtoEventModel;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach; 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 org.springframework.test.context.junit.jupiter.SpringExtension;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.Arrays; import java.util.Arrays;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
@ -73,7 +71,7 @@ class PtoAdjustsRestControllerTest {
@Test @Test
void mustObteinLastNsrByExtractEventsAndReturnLastNsr() { 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); Assertions.assertEquals(278, lastNsr);
} }

@ -43,37 +43,37 @@ class PtoAdjustModelTest {
@Test @Test
void testSetTipo() { void testSetTipo() {
ptoModel.setTipo(0); ptoModel.setRegisterType(0);
} }
@Test @Test
void testSetDataAnterior() { void testSetDataAnterior() {
ptoModel.setDataAnterior(LocalDate.now()); ptoModel.setDateBeforeAdjustment(LocalDate.now());
} }
@Test @Test
void testSetHoraAnterior() { void testSetHoraAnterior() {
ptoModel.setHoraAnterior(LocalTime.now().minusHours(1)); ptoModel.setTimeBeforeAdjustment(LocalTime.now().minusHours(1));
} }
@Test @Test
void testSetDataAtual() { void testSetDataAtual() {
ptoModel.setDataAtual(LocalDate.now()); ptoModel.setDateAfterAdjustment(LocalDate.now());
} }
@Test @Test
void testSetHoraAtual() { void testSetHoraAtual() {
ptoModel.setHoraAtual(LocalTime.now()); ptoModel.setTimeAfterAdjustment(LocalTime.now());
} }
@Test @Test
void testSetEquipamento() { void testSetEquipamento() {
ptoModel.setEquipamento(0); ptoModel.setEquipament(0);
} }
@Test @Test
void testSetPeriodo() { void testSetPeriodo() {
ptoModel.setPeriodo("periodo"); ptoModel.setPeriod("periodo");
} }
@Test @Test

Loading…
Cancel
Save