field values date change
parent
e643c6c71a
commit
99907146ad
|
|
@ -283,13 +283,16 @@ public class KalenderRestController {
|
||||||
public ChangeUpdateRequest updateChange(@RequestBody ChangeUpdateRequest request, HttpServletRequest httpRequest)
|
public ChangeUpdateRequest updateChange(@RequestBody ChangeUpdateRequest request, HttpServletRequest httpRequest)
|
||||||
throws ARException, ValidationError {
|
throws ARException, ValidationError {
|
||||||
httpRequest.setAttribute("requestBody", request);
|
httpRequest.setAttribute("requestBody", request);
|
||||||
|
|
||||||
String formName = (request.getState() == 0) ? "ASF:WI_TAS_Paket" : "CHG:Infrastructure Change";
|
String formName = (request.getState() == 0) ? "ASF:WI_TAS_Paket" : "CHG:Infrastructure Change";
|
||||||
httpRequest.setAttribute("formName", formName);
|
httpRequest.setAttribute("formName", formName);
|
||||||
|
|
||||||
change.modifyTimestamp(request);
|
change.modifyTimestamp(request);
|
||||||
|
httpRequest.setAttribute("listOfFieldValues", change.getListOfFieldValues());
|
||||||
|
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the state based on the provided {@link StateChangeRequest} object.
|
* Updates the state based on the provided {@link StateChangeRequest} object.
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
|
|
||||||
|
|
@ -32,6 +33,7 @@ public class Change {
|
||||||
private Query queryChange;
|
private Query queryChange;
|
||||||
private RemedyJavaAPI api;
|
private RemedyJavaAPI api;
|
||||||
private final static String formName = "ASF:WI_TAS_Paket";
|
private final static String formName = "ASF:WI_TAS_Paket";
|
||||||
|
private ArrayList<String> listOfFieldValues;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the {@link Change} class which gets autowired with the
|
* Constructor for the {@link Change} class which gets autowired with the
|
||||||
|
|
@ -72,6 +74,17 @@ public class Change {
|
||||||
.addFieldId("CurrentStageNumber", 301541700)
|
.addFieldId("CurrentStageNumber", 301541700)
|
||||||
.addFieldId("Plantime", 666000001)
|
.addFieldId("Plantime", 666000001)
|
||||||
.build();
|
.build();
|
||||||
|
this.listOfFieldValues = new ArrayList<>();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the list of field values.
|
||||||
|
*
|
||||||
|
* @return listOfFieldValues
|
||||||
|
*/
|
||||||
|
public List<String> getListOfFieldValues() {
|
||||||
|
return new ArrayList<>(listOfFieldValues); // Return a copy to ensure immutability
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -122,7 +135,7 @@ public class Change {
|
||||||
+ "\") AND (\'10000\' = \""
|
+ "\") AND (\'10000\' = \""
|
||||||
+ getValueStringByID(entry, "ApprovalProcessName")
|
+ getValueStringByID(entry, "ApprovalProcessName")
|
||||||
+ "\") AND (\'13207\' LIKE \"%" + api.getUser() + "%\")";
|
+ "\") AND (\'13207\' LIKE \"%" + api.getUser() + "%\")";
|
||||||
|
|
||||||
var queryApprovalProcessName = api.queryFieldsById(qual,
|
var queryApprovalProcessName = api.queryFieldsById(qual,
|
||||||
queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
|
queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
|
||||||
|
|
||||||
|
|
@ -138,28 +151,32 @@ public class Change {
|
||||||
change.setChangeNr(getValueStringByID(entry, "ChangeNr"));
|
change.setChangeNr(getValueStringByID(entry, "ChangeNr"));
|
||||||
change.setSupportGroup(getValueStringByID(entry, "SupportGroup"));
|
change.setSupportGroup(getValueStringByID(entry, "SupportGroup"));
|
||||||
change.setStatusReason(getValueStringByID(entry, "StatusReason"));
|
change.setStatusReason(getValueStringByID(entry, "StatusReason"));
|
||||||
if(Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1)== 10 || Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1)== 9){
|
if (Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1) == 10
|
||||||
if(Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1)== 10){
|
|| Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue)
|
||||||
if(change.getStatusReason().equals("9000")){
|
.orElse(-1) == 9) {
|
||||||
|
if (Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue)
|
||||||
|
.orElse(-1) == 10) {
|
||||||
|
if (change.getStatusReason().equals("9000")) {
|
||||||
change.setState(10);
|
change.setState(10);
|
||||||
}else{
|
} else {
|
||||||
change.setState(101);
|
change.setState(101);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1)== 9){
|
if (Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue)
|
||||||
if(getValueStringByID(entry, "CurrentStageNumber").equals("1")){
|
.orElse(-1) == 9) {
|
||||||
|
if (getValueStringByID(entry, "CurrentStageNumber").equals("1")) {
|
||||||
change.setState(9);
|
change.setState(9);
|
||||||
}else{
|
} else {
|
||||||
change.setState(91);
|
change.setState(91);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
} else {
|
||||||
change.setState(Optional.ofNullable(getValue(entry, "State"))
|
change.setState(Optional.ofNullable(getValue(entry, "State"))
|
||||||
.map(Value::getIntValue)
|
.map(Value::getIntValue)
|
||||||
.orElse(-1));
|
.orElse(-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
change.setPackageInstanceId(getValueStringByID(entry, "PackageInstanceId"));
|
change.setPackageInstanceId(getValueStringByID(entry, "PackageInstanceId"));
|
||||||
change.setResourceName(getValueStringByID(entry, "ResourceName"));
|
change.setResourceName(getValueStringByID(entry, "ResourceName"));
|
||||||
change.setD1(timestampToDateById(entry, "D1"));
|
change.setD1(timestampToDateById(entry, "D1"));
|
||||||
|
|
@ -246,7 +263,6 @@ public class Change {
|
||||||
return totalHours;
|
return totalHours;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@link Value} of an entry based on the provided description.
|
* Returns the {@link Value} of an entry based on the provided description.
|
||||||
*
|
*
|
||||||
|
|
@ -302,27 +318,37 @@ public class Change {
|
||||||
* @throws ValidationError
|
* @throws ValidationError
|
||||||
*/
|
*/
|
||||||
public void modifyTimestamp(ChangeUpdateRequest request) throws ARException, ValidationError {
|
public void modifyTimestamp(ChangeUpdateRequest request) throws ARException, ValidationError {
|
||||||
|
// Clear the list before processing a new request
|
||||||
|
listOfFieldValues.clear();
|
||||||
|
|
||||||
String entryId = request.getResourceId();
|
String entryId = request.getResourceId();
|
||||||
String d2 = request.getD2();
|
String d2 = request.getD2();
|
||||||
var dateConverter = new DateConverter();
|
var dateConverter = new DateConverter();
|
||||||
int state = request.getState();
|
int state = request.getState();
|
||||||
String changeNr = request.getChangeNr();
|
String changeNr = request.getChangeNr();
|
||||||
|
|
||||||
var ts = dateConverter.convertTimestamp(d2);
|
var ts = dateConverter.convertTimestamp(d2);
|
||||||
if (state == 0) {
|
if (state == 0) {
|
||||||
Query query = new Query.QueryBuilder("ASF:WI_TAS_Paket")
|
Query query = new Query.QueryBuilder("ASF:WI_TAS_Paket")
|
||||||
.addFieldValue("d2", 1000000350, new Value(ts)).build();
|
.addFieldValue("d2", 1000000350, new Value(ts)).build();
|
||||||
api.modifyEntry(entryId, query);
|
collectFieldValues(query); // Collect field values
|
||||||
|
api.modifyEntry(entryId, query);
|
||||||
} else {
|
} else {
|
||||||
Query queryInfrastructureChange = new Query.QueryBuilder("CHG:Infrastructure Change")
|
Query queryInfrastructureChange = new Query.QueryBuilder("CHG:Infrastructure Change")
|
||||||
.addFieldValue("d2", 1000000350, new Value(ts)).build();
|
.addFieldValue("d2", 1000000350, new Value(ts)).build();
|
||||||
|
collectFieldValues(queryInfrastructureChange); // Collect field values
|
||||||
var change = api.queryFieldsById("\'Infrastructure Change ID\' = \"" + changeNr + "\"",
|
|
||||||
queryInfrastructureChange.getFieldIds(),
|
var change = api.queryFieldsById("\'Infrastructure Change ID\' = \"" + changeNr + "\"",
|
||||||
queryInfrastructureChange.getFormName(), null, 0, 0);
|
queryInfrastructureChange.getFieldIds(),
|
||||||
|
queryInfrastructureChange.getFormName(), null, 0, 0);
|
||||||
api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange);
|
|
||||||
|
api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
private void collectFieldValues(Query query) {
|
||||||
|
for (var entry : query.getFieldValues()) {
|
||||||
|
listOfFieldValues.add(entry.getFieldId() + ": " + entry.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue