add calenderweek to arraylist per week
parent
e73222d3ce
commit
9142a1e5e8
|
|
@ -1,13 +1,19 @@
|
|||
package com.nttdata.calender.planTimes;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.IsoFields;
|
||||
import java.time.temporal.TemporalAdjuster;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
import com.bmc.arsys.api.ARException;
|
||||
import com.nttdata.calender.api.Query;
|
||||
import com.nttdata.calender.api.RemedyJavaAPI;
|
||||
import com.nttdata.calender.changes.ChangeItem;
|
||||
|
||||
public class PlanTimes {
|
||||
private RemedyJavaAPI remedyJavaAPI;
|
||||
|
|
@ -24,17 +30,59 @@ public class PlanTimes {
|
|||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||
LocalDate startDate = LocalDate.parse(req.getRenderStartDate(), formatter);
|
||||
LocalDate endDate = LocalDate.parse(req.getRenderEndDate(), formatter);
|
||||
int startWeek = startDate.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR);
|
||||
|
||||
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("ASF:WI_TAS_Paket").addFieldId("D2", 1000000350)
|
||||
.addFieldId("ChangeNr", 1000000182).build();
|
||||
|
||||
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 changes = remedyJavaAPI.queryFieldsById("", queryChanges.getFieldIds(), queryChanges.getFormName(), null, 0,
|
||||
0);
|
||||
|
||||
var queryChanges = new Query.QueryBuilder("ASF:WI_TAS_Paket").addFieldId("D2", 1000000350).build();
|
||||
/*
|
||||
* for (var c : changes) {
|
||||
* var date = timestampToDate(c.get(queryChanges.getFieldId("D2")).toString());
|
||||
* System.out.println(c.get(queryChanges.getFieldId("ChangeNr")) + " -> " +
|
||||
* date);
|
||||
* }
|
||||
*/
|
||||
|
||||
var changes = remedyJavaAPI.queryFieldsById("", queryChanges.getFieldIds(), queryChanges.getFormName(), null, 0, 0);
|
||||
for (var c : changes) System.out.println(c);
|
||||
while (!startDate.isAfter(endDate)) {
|
||||
CalendarWeek calendarWeek = new CalendarWeek();
|
||||
|
||||
System.out.println("endDate: " + req.getRenderEndDate());
|
||||
int startWeek = startDate.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR);
|
||||
int year = startDate.get(IsoFields.WEEK_BASED_YEAR);
|
||||
|
||||
calendarWeek.setWeek(year + "w" + startWeek);
|
||||
calendarWeek.setPlanTime(0);
|
||||
calendarWeek.setStartDate(startDate.format(formatter));
|
||||
|
||||
LocalDate endOfWeek = startDate.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
|
||||
if (endOfWeek.isAfter(endDate))
|
||||
endOfWeek = endDate;
|
||||
calendarWeek.setEndDate(endOfWeek.format(formatter));
|
||||
|
||||
calenderWeeks.add(calendarWeek);
|
||||
startDate = startDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
|
||||
}
|
||||
|
||||
for (var v : calenderWeeks) System.out.println(v);
|
||||
}
|
||||
|
||||
public String timestampToDate(String timestamp) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
|
||||
String numericPart = timestamp.replaceAll("[^\\d]", "");
|
||||
long ts = Long.parseLong(numericPart);
|
||||
|
||||
if (numericPart.length() <= 10)
|
||||
ts *= 1000;
|
||||
|
||||
String date = sdf.format(new Date(ts));
|
||||
return date;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue