add calenderweek to arraylist per week
parent
e73222d3ce
commit
9142a1e5e8
|
|
@ -1,13 +1,19 @@
|
||||||
package com.nttdata.calender.planTimes;
|
package com.nttdata.calender.planTimes;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.DayOfWeek;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.IsoFields;
|
import java.time.temporal.IsoFields;
|
||||||
|
import java.time.temporal.TemporalAdjuster;
|
||||||
|
import java.time.temporal.TemporalAdjusters;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import com.bmc.arsys.api.ARException;
|
import com.bmc.arsys.api.ARException;
|
||||||
import com.nttdata.calender.api.Query;
|
import com.nttdata.calender.api.Query;
|
||||||
import com.nttdata.calender.api.RemedyJavaAPI;
|
import com.nttdata.calender.api.RemedyJavaAPI;
|
||||||
|
import com.nttdata.calender.changes.ChangeItem;
|
||||||
|
|
||||||
public class PlanTimes {
|
public class PlanTimes {
|
||||||
private RemedyJavaAPI remedyJavaAPI;
|
private RemedyJavaAPI remedyJavaAPI;
|
||||||
|
|
@ -24,17 +30,59 @@ public class PlanTimes {
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||||
LocalDate startDate = LocalDate.parse(req.getRenderStartDate(), formatter);
|
LocalDate startDate = LocalDate.parse(req.getRenderStartDate(), formatter);
|
||||||
LocalDate endDate = LocalDate.parse(req.getRenderEndDate(), 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);
|
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);
|
var changes = remedyJavaAPI.queryFieldsById("", queryChanges.getFieldIds(), queryChanges.getFormName(), null, 0,
|
||||||
System.out.printf("endDate: %s (%dw%d)%n", req.getRenderEndDate(), endDate.getYear(), endWeek);
|
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);
|
while (!startDate.isAfter(endDate)) {
|
||||||
for (var c : changes) System.out.println(c);
|
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