refatorando

master
Kleber Cardoso 2 years ago
parent 15c0e2932f
commit f615f4061b

@ -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<Integer> 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<PtoAdjustModel> 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<PtoAdjustModel> ptoEventoModels) {
public Integer extractAdjustsAndReturnLastNsr(Integer lastNsr, List<PtoAdjustModel> ptoEventoModels, PtoEquipamentModel equipamentModel) {
AtomicReference<Integer> 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());
}

@ -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());
}

@ -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);
}
}

@ -65,7 +65,5 @@ public class PtoEventModel {
this.setProcess(false);
this.setRegisterType(3);
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.stereotype.Repository;
import java.util.Optional;
@Repository
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;
}
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
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);
}
}

@ -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);
}

@ -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

Loading…
Cancel
Save