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.
mohemm_srca/Mohem/src/app/eit/add-eit/add-eit.component.ts

1182 lines
50 KiB
TypeScript

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= (<HTMLInputElement>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: [] };
}
}
}