loggin template, approval logic

main
Said Gedik 2024-03-20 14:20:08 +01:00
parent 625247e270
commit 7e1ca96d30
4 changed files with 75 additions and 102 deletions

View File

@ -0,0 +1,25 @@
package com.nttdata.calender;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.bmc.arsys.api.ARException;
import com.nttdata.calender.api.RemedyJavaAPI;
public class LoggerTemplates {
private RemedyJavaAPI api;
private static final Logger applicationLogger = LogManager.getLogger("application");
public LoggerTemplates(RemedyJavaAPI api) {
this.api = api;
}
public void initLog(String requestName, String userName) throws ARException {
applicationLogger.info("\n\n\nRequest: " + requestName + "\nUser: " + api.getUser() + "\nAdmin? "
+ (this.api.isAdministrator() ? "Yes" : "No"));
}
public void qualifierLog(String form, String qualifier) {
applicationLogger.info("\nForm: " + form + "\nQualifier: " + qualifier);
}
}

View File

@ -7,6 +7,8 @@ import java.util.Date;
import java.util.Optional; import java.util.Optional;
import java.util.TimeZone; import java.util.TimeZone;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.bmc.arsys.api.ARException; import com.bmc.arsys.api.ARException;
@ -15,6 +17,7 @@ import com.bmc.arsys.api.SortInfo;
import com.bmc.arsys.api.Timestamp; import com.bmc.arsys.api.Timestamp;
import com.bmc.arsys.api.Value; import com.bmc.arsys.api.Value;
import com.nttdata.calender.DateConverter; import com.nttdata.calender.DateConverter;
import com.nttdata.calender.LoggerTemplates;
import com.nttdata.calender.api.Query; import com.nttdata.calender.api.Query;
import com.nttdata.calender.api.RemedyJavaAPI; import com.nttdata.calender.api.RemedyJavaAPI;
import com.nttdata.calender.changes.query.FilterElement; import com.nttdata.calender.changes.query.FilterElement;
@ -63,6 +66,8 @@ public class Change {
.addFieldId("Contract", 670031002) .addFieldId("Contract", 670031002)
.addFieldId("PlanTimeHours", 666000009) .addFieldId("PlanTimeHours", 666000009)
.addFieldId("PlanTimeMinutes", 666000010) .addFieldId("PlanTimeMinutes", 666000010)
.addFieldId("Approval", 1000003278)
.addFieldId("ApprovalProcessName", 301322300)
.build(); .build();
} }
@ -79,7 +84,8 @@ public class Change {
* @throws ValidationError if there is an invalid filter or qualification * @throws ValidationError if there is an invalid filter or qualification
*/ */
public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError { public ChangeResponse get(ChangeRequest request) throws ARException, NotFoundError, ValidationError {
// api.impersonateUser("ext_StanzPa");
LoggerTemplates log = new LoggerTemplates(api);
var peopleFullName = processPeopleInfo(request); var peopleFullName = processPeopleInfo(request);
@ -87,17 +93,49 @@ public class Change {
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
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());
System.out.println(qualifier); // "\'1000000182\'!=\".\"" log.qualifierLog(queryChange.getFormName(), qualifier); // Logging
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>();
for (var entry : entries) { for (var entry : entries) {
var change = new ChangeItem(entry.getEntryId()); var change = new ChangeItem(entry.getEntryId());
System.out.println();
boolean approval = getValueStringByID(entry, "Approval").equals("0") ? true : false;
if (approval) {
var queryApproval = new Query.QueryBuilder("CHG:ChangeAPDetailSignature")
.addFieldId("ApprovalProcessName", 301322300).build();
var queryApprovalProcessName = api.queryFieldsById(
"(\'1000000182\' = \""
+ getValueStringByID(entry, "ChangeNr")
+ "\") AND (\'10000\' = \""
+ getValueStringByID(entry, "ApprovalProcessName")
+ "\") AND (\'13207\' LIKE \"%" + api.getUser()
+ "%\")",
queryApproval.getFieldIds(), queryApproval.getFormName(), sort, 0, 0);
System.out.println("(\'1000000182\' = \""
+ getValueStringByID(entry, "ChangeNr")
+ "\") AND (\'10000\' = \""
+ getValueStringByID(entry, "ApprovalProcessName")
+ "\") AND (\'13207\' LIKE \"%" + api.getUser()
+ "%\")");
System.out.println(queryApprovalProcessName.size());
}
change.setApproval(approval);
change.setChangeNr(getValueStringByID(entry, "ChangeNr")); change.setChangeNr(getValueStringByID(entry, "ChangeNr"));
change.setSupportGroup(getValueStringByID(entry, "SupportGroup")); change.setSupportGroup(getValueStringByID(entry, "SupportGroup"));
change.setState(Optional.ofNullable(getValue(entry, "State")) change.setState(Optional.ofNullable(getValue(entry, "State"))
@ -124,24 +162,6 @@ public class Change {
.map(Object::toString) .map(Object::toString)
.filter(peopleFullName::equals) .filter(peopleFullName::equals)
.isPresent()); .isPresent());
/*
* var state = getValue(entry, "State").getIntValue();
* var inApproval = inApprovalList(api.getUser(), getValueStringByID(entry,
* "ChangeNr"));
*
* change.setFlagPermit(flagPermit(state));
* change.setFlagApprove(flagApproval(inApproval, state));
* change.setFlagReject(flagApproval(inApproval, state));
* change.setFlagCancel(flagCancel(getValueStringByID(entry, "SupportGroupId"),
* state));
*/
// change.setFlagPermit(flagPermit(state));
// change.setFlagApprove(flagApproval(inApproval, state));
// change.setFlagReject(flagApproval(inApproval, state));
// change.setFlagCancel(flagCancel(getValueStringByID(entry, "SupportGroupId"),
// state));
change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString())); change.setPackageName(queryPackageName(getValueStringByID(entry, "PackageType").toString()));
var ptMinutes = getValueStringByID(entry, "PlanTimeMinutes").isEmpty() ? "00" var ptMinutes = getValueStringByID(entry, "PlanTimeMinutes").isEmpty() ? "00"

View File

@ -33,6 +33,7 @@ public class ChangeItem {
private Date D3; private Date D3;
private Date D4; private Date D4;
private double planTime; private double planTime;
private boolean approval;
// private boolean flagPermit; // private boolean flagPermit;
// private boolean flagApprove; // private boolean flagApprove;
// private boolean flagReject; // private boolean flagReject;
@ -140,7 +141,7 @@ public class ChangeItem {
public ChangeItem(String resourceId, String resourceName, String changeNr, int state, String contract, public ChangeItem(String resourceId, String resourceName, String changeNr, int state, String contract,
String supportGroup, String coordinatorSgId, String coordinatorSg, String supportGroupId, String supportGroup, String coordinatorSgId, String coordinatorSg, String supportGroupId,
String providerCluster, String approvalStatus, String statusReason, Date D1, Date D2, Date D3, Date D4, String providerCluster, String approvalStatus, String statusReason, Date D1, Date D2, Date D3, Date D4,
String changeImplementer, String changeImplementerLogin, String changeImplementerPersonId) { String changeImplementer, String changeImplementerLogin, String changeImplementerPersonId, boolean approval) {
this.resourceId = resourceId; this.resourceId = resourceId;
this.resourceName = resourceName; this.resourceName = resourceName;
this.changeNr = changeNr; this.changeNr = changeNr;
@ -160,88 +161,16 @@ public class ChangeItem {
this.changeImplementer = changeImplementer; this.changeImplementer = changeImplementer;
this.changeImplementerLogin = changeImplementerLogin; this.changeImplementerLogin = changeImplementerLogin;
this.changeImplementerPersonId = changeImplementerPersonId; this.changeImplementerPersonId = changeImplementerPersonId;
this.approval = approval;
} }
// /** public boolean isApproval() {
// * Retrieves the flag indicating whether the change item has a permit. return approval;
// * }
// * @return {@code true} if the change item has a permit, {@code false}
// * otherwise.
// */
// public boolean getFlagPermit() {
// return this.flagPermit;
// }
// /** public void setApproval(boolean approval) {
// * Sets the flag indicating whether the change item has a permit. this.approval = approval;
// * }
// * @param flagPermit {@code true} if the change item has a permit, {@code
// false}
// * otherwise.
// */
// public void setFlagPermit(boolean flagPermit) {
// this.flagPermit = flagPermit;
// }
// /**
// * Retrieves the flag indicating whether the change item has been approved.
// *
// * @return {@code true} if the change item has been approved, {@code false}
// * otherwise.
// */
// public boolean getFlagApprove() {
// return this.flagApprove;
// }
// /**
// * Sets the flag indicating whether the change item has been approved.
// *
// * @param flagApprove {@code true} if the change item has been approved,
// * {@code false} otherwise.
// */
// public void setFlagApprove(boolean flagApprove) {
// this.flagApprove = flagApprove;
// }
// /**
// * Retrieves the flag indicating whether the change item has been rejected.
// *
// * @return {@code true} if the change item has been rejected, {@code false}
// * otherwise.
// */
// public boolean getFlagReject() {
// return this.flagReject;
// }
// /**
// * Sets the flag indicating whether the change item has been rejected.
// *
// * @param flagReject {@code true} if the change item has been rejected,
// * {@code false} otherwise.
// */
// public void setFlagReject(boolean flagReject) {
// this.flagReject = flagReject;
// }
// /**
// * Retrieves the flag indicating whether the change item has been canceled.
// *
// * @return {@code true} if the change item has been canceled, {@code false}
// * otherwise.
// */
// public boolean getFlagCancel() {
// return this.flagCancel;
// }
// /**
// * Sets the flag indicating whether the change item has been canceled.
// *
// * @param flagCancel {@code true} if the change item has been canceled,
// * {@code false} otherwise.
// */
// public void setFlagCancel(boolean flagCancel) {
// this.flagCancel = flagCancel;
// }
/** /**
* Retrieves the planned time. * Retrieves the planned time.

View File

@ -87,7 +87,6 @@ public class PlanTimes {
var minutes = change.get(queryChanges.getFieldId("PlanTimeMinutes")).toString(); var minutes = change.get(queryChanges.getFieldId("PlanTimeMinutes")).toString();
var hours = change.get(queryChanges.getFieldId("PlanTimeHours")).toString(); var hours = change.get(queryChanges.getFieldId("PlanTimeHours")).toString();
double plantime = convertPlanTime(hours, minutes); double plantime = convertPlanTime(hours, minutes);
System.out.println(plantime);
planTimePerWeek += plantime; planTimePerWeek += plantime;
} }
} }