import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { MenuEntry } from 'src/app/hmg-common/services/menu/models/menu.entry'; import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; import { EitRequest } from '../models/eit.request'; import { ModalController } from '@ionic/angular'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; import { EITTransactionsRequest } from '../models/EITTransactionsReq'; import { EitService } from '../services/eit.service'; import { TextAreaInput } from 'src/app/uI-elements/text-area.input'; import { NumberInput } from 'src/app/uI-elements/number.input'; import { TextInput } from 'src/app/uI-elements/text.input'; import { SelectInput } from 'src/app/uI-elements/select.input'; import { DateInput } from 'src/app/uI-elements/date.input'; import { TimeInput } from 'src/app/uI-elements/time.input'; import { DateTimeInput } from 'src/app/uI-elements/date-time.input'; import { ButtonInput } from 'src/app/uI-elements/button.input'; import { HiddenInput } from 'src/app/uI-elements/hidden.input'; import * as moment from 'moment'; import { DatePicker } from '@ionic-native/date-picker/ngx'; import { EIT_ACTION } from '../models/submit.eit.action'; import { AddEitResponse } from '../models/add.eit.response'; @Component({ selector: 'app-add-eit', templateUrl: './add-eit.component.html', styleUrls: ['./add-eit.component.scss'], }) export class AddEitComponent implements OnInit { @ViewChild('containerDiv') containerDiv: ElementRef; ////*new add*///// getPassNotificationDetails: any; getPassdirfromNotifiPage: boolean = false; functionName: string = ""; menuType: any; ///////////////// 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 eitResponse: any; private eitVALSettoCall: any = []; private comtransNo: number = 0; // private parentChilds: any[]; getPassMnuEntryObj: MenuEntry; selMenu: MenuResponse; eitSubmitAction: number = 0;//not submit private eitRequest: EitRequest; private validateEitObj: any = []; private ExtraObj: any = {}; private arrValues: any = []; selEmp: string; respID: number; headerTitle: string = ""; isResubmit: boolean = false; //private updatedNotObject:any=[]; private updatedValues: any = []; addEITData: any; constructor(public modalController: ModalController, public cs: CommonService, private ts: TranslatorService, private eitService: EitService, public datePicker: DatePicker) { this.selEmp = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_EMP, false); this.respID = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_RESP_ID, false); this.selMenu = new MenuResponse(); this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); this.addEITData = this.cs.sharedService.getSharedData("AddEITData", false); this.eitRequest = new EitRequest(); // this.buttonInput = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y'); ////*new add*///// /**********resubmit************ */ // this.getPassNotificationDetails = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, true); this.getPassdirfromNotifiPage = this.addEITData.dirfromNotificationPage; if (this.getPassdirfromNotifiPage) { this.functionName = this.getPassNotificationDetails.FUNCTION_NAME;//;this.getPassNotificationDetails.NOTIFICATION_NAME; this.menuType = "E"; this.selEmp = this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER; this.respID = -999; this.validateEitObj = this.addEITData.submitEITObjList; // this.eitSubmitAction=this.getPassNotificationDetails.EIT_ACTION; let msg: string = ""; msg = this.ts.trPK("eit", "update-title"); this.headerTitle = msg; } else { this.getPassMnuEntryObj = this.selMenu.GetMenuEntriesList; this.comtransNo = this.addEITData.transNo; this.functionName = this.getPassMnuEntryObj.FUNCTION_NAME; this.menuType = this.selMenu.List_Menu.MENU_TYPE; this.validateEitObj = this.addEITData.submitEITObjList; this.headerTitle = this.selMenu.GetMenuEntriesList.PROMPT; this.eitSubmitAction = this.cs.sharedService.getSharedData(EITTransactionsRequest.SUBMIT_EIT_ACTION); } } ngOnInit() { } ngAfterViewInit() { console.log('ngAfterViewInit'); // console.log(this.containerDiv.nativeElement); this.getEitDffStructure(); // this.addFieldToDOM(this.buttonInput, 'btnSubmit', this.cs.presentAlert('Clicked!'), true) } private getEitDffStructure() { 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_USER_NAME:this.userName } this.eitService.getEITDFFStrutre(body).subscribe((result: any) => { this.handleEitDffStructureResult(result); }); } handleEitDffStructureResult(result) { if (result.GetEITDFFStructureList != null) { this.eitResponse = result.GetEITDFFStructureList; this.drawEitFields(result.GetEITDFFStructureList); } } private drawEitFields(feildsList) { const containerId = 'containerDiv'; this.eitVALSettoCall = []; for (let i = 0; i < feildsList.length; i++) { console.log(feildsList[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 // if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){// default type constant 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].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// profile/ sql // this.textInput = new TextInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); // } } else if (feildsList[i].FORMAT_TYPE == "N") {// number // if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){ 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].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){ // this.numberInput = new NumberInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); // } } 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.cs.reverseFormatDate(defaultVal), containerId, feildsList[i].MOBILE_ENABLED, feildsList[i].DISPLAY_FLAG, feildsList[i].REQUIRED_FLAG); } 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); } // else if(feildsList[i].DEFAULT_TYPE=="D"){//current date // // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDate",containerId,feildsList[i].MOBILE_ENABLED); // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED); // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// sql and profile // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); // } } 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.cs.reverseFormatStandardDate(defaultVal), containerId, feildsList[i].MOBILE_ENABLED, feildsList[i].DISPLAY_FLAG, feildsList[i].REQUIRED_FLAG); } 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); } 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].DEFAULT_TYPE=="D"){ // this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDateTime",containerId,feildsList[i].MOBILE_ENABLED); // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){ // this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); // } } 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); } 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); } const elem = document.getElementById(feildsList[i].APPLICATION_COLUMN_NAME); elem.addEventListener("click", (e) => { if (feildsList[i].MOBILE_ENABLED != 'Y') return false; this.showTimePicker(feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i].MAXIMUM_SIZE); e.stopImmediatePropagation(); }); // else if(feildsList[i].DEFAULT_TYPE=="T"){ // this.timeInput = new TimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentTime",containerId,feildsList[i].MOBILE_ENABLED); // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){ // this.timeInput = new TimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); // } } } 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 { // dropdown list missing open in differnt page //check this validation since he doesnt check the other default_type //if(feildsList[i].DEFAULT_TYPE=="P" || feildsList[i].DEFAULT_TYPE=="S"){ 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); // }else{ // this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"",containerId,feildsList[i].MOBILE_ENABLED); // } // this.getValueSet(feildsList[i].SEGMENT_NAME); this.fillDropdownList(feildsList[i].SEGMENT_NAME, feildsList[i].E_SERVICES_VS, feildsList[i].E_SERVICES_DV); // this.eitVALSettoCall.push(feildsList[i]); } } //const elem = document.getElementById(feildsList[i].APPLICATION_COLUMN_NAME); //elem.addEventListener("click", (e) => { // this.getValueSet(feildsList[i].SEGMENT_NAME); // e.stopImmediatePropagation(); // }); this.bindHtmlElemEvents(feildsList[i].APPLICATION_COLUMN_NAME, feildsList[i]); } else { // if(feildsList[i].VALIDATION_TYPE=="N"){ this.hiddenInput = new HiddenInput(defaultVal, feildsList[i].APPLICATION_COLUMN_NAME, defaultValText, containerId); // }else{ // this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED,feildsList[i].DISPLAY_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]); } } // this.callValueSet(); // let msg:string=""; // msg=this.translate.translate("confirmAddEit.start"); // this.buttonInput = new ButtonInput("EIT_Btn_Submit", this.translate.translate('general.submit'), containerId, ""); // const elem = document.getElementById("EIT_Btn_Submit"); // elem.addEventListener("click", (e) => { // this.validateEITTransaction(); // }); if (this.validateEitObj && this.validateEitObj.length > 0) { this.fillEITStructure(); } } addFieldToDOM(fieldObject: any, fieldId: any, clickListenerEvent: any, hasClickListener: boolean) { console.log('AddFieldToDOM'); const elemDiv = document.createElement('div'); elemDiv.className = ''; elemDiv.innerHTML = fieldObject.getTemplate(); console.log(this.containerDiv.nativeElement) this.containerDiv.nativeElement.appendChild(elemDiv); // document.getElementById('containerDiv').appendChild(elemDiv); if (hasClickListener) { let elem = document.getElementById(fieldId); elem.addEventListener("click", (e) => { clickListenerEvent(e); e.stopImmediatePropagation(); }); } } closemodal() { this.updatedValues = []; this.modalController.dismiss(); } 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; } //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) ); } fillDropdownList(segmentName, optionList: any = [], DV: any = "") { let elemID: any = "" let eitObj: any; if (optionList.length > 0) { for (let i = 0; i < this.eitResponse.length; i++) { if (this.eitResponse[i].SEGMENT_NAME == segmentName) { eitObj = this.eitResponse[i]; if (this.eitResponse[i].READ_ONLY == 'Y' || this.eitResponse[i].DISPLAY_FLAG == 'N') { return false; } elemID = this.eitResponse[i].APPLICATION_COLUMN_NAME; 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 (eitObj.IsEmptyOption && eitObj.REQUIRED_FLAG == 'N') { var firstoption = document.createElement("option"); firstoption.text = this.ts.trPK("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; //select.dataset.hiddenval=""; } else { select.value = DV.P_VALUE_COLUMN_NAME; } select.disabled = false; } } bindHtmlElemEvents(id, obj) { console.log('bindElement: ' + id); const elem = document.getElementById(id); console.log(elem); try { elem.addEventListener("change", (e) => { //console.log("elem change "+elem.id); //let x=e.currentTarget as HTMLInputElement; //let isEmpty:boolean=false; // if(!x.value) // isEmpty=true; //emptyChildElement 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.eitResponse.length; i++) { if (this.eitResponse[i].SEGMENT_NAME == element) { this.getDefaultValue(this.eitResponse[i], this.eitResponse[i].DESC_FLEX_NAME, this.eitResponse[i].DESC_FLEX_CONTEXT_CODE, this.eitResponse[i].SEGMENT_NAME, this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS, this.eitResponse[i].PARENT_SEGMENTS_DV_Splited); } } // } }); } return false; // e.stopImmediatePropagation(); }); } catch (e) { console.log(e.status); } } 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.eitService.getDefaultValue(body).subscribe((result: any) => { let elem = this.getElementByName(segmentName); // if(elem.dataset.hiddenval){ // elem.dataset.hiddenval=""; // return false; // } let obj = this.handleDefaultValueResult(result); let val = obj.value; let text = obj.text; if (isStandardDate) { elem.value = this.cs.reverseFormatDate(val); } else if (isStandardTimeDate) { if (val) { elem.dataset.dtvalue = this.cs.reverseFormatStandardDate(val); elem.innerHTML = this.cs.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; } callValueSet() { for (var i = 0; i < this.eitVALSettoCall.length; i++) { this.getValueSet(this.eitVALSettoCall[i].SEGMENT_NAME); } } getParentValue(parentValue) { if (parentValue.length == 0) { for (let i = 0; i < this.eitResponse.length; i++) { if (this.eitResponse[i].SEGMENT_NAME == parentValue[0].Name) { if (this.eitResponse[i].VALIDATION_TYPE == "N") { let val = (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement).value; return val; } else { let x = (document.getElementById(this.eitResponse[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 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.eitResponse.length; i++) { if (this.eitResponse[i].SEGMENT_NAME == segmentName) { descFlexName = this.eitResponse[i].DESC_FLEX_NAME; descFlexContextCode = this.eitResponse[i].DESC_FLEX_CONTEXT_CODE; parentValue = this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS; ParentsList = this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS; validationType = this.eitResponse[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.eitService.getSetValue(body).subscribe((result: any) => { if (result.GetValueSetValuesList != null) { this.fillDropdownList(segmentName, result.GetValueSetValuesList); } }); let arr: any = []; return arr; } getDependenciesParams(parentsList) { let parentArr: any = []; for (let i = 0; i < parentsList.length; i++) { for (let j = 0; j < this.eitResponse.length; j++) { if (this.eitResponse[j].SEGMENT_NAME == parentsList[i].Name) { if (this.eitResponse[j].DISPLAY_FLAG != 'N') { if (this.eitResponse[j].VALIDATION_TYPE == "N") { let idColName: string; let val: any; if (this.eitResponse[j].FORMAT_TYPE == "Y" || this.eitResponse[j].FORMAT_TYPE == "I") {//standard date time or //time let elem = document.getElementById(this.eitResponse[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.eitResponse[j].FORMAT_TYPE == "Y") idColName = this.cs.formatStandardDate(val); } else { val = (document.getElementById(this.eitResponse[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.eitResponse[j].FORMAT_TYPE == "X") {//date idColName = this.cs.formatDate(val); } } parentArr.push({ SEGMENT_NAME: this.eitResponse[j].SEGMENT_NAME, VALUE_COLUMN_NAME: val, DESCRIPTION: "", ID_COLUMN_NAME: idColName, FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME }) break; } else { if (this.eitResponse[j].READ_ONLY != 'Y') { let x = (document.getElementById(this.eitResponse[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.eitResponse[j].SEGMENT_NAME, VALUE_COLUMN_NAME: text, DESCRIPTION: "", ID_COLUMN_NAME: val, FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME }) break; } else { let x = (document.getElementById(this.eitResponse[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.eitResponse[j].SEGMENT_NAME, VALUE_COLUMN_NAME: text, DESCRIPTION: "", ID_COLUMN_NAME: val, FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME }) break; } } } else { let x = (document.getElementById(this.eitResponse[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.eitResponse[j].SEGMENT_NAME, VALUE_COLUMN_NAME: text, DESCRIPTION: "", ID_COLUMN_NAME: val, FLEX_VALUE_SET_NAME: this.eitResponse[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"); } getRequiredFilds() { for (let i = 0; i < this.eitResponse.length; i++) { if (this.eitResponse[i].REQUIRED_FLAG == "Y") { let elemVal = (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement).value; if (elemVal == "") { //alert(this.eitResponse[i].SEGMENT_NAME+" is required"); break; } } } } getElementByName(segmentName) { let elemID: any = "" for (let i = 0; i < this.eitResponse.length; i++) { if (this.eitResponse[i].SEGMENT_NAME == segmentName) { elemID = this.eitResponse[i].APPLICATION_COLUMN_NAME; break; } } return document.getElementById(elemID) as HTMLInputElement; } 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 // if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant isSt = true; // } } return isSt; } isStandardDateTimeVal(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; } isStandardTimeVal(obj: any): boolean { let isSt: boolean = false; if (obj.FORMAT_TYPE == "I") {// standard time //if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant isSt = true; //} } return isSt; } fillEITStructure() { var obj = { peiObjVer: null, peiExtraInfoID: null }; for (let i = 0; i < this.validateEitObj.length; i++) { let val: any; if (this.validateEitObj[i].VARCHAR2_VALUE) val = this.validateEitObj[i].VARCHAR2_VALUE; else if (this.validateEitObj[i].DATE_VALUE) val = this.validateEitObj[i].DATE_VALUE; else if (this.validateEitObj[i].NUMBER_VALUE) val = this.validateEitObj[i].NUMBER_VALUE; const elem = document.getElementById(this.validateEitObj[i].APPLICATION_COLUMN_NAME) as HTMLInputElement; //obj.transactionNo=this.validateEitObj[i].TRANSACTION_NUMBER; if (elem) { if (val) { let feldDetails = this.eitResponse.find(x => x.APPLICATION_COLUMN_NAME == this.validateEitObj[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.cs.reverseFormatDate(val); } else if (isStandardDateTime) { elem.innerHTML = this.cs.reverseFormatStandardDate(val); elem.dataset.dtvalue = this.cs.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.validateEitObj[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 { if (this.validateEitObj[i].APPLICATION_COLUMN_NAME == "PEI_OBJECT_VERSION_NUMBER") obj.peiObjVer = this.validateEitObj[i].NUMBER_VALUE; else if (this.validateEitObj[i].APPLICATION_COLUMN_NAME == "PEI_EXTRA_INFO_ID") obj.peiExtraInfoID = this.validateEitObj[i].NUMBER_VALUE; } } this.ExtraObj = obj; } public getElementsValues(): any { this.updatedValues = [];//fill updated list let valuseArr: any = []; let varcharValue: any = null; let numbervalue: any = 0; let dateValue: any = null; let transNo: number = this.comtransNo; let textValue = ""; // if(this.ExtraObj.transactionNo) // transNo=this.ExtraObj.transactionNo; for (let i = 0; i < this.eitResponse.length; i++) { varcharValue = null; numbervalue = null; dateValue = null; /*********set transaction No of the updated object ********/ if (this.getPassdirfromNotifiPage) { let updatedObj = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME == this.eitResponse[i].APPLICATION_COLUMN_NAME); let y = updatedObj; transNo = y.TRANSACTION_NUMBER; // set the transaction number for all items in the updated loop } if (this.eitResponse[i].DISPLAY_FLAG != "N") { if (this.eitResponse[i].VALIDATION_TYPE == "N") { let elem = document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement; let elemVal = (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement).value; textValue = elemVal; //let elemVal= (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)).value; if (this.eitResponse[i].FORMAT_TYPE == "X" && this.eitResponse[i].DISPLAY_FLAG != "N") {//date elemVal = this.cs.formatDate(elemVal); } else if (this.eitResponse[i].FORMAT_TYPE == "Y" && this.eitResponse[i].DISPLAY_FLAG != "N") {//standard date time elemVal = elem.dataset.dtvalue; elemVal = this.cs.formatStandardDate(elemVal); } else if (this.eitResponse[i].FORMAT_TYPE == "I" && this.eitResponse[i].DISPLAY_FLAG != "N") {//time elemVal = elem.dataset.dtvalue; } if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { elem.classList.add("requiredClassElm"); //this.common.showRequiredMsg(); return false; } else { elem.classList.remove("requiredClassElm"); } if (elemVal) varcharValue = elemVal; valuseArr.push( { TRANSACTION_NUMBER: transNo, NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, VARCHAR2_VALUE: varcharValue, NUMBER_VALUE: numbervalue, DATE_VALUE: dateValue } ) } else { let x = (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)) as HTMLSelectElement; if (this.eitResponse[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.eitResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) { x.classList.add("requiredClassElm"); //this.common.showRequiredMsg(); return false; } else { x.classList.remove("requiredClassElm"); } valuseArr.push( { TRANSACTION_NUMBER: transNo, NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, VARCHAR2_VALUE: varcharValue, NUMBER_VALUE: numbervalue, DATE_VALUE: dateValue } ); }//end else } else { let x = (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)) as HTMLSelectElement; let val = x.dataset.colmText; textValue = x.value; if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !val) { x.classList.add("requiredClassElm"); //this.common.showRequiredMsg(); return false; } else { x.classList.remove("requiredClassElm"); } if (val) varcharValue = val; valuseArr.push( { TRANSACTION_NUMBER: transNo, NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, VARCHAR2_VALUE: varcharValue, NUMBER_VALUE: numbervalue, DATE_VALUE: dateValue } ); } if (this.getPassdirfromNotifiPage) { let updatedObj = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME == this.eitResponse[i].APPLICATION_COLUMN_NAME); let y = updatedObj; y.VARCHAR2_VALUE = varcharValue; y.NUMBER_VALUE = numbervalue; y.DATE_VALUE = dateValue; y.SEGMENT_VALUE_DSP = textValue; transNo = y.TRANSACTION_NUMBER; // set the transaction number for all items in the updated loop this.updatedValues.push(y); } else { if (this.validateEitObj && this.eitSubmitAction == EIT_ACTION.UPDATE) { let updatedObj = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME == this.eitResponse[i].APPLICATION_COLUMN_NAME); let y = updatedObj; y.VARCHAR2_VALUE = varcharValue; y.NUMBER_VALUE = numbervalue; y.DATE_VALUE = dateValue; y.SEGMENT_VALUE_DSP = textValue; transNo = transNo; // set the transaction number for all items in the updated loop this.updatedValues.push(y); } else { let y = { TRANSACTION_NUMBER: transNo, VARCHAR2_VALUE: varcharValue, NUMBER_VALUE: numbervalue, DATE_VALUE: dateValue, SEGMENT_VALUE_DSP: textValue, APPLICATION_COLUMN_NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, DATATYPE: this.eitResponse[i].DATATYPE, DESC_FLEX_CONTEXT_CODE: this.eitResponse[i].DESC_FLEX_CONTEXT_CODE, DESC_FLEX_NAME: this.eitResponse[i].DESC_FLEX_NAME, DISPLAY_FLAG: this.eitResponse[i].DISPLAY_FLAG, SEGMENT_NAME: this.eitResponse[i].SEGMENT_NAME, SEGMENT_PROMPT: this.eitResponse[i].SEGMENT_PROMPT }; transNo = transNo; // set the transaction number for all items in the updated loop this.updatedValues.push(y); } } }// end for if (this.getPassdirfromNotifiPage) { let updatedObj1 = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME === "PEI_ACTION"); let updatedObj2 = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME === "PEI_EXTRA_INFO_ID"); let updatedObj3 = this.validateEitObj.find(x => x.APPLICATION_COLUMN_NAME === "PEI_OBJECT_VERSION_NUMBER"); this.updatedValues.push(updatedObj1); this.updatedValues.push(updatedObj2); this.updatedValues.push(updatedObj3); valuseArr = this.fillExtraInformation(valuseArr, updatedObj1.VARCHAR2_VALUE, updatedObj2.NUMBER_VALUE, updatedObj3.NUMBER_VALUE, transNo); } else { if (this.eitSubmitAction == EIT_ACTION.ADD) { this.updatedValues = this.fillExtraValuesUpdated(this.updatedValues, "NEW_ROW", -1, 0, transNo); valuseArr = this.fillExtraInformation(valuseArr, "NEW_ROW", -1, 0, transNo); } else if (this.eitSubmitAction == EIT_ACTION.UPDATE) { valuseArr = this.fillExtraInformation(valuseArr, "UPDATE_ROW", this.ExtraObj.peiExtraInfoID, this.ExtraObj.peiObjVer, transNo); } else if (this.eitSubmitAction == EIT_ACTION.DELETE) { valuseArr = this.fillExtraInformation(valuseArr, "DELETE_ROW", this.ExtraObj.peiExtraInfoID, this.ExtraObj.peiObjVer, transNo); } } return valuseArr; }// end getElementsValues fillExtraValuesUpdated(values: any, peiAction: string, peiExtraInfoID: number, peiObjVer: number, transNo: number): any { let obj1 = { TRANSACTION_NUMBER: transNo, VARCHAR2_VALUE: peiAction, NUMBER_VALUE: null, DATE_VALUE: null, SEGMENT_VALUE_DSP: "", APPLICATION_COLUMN_NAME: "PEI_ACTION", DATATYPE: "VARCHAR2", DESC_FLEX_CONTEXT_CODE: "", DESC_FLEX_NAME: "", DISPLAY_FLAG: "N", SEGMENT_NAME: "", SEGMENT_PROMPT: "" }; let obj2 = { TRANSACTION_NUMBER: 1, APPLICATION_COLUMN_NAME: "PEI_OBJECT_VERSION_NUMBER", VARCHAR2_VALUE: null, NUMBER_VALUE: peiObjVer, DATATYPE: "NUMBER", SEGMENT_VALUE_DSP: "", DATE_VALUE: null, DESC_FLEX_CONTEXT_CODE: "", DESC_FLEX_NAME: "", DISPLAY_FLAG: "N", SEGMENT_NAME: "", SEGMENT_PROMPT: "" } let obj3 = { APPLICATION_COLUMN_NAME: "PEI_EXTRA_INFO_ID", DATATYPE: "NUMBER", DATE_VALUE: null, DESC_FLEX_CONTEXT_CODE: "", DESC_FLEX_NAME: "", DISPLAY_FLAG: "N", NUMBER_VALUE: peiExtraInfoID, SEGMENT_NAME: "", SEGMENT_PROMPT: "", SEGMENT_VALUE_DSP: "", TRANSACTION_NUMBER: transNo, VARCHAR2_VALUE: null } values.push(obj1); values.push(obj2); values.push(obj3); return values; } fillExtraInformation(values: any, peiAction: string, peiExtraInfoID: number, peiObjVer: number, transNo: number): any { values.push( { TRANSACTION_NUMBER: transNo, NAME: "PEI_ACTION", VARCHAR2_VALUE: peiAction, NUMBER_VALUE: null, DATE_VALUE: null }); values.push( { TRANSACTION_NUMBER: transNo, NAME: "PEI_EXTRA_INFO_ID", VARCHAR2_VALUE: null, NUMBER_VALUE: peiExtraInfoID, DATE_VALUE: null }); values.push( { TRANSACTION_NUMBER: transNo, NAME: "PEI_OBJECT_VERSION_NUMBER", VARCHAR2_VALUE: null, NUMBER_VALUE: peiObjVer, DATE_VALUE: null }); return values; } submitEit() { let list = this.eitRequest.EITTransactionTBL; this.eitRequest.EITTransactionTBL = this.fixTransactionNo(list); this.eitService.submitEit(this.eitRequest).subscribe((result: AddEitResponse) => { this.handleSubmitEitResult(result); }); } fixTransactionNo(transactionTBL: any): any[] { let list: any = []; let newIndex: number = 1; let length: number = transactionTBL.length; if (length > 0) { for (let i = 0; i < length; i++) { // let item :any={}; const item = Object.assign({}, transactionTBL[i]); let transNo: number = item.TRANSACTION_NUMBER; let obj: any = item; if (i == 0) { obj.TRANSACTION_NUMBER = newIndex; list.push(obj); } else { let prevEl: any = transactionTBL[i - 1].TRANSACTION_NUMBER; if (transNo == prevEl) { obj.TRANSACTION_NUMBER = newIndex; list.push(obj); } else { newIndex++; obj.TRANSACTION_NUMBER = newIndex; list.push(obj); } } } } return list; } handleSubmitEitResult(result) { if (this.cs.validResponse(result)) { this.cs.sharedService.setSharedData(this.eitRequest, EitRequest.SHARED_DATA); this.cs.sharedService.setSharedData(result, AddEitResponse.SHARED_DATA); //this.addrespList=result.SubmitEITTransactionList; // this.itemKey=this.addrespList.P_ITEM_KEY; // this.P_TransactionID=result.SubmitEITTransactionList.P_TRANSACTION_ID; // this.sharedData.setSharedData(result,AddEitResponse.SHARED_DATA); // // this.sharedData.setSharedData(result.SubmitEITTransactionList.P_TRANSACTION_ID,"TransactionIDResubmit"); // // this.sharedData.setSharedData(this.eitRequest,EitRequest.SHARED_DATA); this.cs.sharedService.setSharedData({ isResubmit: false }, 'confirmAddEITData') this.cs.openConfirmEitPage(); // this.navCtrl.push("ConfirmAddEitPage", { isResubmit: false }); } } validateEITTransaction() { // let EITTransactionValues:any= []; this.arrValues = this.getElementsValues(); if (this.arrValues) { this.eitRequest = { P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, P_MENU_TYPE: this.menuType, P_SELECTED_RESP_ID: this.respID,//this.selMenu.List_Menu.RESP_ID,//-999, P_FUNCTION_NAME: this.functionName, P_DESC_FLEX_CONTEXT_CODE: this.eitResponse[0].DESC_FLEX_CONTEXT_CODE, EITTransactionTBL: this.arrValues } this.eitService.validateEITTransaction(this.eitRequest).subscribe((result: any) => { this.handleEITValidateTr(result); }); } } private handleEITValidateTr(result) { let data: any = { eitRequest: {}, updated: [] }; if (this.cs.validResponse(result)) { // public static SHARED_DATA = 'login-request'; this.cs.sharedService.setSharedData(this.eitRequest, EitRequest.SHARED_DATA); if (this.getPassdirfromNotifiPage) { let data: any = { eitRequest: {}, updated: [] }; data.eitRequest = this.eitRequest; data.updated = this.updatedValues; // this.viewCtrl.dismiss(data); this.closemodal(); } else { this.submitEit(); // this.navCtrl.push("ConfirmAddEitPage"); // data = { eitRequest: {}, updated: [] }; // data.eitRequest = this.eitRequest; // data.updated = this.updatedValues; // this.viewCtrl.dismiss(data); } } else { this.updatedValues = []; data = { eitRequest: {}, updated: [] }; } } }