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.
mohemmionic5/Mohem/src/app/eit/eit-update-list/eit-update-list.component.ts

136 lines
4.9 KiB
TypeScript

import { AddEitComponent } from './../add-eit/add-eit.component';
import { ModalController } from '@ionic/angular';
import { EitRequest } from './../models/eit.request';
import { Component, OnInit } from '@angular/core';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { EITNotificatonBodyResponse } from '../models/EITNotificationBodyRes';
import { EitService } from '../services/eit.service';
@Component({
selector: 'app-eit-update-list',
templateUrl: './eit-update-list.component.html',
styleUrls: ['./eit-update-list.component.scss'],
})
export class EitUpdateListComponent implements OnInit {
public notificationBodyRes: any = {};
private updatedData: any = [];
private updatedItem: any;
private itemKey: string = "";
private notificationId: number;
private selEmp: string;
private functionName: string;
private eitTransactionTbl: any = [];
private eitRequest: EitRequest;
private descFlex: string;
constructor(public cs: CommonService, public eitService: EitService, public modalController: ModalController) {
this.notificationBodyRes = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.SHARED_DATA, false);
let notification = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, false);
this.itemKey = notification.ITEM_KEY;
this.notificationId = notification.NOTIFICATION_ID;
this.functionName = notification.FUNCTION_NAME;
this.selEmp = notification.SELECTED_EMPLOYEE_NUMBER;
this.descFlex = notification.DESC_FLEX_CONTEXT_CODE;
this.fillEitTransactionTable();
}
ngOnInit() { console.log("ngOnInit");}
async updateEitNot(index) {
let item = this.notificationBodyRes[index].Collection_Notification;
this.cs.sharedService.setSharedData({ dirfromNotificationPage: true, submitEITObjList: item }, 'AddEITData')
const modal = await this.modalController.create({
component: AddEitComponent
});
modal.onDidDismiss()
.then((data: any) => {
// console.log("data" + data);
// console.log("data" + data.data.updated);
// console.log("data" + data.data.eitRequest.EITTransactionTBL);
if(data.data == undefined)
{
return;
}
else if (data.data) {
this.updatedData = this.updatedData ? this.updatedData.concat(data.data.updated) : data.data.updated;
this.notificationBodyRes[index].Collection_Notification = data.data.updated;
this.updateTransactionList(data.data.eitRequest.EITTransactionTBL);
}
});
return await modal.present();
}
updateTransactionList(list) {
list.forEach(element => {
const index = this.eitTransactionTbl.findIndex(x => x.TRANSACTION_NUMBER === element.TRANSACTION_NUMBER);
if (index != -1)
this.eitTransactionTbl.splice(index, 1);
});
this.eitTransactionTbl = this.eitTransactionTbl ? this.eitTransactionTbl.concat(list) : list;
}
resubmitEit() {
this.eitRequest = new EitRequest();
this.eitRequest.EITTransactionTBL = this.eitTransactionTbl;
this.eitRequest.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp;
this.eitRequest.P_MENU_TYPE = "E";
this.eitRequest.P_SELECTED_RESP_ID = -999;
this.eitRequest.P_FUNCTION_NAME = this.functionName;
this.eitRequest.P_DESC_FLEX_CONTEXT_CODE = this.descFlex;
let body = {
P_NOTIFICATION_ID: this.notificationId,
P_ITEM_KEY: this.itemKey,
EITTransactionTBL: this.eitTransactionTbl
}
this.eitService.reSubmitEit(body).subscribe((result: any) => {
this.handleResubmitEit(result);
});
}
handleResubmitEit(result) {
if (this.cs.validResponse(result)) {
this.cs.sharedService.setSharedData(result.ResubmitEITTransactionList.P_TRANSACTION_ID, "TransactionIDResubmit");
this.cs.sharedService.setSharedData(this.eitRequest, EitRequest.SHARED_DATA);
this.cs.sharedService.setSharedData({ isResubmit: true }, 'confirmAddEITData');
this.cs.openConfirmEitPage();
}
}
fillEitTransactionTable() {
let valuseArr: any = [];
let varcharValue: any = null;
let numbervalue: any = 0;
let dateValue: any = null;
let transNo: number = 1;
let textValue = "";
// if(this.ExtraObj.transactionNo)
// transNo=this.ExtraObj.transactionNo;
for (let j = 0; j < this.notificationBodyRes.length; j++) {
let list = this.notificationBodyRes[j].Collection_Notification;
for (let i = 0; i < list.length; i++) {
let item = list[i];
varcharValue = null;
numbervalue = null;
dateValue = null;
valuseArr.push(
{
TRANSACTION_NUMBER: item.TRANSACTION_NUMBER,
NAME: item.APPLICATION_COLUMN_NAME,
VARCHAR2_VALUE: item.VARCHAR2_VALUE,
NUMBER_VALUE: item.NUMBER_VALUE,
DATE_VALUE: item.DATE_VALUE,
}
)
}// end for
}
this.eitTransactionTbl = valuseArr;
}
}