main
Said Gedik 2024-06-04 14:35:28 +02:00
parent 40d3e063df
commit 196a49de79
1 changed files with 70 additions and 64 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_PaketJChangeJPackage";
private final static String formName = "ASF:WI_TAS_Paket";
/**
* Constructor for the {@link Change} class which gets autowired with the
@ -43,35 +43,33 @@ public class Change {
public Change(RemedyJavaAPI api) {
this.api = api;
this.queryChange = new Query.QueryBuilder(formName)
.addFieldId("ChangeNr", 1100000182)
.addFieldId("SupportGroup", 1100000015)
.addFieldId("ChangeNr", 1000000182)
.addFieldId("SupportGroup", 1000000015)
.addFieldId("ManagerGroup", 1000003229)
.addFieldId("State", 666100007)
.addFieldId("PackageInstanceId", 666100179)
.addFieldId("ResourceName", 1100000000)
.addFieldId("D1", 1000000349)
.addFieldId("D2", 1100000350)
.addFieldId("D3", 666100350)
.addFieldId("D4", 1100000364)
.addFieldId("StatusReason", 1000000150)
.addFieldId("State", 7)
.addFieldId("PackageInstanceId", 179)
.addFieldId("ResourceName", 1000000000)
.addFieldId("D1", 1000000349)
.addFieldId("D2", 1000000350)
.addFieldId("D3", 666000350)
.addFieldId("D4", 1000000364)
.addFieldId("StatusReason", 1000000150)
.addFieldId("ApprovalStatus", 1000003264)
.addFieldId("CoordinatorSg", 1000003229) // ?
.addFieldId("CoordinatorSg", 1000003229)
.addFieldId("CoordinatorSgId", 1000003234)
.addFieldId("ChangeCoordinator", 1000003230)
.addFieldId("SupportGroupId", 1100000079)
.addFieldId("SupportGroupId", 1000000079)
.addFieldId("ProviderCluster", 610020002)
.addFieldId("ChangeImplementer", 610023230)
.addFieldId("ChangeImplementerLogin", 610023231)
.addFieldId("ChangeImplementerPersonId", 610023232)
.addFieldId("ChangeImplementerPersonId", 610023232)
.addFieldId("PackageType", 670031016)
.addFieldId("Contract", 670031002)
.addFieldId("PlanTimeHours", 666100009)
.addFieldId("PlanTimeMinutes", 666100001)
.addFieldId("Approval", 1000003278)
.addFieldId("PlanTimeHours", 666000009)
.addFieldId("PlanTimeMinutes", 666000010)
.addFieldId("Approval", 1000003278)
.addFieldId("ApprovalProcessName", 301322300)
.addFieldId("CurrentStageNumber", 301541700)
.addFieldId("PackageName", 200000020)
.addFieldId("OriginalRequestID", 666100000)
.build();
}
@ -89,85 +87,95 @@ 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(getValueStringByID(entry, "OriginalRequestID"));
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() + "%\")";
// 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);
var queryApprovalProcessName = api.queryFieldsById(qual,
queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
log.qualifierLog(queryApproval.getFormName(), qual);
// 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"));
@ -188,23 +196,21 @@ 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(getValueStringByID(entry, "PackageName"));
// change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
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);
}
@ -354,12 +360,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 "";
}