You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemmionic5/Mohem/src/app/absence/submit-absence/submit-absence.component.ts

1460 lines
51 KiB
TypeScript

import { Component, OnInit, ElementRef, ChangeDetectorRef, ViewChild } from "@angular/core";
import { CommonService } from "src/app/hmg-common/services/common/common.service";
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service";
import { MenuService } from "src/app/hmg-common/services/menu/menuservice.service";
import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response";
import { ModalController ,IonSelectOption ,IonSelect } from "@ionic/angular";
import { SubmitAbsenceService } from "../service/submit.absence.service";
import { AbsenceAttahcmentResponse } from "../models/abs.attach.response";
import { AbsenceListService } from "../service/service.service";
import { AbsenceDffResponse } from "../models/abs_dff_response";
import { AbsenceTransaction } from "../models/absence.transaction";
import { MenuEntry } from "../../hmg-common/services/menu/models/menu.entry";
import { ButtonInput } from "../../uI-elements/button.input";
import { HiddenInput } from "../../uI-elements/hidden.input";
import { TextAreaInput } from "../../uI-elements/text-area.input";
import { TextInput } from "../../uI-elements/text.input";
import { NumberInput } from "../../uI-elements/number.input";
import { SelectInput } from "../../uI-elements/select.input";
import { DateInput } from "../../uI-elements/date.input";
import { TimeInput } from "../../uI-elements/time.input";
import { DateTimeInput } from "../../uI-elements/date-time.input";
import { DatePicker } from "@ionic-native/date-picker/ngx";
import { Request } from '../../hmg-common/services/models/request';
// import { Request } from "../models/request";
import * as moment from "moment";
import {ReplacementListComponent} from "../../vacation-rule/replacement-list/replacement-list.component";
import {ReplacmentResponse} from "../models/replacment-response";
import { AbsenceResponse } from '../models/absence.response';
import { AbsenceReplacementListComponent } from '../absence-replacement-list/absence-replacement-list.component';
import { AbsenceNotificatonBodyResponse } from 'src/app/notification/models/AbsenceNotificationBodyRes';
@Component({
selector: "app-submit-absence",
templateUrl: "./submit-absence.component.html",
styleUrls: ["./submit-absence.component.scss"]
})
export class SubmitAbsenceComponent implements OnInit {
private textArea: TextAreaInput;
private numberInput: NumberInput;
private textInput: TextInput;
private selectInput: SelectInput;
private dateInput: DateInput;
private timeInput: TimeInput;
private datetimeInput: DateTimeInput;
private buttonInput: ButtonInput;
private hiddenInput: HiddenInput;
private eitVALSettoCall: any = [];
private action: string = "";
private modalFlag: any = false;
menuType: any;
employeeSel: any;
absenceType: any;
absenceTypeName: string = null;
absenceTypeList: any;
startDate: any;
startTime: string = null;
endTime: string = null;
endDate: any;
absComments: string = null;
type: any;
totalDays: any;
hoursOrDay: string = "";
replacmentEmployeeInfo: any;
employeeName: string;
employeeID: string = null;
selEmp: string;
respID: number;
selMenu: MenuResponse;
getPassMnuEntryObj: MenuEntry;
notificationId: number;
itemKey: string = null;
//private ExtraObj:any={};
private absenceDffresponse: AbsenceDffResponse[];
private absenceRrequest: AbsenceTransaction;
/*****for resubmit******* */
getPassNotificationDetails: any;
getPassdirfromNotifiPage: boolean = false;
direction: string;
doneText: string;
cancelText: string;
functionName: string = "";
private submitAbsObjList: any = [];
@ViewChild(IonSelect) select: IonSelect;
// private updatedValues:any=[];
constructor(
public submitAbsService: SubmitAbsenceService,
public modalCtrl: ModalController,
// public ReplacmentList: WorklistReplacmentEmployeeService,
public common: CommonService,
public datePicker: DatePicker,
public ts: TranslatorService,
private elementRef: ElementRef,
private changeDetectorRef: ChangeDetectorRef
) {
this.direction = TranslatorService.getCurrentLanguageName();
////*new add*/////
/**********resubmit************ */
this.getPassNotificationDetails = this.common.sharedService.getSharedData(AbsenceNotificatonBodyResponse.NOT_WORKLIST, true);
this.getPassdirfromNotifiPage = this.common.sharedService.getSharedData('dirfromNotificationPage');
//this.getPassNotificationDetails = this.common.sharedService.getSharedData(AbsenceNotificatonBodyResponse.NOT_WORKLIST, true);
// this.getPassdirfromNotifiPage = this.navParams.get('dirfromNotificationPage');
if (this.getPassdirfromNotifiPage) {
this.functionName = this.getPassNotificationDetails.FUNCTION_NAME; //;this.getPassNotificationDetails.NOTIFICATION_NAME;
this.menuType = "E";
this.itemKey = this.getPassNotificationDetails.ITEM_KEY;
this.notificationId = this.getPassNotificationDetails.NOTIFICATION_ID;
this.selEmp = this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER;
this.respID = -999;
this.submitAbsObjList = this.common.sharedService.getSharedData('submitAbsObjList');
console.log()
} else {
this.action = "CREATE";
this.selEmp = this.common.sharedService.getSharedData(
MenuResponse.SHARED_SEL_EMP,
false
);
this.respID = this.common.sharedService.getSharedData(
MenuResponse.SHARED_SEL_RESP_ID,
false
);
this.selMenu = new MenuResponse();
this.selMenu = this.common.sharedService.getSharedData(
MenuResponse.SHARED_DATA,
false
);
this.menuType = this.selMenu.List_Menu.MENU_TYPE;
this.getPassMnuEntryObj = this.selMenu.GetMenuEntriesList;
this.functionName = this.getPassMnuEntryObj.FUNCTION_NAME;
this.submitAbsObjList = [];
}
this.absenceDffresponse = [];
}
ngOnInit() {
this.getAbsenceTypes();
this.doneText = this.direction === 'en' ? 'Done' : 'تم';
this.cancelText = this.direction === 'en' ? 'Cancel' : 'إلغاء';
}
private getAbsenceDffStructure() {
const body = {
P_FUNCTION_NAME: this.functionName,
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,
P_MENU_TYPE: this.menuType,
P_SELECTED_RESP_ID: this.respID,
P_DESC_FLEX_CONTEXT_CODE: this.absenceTypeName
};
this.submitAbsService
.getAbsenceDffStructure(body)
.subscribe((result: any) => {
this.handleAbcenseDFFStructure(result);
});
}
handleAbcenseDFFStructure(result) {
if (result.GetAbsenceDffStructureList != null) {
this.absenceDffresponse = result.GetAbsenceDffStructureList;
this.drawAbcenseFields(result.GetAbsenceDffStructureList);
}
}
getAbsenceTypes() {
let AbsenceType: Request = new Request();
//let user = this.sharedData.getSharedData(LoginResponse.SHARED_DATA,true)
const request = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp
};
this.submitAbsService.getAbsenceType(request).subscribe((result: any) => {
this.handlegetAbsenceTypes(result);
});
}
handlegetAbsenceTypes(result) {
if (this.common.validResponse(result)) {
if (this.common.hasData(result.GetAbsenceAttendanceTypesList)) {
this.absenceTypeList = result.GetAbsenceAttendanceTypesList;
this.hoursOrDay = this.absenceTypeList[0].HOURS_OR_DAYS;
if (this.submitAbsObjList && this.submitAbsObjList.length > 0) {
this.fillStaticStructure();
}
}
}
}
calcDay() {
console.log("calcDay" );
let msg: string = "";
if (
this.startDate == undefined ||
this.startDate == "" ||
this.startDate == null
) {
// msg=this.translate.translate("submitAbsence.enterSDate");
// this.common.showAlert(msg);
return;
} else if (
this.endDate == undefined ||
this.endDate == "" ||
this.endDate == null
) {
// msg=this.translate.translate("submitAbsence.enterEDate");
// this.common.showAlert(msg);
return;
} else if (!this.absenceType) {
// msg=this.translate.translate("submitAbsence.selAbsType");
// this.common.showAlert(msg);
return;
} else {
let numberOfType: number = parseInt(this.absenceType);
let Sdata = moment(this.startDate).format("DD-MMM-YYYY"); //(dd/mmm/yyyy)
let Edata = moment(this.endDate).format("DD-MMM-YYYY");
const request = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,
P_ABSENCE_ATTENDANCE_TYPE_ID: numberOfType,
P_DATE_START: Sdata,
P_DATE_END: Edata,
P_SELECTED_RESP_ID: this.respID,
P_MENU_TYPE: this.menuType,
P_TIME_START: null,
P_TIME_END: null
};
this.submitAbsService.getCalc(request).subscribe((result: any) => {
this.handlecalcDay(result);
});
}
}
handlecalcDay(result) {
if (this.common.validResponse(result)) {
// console.log(result);
this.totalDays = result.CalculateAbsenceDuration.P_ABSENCE_DAYS;
}
}
async openSearch(){
const modal = await this.modalCtrl.create({
component: ReplacementListComponent,
keyboardClose: true,
animated: false
});
let dismissed = modal.onDidDismiss();
dismissed.then(() => {
this.modalFlag = false;
});
return await modal.present();
}
async SearchReplacment() {
const modal = await this.modalCtrl.create({
component: AbsenceReplacementListComponent,
backdropDismiss: false
});
modal.cssClass = 'replaceRoll-modal';
modal.onDidDismiss()
.then((data) => {
const user = data.data;
console.log(data)
console.log(user);
if (data) {
this.employeeName = user.EMPLOYEE_DISPLAY_NAME;
this.employeeID = user.USER_NAME;
this.employeeSel = this.employeeName + "," + this.employeeID;
}
});
return await modal.present();
}
handleReplacment(result) {
if (this.common.validResponse(result)) {
console.log(result);
}
}
clearEmployee() {
this.employeeName = "";
this.employeeID = "";
}
public onTypeAbsenceChange() {
if (this.absenceType) {
let obj: any = this.absenceTypeList.find(
s => s.ABSENCE_ATTENDANCE_TYPE_ID == this.absenceType
);
if (obj) this.absenceTypeName = obj.DESC_FLEX_CONTEXT_CODE;
else this.absenceTypeName = null;
this.getAbsenceDffStructure();
} else {
this.absenceTypeName = null;
}
}
/***************draw Absence*******************/
private drawAbcenseFields(feildsList) {
const containerId = "dynamic-abs-container";
document.getElementById(containerId).innerHTML = "";
this.eitVALSettoCall = [];
for (let i = 0; i < feildsList.length; i++) {
let defaultVal: string = "";
let defaultValText: string = "";
defaultVal = feildsList[i].E_SERVICES_DV.P_ID_COLUMN_NAME
? feildsList[i].E_SERVICES_DV.P_ID_COLUMN_NAME
: "";
defaultValText = feildsList[i].E_SERVICES_DV.P_VALUE_COLUMN_NAME
? feildsList[i].E_SERVICES_DV.P_VALUE_COLUMN_NAME
: "";
if (feildsList[i].DISPLAY_FLAG != "N") {
//check if the field should be displayed
if (feildsList[i].VALIDATION_TYPE == "N") {
//text , date , time
if (feildsList[i].FORMAT_TYPE == "C") {
// character
this.textInput = new TextInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
defaultValText,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].FORMAT_TYPE == "N") {
// number
this.numberInput = new NumberInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].FORMAT_TYPE == "X") {
// standard date
if (
feildsList[i].DEFAULT_TYPE == "C" ||
feildsList[i].DEFAULT_TYPE == "D" ||
feildsList[i].DEFAULT_TYPE == "P" ||
feildsList[i].DEFAULT_TYPE == "S"
) {
//constant
this.dateInput = new DateInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
this.common.reverseFormatDate(defaultVal),
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
} else {
this.dateInput = new DateInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
"",
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
}
} else if (feildsList[i].FORMAT_TYPE == "Y") {
// standard date time
if (
feildsList[i].DEFAULT_TYPE == "C" ||
feildsList[i].DEFAULT_TYPE == "D" ||
feildsList[i].DEFAULT_TYPE == "P" ||
feildsList[i].DEFAULT_TYPE == "S"
) {
this.datetimeInput = new DateTimeInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
this.common.reverseFormatStandardDate(defaultVal),
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
} else {
this.datetimeInput = new DateTimeInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
"",
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
}
const elem = document.getElementById(
feildsList[i].APPLICATION_COLUMN_NAME
);
elem.addEventListener("click", e => {
if (feildsList[i].MOBILE_ENABLED != "Y") return false;
this.showDateTimePicker(
feildsList[i].APPLICATION_COLUMN_NAME,
feildsList[i].MAXIMUM_SIZE
);
e.stopImmediatePropagation();
});
} else if (feildsList[i].FORMAT_TYPE == "I") {
//time
if (
feildsList[i].DEFAULT_TYPE == "C" ||
feildsList[i].DEFAULT_TYPE == "D" ||
feildsList[i].DEFAULT_TYPE == "P" ||
feildsList[i].DEFAULT_TYPE == "S"
) {
this.timeInput = new TimeInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
} else {
this.timeInput = new TimeInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
"",
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG,
this.direction
);
}
}
} else {
if (feildsList[i].READ_ONLY == "Y") {
this.textInput = new TextInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultValText,
containerId,
defaultVal,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else {
this.selectInput = new SelectInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
this.fillDropdownList(
feildsList[i].SEGMENT_NAME,
feildsList[i].E_SERVICES_VS,
feildsList[i].E_SERVICES_DV
);
}
}
this.bindHtmlElemEvents(
feildsList[i].APPLICATION_COLUMN_NAME,
feildsList[i]
);
} else {
this.hiddenInput = new HiddenInput(
defaultVal,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultValText,
containerId
);
this.bindHtmlElemEvents(
feildsList[i].APPLICATION_COLUMN_NAME,
feildsList[i]
);
}
}
if (this.submitAbsObjList && this.submitAbsObjList.length > 0) {
this.fillAbsStructure();
}
}
bindHtmlElemEvents(id, obj) {
const elem = document.getElementById(id);
elem.addEventListener("change", e => {
elem.classList.remove("requiredClassElm");
if (
obj.CHILD_SEGMENTS_VS_Splited &&
obj.CHILD_SEGMENTS_VS_Splited.length > 0
) {
let listArray: any = obj.CHILD_SEGMENTS_VS_Splited;
listArray.forEach(element => {
//if(isEmpty)
this.emptyChildElement(element);
// else
this.getValueSet(element);
});
}
if (
obj.CHILD_SEGMENTS_DV_Splited &&
obj.CHILD_SEGMENTS_DV_Splited.length > 0
) {
let listArray: any = obj.CHILD_SEGMENTS_DV_Splited;
listArray.forEach(element => {
// if(isEmpty){
this.emptyChildElement(element);
// }else{
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].SEGMENT_NAME == element) {
this.getDefaultValue(
this.absenceDffresponse[i],
this.absenceDffresponse[i].DESC_FLEX_NAME,
this.absenceDffresponse[i].DESC_FLEX_CONTEXT_CODE,
this.absenceDffresponse[i].SEGMENT_NAME,
this.absenceDffresponse[i].PARENT_SEGMENTS_VS_SplitedVS,
this.absenceDffresponse[i].PARENT_SEGMENTS_DV_Splited
);
}
}
// }
});
}
return false;
// e.stopImmediatePropagation();
});
}
callValueSet() {
for (var i = 0; i < this.eitVALSettoCall.length; i++) {
this.getValueSet(this.eitVALSettoCall[i].SEGMENT_NAME);
}
}
public getValueSet(segmentName) {
let descFlexName: any = "";
let descFlexContextCode: any = "";
let parentValue: any = [];
let ParentsList: any = [];
let parentVal: any = null;
let dependenciesList: any = [];
let validationType: string = "";
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].SEGMENT_NAME == segmentName) {
descFlexName = this.absenceDffresponse[i].DESC_FLEX_NAME;
descFlexContextCode = this.absenceDffresponse[i].DESC_FLEX_CONTEXT_CODE;
parentValue = this.absenceDffresponse[i].PARENT_SEGMENTS_VS_SplitedVS;
ParentsList = this.absenceDffresponse[i].PARENT_SEGMENTS_VS_SplitedVS;
validationType = this.absenceDffresponse[i].VALIDATION_TYPE;
break;
}
}
if (parentValue != "" && (validationType == "D" || validationType == "Y")) {
let parvalue = this.getDependenciesParams(parentValue);
if (parvalue && parvalue[0]) parentVal = parvalue[0].ID_COLUMN_NAME;
else {
parentVal = null;
}
if (!parentVal) {
return false;
}
}
if (ParentsList != "") {
dependenciesList = this.getDependenciesParams(ParentsList);
if (!dependenciesList) {
return false;
}
}
const body = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,
P_MENU_TYPE: this.menuType,
P_SELECTED_RESP_ID: this.respID, //-999,
P_DESC_FLEX_NAME: descFlexName,
P_DESC_FLEX_CONTEXT_CODE: descFlexContextCode,
P_SEGMENT_NAME: segmentName,
P_PARENT_VALUE: parentVal,
GetValueSetValuesTBL: dependenciesList,
P_PAGE_NUM: 1,
P_PAGE_LIMIT: 1000
};
this.submitAbsService.getSetValue(body).subscribe((result: any) => {
if (result.GetValueSetValuesList != null) {
this.fillDropdownList(segmentName, result.GetValueSetValuesList);
}
});
let arr: any = [];
return arr;
}
getParentValue(parentValue) {
if (parentValue.length == 0) {
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].SEGMENT_NAME == parentValue[0].Name) {
if (this.absenceDffresponse[i].VALIDATION_TYPE == "N") {
let val = (document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
return val;
} else {
let x = document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
if (x.options.length > 0) {
let val = x.options[x.selectedIndex]
? x.options[x.selectedIndex].value
: null;
return val;
} else {
return "";
}
}
}
}
} else {
return "";
}
}
public showDateTimePicker(elemID, maxSize) {
let elem = document.getElementById(elemID) as HTMLDivElement;
let date: any;
let value = elem.innerHTML;
if (value) date = moment(value, "YYYY/MM/DD HH:mm:ss").toDate();
else date = new Date();
this.datePicker
.show({
date: date,
is24Hour: true,
mode: "datetime"
})
.then(
date => {
let dateString: string = moment(date).format("YYYY/MM/DD HH:mm:ss");
//remove seconds if the maximum size is 17
if (maxSize == 17) {
elem.innerHTML = dateString.substring(0, 16);
elem.dataset.dtvalue = dateString.substring(0, 16);
} else {
elem.innerHTML = dateString;
elem.dataset.dtvalue = dateString;
}
},
err => console.log("Error occurred while getting date: ", err)
);
}
public showTimePicker(elemID, maxSize) {
let elem = document.getElementById(elemID) as HTMLDivElement;
let date: any;
let value = elem.innerHTML;
if (value) {
let nowDate = moment().format("YYYY/MM/DD") + " " + value;
date = moment(nowDate, "YYYY/MM/DD HH:mm:ss").toDate();
} else {
date = new Date();
}
this.datePicker
.show({
date: date,
is24Hour: true,
mode: "time"
})
.then(
date => {
let dateString: string = moment(date).format("HH:mm:ss");
//remove seconds if the maximum size is 5
if (maxSize == 5) {
elem.innerHTML = dateString.substring(0, 5);
elem.dataset.dtvalue = dateString.substring(0, 5);
} else {
elem.innerHTML = dateString;
elem.dataset.dtvalue = dateString;
}
},
err => console.log("Error occurred while getting date: ", err)
);
}
getDependenciesParams(parentsList) {
let parentArr: any = [];
for (let i = 0; i < parentsList.length; i++) {
for (let j = 0; j < this.absenceDffresponse.length; j++) {
if (this.absenceDffresponse[j].SEGMENT_NAME == parentsList[i].Name) {
if (this.absenceDffresponse[j].DISPLAY_FLAG != "N") {
if (this.absenceDffresponse[j].VALIDATION_TYPE == "N") {
let idColName: string;
let val: any;
if (
this.absenceDffresponse[j].FORMAT_TYPE == "Y" ||
this.absenceDffresponse[j].FORMAT_TYPE == "I"
) {
//standard date time or //time
let elem = document.getElementById(
this.absenceDffresponse[j].APPLICATION_COLUMN_NAME
) as HTMLDivElement;
val = elem.dataset.dtvalue;
if (
(val == undefined || val == "") &&
parentsList[i].IsRequired == "REQUIRED"
) {
//alert(parentsList[i].Name +" Is required");
return false;
}
idColName = val;
if (this.absenceDffresponse[j].FORMAT_TYPE == "Y")
idColName = this.common.formatStandardDate(val);
} else {
val = (document.getElementById(
this.absenceDffresponse[j].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
if (
(val == undefined || val == "") &&
parentsList[i].IsRequired == "REQUIRED"
) {
//alert(parentsList[i].Name +" Is required");
return false;
}
idColName = val;
if (this.absenceDffresponse[j].FORMAT_TYPE == "X") {
//date
idColName = this.common.formatDate(val);
}
}
parentArr.push({
SEGMENT_NAME: this.absenceDffresponse[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: val,
DESCRIPTION: "",
ID_COLUMN_NAME: idColName,
FLEX_VALUE_SET_NAME: this.absenceDffresponse[j]
.FLEX_VALUE_SET_NAME
});
break;
} else {
if (this.absenceDffresponse[j].READ_ONLY != "Y") {
let x = document.getElementById(
this.absenceDffresponse[j].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
let text = x.options[x.selectedIndex]
? x.options[x.selectedIndex].text
: "";
let val = x.options[x.selectedIndex]
? x.options[x.selectedIndex].value
: undefined;
if (
(val == undefined || val == "") &&
parentsList[i].IsRequired == "REQUIRED"
) {
//alert(parentsList[i].Name +" Is required");
return false;
} else {
}
if (text == undefined) {
text = "";
}
parentArr.push({
SEGMENT_NAME: this.absenceDffresponse[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.absenceDffresponse[j]
.FLEX_VALUE_SET_NAME
});
break;
} else {
let x = document.getElementById(
this.absenceDffresponse[j].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
let text = x.value;
let val = x.dataset.colmText;
if (
(val == undefined || val == "") &&
parentsList[i].IsRequired == "REQUIRED"
) {
// alert(parentsList[i].Name +" Is required");
return false;
} else {
}
if (text == undefined) {
text = "";
}
parentArr.push({
SEGMENT_NAME: this.absenceDffresponse[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.absenceDffresponse[j]
.FLEX_VALUE_SET_NAME
});
break;
}
}
} else {
let x = document.getElementById(
this.absenceDffresponse[j].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
let text = x.value;
let val = x.dataset.colmText;
if (
(val == undefined || val == "") &&
parentsList[i].IsRequired == "REQUIRED"
) {
//alert(parentsList[i].Name +" Is required");
return false;
} else {
}
if (text == undefined) {
text = "";
}
parentArr.push({
SEGMENT_NAME: this.absenceDffresponse[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.absenceDffresponse[j]
.FLEX_VALUE_SET_NAME
});
break;
}
}
}
}
return parentArr;
}
emptyChildElement(segmentName) {
let elem = this.getElementByName(segmentName);
elem.value = null;
elem.innerHTML = "";
if ("dtvalue" in elem.dataset) {
elem.dataset.dtvalue = "";
}
if ("colmText" in elem.dataset) {
elem.dataset.colmText = "";
}
var event = new Event("change");
elem.dispatchEvent(event);
elem.classList.remove("requiredClassElm");
}
fillDropdownList(segmentName, optionList: any = [], DV: any = "") {
let elemID: any = "";
let absenceObj: any;
if (optionList.length > 0) {
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].SEGMENT_NAME == segmentName) {
if (
this.absenceDffresponse[i].READ_ONLY == "Y" ||
this.absenceDffresponse[i].DISPLAY_FLAG == "N"
) {
return false;
}
elemID = this.absenceDffresponse[i].APPLICATION_COLUMN_NAME;
absenceObj = this.absenceDffresponse[i];
break;
}
}
let select = document.getElementById(elemID) as HTMLSelectElement;
document.getElementById(elemID).innerHTML = "";
// for(let i = select.options.length - 1 ; i >= 0 ; i--)
// {
// select.remove(i);
// }
if (absenceObj.IsEmptyOption && absenceObj.REQUIRED_FLAG == "N") {
var firstoption = document.createElement("option");
//firstoption.text = this.translate.translate("general.choose");
firstoption.value = "";
select.add(firstoption);
}
for (let i = 0; i < optionList.length; i++) {
var option = document.createElement("option");
option.text = optionList[i].VALUE_COLUMN_NAME;
option.value = optionList[i].ID_COLUMN_NAME;
select.add(option);
}
if (select.dataset.hiddenval) select.value = select.dataset.hiddenval;
else select.value = DV.P_VALUE_COLUMN_NAME;
select.disabled = false;
}
}
public getDefaultValue(
obj,
descFlexName,
descFlexContextCode,
segmentName,
parentValue,
ParentsList
) {
let dependenciesList: any = [];
let parentVal: any = null;
let isStandardDate: boolean = false;
let isStandardTimeDate: boolean = false;
let isStandardTime: boolean = false;
let isHidden: boolean = false;
let isReadOnlyList: boolean = false;
isStandardDate = this.isStandardDate(obj);
isStandardTimeDate = this.isStandardDateTime(obj);
isStandardTime = this.isStandardTime(obj);
if (obj.DISPLAY_FLAG == "N") isHidden = true;
if (obj.VALIDATION_TYPE != "N" && obj.READ_ONLY == "Y") {
isReadOnlyList = true;
}
//if(parentValue!=""){ parentVal= this.getDependenciesParams(parentValue)[0].ID_COLUMN_NAME;}
//if(ParentsList!=""){dependenciesList =this.getDependenciesParams(ParentsList); }
if (
parentValue != "" &&
(obj.VALIDATION_TYPE == "D" || obj.VALIDATION_TYPE == "Y")
) {
let parvalue = this.getDependenciesParams(parentValue);
if (parvalue && parvalue[0]) parentVal = parvalue[0].ID_COLUMN_NAME;
else {
parentVal = null;
}
if (!parentVal) {
return false;
}
}
if (ParentsList != "") {
if (parentValue) ParentsList.concat(parentValue);
dependenciesList = this.getDependenciesParams(ParentsList);
if (!dependenciesList) {
return false;
}
}
//if (dependenciesList==false){return false};
const body = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,
P_MENU_TYPE: this.menuType,
P_SELECTED_RESP_ID: this.respID, //-999,
P_DESC_FLEX_NAME: descFlexName,
P_DESC_FLEX_CONTEXT_CODE: descFlexContextCode,
P_SEGMENT_NAME: segmentName,
P_PARENT_VALUE: parentVal,
GetValueSetValuesTBL: dependenciesList
};
this.submitAbsService.getDefaultValue(body).subscribe((result: any) => {
let elem = this.getElementByName(segmentName);
let obj = this.handleDefaultValueResult(result);
let val = obj.value;
let text = obj.text;
if (isStandardDate) {
// elem.value = this.common.reverseFormatDate(val);
} else if (isStandardTimeDate) {
if (val) {
// elem.dataset.dtvalue = this.common.reverseFormatStandardDate(val);
// elem.innerHTML = this.common.reverseFormatStandardDate(val);
} else {
elem.dataset.dtvalue = "";
elem.innerHTML = "";
}
} else if (isStandardTime) {
if (val) {
elem.dataset.dtvalue = val;
elem.innerHTML = val;
} else {
elem.dataset.dtvalue = "";
elem.innerHTML = "";
}
} else {
elem.value = val;
}
if (isHidden || isReadOnlyList) {
if (val) elem.dataset.colmText = val;
else elem.dataset.colmText = "";
elem.value = text;
}
var event = new Event("change");
elem.dispatchEvent(event);
});
}
handleDefaultValueResult(result) {
let data = {
text: result.GetDefaultValueList.P_VALUE_COLUMN_NAME,
value: result.GetDefaultValueList.P_ID_COLUMN_NAME
};
return data;
}
// getElementsValues(){
// let valuseArr:any=[];
// for(let i=0;i<this.absenceDffresponse.length;i++){
// let elemVal=(document.getElementById(this.absenceDffresponse[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement ).value;
// valuseArr.push({ID:this.absenceDffresponse[i].APPLICATION_COLUMN_NAME,VAl:elemVal})
// }
//}
getRequiredFilds() {
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].REQUIRED_FLAG == "Y") {
let elemVal = (document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
if (elemVal == "") {
//alert(this.absenceDffresponse[i].SEGMENT_NAME+" is required");
break;
}
}
}
}
getElementByName(segmentName) {
let elemID: any = "";
for (let i = 0; i < this.absenceDffresponse.length; i++) {
if (this.absenceDffresponse[i].SEGMENT_NAME == segmentName) {
elemID = this.absenceDffresponse[i].APPLICATION_COLUMN_NAME;
break;
}
}
return document.getElementById(elemID) as HTMLInputElement;
}
getElementsValues() {
//this.updatedValues=[];//fill updated list
let valuseArr: any = [];
let varcharValue: any = null;
let numbervalue: any = 0;
let dateValue: any = null;
let textValue = "";
let key: string = "";
let obj: any = {};
for (let i = 0; i < this.absenceDffresponse.length; i++) {
varcharValue = null;
numbervalue = null;
dateValue = null;
if (this.absenceDffresponse[i].DISPLAY_FLAG != "N") {
if (this.absenceDffresponse[i].VALIDATION_TYPE == "N") {
let elem = document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
let elemVal="";
if (elem.classList.contains('onic-date')) {
elemVal = (document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
if(elemVal){
elemVal = moment(elemVal).format("YYYY/MM/DD hh:mm:ss");
}
}else{
elemVal = (document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
}
textValue = elemVal;
if (
this.absenceDffresponse[i].FORMAT_TYPE == "X" &&
this.absenceDffresponse[i].DISPLAY_FLAG != "N"
) {
//date
elemVal = this.common.formatDate(elemVal);
} else if (
this.absenceDffresponse[i].FORMAT_TYPE == "Y" &&
this.absenceDffresponse[i].DISPLAY_FLAG != "N"
) {
//standard date time
elemVal = elem.dataset.dtvalue;
// elemVal = this.common.formatStandardDate(elemVal);
} else if (
this.absenceDffresponse[i].FORMAT_TYPE == "I" &&
this.absenceDffresponse[i].DISPLAY_FLAG != "N"
) {
//time
elemVal = elem.dataset.dtvalue;
}
if (this.absenceDffresponse[i].REQUIRED_FLAG == "Y" && !elemVal) {
elem.classList.add("requiredClassElm");
return false;
} else {
elem.classList.remove("requiredClassElm");
}
if (elemVal) varcharValue = elemVal;
key = "P_" + this.absenceDffresponse[i].APPLICATION_COLUMN_NAME;
// obj = {};
obj[key] = varcharValue;
} else {
let x = document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
if (this.absenceDffresponse[i].READ_ONLY == "Y") {
let text = x.value;
let val = x.dataset.colmText;
varcharValue = val;
textValue = text;
} else {
let val = x.options[x.selectedIndex]
? x.options[x.selectedIndex].value
: null;
let txt = x.options[x.selectedIndex]
? x.options[x.selectedIndex].text
: null;
varcharValue = val;
textValue = txt;
}
if (
this.absenceDffresponse[i].REQUIRED_FLAG == "Y" &&
!varcharValue
) {
x.classList.add("requiredClassElm");
// this.common.showRequiredMsg();
return false;
} else {
x.classList.remove("requiredClassElm");
}
key = "P_" + this.absenceDffresponse[i].APPLICATION_COLUMN_NAME;
//obj = {};
obj[key] = varcharValue;
} //end else
} else {
let x = document.getElementById(
this.absenceDffresponse[i].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
let val = x.dataset.colmText;
textValue = x.value;
if (this.absenceDffresponse[i].REQUIRED_FLAG == "Y" && !varcharValue) {
x.classList.add("requiredClassElm");
// this.common.showRequiredMsg();
return false;
} else {
x.classList.remove("requiredClassElm");
}
if (val) varcharValue = val;
key = "P_" + this.absenceDffresponse[i].APPLICATION_COLUMN_NAME;
//obj = {};
obj[key] = varcharValue;
}
} // end for
valuseArr.push(obj);
return valuseArr;
}
fillStaticStructure() {
for (let i = 0; i < this.submitAbsObjList.length; i++) {
let val: any;
if (this.submitAbsObjList[i].DATATYPE == "VARCHAR2")
val = this.submitAbsObjList[i].VARCHAR2_VALUE;
else if (this.submitAbsObjList[i].DATATYPE == "DATE")
val = this.submitAbsObjList[i].DATE_VALUE;
else if (this.submitAbsObjList[i].DATATYPE == "NUMBER")
val = this.submitAbsObjList[i].NUMBER_VALUE;
this.action = this.submitAbsObjList[i].ACTION;
if (this.submitAbsObjList[i].SEGMENT_NAME == "ABSENCE_TYPE") {
this.absenceType = val;
this.changeDetectorRef.detectChanges();
}
if (this.submitAbsObjList[i].SEGMENT_NAME == "DESC_FLEX_CONTEXT_CODE") {
this.absenceTypeName = val;
this.select.selectedText = this.absenceTypeName;
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "START_DATE") {
this.startDate = moment(val).format("YYYY-MM-DD");
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "END_DATE") {
this.endDate = moment(val).format("YYYY-MM-DD");
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "ABSENCE_DAYS") {
this.totalDays = val;
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "TIME_START") {
this.startTime = val;
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "TIME_END") {
this.endTime = val;
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "REPLACED_BY") {
this.employeeID = val;
this.employeeName = this.submitAbsObjList[i].SEGMENT_VALUE_DSP;
this.employeeSel = this.employeeName + "," + this.employeeID;
} else if (this.submitAbsObjList[i].SEGMENT_NAME == "COMMENTS") {
this.absComments = val;
}
}
this.onTypeAbsenceChange();
}
fillAbsStructure() {
for (let i = 0; i < this.submitAbsObjList.length; i++) {
let val: any;
if (this.submitAbsObjList[i].VARCHAR2_VALUE)
val = this.submitAbsObjList[i].VARCHAR2_VALUE;
else if (this.submitAbsObjList[i].DATE_VALUE)
val = this.submitAbsObjList[i].DATE_VALUE;
else if (this.submitAbsObjList[i].NUMBER_VALUE)
val = this.submitAbsObjList[i].NUMBER_VALUE;
const elem = document.getElementById(
this.submitAbsObjList[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
//obj.transactionNo=this.submitAbsObjList[i].TRANSACTION_NUMBER;
if (elem) {
if (val) {
let feldDetails = this.absenceDffresponse.find(
x =>
x.APPLICATION_COLUMN_NAME ==
this.submitAbsObjList[i].APPLICATION_COLUMN_NAME
);
if (feldDetails) {
let isStandardDate = this.isStandardDateVal(feldDetails);
let isStandardDateTime = this.isStandardDateTimeVal(feldDetails);
let isStandardTime = this.isStandardTimeVal(feldDetails);
if (isStandardDate) {
//elem.value = this.common.reverseFormatDate(val);
} else if (isStandardDateTime) {
// elem.innerHTML = this.common.reverseFormatStandardDate(val);
// elem.dataset.dtvalue = this.common.reverseFormatStandardDate(val);
} else if (isStandardTime) {
elem.innerHTML = val;
elem.dataset.dtvalue = val;
} else {
elem.value = val;
elem.setAttribute("value", elem.value);
}
if (
feldDetails.DISPLAY_FLAG == "N" ||
(feldDetails.VALIDATION_TYPE != "N" &&
feldDetails.READ_ONLY == "Y")
) {
elem.dataset.colmText = val;
elem.value = this.submitAbsObjList[i].SEGMENT_VALUE_DSP;
elem.setAttribute("value", elem.value);
}
}
elem.dataset.hiddenval = val; //hide the value to set it after calling get value set
if (
feldDetails.CHILD_SEGMENTS_VS_Splited &&
feldDetails.CHILD_SEGMENTS_VS_Splited.length > 0
) {
let listArray: any = feldDetails.CHILD_SEGMENTS_VS_Splited;
listArray.forEach(element => {
this.getValueSet(element);
});
}
//var event = new Event('change');
//elem.dispatchEvent(event);
}
} else {
}
}
//this.ExtraObj=obj;
}
isStandardDate(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "X") {
// standard date
if (
obj.DEFAULT_TYPE == "C" ||
obj.DEFAULT_TYPE == "D" ||
obj.DEFAULT_TYPE == "P" ||
obj.DEFAULT_TYPE == "S"
) {
//constant
isSt = true;
}
}
return isSt;
}
isStandardDateTime(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "Y") {
// standard date time
if (
obj.DEFAULT_TYPE == "C" ||
obj.DEFAULT_TYPE == "D" ||
obj.DEFAULT_TYPE == "P" ||
obj.DEFAULT_TYPE == "S"
) {
//constant
isSt = true;
}
}
return isSt;
}
isStandardTime(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "I") {
// standard date time
if (
obj.DEFAULT_TYPE == "C" ||
obj.DEFAULT_TYPE == "D" ||
obj.DEFAULT_TYPE == "P" ||
obj.DEFAULT_TYPE == "S"
) {
//constant
isSt = true;
}
}
return isSt;
}
isStandardDateVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "X") {
// standard date
isSt = true;
// }
}
return isSt;
}
isStandardDateTimeVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "Y") {
// standard date time
isSt = true;
//}
}
return isSt;
}
isStandardTimeVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "I") {
// standard time
isSt = true;
//}
}
return isSt;
}
validateAbcenseTransaction() {
(this.elementRef.nativeElement.querySelectorAll(
"ion-item"
) as HTMLElement[]).forEach(x => {
x.classList.add("ng-touched");
x.classList.remove("ng-untouched");
});
let arrValues = this.getElementsValues();
if (arrValues) {
if (!this.startDate || !this.endDate || !this.absenceType) {
//this.common.showRequiredMsg();
return false;
}
let Sdata = moment(this.startDate).format("MM/DD/YYYY");
let Edata = moment(this.endDate).format("MM/DD/YYYY");
this.absenceRrequest = new AbsenceTransaction();
this.absenceRrequest.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp;
this.absenceRrequest.P_MENU_TYPE = this.menuType;
this.absenceRrequest.P_SELECTED_RESP_ID = this.respID;
this.absenceRrequest.P_FUNCTION_NAME = this.functionName;
this.absenceRrequest.P_ABSENCE_ACTION = this.action;
this.absenceRrequest.P_ABSENCE_ATTENDANCE_ID = parseInt(this.absenceType); // later on when we activate the update and delete;
this.absenceRrequest.P_ABSENCE_ATTENDANCE_TYPE_ID = parseInt(
this.absenceType
);
this.absenceRrequest.P_DATE_START = Sdata;
this.absenceRrequest.P_DATE_END = Edata;
this.absenceRrequest.P_TIME_START = this.startTime;
this.absenceRrequest.P_TIME_END = this.endTime;
this.absenceRrequest.P_REPLACEMENT_USER_NAME = this.employeeID;
this.absenceRrequest.P_DESC_FLEX_CONTEXT_CODE = this.absenceTypeName;
this.absenceRrequest.P_ATTRIBUTE1 = arrValues[0].P_ATTRIBUTE1
? arrValues[0].P_ATTRIBUTE1
: null;
this.absenceRrequest.P_ATTRIBUTE2 = arrValues[0].P_ATTRIBUTE2
? arrValues[0].P_ATTRIBUTE2
: null;
this.absenceRrequest.P_ATTRIBUTE3 = arrValues[0].P_ATTRIBUTE3
? arrValues[0].P_ATTRIBUTE3
: null;
this.absenceRrequest.P_ATTRIBUTE4 = arrValues[0].P_ATTRIBUTE4
? arrValues[0].P_ATTRIBUTE4
: null;
this.absenceRrequest.P_ATTRIBUTE5 = arrValues[0].P_ATTRIBUTE5
? arrValues[0].P_ATTRIBUTE5
: null;
this.absenceRrequest.P_ATTRIBUTE6 = arrValues[0].P_ATTRIBUTE6
? arrValues[0].P_ATTRIBUTE6
: null;
this.absenceRrequest.P_ATTRIBUTE7 = arrValues[0].P_ATTRIBUTE7
? arrValues[0].P_ATTRIBUTE7
: null;
this.absenceRrequest.P_ATTRIBUTE8 = arrValues[0].P_ATTRIBUTE8
? arrValues[0].P_ATTRIBUTE8
: null;
this.absenceRrequest.P_ATTRIBUTE9 = arrValues[0].P_ATTRIBUTE9
? arrValues[0].P_ATTRIBUTE9
: null;
this.absenceRrequest.P_ATTRIBUTE10 = arrValues[0].P_ATTRIBUTE10
? arrValues[0].P_ATTRIBUTE10
: null;
this.absenceRrequest.P_ATTRIBUTE11 = arrValues[0].P_ATTRIBUTE11
? arrValues[0].P_ATTRIBUTE11
: null;
this.absenceRrequest.P_ATTRIBUTE12 = arrValues[0].P_ATTRIBUTE12
? arrValues[0].P_ATTRIBUTE12
: null;
this.absenceRrequest.P_ATTRIBUTE13 = arrValues[0].P_ATTRIBUTE13
? arrValues[0].P_ATTRIBUTE13
: null;
this.absenceRrequest.P_ATTRIBUTE14 = arrValues[0].P_ATTRIBUTE14
? arrValues[0].P_ATTRIBUTE14
: null;
this.absenceRrequest.P_ATTRIBUTE15 = arrValues[0].P_ATTRIBUTE15
? arrValues[0].P_ATTRIBUTE15
: null;
this.absenceRrequest.P_ATTRIBUTE16 = arrValues[0].P_ATTRIBUTE16
? arrValues[0].P_ATTRIBUTE16
: null;
this.absenceRrequest.P_ATTRIBUTE17 = arrValues[0].P_ATTRIBUTE17
? arrValues[0].P_ATTRIBUTE17
: null;
this.absenceRrequest.P_ATTRIBUTE18 = arrValues[0].P_ATTRIBUTE18
? arrValues[0].P_ATTRIBUTE18
: null;
this.absenceRrequest.P_ATTRIBUTE19 = arrValues[0].P_ATTRIBUTE19
? arrValues[0].P_ATTRIBUTE19
: null;
this.absenceRrequest.P_ATTRIBUTE20 = arrValues[0].P_ATTRIBUTE20
? arrValues[0].P_ATTRIBUTE20
: null;
this.absenceRrequest.P_ABSENCE_COMMENTS = this.absComments;
this.submitAbsService
.validateAbsenceTransaction(this.absenceRrequest)
.subscribe((result: any) => {
this.handleAbsenceValidateTr(result);
});
}
}
private handleAbsenceValidateTr(result) {
if (this.common.validResponse(result)) {
if (this.getPassdirfromNotifiPage) {
this.absenceRrequest.P_NOTIFICATION_ID = this.notificationId;
this.absenceRrequest.P_ITEM_KEY = this.itemKey;
this.submitAbsService
.resubmitAbsence(this.absenceRrequest)
.subscribe((result: any) => {
this.handleSubmitAbsence(result);
});
} else {
this.submitAbsService
.submitAbsence(this.absenceRrequest)
.subscribe((result: any) => {
this.handleSubmitAbsence(result);
});
}
}
}
private handleSubmitAbsence(result) {
if (this.common.validResponse(result)) {
if (this.getPassdirfromNotifiPage) {
this.common.sharedService.setSharedData(result.ResubmitAbsenceTransactionList.P_TRANSACTION_ID, AbsenceResponse.SHARED_DATA);
this.common.openConfirmAbsece();
// this.navCtrl.push("SubmitAbsenceConfirmPage", { isResubmit: true });
} else {
this.common.sharedService.setSharedData(result.SumbitAbsenceTransactionList.P_TRANSACTION_ID, AbsenceResponse.SHARED_DATA);
this.common.openConfirmAbsece();
// this.navCtrl.push("SubmitAbsenceConfirmPage", { isResubmit: false });
}
}
}
}