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 {
private Query queryChange;
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
@ -45,7 +45,7 @@ public class Change {
this.queryChange = new Query.QueryBuilder(formName)
.addFieldId("ChangeNr", 1000000182)
.addFieldId("SupportGroup", 1000000015)
.addFieldId("ManagerGroup", 1000003229)
.addFieldId("ManagerGroup", 666003234)
.addFieldId("State", 7)
.addFieldId("PackageInstanceId", 179)
.addFieldId("ResourceName", 1000000000)
@ -55,7 +55,7 @@ public class Change {
.addFieldId("D4", 1000000364)
.addFieldId("StatusReason", 1000000150)
.addFieldId("ApprovalStatus", 1000003264)
.addFieldId("CoordinatorSg", 1000003229)
.addFieldId("CoordinatorSg", 666003234)
.addFieldId("CoordinatorSgId", 1000003234)
.addFieldId("ChangeCoordinator", 1000003230)
.addFieldId("SupportGroupId", 1000000079)
@ -70,6 +70,7 @@ public class Change {
.addFieldId("Approval", 1000003278)
.addFieldId("ApprovalProcessName", 301322300)
.addFieldId("CurrentStageNumber", 301541700)
.addFieldId("PackageName", 200000020)
.build();
}
@ -87,95 +88,85 @@ public class Change {
*/
public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError {
long startTime = System.currentTimeMillis();
LoggerTemplates log = new LoggerTemplates(api);
var peopleFullName = processPeopleInfo(request);
var filter = request.getFilter();
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);
SortInfo sort = request.constructSortInfo(queryChange);
log.initLog("getChanges", api.getUser()); // Logging
var entries = api.queryFieldsById(qualifier, this.queryChange.getFieldIds(),
this.queryChange.getFormName(),
sort, request.getSliceStart(),
request.getSliceEnd());
log.qualifierLog(queryChange.getFormName(), qualifier); // Logging
System.out.println(qualifier);
var entriesSize = api.getFormSize(qualifier, this.queryChange.getFormName());
var changes = new ArrayList<ChangeItem>();
System.out.println("###ABGERUFEN");
for (var entry : entries) {
var change = new ChangeItem(entry.getEntryId());
boolean approval = getValueStringByID(entry, "Approval").equals("0") ? true : false;
// if (approval) {
// var queryApproval = new Query.QueryBuilder("CHG:ChangeAPDetailSignature")
// .addFieldId("Approvers", 13207).build();
if (approval) {
var queryApproval = new Query.QueryBuilder("CHG:ChangeAPDetailSignature")
.addFieldId("Approvers", 13207).build();
// String qual = "(\'1000000182\' = \"" + getValueStringByID(entry, "ChangeNr")
// + "\") AND (\'10000\' = \""
// + getValueStringByID(entry, "ApprovalProcessName")
// + "\") AND (\'13207\' LIKE \"%" + api.getUser() + "%\")";
// var queryApprovalProcessName = api.queryFieldsById(qual,
// queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
String qual = "(\'1000000182\' = \"" + getValueStringByID(entry, "ChangeNr")
+ "\") AND (\'10000\' = \""
+ getValueStringByID(entry, "ApprovalProcessName")
+ "\") AND (\'13207\' LIKE \"%" + api.getUser() + "%\")";
// 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
// && queryApprovalProcessName.size() > 0)
// change.setApproval(true);
// else
// change.setApproval(false);
if (!queryApprovalProcessName.isEmpty() && queryApprovalProcessName != null
&& queryApprovalProcessName.size() > 0)
change.setApproval(true);
else
change.setApproval(false);
// }
if(approval){
change.setApproval(true);
}else{
change.setApproval(false);
}
change.setChangeNr(getValueStringByID(entry, "ChangeNr"));
change.setSupportGroup(getValueStringByID(entry, "SupportGroup"));
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(change.getStatusReason().equals("9000")){
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 (change.getStatusReason().equals("9000")) {
change.setState(10);
}else{
} else {
change.setState(101);
}
}
if(Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue).orElse(-1)== 9){
// System.out.println("\n++++++++"+getValueStringByID(entry, "CurrentStageNumber"));
if(getValueStringByID(entry, "CurrentStageNumber").equals("1")){
if (Optional.ofNullable(getValue(entry, "State")).map(Value::getIntValue)
.orElse(-1) == 9) {
// System.out.println("\n++++++++"+getValueStringByID(entry,
// "CurrentStageNumber"));
if (getValueStringByID(entry, "CurrentStageNumber").equals("1")) {
change.setState(9);
}else{
} else {
change.setState(91);
}
}
}else{
} else {
change.setState(Optional.ofNullable(getValue(entry, "State"))
.map(Value::getIntValue)
.orElse(-1));
.map(Value::getIntValue)
.orElse(-1));
}
// System.out.println("\nStatus: "+change.getState());
change.setPackageInstanceId(getValueStringByID(entry, "PackageInstanceId"));
change.setResourceName(getValueStringByID(entry, "ResourceName"));
change.setD1(timestampToDateById(entry, "D1"));
change.setD2(timestampToDateById(entry, "D2"));
@ -196,21 +187,23 @@ public class Change {
.map(Object::toString)
.filter(peopleFullName::equals)
.isPresent());
change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
var ptMinutes = getValueStringByID(entry, "PlanTimeMinutes").isEmpty() ? "00"
: getValueStringByID(entry, "PlanTimeMinutes");
var ptHours = getValueStringByID(entry, "PlanTimeHours").isEmpty() ? "00"
: getValueStringByID(entry, "PlanTimeHours");
change.setPlanTime(convertPlanTime(ptHours, ptMinutes));
// change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
change.setPackageName(getValueStringByID(entry, "PackageName"));
changes.add(change);
}
System.out.println("###FERTIG");
System.out.println(entries.size());
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);
}
@ -360,12 +353,12 @@ public class Change {
.queryFieldsById("\'InstanceId_Package\' = \"" + packageType + "\"",
queryPackage.getFieldIds(), queryPackage.getFormName(), null, 0, 0);
Entry packageName = null;
if (packageNameList != null && !packageNameList.isEmpty()) {
packageName = packageNameList.get(0);
return packageName.get(queryPackage.getFieldId("PackageName")).toString();
}
return "";
}

View File

@ -43,7 +43,8 @@ public class GlobalExceptionHandler {
*/
@ExceptionHandler(Exception.class)
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);
}