fixed basic details issue

umar-q2-branch
umasoodch 5 years ago
parent 6861cdee9c
commit d4dccd6dff

@ -1116,8 +1116,13 @@ export class CommonService {
public openEditProfile() {
this.nav.navigateForward(['/profile/editprofile']);
}
public openAddBasicDetails() {
this.nav.navigateForward(['/profile/addBasicDetails']);
public openAddBasicDetails(target: string) {
const navigationExtras: NavigationExtras = {
queryParams: {
targetValue: target
}
};
this.nav.navigateForward(['/profile/addBasicDetails'], navigationExtras);
}
public openAccuralPage() {
this.nav.navigateForward(['/accrual-balances/home']);

@ -1,20 +1,3 @@
<!-- <ion-header>
<ion-toolbar class="header-toolbar-new">
<ion-buttons *ngIf="getPassdirfromNotifiPage != true" slot="start">
<nav-buttons backLink=""></nav-buttons>
</ion-buttons>
<ion-title color="light">{{headerTitle}}</ion-title>
<ion-buttons *ngIf="getPassdirfromNotifiPage == true" slot="primary">
<ion-button style="background: none !important;" (click)="closemodal()">
<ion-icon slot="icon-only" name="close"></ion-icon>
</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
-->
<app-generic-header
showBack="!getPassdirfromNotifiPage"
@ -24,19 +7,20 @@
>
</app-generic-header>
<!-- <app-generic-header
showBack="true"
[headerText]="headerTitle">
</app-generic-header> -->
<ion-content padding>
<ion-item class="country dynamicField" lines="none" *ngIf="targetValue === 'correct'">
<ion-label>Effective Date</ion-label>
<ion-label>17-Mar-2017</ion-label>
</ion-item>
<div #containerDiv id="containerDiv">
<div #containerDivTwo id="containerDivTwo"></div>
</div>
</ion-content>
<ion-footer>
<div class="centerDiv">
<ion-button class="addEitOkButton" color="customnavy" ion-button>
<ion-button class="addEitOkButton" color="customnavy" ion-button (click)="submitBasicDetailsTransaction()">
{{'vacation-rule, next-label' | translate}}</ion-button>
</div>
</ion-footer>

@ -37,4 +37,9 @@
width: 80% !important;
color: white!important;
border-radius: 16px !important;
}
.country{
margin-top: 10px;
padding: 10px;
}

@ -22,6 +22,8 @@ import { EIT_ACTION } from "../models/submit.eit.action";
import { AddEitResponse } from "../models/add.eit.response";
import { element } from '@angular/core/src/render3';
import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes";
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-add-basic-details',
templateUrl: './add-basic-details.component.html',
@ -29,14 +31,13 @@ import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes";
})
export class AddBasicDetailsComponent implements OnInit {
@ViewChild("containerDiv") containerDiv: ElementRef;
@ViewChild("containerDivTwo") containerDivTwo: ElementRef;
////*new add*/////
getPassNotificationDetails: any;
getPassdirfromNotifiPage: boolean = false;
functionName: string = "";
menuType: any;
/////////////////
private textArea: TextAreaInput;
private numberInput: NumberInput;
private textInput: TextInput;
@ -47,7 +48,8 @@ export class AddBasicDetailsComponent implements OnInit {
private buttonInput: ButtonInput;
private hiddenInput: HiddenInput;
private eitResponse: any;
private eitColResponse: any;
private eitVALSettoCall: any = [];
private comtransNo: number = 0;
getPassMnuEntryObj: MenuEntry;
@ -64,6 +66,9 @@ export class AddBasicDetailsComponent implements OnInit {
private updatedValues: any = [];
addEITData: any;
direction:string;
public targetValue: any;
public employeeBasicDetails: any = [];
public mutualBasicDetailsArray: any = [];
constructor(
@ -71,8 +76,18 @@ export class AddBasicDetailsComponent implements OnInit {
public cs: CommonService,
private ts: TranslatorService,
private profileService: ProfileService,
public datePicker: DatePicker
public datePicker: DatePicker,
public router: ActivatedRoute
) {
this.router.queryParams.subscribe(params => {
this.targetValue = params.targetValue;
console.log(this.targetValue);
});
this.employeeBasicDetails = this.cs.sharedService.getSharedData('employeeDetails', false);
console.log(this.employeeBasicDetails);
this.direction = TranslatorService.getCurrentLanguageName();
this.selEmp = this.cs.sharedService.getSharedData(
MenuResponse.SHARED_SEL_EMP,
@ -89,7 +104,6 @@ export class AddBasicDetailsComponent implements OnInit {
);
this.addEITData = this.cs.sharedService.getSharedData("AddEITData", false);
console.log("addEITData: " + this.addEITData);
// console.log("dirfromNotificationPage: " + this.addEITData.dirfromNotificationPage);
this.basicRequest = new BasicRequest();
@ -122,9 +136,7 @@ export class AddBasicDetailsComponent implements OnInit {
ngOnInit() {}
ngAfterViewInit() {
// this.getEitDffStructure();
this.getColumnStructure();
this.getEitDffStructure();
}
public getColumnStructure() {
@ -153,18 +165,180 @@ export class AddBasicDetailsComponent implements OnInit {
public handleBasicColStructureResult(result) {
if (result.GetBasicDetColsStructureList != null) {
this.eitResponse = result.GetBasicDetColsStructureList;
this.drawEitFields(result.GetBasicDetColsStructureList);
this.eitColResponse = result.GetBasicDetColsStructureList;
this.drawEitFieldsStatic(result.GetBasicDetColsStructureList);
}
}
public handleBasicDffStructureResult(result) {
if (result.GetBasicDetDffStructureList != null) {
this.getColumnStructure();
this.eitResponse = result.GetBasicDetDffStructureList;
this.drawEitFields(result.GetBasicDetDffStructureList);
}
}
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.targetValue === 'new') {
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
);
}
}
}
this.fillBasicDetailsStructure();
}
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 = this.comtransNo;
let textValue : any;
for (let i = 0; i < this.eitColResponse.length; i++) {
varcharValue = null;
numbervalue = null;
dateValue = null;
if (this.eitColResponse[i].DISPLAY_FLAG != "N") {
if (this.eitColResponse[i].ObjectValuesList === null) {
let elem = document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLInputElement;
let elemVal = elem !== null ? (document.getElementById( this.eitColResponse[i].APPLICATION_COLUMN_NAME ) as HTMLInputElement).value : '';
textValue = elemVal;
if ((this.eitColResponse[i].DATATYPE == "VARCHAR2" || this.eitColResponse[i].DATATYPE == "NUMBER") && this.eitColResponse[i].ObjectValuesList === null) {
elemVal = elemVal;
} else if (this.eitColResponse[i].DATATYPE == "DATE" && this.targetValue === 'new') {
// date
elemVal = this.cs.formatDate(elemVal);
}
if (this.targetValue === 'new') {
if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !elemVal) {
elem.classList.add("requiredClassElm");
return false;
} else {
elem.classList.remove("requiredClassElm");
}
}
varcharValue = elemVal;
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
} else {
let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
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 (x !== null) {
if (this.eitColResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) {
x.classList.add("requiredClassElm");
return false;
} else {
x.classList.remove("requiredClassElm");
}
}
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
}
} else {
let x = document.getElementById(this.eitColResponse[i].APPLICATION_COLUMN_NAME) as HTMLSelectElement;
let val = x !== null ? x.dataset.colmText : '';
textValue = x !== null ? x.value : '';
if (x !== null) {
if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !val) {
x.classList.add("requiredClassElm");
return false;
} else {
x.classList.remove("requiredClassElm");
}
}
if (val) varcharValue = val;
valuseArr.push({
TRANSACTION_NUMBER: transNo,
NAME: this.eitColResponse[i].APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: varcharValue,
NUMBER_VALUE: numbervalue,
DATE_VALUE: dateValue
});
}
}
return valuseArr;
}
private drawEitFields(feildsList) {
const containerId = "containerDiv";
this.eitVALSettoCall = [];
@ -375,7 +549,6 @@ export class AddBasicDetailsComponent implements OnInit {
}
closeModal() {
console.log("closeModal");
this.updatedValues = [];
this.modalController.dismiss();
}
@ -407,6 +580,7 @@ export class AddBasicDetailsComponent implements OnInit {
err => console.log("Error occurred while getting date: ", err)
);
}
public showTimePicker(elemID, maxSize) {
let elem = document.getElementById(elemID) as HTMLDivElement;
let date: any;
@ -480,6 +654,21 @@ export class AddBasicDetailsComponent implements OnInit {
}
}
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);
}
}
}
bindHtmlElemEvents(id, obj) {
const elem = document.getElementById(id);
console.log(elem);
@ -949,6 +1138,7 @@ export class AddBasicDetailsComponent implements OnInit {
}
return isSt;
}
isStandardDateTime(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "Y") {
@ -965,6 +1155,7 @@ export class AddBasicDetailsComponent implements OnInit {
}
return isSt;
}
isStandardTime(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "I") {
@ -992,6 +1183,7 @@ export class AddBasicDetailsComponent implements OnInit {
}
return isSt;
}
isStandardDateTimeVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "Y") {
@ -1002,6 +1194,7 @@ export class AddBasicDetailsComponent implements OnInit {
}
return isSt;
}
isStandardTimeVal(obj: any): boolean {
let isSt: boolean = false;
if (obj.FORMAT_TYPE == "I") {
@ -1013,6 +1206,58 @@ export class AddBasicDetailsComponent implements OnInit {
return isSt;
}
public customiseDate(date: any) {
let formatedDate = date.replace(/\//g, '/');
formatedDate = formatedDate.replace(/ 00:00:00/g, '');
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;
}
public fillBasicDetailsStructure() {
console.log(this.eitResponse);
console.log(this.eitColResponse);
this.mutualBasicDetailsArray = this.mutualBasicDetailsArray.concat(this.eitResponse, this.eitColResponse);
console.log(this.mutualBasicDetailsArray);
for (let i = 0; i < this.employeeBasicDetails.length; i++) {
let val: any;
if (this.employeeBasicDetails[i].VARCHAR2_VALUE)
val = this.employeeBasicDetails[i].VARCHAR2_VALUE;
else if (this.employeeBasicDetails[i].DATE_VALUE)
// val = this.customiseDate(this.employeeBasicDetails[i].DATE_VALUE);
this.employeeBasicDetails[i].DATE_VALUE
else if (this.employeeBasicDetails[i].NUMBER_VALUE)
val = this.employeeBasicDetails[i].NUMBER_VALUE;
const elem = document.getElementById(
this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME
) as HTMLInputElement;
if (elem) {
if (val) {
let feldDetails = this.mutualBasicDetailsArray.find(
x =>
x.APPLICATION_COLUMN_NAME ==
this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME
);
if (feldDetails) {
let isStandardTime = this.isStandardTimeVal(feldDetails);
if (isStandardTime) {
elem.innerHTML = val;
elem.dataset.dtvalue = val;
} else {
elem.value = val;
elem.setAttribute("value", elem.value);
}
}
}
}
}
}
fillEITStructure() {
var obj = { peiObjVer: null, peiExtraInfoID: null };
for (let i = 0; i < this.validateEitObj.length; i++) {
@ -1384,6 +1629,7 @@ export class AddBasicDetailsComponent implements OnInit {
values.push(obj3);
return values;
}
fillExtraInformation(
values: any,
peiAction: string,
@ -1453,6 +1699,7 @@ export class AddBasicDetailsComponent implements OnInit {
}
return list;
}
handleSubmitEitResult(result) {
if (this.cs.validResponse(result)) {
this.cs.sharedService.setSharedData(
@ -1477,27 +1724,30 @@ export class AddBasicDetailsComponent implements OnInit {
}
}
// validateEITTransaction() {
// // let EITTransactionValues:any= [];
// this.arrValues = this.getElementsValues();
// if (this.arrValues) {
// this.basicRequest = {
// 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);
// });
// }
// }
public submitBasicDetailsTransaction() {
// let EITTransactionValues:any= [];
this.arrValues = this.getElementsValues();
let staticValues = this.getElementsStaticValues();
let allStatisDynamicValues = this.arrValues.concat(staticValues);
if (allStatisDynamicValues) {
this.basicRequest = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,
P_MENU_TYPE: this.selMenu.List_Menu.MENU_TYPE,
P_SELECTED_RESP_ID: this.respID,
P_FUNCTION_NAME: this.selMenu.GetMenuEntriesList.FUNCTION_NAME,
EITTransactionTBL: allStatisDynamicValues,
// P_EFFECTIVE_DATE: moment(this.effectiveDate).format('DD-MMM-YYYY'),
P_ACTION: this.targetValue === 'correct' ? 'CORRECT' : 'CHANGE'
};
// this.eitService
// .validateEITTransaction(this.eitRequest)
// .subscribe((result: any) => {
// this.handleEITValidateTr(result);
// });
}
}
// private handleEITValidateTr(result) {
// let data: any = { eitRequest: {}, updated: [] };
// if (this.cs.validResponse(result)) {

@ -196,8 +196,7 @@
</ion-col>
<ion-col size="2" *ngIf="addressSubMenu && addressSubMenu.UPDATE_BUTTON === 'Y'" (click)="allowEdit('address')">
<img style="width: 18px; height: 18px;" src="../assets/imgs/profile-icons/editing@2x.png"
(click)="allowEdit('address')">
<img style="width: 18px; height: 18px;" src="../assets/imgs/profile-icons/editing@2x.png">
</ion-col>
<ion-col size="2" *ngIf="addressSubMenu && addressSubMenu.ADD_BUTTON === 'Y'" (click)="allowEdit('address')">
<ion-icon class="add-icon-styling" name="add"></ion-icon>

@ -165,6 +165,7 @@ export class HomeComponent implements OnInit {
this.profileService.getEmployeeBasicDetails(body).subscribe((result: any) => {
if (this.cs.validResponse(result)) {
this.employeeBasicDetails = result.GetEmployeeBasicDetailsList;
this.cs.sharedService.setSharedData(this.employeeBasicDetails, 'employeeDetails');
console.log(this.employeeBasicDetails);
for (let i = 0; i < this.employeeBasicDetails.length; i++) {
if (this.employeeBasicDetails[i].APPLICATION_COLUMN_NAME === 'FULL_NAME') {
@ -280,7 +281,7 @@ export class HomeComponent implements OnInit {
this.transactionNo++;
// tslint:disable-next-line: max-line-length
this.cs.sharedService.setSharedData({ dirfromNotificationPage: false, submitEITObjList: undefined, transNo: this.transactionNo }, 'AddEITData');
this.cs.openAddBasicDetails();
this.openAddBasicDetails();
} else {
this.openAddAddress();
}
@ -297,7 +298,7 @@ export class HomeComponent implements OnInit {
}
}
async presentModal() {
async presentModal(source: string) {
const modal = await this.modalController.create({
component: EditDetailProfileComponent,
cssClass: 'my-custom-modal-css'
@ -307,14 +308,18 @@ export class HomeComponent implements OnInit {
.then((data) => {
console.log(data);
this.cs.sharedService.setSharedData(data.data, ProfileService.SELECTED_STATUS);
if (data.data && data.data.data == 1) {
if (data.data && data.data.data == 1 && source === 'address') {
this.cs.sharedService.setSharedData(this.addressSubMenu, ProfileService.ADRESS_ENTRIES);
this.cs.sharedService.setSharedData(this.employeeAdress, ProfileService.EMP_ADDRESS);
this.cs.sharedService.setSharedData(this.country, ProfileService.COUNTRY);
this.cs.openAddAddress();
} else if (data.data && data.data.data == 2) {
} else if (data.data && data.data.data == 2 && source === 'address') {
this.cs.openAddAddress();
} else if (data.data && data.data.data == 1 && source === 'basicDetails') {
this.cs.openAddBasicDetails('correct');
} else if (data.data && data.data.data == 2 && source === 'basicDetails') {
this.cs.openAddBasicDetails('new');
}
@ -327,14 +332,19 @@ export class HomeComponent implements OnInit {
}
public openAddAddress() {
if (this.addressSubMenu && this.addressSubMenu.UPDATE_BUTTON === 'Y') {
this.presentModal();
this.presentModal('address');
} else {
this.cs.openAddAddress();
}
}
public openAddBasicDetails() {
if (this.basicDetailsSubMenu && this.basicDetailsSubMenu.UPDATE_BUTTON === 'Y') {
this.presentModal('basicDetails');
} else {
this.cs.openAddBasicDetails('correct');
}
}
}

@ -6,6 +6,7 @@ export class BasicRequest {
public P_SELECTED_EMPLOYEE_NUMBER: string;
public P_FUNCTION_NAME: string;
public P_SELECTED_RESP_ID: Number;
P_DESC_FLEX_CONTEXT_CODE: string;
// P_DESC_FLEX_CONTEXT_CODE: string;
EITTransactionTBL: EitTransactionModel[];
P_ACTION: string;
}
Loading…
Cancel
Save