Commit 458bbc2b authored by Roberto Loayza's avatar Roberto Loayza

Bcd Artefacts

parent 723df8b5
......@@ -18,9 +18,9 @@ public class WeekSchedulerBean {
@Expose
private int dayOfWeek;
@Expose
private OffsetDateTime from;
private OffsetTime from;
@Expose
private OffsetDateTime to;
private OffsetTime to;
@Expose
private String calendarID;
@Expose
......
......@@ -46,6 +46,7 @@ import org.springframework.stereotype.Service;
import java.time.Duration;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.ZoneId;
import java.util.*;
import java.util.Calendar;
......@@ -189,7 +190,7 @@ public class ScheduleService implements SchedulingConfigurer {
/*ETL eliminacion de data sensible*/
public void processDeleteData(String tenantIdentifier, ScheduledTaskRegistrar taskRegistrar, String calendarId) {
Optional<List<WeekScheduler>> dates = weekSchedulerRepository.findByCalendarId(calendarId);
OffsetDateTime actual = OffsetDateTime.now();
OffsetTime actual = OffsetTime.now();
for(WeekScheduler weekScheduler: dates.get()) {
if (actual.isBefore(weekScheduler.getTo()) && actual.isAfter(weekScheduler.getFrom())) {
//schedulerFlag = true;
......
......@@ -32,7 +32,7 @@ public class Calendar implements Serializable {
@Column(name = "cale_name", nullable = false)
private String name;
@OneToMany(mappedBy = "calendar")
private List<WeekScheduler> weekSchedulerList;
// @OneToMany(mappedBy = "calendar")
// private List<WeekScheduler> weekSchedulerList;
}
......@@ -39,17 +39,17 @@ public class WeekScheduler implements Serializable {
private int dayOfWeek;
@Column(name = "WESC_FROM", nullable = false)
private OffsetDateTime from;
private OffsetTime from;
@Column(name = "WESC_TO", nullable = false)
private OffsetDateTime to;
private OffsetTime to;
@Column(name = "CALE_ID")
private String calendarID;
@ManyToOne(optional = false)
@NotFound(action = NotFoundAction.IGNORE)
@JoinColumn(name = "cale_id", referencedColumnName = "cale_id", nullable = false)
private Calendar calendar;
// @ManyToOne(optional = false)
// @NotFound(action = NotFoundAction.IGNORE)
// @JoinColumn(name = "cale_id", referencedColumnName = "cale_id", nullable = false)
// private Calendar calendar;
}
......@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
......@@ -63,6 +65,8 @@ public class CalendarService extends XDFService<Calendar, CalendarBean, String>
CalendarBean bean = new CalendarBean();
BeanUtils.copyProperties(model, bean);
bean.setWeekSchedulerBeanList(this.weekSchedulerService.getWeekSchedulerByCalId(model.getId().trim()));
/**/
return bean;
}
......@@ -115,6 +119,8 @@ public class CalendarService extends XDFService<Calendar, CalendarBean, String>
private void saveWeekScheduler(CalendarBean bean, Calendar calendar) {
List<WeekSchedulerBean> weekSchedulerBeanList = bean.getWeekSchedulerBeanList();
Optional<List<WeekScheduler>> weekSchedulerBeanListBD = weekSchedulerRepository.findByCalendarId(calendar.getId().trim());
List<BigInteger> weekIds = new ArrayList<>();
for (WeekSchedulerBean weekSchedulerBean : weekSchedulerBeanList) {
WeekScheduler weekScheduler;
......@@ -126,28 +132,42 @@ public class CalendarService extends XDFService<Calendar, CalendarBean, String>
this.weekSchedulerRepository.delete(weekSchedulerOptional.get());
continue;
}
weekIds.add(weekSchedulerOptional.get().getId());
weekScheduler = weekSchedulerOptional.get();
} else {
weekScheduler = new WeekScheduler();
weekScheduler.setDayOfWeek(weekSchedulerBean.getDayOfWeek());
}
weekScheduler.setCalendar(calendar);
// weekScheduler.setCalendar(calendar);
weekScheduler.setCalendarID(calendar.getId());
weekScheduler.setFrom(weekSchedulerBean.getFrom());
weekScheduler.setTo(weekSchedulerBean.getTo());
this.weekSchedulerRepository.save(weekScheduler);
} else if (!delete) {
weekScheduler = new WeekScheduler();
weekScheduler.setCalendar(calendar);
// weekScheduler.setCalendar(calendar);
weekScheduler.setCalendarID(calendar.getId());
weekScheduler.setDayOfWeek(weekSchedulerBean.getDayOfWeek());
weekScheduler.setFrom(weekSchedulerBean.getFrom());
weekScheduler.setTo(weekSchedulerBean.getTo());
this.weekSchedulerRepository.save(weekScheduler);
}
}
if (weekSchedulerBeanListBD.isPresent()){
for (WeekScheduler weekScheduler: weekSchedulerBeanListBD.get()) {
if (!weekIds.contains(weekScheduler.getId())) {
weekSchedulerRepository.deleteById(weekScheduler.getId());
}
}
}
}
private void saveCalendarException(CalendarBean bean, Calendar calendar) {
List<CalendarExceptionBean> calendarExceptionBeanList = bean.getCalendarExceptionBeanList();
Optional<List<CalendarException>> calendarExceptionListBD = calendarExceptionRepository.findByCalendarId(calendar.getId().trim());
List<BigInteger> exceptionIds = new ArrayList<>();
CalendarException calendarException = null;
for (CalendarExceptionBean calendarExceptionBean : calendarExceptionBeanList) {
......@@ -163,6 +183,7 @@ public class CalendarService extends XDFService<Calendar, CalendarBean, String>
if (!calendarExceptionOptional.get().getFrequencyType().equals(calendarExceptionBean.getFrequencyType())) {
calendarExceptionRepository.delete(calendarExceptionOptional.get());
} else {
exceptionIds.add(calendarExceptionBean.getId());
calendarExceptionBean.setCalendar(bean);
calendarException = calendarExceptionService.toModel(calendarExceptionOptional.get(), calendarExceptionBean);
calendarExceptionRepository.save(calendarException);
......@@ -178,6 +199,13 @@ public class CalendarService extends XDFService<Calendar, CalendarBean, String>
calendarException.setCalendar(calendar);
calendarExceptionRepository.save(calendarException);
}
if (calendarExceptionListBD.isPresent()){
for (CalendarException calException: calendarExceptionListBD.get()) {
if (!exceptionIds.contains(calException.getId())) {
calendarExceptionRepository.deleteById(calException.getId());
}
}
}
}
}
......@@ -53,7 +53,7 @@ public class WeekSchedulerService extends XDFService<WeekScheduler, WeekSchedule
throw new NotFoundException("Calendar not found " + bean.getCalendarID());
}
model.setCalendar(calendarOptional.get());
// model.setCalendarID(calendarOptional.get());
return model;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment