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

1600 lines
56 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";
import { element } from '@angular/core/src/render3';
@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++) {
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,
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_VALUE_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 = "";
// 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: [] };
}
}
}