diff --git a/backend/src/main/java/com/nttdata/calender/planTimes/PlanTimes.java b/backend/src/main/java/com/nttdata/calender/planTimes/PlanTimes.java index 4e2842d..93e114e 100644 --- a/backend/src/main/java/com/nttdata/calender/planTimes/PlanTimes.java +++ b/backend/src/main/java/com/nttdata/calender/planTimes/PlanTimes.java @@ -11,6 +11,7 @@ import java.util.ArrayList; import java.util.Date; import com.bmc.arsys.api.ARException; +import com.bmc.thirdparty.org.springframework.cglib.core.Local; import com.nttdata.calender.api.Query; import com.nttdata.calender.api.RemedyJavaAPI; import com.nttdata.calender.changes.ChangeItem; @@ -26,19 +27,10 @@ public class PlanTimes { } public void setPlanTimes(PlanTimesRequest req) throws ARException { - System.out.println("filter: " + req.getFilter()); - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy"); LocalDate startDate = LocalDate.parse(req.getRenderStartDate(), formatter); LocalDate endDate = LocalDate.parse(req.getRenderEndDate(), formatter); - int endWeek = endDate.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR); - /* - * System.out.printf("startDate: %s (%dw%d)%n", req.getRenderStartDate(), - * startDate.getYear(), startWeek); - * System.out.printf("endDate: %s (%dw%d)%n", req.getRenderEndDate(), - * endDate.getYear(), endWeek); - */ var queryChanges = new Query.QueryBuilder(formName).addFieldId("D2", 1000000350) .addFieldId("ChangeNr", 1000000182).build(); @@ -61,31 +53,31 @@ public class PlanTimes { startDate = startDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); } - System.out.println(remedyJavaAPI.getFieldDatabaseName(formName, 1000000350)); - - var changesInDateRange = remedyJavaAPI.queryFieldsById("\'Scheduled Start Date\' > \"" + req.getRenderStartDate() + "\" AND \'Scheduled Start Date\' <= \"" - + req.getRenderEndDate() + "\"", queryChanges.getFieldIds(), formName, null, 0, 20); + var changesInDateRange = remedyJavaAPI.queryFieldsById( + "\'Scheduled Start Date\' > \"" + req.getRenderStartDate() + "\" AND \'Scheduled Start Date\' <= \"" + + req.getRenderEndDate() + "\"", + queryChanges.getFieldIds(), formName, null, 0, 0); - - for (var c : changesInDateRange) System.out.println(c); - for (var week : calenderWeeks) { - - } - /* - * for (var c : changes) { - * var date = timestampToDate(c.get(queryChanges.getFieldId("D2")).toString()); - * System.out.println(c.get(queryChanges.getFieldId("ChangeNr")) + " -> " + - * date); - * } - */ - for (var v : calenderWeeks) { - System.out - .println(v.getWeek() + " - " + v.getPlanTime() + " - " + v.getStartDate() + " - " + v.getEndDate()); + System.out.println(week.getStartDate() + " ---> " + week.getEndDate()); + for (var change : changesInDateRange) { + LocalDate d2 = timestampToDate(change.get(queryChanges.getFieldId("D2")).toString()); + LocalDate dateStart = LocalDate.parse(week.getStartDate(), formatter); + LocalDate dateEnd = LocalDate.parse(week.getEndDate(), formatter); + + if (d2.isAfter(dateStart) && (d2.isEqual(dateEnd) || d2.isBefore(dateEnd))) { + System.out.println(d2); + } + } } + + for (var v : calenderWeeks) + System.out.println(v.getWeek() + " - " + v.getPlanTime() + " - " + v.getStartDate() + " - " + v.getEndDate()); + } - public String timestampToDate(String timestamp) { + public LocalDate timestampToDate(String timestamp) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy"); SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); String numericPart = timestamp.replaceAll("[^\\d]", ""); long ts = Long.parseLong(numericPart); @@ -94,6 +86,6 @@ public class PlanTimes { ts *= 1000; String date = sdf.format(new Date(ts)); - return date; + return LocalDate.parse(date, formatter); } }