Merge branch 'main' of https://dev.azure.com/asfinag/Tech-Supporting.ITSM/_git/Tech-Supporting.ITSM.ChangeKalender
commit
1d3715e7a9
|
|
@ -1,5 +1,7 @@
|
|||
package com.nttdata.calender.changes;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.bmc.arsys.api.ARException;
|
||||
|
|
@ -122,51 +124,59 @@ public class ChangeRequest {
|
|||
if (column.equals("D2")) {
|
||||
var startFrom = filter.get(i).getCriteria()[0];
|
||||
var startTo = filter.get(i).getCriteria()[1];
|
||||
if (!startFrom.isEmpty() && !startTo.isEmpty()) {
|
||||
|
||||
String inputFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
|
||||
String outputFormat = "dd/MM/yyyy";
|
||||
|
||||
LocalDateTime dateTimeFrom = LocalDateTime.parse(startFrom, DateTimeFormatter.ofPattern(inputFormat));
|
||||
LocalDateTime dateTimeTo = LocalDateTime.parse(startTo, DateTimeFormatter.ofPattern(inputFormat));
|
||||
String startFromFormatted = dateTimeFrom.format(DateTimeFormatter.ofPattern(outputFormat));
|
||||
String startToFormatted = dateTimeTo.format(DateTimeFormatter.ofPattern(outputFormat));
|
||||
|
||||
if (!startFromFormatted.isEmpty() && !startToFormatted.isEmpty()) {
|
||||
var dateColumn = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
|
||||
|
||||
// Same day changes need to startFrom=day and startTo=day+24h 60m 60s
|
||||
if (startFrom.equals(startTo)) {
|
||||
startTo = "\' < (\"" + startTo + "\"" + " + (24 * (60 * 60)))";
|
||||
if (startFromFormatted.equals(startToFormatted)) {
|
||||
startToFormatted = "\' < (\"" + startToFormatted + "\"" + " + (24 * (60 * 60)))";
|
||||
} else
|
||||
startTo = "\' <= \"" + startTo + "\"";
|
||||
startToFormatted = "\' <= \"" + startToFormatted + "\"";
|
||||
|
||||
qualifier += "\'" + dateColumn + "\' >= \"" + startFrom + "\" AND ";
|
||||
qualifier += "\'" + dateColumn + startTo;
|
||||
qualifier += "\'" + dateColumn + "\' >= \"" + startFromFormatted + "\" AND ";
|
||||
qualifier += "\'" + dateColumn + startToFormatted;
|
||||
}
|
||||
qualifier = "(" + qualifier + ")";
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
column = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
|
||||
|
||||
column = api.getFieldDatabaseName(query.getFormName(), query.getFieldId(column));
|
||||
var inner_filter = "\'" + column + "\' ";
|
||||
var criterias = filter.get(i).getCriteria();
|
||||
var inner_concat = " OR ";
|
||||
var inner_criteria_prefix = "";
|
||||
|
||||
var inner_filter = "\'" + column + "\' ";
|
||||
var criterias = filter.get(i).getCriteria();
|
||||
var inner_concat = " OR ";
|
||||
var inner_criteria_prefix = "";
|
||||
|
||||
switch (filter.get(i).getFilter()) {
|
||||
case "equals":
|
||||
inner_filter += "= ";
|
||||
break;
|
||||
case "contains":
|
||||
inner_filter += "LIKE ";
|
||||
inner_concat = " AND ";
|
||||
inner_criteria_prefix = "%";
|
||||
break;
|
||||
default:
|
||||
throw new ARException();
|
||||
}
|
||||
|
||||
for (int j = 0; j < criterias.length; j++) {
|
||||
criterias[j] = inner_criteria_prefix + criterias[j] + inner_criteria_prefix;
|
||||
inner_qualifier += "(" + inner_filter + "\"" + criterias[j] + "\")";
|
||||
if (j < criterias.length - 1) {
|
||||
inner_qualifier += inner_concat;
|
||||
switch (filter.get(i).getFilter()) {
|
||||
case "equals":
|
||||
inner_filter += "= ";
|
||||
break;
|
||||
case "contains":
|
||||
inner_filter += "LIKE ";
|
||||
inner_concat = " AND ";
|
||||
inner_criteria_prefix = "%";
|
||||
break;
|
||||
default:
|
||||
throw new ARException();
|
||||
}
|
||||
|
||||
for (int j = 0; j < criterias.length; j++) {
|
||||
criterias[j] = inner_criteria_prefix + criterias[j] + inner_criteria_prefix;
|
||||
inner_qualifier += "(" + inner_filter + "\"" + criterias[j] + "\")";
|
||||
if (j < criterias.length - 1) {
|
||||
inner_qualifier += inner_concat;
|
||||
}
|
||||
}
|
||||
qualifier += "(" + inner_qualifier + ")";
|
||||
}
|
||||
|
||||
qualifier += "(" + inner_qualifier + ")";
|
||||
if (i < filter.size() - 1) {
|
||||
qualifier += " AND ";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<Configuration status="info">
|
||||
<Appenders>
|
||||
<RollingFile name="application"
|
||||
fileName="./backend/log/application.log" filePattern="application-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
fileName="./backend/log/application.log" filePattern="backend/log/application-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
<PatternLayout>
|
||||
<Pattern>%d{yyyy-MM-dd-HH:mm:ss} %-5p %m%n%ex{full}</Pattern>
|
||||
</PatternLayout>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
</Policies>
|
||||
</RollingFile>
|
||||
<RollingFile name="error"
|
||||
fileName="./backend/log/error.log" filePattern="error-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
fileName="./backend/log/error.log" filePattern="backend/log/error-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
<PatternLayout>
|
||||
<Pattern>%d{yyyy-MM-dd-HH:mm:ss} %-5p %m%n%ex{full}</Pattern>
|
||||
</PatternLayout>
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
</Policies>
|
||||
</RollingFile>
|
||||
<RollingFile name="warn"
|
||||
fileName="./backend/log/warn.log" filePattern="warn-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
fileName="./backend/log/warn.log" filePattern="backend/log/warn-%d{yyyy-MM-dd-HH-mm}-%i.log">
|
||||
<PatternLayout>
|
||||
<Pattern>%d{yyyy-MM-dd-HH:mm:ss} %-5p %m%n</Pattern>
|
||||
</PatternLayout>
|
||||
|
|
|
|||
Loading…
Reference in New Issue