dateConvert

main
Julius Sula 2023-06-20 12:56:08 +02:00
parent 36f8490e85
commit bb924bd10f
3 changed files with 56 additions and 21 deletions

View File

@ -0,0 +1,38 @@
package com.nttdata.calender;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.TimeZone;
import com.bmc.arsys.api.Timestamp;
import com.nttdata.calender.errorhandling.ErrorTypes.ValidationError;
public class DateConverter {
final String DATEFORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
public LocalDate convertDateTime(String timestamp) throws ValidationError {
try {
System.out.println(timestamp);
LocalDate date = LocalDate.parse(timestamp, DateTimeFormatter.ofPattern(DATEFORMAT));
return date;
} catch (DateTimeParseException e) {
throw new ValidationError("Incorrect dateformat in request");
}
}
public Timestamp convertTimestamp(String timestamp) throws ValidationError {
SimpleDateFormat sdf = new SimpleDateFormat(DATEFORMAT);
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
try {
Timestamp ts = new Timestamp(sdf.parse(timestamp));
return ts;
} catch (ParseException e) {
throw new ValidationError("Incorrect dateformat in request");
}
}
}

View File

@ -14,6 +14,7 @@ import com.bmc.arsys.api.Entry;
import com.bmc.arsys.api.SortInfo;
import com.bmc.arsys.api.Timestamp;
import com.bmc.arsys.api.Value;
import com.nttdata.calender.DateConverter;
import com.nttdata.calender.api.Query;
import com.nttdata.calender.api.RemedyJavaAPI;
import com.nttdata.calender.changes.query.FilterElement;
@ -360,30 +361,24 @@ public class Change {
public void modifyTimestamp(ChangeUpdateRequest request) throws ARException, ValidationError {
String entryId = request.getResourceId();
String d2 = request.getD2();
var dateConverter = new DateConverter();
int state = request.getState();
String changeNr = request.getChangeNr();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
var ts = dateConverter.convertTimestamp(d2);
if (state == 0) {
Query query = new Query.QueryBuilder("ASF:WI_TAS_Paket")
.addFieldValue("d2", 1000000350, new Value(ts)).build();
api.modifyEntry(entryId, query);
} else {
Query queryInfrastructureChange = new Query.QueryBuilder("CHG:Infrastructure Change")
.addFieldValue("d2", 1000000350, new Value(ts)).build();
try {
Timestamp ts = new Timestamp(sdf.parse(d2));
if (state == 0) {
Query query = new Query.QueryBuilder("ASF:WI_TAS_Paket")
.addFieldValue("d2", 1000000350, new Value(ts)).build();
api.modifyEntry(entryId, query);
} else {
Query queryInfrastructureChange = new Query.QueryBuilder("CHG:Infrastructure Change")
.addFieldValue("d2", 1000000350, new Value(ts)).build();
var change = api.queryFieldsById("\'Infrastructure Change ID\' = \"" + changeNr + "\"",
queryInfrastructureChange.getFieldIds(),
queryInfrastructureChange.getFormName(), null, 0, 0);
var change = api.queryFieldsById("\'Infrastructure Change ID\' = \"" + changeNr + "\"",
queryInfrastructureChange.getFieldIds(),
queryInfrastructureChange.getFormName(), null, 0, 0);
api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange);
}
} catch (ParseException e) {
throw new ValidationError("Incorrect dateformat in request");
api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange);
}
}

View File

@ -13,6 +13,7 @@ import java.util.Objects;
import com.bmc.arsys.api.ARException;
import com.bmc.thirdparty.org.springframework.cglib.core.Local;
import com.nttdata.calender.DateConverter;
import com.nttdata.calender.api.Query;
import com.nttdata.calender.api.RemedyJavaAPI;
import com.nttdata.calender.changes.ChangeItem;
@ -29,9 +30,10 @@ public class PlanTimes {
}
public void setPlanTimes(PlanTimesRequest req) throws ARException, ValidationError {
var dateConverter = new DateConverter();
var startDate = dateConverter.convertDateTime(req.getRenderStartDate());
var endDate = dateConverter.convertDateTime(req.getRenderEndDate());
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDate startDate = LocalDate.parse(req.getRenderStartDate(), formatter);
LocalDate endDate = LocalDate.parse(req.getRenderEndDate(), formatter);
var queryChanges = new Query.QueryBuilder(formName).addFieldId("D2", 1000000350)
.addFieldId("ChangeNr", 1000000182).addFieldId("PlanTimeHours", 666000009)