Merge branch 'performance'
commit
6b742e9f13
|
|
@ -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
|
||||||
|
|
@ -43,33 +43,35 @@ public class Change {
|
||||||
public Change(RemedyJavaAPI api) {
|
public Change(RemedyJavaAPI api) {
|
||||||
this.api = api;
|
this.api = api;
|
||||||
this.queryChange = new Query.QueryBuilder(formName)
|
this.queryChange = new Query.QueryBuilder(formName)
|
||||||
.addFieldId("ChangeNr", 1000000182)
|
.addFieldId("ChangeNr", 1100000182)
|
||||||
.addFieldId("SupportGroup", 1000000015)
|
.addFieldId("SupportGroup", 1100000015)
|
||||||
.addFieldId("ManagerGroup", 1000003229)
|
.addFieldId("ManagerGroup", 1000003229)
|
||||||
.addFieldId("State", 7)
|
.addFieldId("State", 666100007)
|
||||||
.addFieldId("PackageInstanceId", 179)
|
.addFieldId("PackageInstanceId", 666100179)
|
||||||
.addFieldId("ResourceName", 1000000000)
|
.addFieldId("ResourceName", 1100000000)
|
||||||
.addFieldId("D1", 1000000349)
|
.addFieldId("D1", 1000000349)
|
||||||
.addFieldId("D2", 1000000350)
|
.addFieldId("D2", 1100000350)
|
||||||
.addFieldId("D3", 666000350)
|
.addFieldId("D3", 666100350)
|
||||||
.addFieldId("D4", 1000000364)
|
.addFieldId("D4", 1100000364)
|
||||||
.addFieldId("StatusReason", 1000000150)
|
.addFieldId("StatusReason", 1000000150)
|
||||||
.addFieldId("ApprovalStatus", 1000003264)
|
.addFieldId("ApprovalStatus", 1000003264)
|
||||||
.addFieldId("CoordinatorSg", 1000003229)
|
.addFieldId("CoordinatorSg", 1000003229) // ?
|
||||||
.addFieldId("CoordinatorSgId", 1000003234)
|
.addFieldId("CoordinatorSgId", 1000003234)
|
||||||
.addFieldId("ChangeCoordinator", 1000003230)
|
.addFieldId("ChangeCoordinator", 1000003230)
|
||||||
.addFieldId("SupportGroupId", 1000000079)
|
.addFieldId("SupportGroupId", 1100000079)
|
||||||
.addFieldId("ProviderCluster", 610020002)
|
.addFieldId("ProviderCluster", 610020002)
|
||||||
.addFieldId("ChangeImplementer", 610023230)
|
.addFieldId("ChangeImplementer", 610023230)
|
||||||
.addFieldId("ChangeImplementerLogin", 610023231)
|
.addFieldId("ChangeImplementerLogin", 610023231)
|
||||||
.addFieldId("ChangeImplementerPersonId", 610023232)
|
.addFieldId("ChangeImplementerPersonId", 610023232)
|
||||||
.addFieldId("PackageType", 670031016)
|
.addFieldId("PackageType", 670031016)
|
||||||
.addFieldId("Contract", 670031002)
|
.addFieldId("Contract", 670031002)
|
||||||
.addFieldId("PlanTimeHours", 666000009)
|
.addFieldId("PlanTimeHours", 666100009)
|
||||||
.addFieldId("PlanTimeMinutes", 666000010)
|
.addFieldId("PlanTimeMinutes", 666100001)
|
||||||
.addFieldId("Approval", 1000003278)
|
.addFieldId("Approval", 1000003278)
|
||||||
.addFieldId("ApprovalProcessName", 301322300)
|
.addFieldId("ApprovalProcessName", 301322300)
|
||||||
.addFieldId("CurrentStageNumber", 301541700)
|
.addFieldId("CurrentStageNumber", 301541700)
|
||||||
|
.addFieldId("PackageName", 200000020)
|
||||||
|
.addFieldId("OriginalRequestID", 666100000)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -87,95 +89,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) {
|
|
||||||
var change = new ChangeItem(entry.getEntryId());
|
|
||||||
|
|
||||||
|
for (var entry : entries) {
|
||||||
|
var change = new ChangeItem(getValueStringByID(entry, "OriginalRequestID"));
|
||||||
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 +188,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 +354,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 "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue