Said Gedik 2024-05-21 09:25:57 +02:00
parent 8e7acebe79
commit 1b02d84f76
2 changed files with 50 additions and 56 deletions

View File

@ -31,7 +31,7 @@ import com.nttdata.calender.errorhandling.ErrorTypes.ValidationError;
public class Change { 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_PaketJChangeJPackage";
/** /**
* Constructor for the {@link Change} class which gets autowired with the * Constructor for the {@link Change} class which gets autowired with the
@ -45,7 +45,7 @@ public class Change {
this.queryChange = new Query.QueryBuilder(formName) this.queryChange = new Query.QueryBuilder(formName)
.addFieldId("ChangeNr", 1000000182) .addFieldId("ChangeNr", 1000000182)
.addFieldId("SupportGroup", 1000000015) .addFieldId("SupportGroup", 1000000015)
.addFieldId("ManagerGroup", 1000003229) .addFieldId("ManagerGroup", 666003234)
.addFieldId("State", 7) .addFieldId("State", 7)
.addFieldId("PackageInstanceId", 179) .addFieldId("PackageInstanceId", 179)
.addFieldId("ResourceName", 1000000000) .addFieldId("ResourceName", 1000000000)
@ -55,7 +55,7 @@ public class Change {
.addFieldId("D4", 1000000364) .addFieldId("D4", 1000000364)
.addFieldId("StatusReason", 1000000150) .addFieldId("StatusReason", 1000000150)
.addFieldId("ApprovalStatus", 1000003264) .addFieldId("ApprovalStatus", 1000003264)
.addFieldId("CoordinatorSg", 1000003229) .addFieldId("CoordinatorSg", 666003234)
.addFieldId("CoordinatorSgId", 1000003234) .addFieldId("CoordinatorSgId", 1000003234)
.addFieldId("ChangeCoordinator", 1000003230) .addFieldId("ChangeCoordinator", 1000003230)
.addFieldId("SupportGroupId", 1000000079) .addFieldId("SupportGroupId", 1000000079)
@ -70,6 +70,7 @@ public class Change {
.addFieldId("Approval", 1000003278) .addFieldId("Approval", 1000003278)
.addFieldId("ApprovalProcessName", 301322300) .addFieldId("ApprovalProcessName", 301322300)
.addFieldId("CurrentStageNumber", 301541700) .addFieldId("CurrentStageNumber", 301541700)
.addFieldId("PackageName", 200000020)
.build(); .build();
} }
@ -87,95 +88,85 @@ public class Change {
*/ */
public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError { public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError {
long startTime = System.currentTimeMillis();
LoggerTemplates log = new LoggerTemplates(api); LoggerTemplates log = new LoggerTemplates(api);
var peopleFullName = processPeopleInfo(request); var peopleFullName = processPeopleInfo(request);
var filter = request.getFilter(); var filter = request.getFilter();
for (var v : filter.getFilterElement()) { for (var v : filter.getFilterElement()) {
System.out.println(v.getFilter() + ", " + v.getColumn() +", " + v.getCriteria()); System.out.println(v.getFilter() + ", " + v.getColumn() + ", " + v.getCriteria());
} }
var qualifier = filter.constructQualifier(queryChange, api); var qualifier = filter.constructQualifier(queryChange, api);
SortInfo sort = request.constructSortInfo(queryChange); SortInfo sort = request.constructSortInfo(queryChange);
log.initLog("getChanges", api.getUser()); // Logging log.initLog("getChanges", api.getUser()); // Logging
var entries = api.queryFieldsById(qualifier, this.queryChange.getFieldIds(), var entries = api.queryFieldsById(qualifier, this.queryChange.getFieldIds(),
this.queryChange.getFormName(), this.queryChange.getFormName(),
sort, request.getSliceStart(), sort, request.getSliceStart(),
request.getSliceEnd()); request.getSliceEnd());
log.qualifierLog(queryChange.getFormName(), qualifier); // Logging log.qualifierLog(queryChange.getFormName(), qualifier); // Logging
System.out.println(qualifier); System.out.println(qualifier);
var entriesSize = api.getFormSize(qualifier, this.queryChange.getFormName()); var entriesSize = api.getFormSize(qualifier, this.queryChange.getFormName());
var changes = new ArrayList<ChangeItem>(); var changes = new ArrayList<ChangeItem>();
System.out.println("###ABGERUFEN");
for (var entry : entries) { for (var entry : entries) {
var change = new ChangeItem(entry.getEntryId()); var change = new ChangeItem(entry.getEntryId());
boolean approval = getValueStringByID(entry, "Approval").equals("0") ? true : false; boolean approval = getValueStringByID(entry, "Approval").equals("0") ? true : false;
// if (approval) { if (approval) {
// var queryApproval = new Query.QueryBuilder("CHG:ChangeAPDetailSignature") var queryApproval = new Query.QueryBuilder("CHG:ChangeAPDetailSignature")
// .addFieldId("Approvers", 13207).build(); .addFieldId("Approvers", 13207).build();
// String qual = "(\'1000000182\' = \"" + getValueStringByID(entry, "ChangeNr") String qual = "(\'1000000182\' = \"" + getValueStringByID(entry, "ChangeNr")
// + "\") 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,
// queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
// log.qualifierLog(queryApproval.getFormName(), qual); var queryApprovalProcessName = api.queryFieldsById(qual,
queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
log.qualifierLog(queryApproval.getFormName(), qual);
// if (!queryApprovalProcessName.isEmpty() && queryApprovalProcessName != null if (!queryApprovalProcessName.isEmpty() && queryApprovalProcessName != null
// && queryApprovalProcessName.size() > 0) && queryApprovalProcessName.size() > 0)
// change.setApproval(true); change.setApproval(true);
// else else
// change.setApproval(false); change.setApproval(false);
// }
if(approval){
change.setApproval(true);
}else{
change.setApproval(false);
} }
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)
// System.out.println("\n++++++++"+getValueStringByID(entry, "CurrentStageNumber")); .orElse(-1) == 9) {
if(getValueStringByID(entry, "CurrentStageNumber").equals("1")){ // System.out.println("\n++++++++"+getValueStringByID(entry,
// "CurrentStageNumber"));
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));
} }
// System.out.println("\nStatus: "+change.getState());
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"));
change.setD2(timestampToDateById(entry, "D2")); change.setD2(timestampToDateById(entry, "D2"));
@ -196,21 +187,23 @@ public class Change {
.map(Object::toString) .map(Object::toString)
.filter(peopleFullName::equals) .filter(peopleFullName::equals)
.isPresent()); .isPresent());
change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
var ptMinutes = getValueStringByID(entry, "PlanTimeMinutes").isEmpty() ? "00" var ptMinutes = getValueStringByID(entry, "PlanTimeMinutes").isEmpty() ? "00"
: getValueStringByID(entry, "PlanTimeMinutes"); : getValueStringByID(entry, "PlanTimeMinutes");
var ptHours = getValueStringByID(entry, "PlanTimeHours").isEmpty() ? "00" var ptHours = getValueStringByID(entry, "PlanTimeHours").isEmpty() ? "00"
: getValueStringByID(entry, "PlanTimeHours"); : getValueStringByID(entry, "PlanTimeHours");
change.setPlanTime(convertPlanTime(ptHours, ptMinutes)); change.setPlanTime(convertPlanTime(ptHours, ptMinutes));
change.setPackageName(getValueStringByID(entry, "PackageName"));
// change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
changes.add(change); changes.add(change);
} }
System.out.println("###FERTIG");
System.out.println(entries.size()); System.out.println(entries.size());
api.freeImpersonatedUser(); api.freeImpersonatedUser();
long endTime = System.currentTimeMillis();
long duration = (endTime - startTime);
double durationInSeconds = duration / 1000.0;
System.out.println("\n\nFetching Changes took " + durationInSeconds + " seconds.");
return new ChangeResponse(entriesSize, changes); return new ChangeResponse(entriesSize, changes);
} }
@ -360,12 +353,12 @@ public class Change {
.queryFieldsById("\'InstanceId_Package\' = \"" + packageType + "\"", .queryFieldsById("\'InstanceId_Package\' = \"" + packageType + "\"",
queryPackage.getFieldIds(), queryPackage.getFormName(), null, 0, 0); queryPackage.getFieldIds(), queryPackage.getFormName(), null, 0, 0);
Entry packageName = null; Entry packageName = null;
if (packageNameList != null && !packageNameList.isEmpty()) { if (packageNameList != null && !packageNameList.isEmpty()) {
packageName = packageNameList.get(0); packageName = packageNameList.get(0);
return packageName.get(queryPackage.getFieldId("PackageName")).toString(); return packageName.get(queryPackage.getFieldId("PackageName")).toString();
} }
return ""; return "";
} }

View File

@ -43,7 +43,8 @@ public class GlobalExceptionHandler {
*/ */
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleGenericException(Exception e, HttpServletRequest request) { public ResponseEntity<ErrorResponse> handleGenericException(Exception e, HttpServletRequest request) {
var userMessage = "Backend internal server error"; var userMessage = "Backend internal server error: ";
e.printStackTrace();
return entityResponse(userMessage, e.getMessage(), e, HttpStatus.INTERNAL_SERVER_ERROR); return entityResponse(userMessage, e.getMessage(), e, HttpStatus.INTERNAL_SERVER_ERROR);
} }