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"; import { element } from '@angular/core/src/render3'; // import { EITNotificatonBodyResponse } from 'src/app/notification/models/EITNotificationBodyRes'; import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes"; @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; direction:string; constructor( public modalController: ModalController, public cs: CommonService, private ts: TranslatorService, private eitService: EitService, public datePicker: DatePicker ) { this.direction = TranslatorService.getCurrentLanguageName(); 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); console.log("addEITData: " + this.addEITData); console.log("dirfromNotificationPage: " + this.addEITData.dirfromNotificationPage); this.eitRequest = new EitRequest(); // this.buttonInput = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y'); ////*new add*///// /**********resubmit************ */ this.getPassNotificationDetails = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, false);//WARINING 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++) { 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, 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].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, 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].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, "", 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, defaultVal, 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_ID_COLUMN_NAME; } select.disabled = false; } } bindHtmlElemEvents(id, obj) { const elem = document.getElementById(id); console.log(elem); console.log(obj); const elemType = elem.tagName; let changeEvent = "ionChange"; if (elemType == "SELECT") changeEvent = "change"; try { // elem.addEventListener("change", (e) => { elem.addEventListener(changeEvent, 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; let isSelectElement: 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 (obj.VALIDATION_TYPE != "N" && obj.READ_ONLY == "N") { isSelectElement = 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); // console.log(elem); // if(elem.dataset.hiddenval){ // elem.dataset.hiddenval=""; // return false; // } let obj = this.handleDefaultValueResult(result); let val = obj.value; let text = obj.text; if (isStandardDate) { console.log("isStandardDate"); elem.value = this.cs.reverseFormatDate(val); } else if (isStandardTimeDate) { console.log("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) { console.log("isStandardTime"); if (val) { elem.dataset.dtvalue = val; elem.innerHTML = val; } else { elem.dataset.dtvalue = ""; elem.innerHTML = ""; } } else { if (isSelectElement) { let elem = this.getSelectElementByName(segmentName); elem = document.getElementById(elem), //alert(elem.length); // var firstoption = document.createElement("option"); // firstoption.text = text; // firstoption.value = val; // elem.add(firstoption); elem.value = val; //elem.text=text; }else{ // console.log("else - " + elem.value); elem.value = val; elem.innerText = text; elem.setAttribute("value", val); // console.log("else - " + elem.value); } } if (isHidden || isReadOnlyList) { if (val) elem.dataset.colmText = val; else elem.dataset.colmText = ""; elem.value = text; } var event = new Event("ionChange"); 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); idColName = this.cs.formatDateNew(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; } getSelectElementByName(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 elemID; } 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 : any; // 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 = elemVal.substring(11, 16); } if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { elem.classList.add("requiredClassElm"); //this.common.showRequiredMsg(); return false; } else { elem.classList.remove("requiredClassElm"); } if (elemVal != 'null'){ varcharValue = elemVal; } else{ elemVal = null; } 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.modalController.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: [] }; } } }