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.
1600 lines
56 KiB
TypeScript
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: [] };
|
|
}
|
|
}
|
|
}
|