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_moe/Mohem/src/app/termination/termination-form/termination-form.component.ts

1462 lines
49 KiB
TypeScript

4 years ago
import { Component, ElementRef, OnInit } from '@angular/core';
4 years ago
import { ActivatedRoute } from '@angular/router';
4 years ago
import * as moment from 'moment';
4 years ago
import { EITTransactionsRequest } from 'src/app/eit/models/EITTransactionsReq';
import { EIT_ACTION } from 'src/app/eit/models/submit.eit.action';
4 years ago
import { EitService } from 'src/app/eit/services/eit.service';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { DateTimeInput } from 'src/app/uI-elements/date-time.input';
import { DateInput } from 'src/app/uI-elements/date.input';
import { HiddenInput } from 'src/app/uI-elements/hidden.input';
import { NumberInput } from 'src/app/uI-elements/number.input';
import { SelectInput } from 'src/app/uI-elements/select.input';
import { TextInput } from 'src/app/uI-elements/text.input';
import { TimeInput } from 'src/app/uI-elements/time.input';
4 years ago
4 years ago
import { TerminationServiceService } from '../service/termination-service.service';
@Component({
selector: 'app-termination-form',
templateUrl: './termination-form.component.html',
styleUrls: ['./termination-form.component.scss'],
})
export class TerminationFormComponent implements OnInit {
public selectedMenu;
public diffStructure = [];
public termColStructure = [];
public isUpdate: boolean;
private eitVALSettoCall: any = [];
private textInput;
private numberInput;
private dateInput;
public direction: string;
private datetimeInput;
private timeInput;
private selectInput;
private hiddenInput;
private validateEitObj: any = [];
public menuType: any;
public respID;
public selEmp;
public eitRequest;
private ExtraObj: any = {};
private arrValues: any = [];
selMenu: MenuResponse;
private country;
private updatedValues;
private effectiveDate;
private comtransNo;
private reportSubmitRequest = {};
getPassdirfromNotifiPage: boolean = false;
private startDate;
private endDate;
4 years ago
private targetValue;
public eitSubmitAction;
constructor(public cs: CommonService, private elementRef: ElementRef, public terminationFormService: TerminationServiceService, public ts: TranslatorService, public eitService: EitService, public router: ActivatedRoute) {
this.router.queryParams.subscribe(params => {
this.targetValue = params.targetValue;
console.log(this.targetValue);
});
}
4 years ago
ngOnInit() {
this.getPassdirfromNotifiPage = this.cs.sharedService.getSharedData('dirfromNotificationPage');
this.selectedMenu = this.cs.sharedService.getSharedData(TerminationServiceService.TERMINATION_PAGE, false);
this.getTerminationCol();
this.direction = TranslatorService.getCurrentLanguageName();
this.effectiveDate = new Date();
4 years ago
this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false);
this.eitSubmitAction = this.cs.sharedService.getSharedData(
EITTransactionsRequest.SUBMIT_EIT_ACTION
);
4 years ago
}
getTerminationCol() {
4 years ago
this.cs.startLoading();
4 years ago
this.terminationFormService.getTerminationColStructure({
P_FUNCTION_NAME: this.selectedMenu.P_FUNCTION_NAME
}, () => { }, this.ts.trPK('general', 'retry')).subscribe((response) => {
4 years ago
this.termColStructure = response['GetTermColsStructureList'];
this.drawEitFieldsStatic(this.termColStructure);
4 years ago
this.getTermDiffStructure();
})
}
getTermDiffStructure() {
this.terminationFormService.getTermDiffStructure({
P_DESC_FLEX_CONTEXT_CODE: null,
P_FUNCTION_NAME: this.selectedMenu.FUNCTION_NAME
}, () => { }, this.ts.trPK('general', 'retry')).subscribe((response) => {
4 years ago
this.cs.stopLoading();
4 years ago
this.handleDiffStructure(response);
})
}
handleDiffStructure(result) {
4 years ago
if (result.GetTermDffStructureList != null) {
this.diffStructure = result.GetTermDffStructureList;
this.drawEitFields(result.GetTermDffStructureList);
4 years ago
if (this.isUpdate) {
//this.submitAbsObjList = this.cs.sharedService.getSharedData(ProfileService.EMP_ADDRESS);
//this.fillAbsStructure();
}
}
}
private drawEitFields(feildsList) {
const containerId = "containerDiv";
this.eitVALSettoCall = [];
for (let i = 0; i < feildsList.length; i++) {
let defaultVal: string = "";
let defaultValText: string = "";
if (feildsList[i].DISPLAY_FLAG != "N") {
//check if the field should be displayed
if (feildsList[i].VALIDATION_TYPE == "N") {
//text , date , time
if (feildsList[i].FORMAT_TYPE == "C") {
// character
this.textInput = new TextInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
defaultValText,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].FORMAT_TYPE == "N") {
// number
this.numberInput = new NumberInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].FORMAT_TYPE == "X") {
// standard date
if (
feildsList[i].DEFAULT_TYPE == "C" ||
feildsList[i].DEFAULT_TYPE == "D" ||
feildsList[i].DEFAULT_TYPE == "P" ||
feildsList[i].DEFAULT_TYPE == "S"
) {
//constant
this.dateInput = new DateInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
this.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].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
);
} 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,
defaultValText,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else {
this.selectInput = new SelectInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
this.fillDropdownList(
feildsList[i].SEGMENT_NAME,
feildsList[i].E_SERVICES_VS,
feildsList[i].E_SERVICES_DV
);
}
}
this.bindHtmlElemEvents(
feildsList[i].APPLICATION_COLUMN_NAME,
feildsList[i]
);
} else {
this.hiddenInput = new HiddenInput(
defaultVal,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultValText,
containerId
);
this.bindHtmlElemEvents(
feildsList[i].APPLICATION_COLUMN_NAME,
feildsList[i]
);
}
}
if (this.validateEitObj && this.validateEitObj.length > 0) {
this.fillEITStructure();
}
}
fillDropdownList(segmentName, optionList: any = [], DV: any = "") {
let elemID: any = "";
let eitObj: any;
if (optionList.length > 0) {
for (let i = 0; i < this.diffStructure.length; i++) {
if (this.diffStructure[i].SEGMENT_NAME == segmentName) {
eitObj = this.diffStructure[i];
if (
this.diffStructure[i].READ_ONLY == "Y" ||
this.diffStructure[i].DISPLAY_FLAG == "N"
) {
return false;
}
elemID = this.diffStructure[i].APPLICATION_COLUMN_NAME;
break;
}
}
let select = document.getElementById(elemID) as HTMLSelectElement;
document.getElementById(elemID).innerHTML = "";
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;
} 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(changeEvent, e => {
elem.classList.remove("requiredClassElm");
if (
obj.CHILD_SEGMENTS_VS_Splited &&
obj.CHILD_SEGMENTS_VS_Splited.length > 0
) {
let listArray: any = obj.CHILD_SEGMENTS_VS_Splited;
listArray.forEach(element => {
this.emptyChildElement(element);
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 => {
this.emptyChildElement(element);
for (let i = 0; i < this.diffStructure.length; i++) {
if (this.diffStructure[i].SEGMENT_NAME == element) {
this.getDefaultValue(
this.diffStructure[i],
this.diffStructure[i].DESC_FLEX_NAME,
this.diffStructure[i].DESC_FLEX_CONTEXT_CODE,
this.diffStructure[i].SEGMENT_NAME,
this.diffStructure[i].PARENT_SEGMENTS_VS_SplitedVS,
this.diffStructure[i].PARENT_SEGMENTS_DV_Splited
);
}
}
});
}
return false;
});
} 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 != "" &&
(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;
}
}
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);
let obj = this.handleDefaultValueResult(result);
let val = obj.value;
let text = obj.text;
if (val == null) { val = ""; }
if (text == null) { 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;
elem.value = val;
} else {
elem.dataset.dtvalue = "";
elem.innerHTML = "";
}
} else {
if (isSelectElement) {
let elem = this.getSelectElementByName(segmentName);
elem = document.getElementById(elem),
elem.value = val;
} else {
elem.value = val;
elem.innerText = text;
elem.setAttribute("value", val);
}
}
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;
}
getSelectElementByName(segmentName) {
let elemID: any = "";
for (let i = 0; i < this.diffStructure.length; i++) {
if (this.diffStructure[i].SEGMENT_NAME == segmentName) {
elemID = this.diffStructure[i].APPLICATION_COLUMN_NAME;
break;
}
}
return elemID;
}
getElementByName(segmentName) {
let elemID: any = "";
for (let i = 0; i < this.diffStructure.length; i++) {
if (this.diffStructure[i].SEGMENT_NAME == segmentName) {
elemID = this.diffStructure[i].APPLICATION_COLUMN_NAME;
break;
}
}
return document.getElementById(elemID) as HTMLInputElement;
}
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.diffStructure.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 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.diffStructure.length; i++) {
if (this.diffStructure[i].SEGMENT_NAME == segmentName) {
descFlexName = this.diffStructure[i].DESC_FLEX_NAME;
descFlexContextCode = this.diffStructure[i].DESC_FLEX_CONTEXT_CODE;
parentValue = this.diffStructure[i].PARENT_SEGMENTS_VS_SplitedVS;
ParentsList = this.diffStructure[i].PARENT_SEGMENTS_VS_SplitedVS;
validationType = this.diffStructure[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;
}
isStandardDateVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "X") {
isSt = true;
}
return isSt;
}
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");
}
getDependenciesParams(parentsList) {
let parentArr: any = [];
for (let i = 0; i < parentsList.length; i++) {
for (let j = 0; j < this.diffStructure.length; j++) {
if (this.diffStructure[j].SEGMENT_NAME == parentsList[i].Name) {
if (this.diffStructure[j].DISPLAY_FLAG != "N") {
if (this.diffStructure[j].VALIDATION_TYPE == "N") {
let idColName: string;
let val: any;
if (
this.diffStructure[j].FORMAT_TYPE == "Y" ||
this.diffStructure[j].FORMAT_TYPE == "I"
) {
//standard date time or //time
let elem = document.getElementById(
this.diffStructure[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.diffStructure[j].FORMAT_TYPE == "Y")
idColName = this.cs.formatStandardDate(val);
} else {
val = (document.getElementById(
this.diffStructure[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.diffStructure[j].FORMAT_TYPE == "X") {
//date
// idColName = this.cs.formatDate(val);
idColName = this.cs.formatDateNew(val);
}
}
parentArr.push({
SEGMENT_NAME: this.diffStructure[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: val,
DESCRIPTION: "",
ID_COLUMN_NAME: idColName,
FLEX_VALUE_SET_NAME: this.diffStructure[j].FLEX_VALUE_SET_NAME
});
break;
} else {
if (this.diffStructure[j].READ_ONLY != "Y") {
let x = document.getElementById(
this.diffStructure[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.diffStructure[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.diffStructure[j].FLEX_VALUE_SET_NAME
});
break;
} else {
let x = document.getElementById(
this.diffStructure[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.diffStructure[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.diffStructure[j].FLEX_VALUE_SET_NAME
});
break;
}
}
} else {
let x = document.getElementById(
this.diffStructure[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.diffStructure[j].SEGMENT_NAME,
VALUE_COLUMN_NAME: text,
DESCRIPTION: "",
ID_COLUMN_NAME: val,
FLEX_VALUE_SET_NAME: this.diffStructure[j].FLEX_VALUE_SET_NAME
});
break;
}
}
}
}
return parentArr;
}
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;
}
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;
}
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;
}
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;
}
4 years ago
validateTransaction() {
4 years ago
(this.elementRef.nativeElement.querySelectorAll(
"ion-item"
) as HTMLElement[]).forEach(x => {
x.classList.add("ng-touched");
x.classList.remove("ng-untouched");
});
4 years ago
var arrValues = this.getElementsValues();
let staticValues = this.getElementsStaticValues();
let allStatisDynamicValues = arrValues.concat(staticValues);
4 years ago
if (arrValues) {
4 years ago
this.reportSubmitRequest = {
P_MENU_TYPE: this.selMenu.List_Menu.MENU_TYPE,
P_SELECTED_RESP_ID: -999,
P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME,
EITTransactionTBL: allStatisDynamicValues,
};
this.cs.startLoading();
this.terminationFormService
.submitTransation(this.reportSubmitRequest, {}, this.ts.trPK('general', 'retry'))
.subscribe((result: any) => {
this.handleSubmit(result);
});
4 years ago
}
}
4 years ago
private handleSubmit(result) {
4 years ago
if (this.cs.validResponse(result)) {
4 years ago
this.cs.sharedService.setSharedData(result['SubmitTermTransactionList'], TerminationServiceService.SHARED_DATA);
this.cs.stopLoading();
this.cs.confirmTermination();
}
}
4 years ago
4 years ago
public getElementsValues(): any {
this.updatedValues = []; //fill updated list
4 years ago
let valuseArr: any = [];
let varcharValue: any = null;
let numbervalue: any = 0;
let dateValue: any = null;
4 years ago
let transNo: number = 1;
let textValue: any;
// if(this.ExtraObj.transactionNo)
// transNo=this.ExtraObj.transactionNo;
4 years ago
for (let i = 0; i < this.diffStructure.length; i++) {
varcharValue = null;
numbervalue = null;
dateValue = null;
4 years ago
/*********set transaction No of the updated object ********/
if (this.getPassdirfromNotifiPage) {
let updatedObj = this.validateEitObj.find(
x =>
x.APPLICATION_COLUMN_NAME ==
this.diffStructure[i].APPLICATION_COLUMN_NAME
);
let y = updatedObj;
transNo = y.TRANSACTION_NUMBER; // set the transaction number for all items in the updated loop
}
4 years ago
if (this.diffStructure[i].DISPLAY_FLAG != "N") {
if (this.diffStructure[i].VALIDATION_TYPE == "N") {
let elem = document.getElementById(
this.diffStructure[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
4 years ago
let elemVal = (document.getElementById(
this.diffStructure[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement).value;
4 years ago
textValue = elemVal;
4 years ago
//let elemVal= (<HTMLInputElement>document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)).value;
4 years ago
if (
this.diffStructure[i].FORMAT_TYPE == "X" &&
this.diffStructure[i].DISPLAY_FLAG != "N"
) {
//date
elemVal = this.cs.formatDate(elemVal);
} else if (
this.diffStructure[i].FORMAT_TYPE == "Y" &&
this.diffStructure[i].DISPLAY_FLAG != "N"
) {
//standard date time
4 years ago
// elemVal = elem.dataset.dtvalue;
// elemVal = this.cs.formatStandardDate(elemVal);
elemVal = this.cs.formatDate(elemVal);
4 years ago
} else if (
this.diffStructure[i].FORMAT_TYPE == "I" &&
this.diffStructure[i].DISPLAY_FLAG != "N"
) {
//time
4 years ago
if (elemVal.length > 5) {
elemVal = elemVal.substring(11, 16);
} else {
elemVal = elemVal;
}
4 years ago
}
if (this.diffStructure[i].REQUIRED_FLAG == "Y" && !elemVal) {
elem.classList.add("requiredClassElm");
4 years ago
//this.common.showRequiredMsg();
4 years ago
return false;
} else {
elem.classList.remove("requiredClassElm");
}
4 years ago
// if (elemVal != 'null'){
varcharValue = elemVal;
//} else{
// elemVal = null;
// }
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.diffStructure[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
4 years ago
} else {
let x = document.getElementById(
this.diffStructure[i].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
if (this.diffStructure[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;
}
4 years ago
if (this.diffStructure[i].REQUIRED_FLAG == "Y" && !varcharValue) {
4 years ago
x.classList.add("requiredClassElm");
4 years ago
//this.common.showRequiredMsg();
4 years ago
return false;
} else {
x.classList.remove("requiredClassElm");
}
4 years ago
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.diffStructure[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
4 years ago
} //end else
} else {
let x = document.getElementById(
this.diffStructure[i].APPLICATION_COLUMN_NAME
) as HTMLSelectElement;
let val = x.dataset.colmText;
textValue = x.value;
4 years ago
if (this.diffStructure[i].REQUIRED_FLAG == "Y" && !val) {
4 years ago
x.classList.add("requiredClassElm");
4 years ago
//this.common.showRequiredMsg();
4 years ago
return false;
} else {
x.classList.remove("requiredClassElm");
}
4 years ago
}
if (this.getPassdirfromNotifiPage) {
let updatedObj = this.validateEitObj.find(
x =>
x.APPLICATION_COLUMN_NAME ==
this.diffStructure[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.diffStructure[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.diffStructure[i]
.APPLICATION_COLUMN_NAME,
DATATYPE: this.diffStructure[i].DATATYPE,
DESC_FLEX_CONTEXT_CODE: this.diffStructure[i].DESC_FLEX_CONTEXT_CODE,
DESC_FLEX_NAME: this.diffStructure[i].DESC_FLEX_NAME,
DISPLAY_FLAG: this.diffStructure[i].DISPLAY_FLAG,
SEGMENT_NAME: this.diffStructure[i].SEGMENT_NAME,
SEGMENT_PROMPT: this.diffStructure[i].SEGMENT_PROMPT
};
transNo = transNo; // set the transaction number for all items in the updated loop
this.updatedValues.push(y);
}
4 years ago
}
} // end for
4 years ago
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
);
}
}
4 years ago
return valuseArr;
4 years ago
} // 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;
4 years ago
}
4 years ago
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;
}
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;
}
4 years ago
4 years ago
private drawEitFieldsStatic(feildsList) {
const containerId = "containerDivTwo";
this.eitVALSettoCall = [];
for (let i = 0; i < feildsList.length; i++) {
let defaultVal: string = "";
let defaultValText: string = "";
if (feildsList[i].DISPLAY_FLAG != "N") {
//text , date , time
if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList === null) {
// character
this.textInput = new TextInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
defaultValText,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].DATATYPE == "VARCHAR2" && feildsList[i].ObjectValuesList !== null) {
this.selectInput = new SelectInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
this.fillStaticDropdownList(
feildsList[i].SEGMENT_NAME,
feildsList[i].ObjectValuesList,
feildsList[i].APPLICATION_COLUMN_NAME
);
} else if (feildsList[i].DATATYPE == "NUMBER") {
this.numberInput = new NumberInput(
feildsList[i].SEGMENT_PROMPT,
feildsList[i].APPLICATION_COLUMN_NAME,
defaultVal,
containerId,
feildsList[i].MOBILE_ENABLED,
feildsList[i].DISPLAY_FLAG,
feildsList[i].REQUIRED_FLAG
);
} else if (feildsList[i].DATATYPE == "DATE") {
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
);
}
}
}
}
public fillStaticDropdownList(segmentName, optionList: any = [], elemID: string) {
let eitObj: any;
if (optionList.length > 0) {
let select = document.getElementById(elemID) as HTMLSelectElement;
document.getElementById(elemID).innerHTML = "";
for (let i = 0; i < optionList.length; i++) {
var option = document.createElement("option");
option.text = optionList[i].MEANING;
option.value = optionList[i].CODE;
select.add(option);
}
}
}
public getElementsStaticValues(): any {
this.updatedValues = []; //fill updated list
let valuseArr: any = [];
let varcharValue: any = null;
let numbervalue: any = 0;
let dateValue: any = null;
let transNo: number = 1;
let textValue: any;
for (let i = 0; i < this.termColStructure.length; i++) {
varcharValue = null;
numbervalue = null;
dateValue = null;
if (this.termColStructure[i].DISPLAY_FLAG != "N") {
if (this.termColStructure[i].ObjectValuesList === null) {
let elem = document.getElementById(this.termColStructure[i].APPLICATION_COLUMN_NAME) as HTMLInputElement;
let elemVal = elem !== null ? (document.getElementById(this.termColStructure[i].APPLICATION_COLUMN_NAME) as HTMLInputElement).value : '';
textValue = elemVal;
if (this.termColStructure[i].DATATYPE == "VARCHAR2" || this.termColStructure[i].DATATYPE == "NUMBER") {
elemVal = elemVal;
} else if (this.termColStructure[i].DATATYPE == "DATE") {
// date
elemVal = this.cs.formatDate(elemVal);
}
if (this.targetValue === 'new') {
if (this.termColStructure[i].REQUIRED_FLAG == "Y" && !elemVal) {
elem.classList.add("requiredClassElm");
return false;
} else {
elem.classList.remove("requiredClassElm");
}
}
if (this.termColStructure[i].DATATYPE == "DATE") {
dateValue = elemVal;
} else if (this.termColStructure[i].DATATYPE == "NUMBER") {
numbervalue = elemVal;
} else {
varcharValue = elemVal;
}
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.termColStructure[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
} else {
let x = document.getElementById(this.termColStructure[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
let val = x.options && x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null;
let txt = x.options && x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : null;
varcharValue = val;
textValue = txt;
if (x !== null) {
if (this.termColStructure[i].REQUIRED_FLAG == "Y" && !varcharValue) {
x.classList.add("requiredClassElm");
return false;
} else {
x.classList.remove("requiredClassElm");
}
}
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.termColStructure[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
}
} else {
let x = document.getElementById(this.termColStructure[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
let val = x !== null ? x.dataset.colmText : '';
textValue = x !== null ? x.value : '';
if (x !== null) {
if (this.termColStructure[i].REQUIRED_FLAG == "Y" && !val) {
x.classList.add("requiredClassElm");
return false;
} else {
x.classList.remove("requiredClassElm");
}
}
varcharValue = val;
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.termColStructure[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
}
}
return valuseArr;
}
public customiseDate(date: any) {
let formatedDate = date.slice(0, 9);
let newDate = formatedDate.split("/").reverse();
const tmp = newDate[2];
newDate[2] = newDate[1];
newDate[1] = tmp;
newDate = newDate.join("/");
newDate = newDate + ' 00:00:00';
return newDate;
}
4 years ago
}