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_srca/Mohem/src/app/payslip/home/home.component.ts

292 lines
8.4 KiB
TypeScript

import { Component, OnInit, ViewChild } from '@angular/core';
import {PayslipService} from '../service/payslip.service'
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.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 { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import { DeductionRequest } from '../model/deductionReq';
import { IonInfiniteScroll } from '@ionic/angular';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
})
export class HomeComponent implements OnInit {
selEmp: string;
respID: number;
selMenu: MenuResponse;
GetPayslipList:any='';
GetSummaryOfPaymentList:any='';
GetPaymentInformationList:any='';
showPaySlip:any=[];
ActionContextID:any;
public static ACTION_CONTEXT_ID = "passActionContectID";
GetEarningsList: any='';
GetDeductionsList: any='';
earingTotal: any;
deductionTotal: any;
firstPayslip: any;
defultSelected: any;
IsReachEnd: any;
private deductionReq: DeductionRequest;
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
constructor(
public payslipService:PayslipService,
public ts: TranslatorService,
public common: CommonService,
public sharedData: SharedDataService
) {}
ngOnInit() {
// this.selEmp = this.common.sharedService.getSharedData(
// MenuResponse.SHARED_SEL_EMP,
// false
// );
// if(this.selEmp){}else{
// this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => {
// if (user) {
// this.selEmp = user.ASSIGNMENT_NUMBER;
// }
// });
// }
// console.log(" this.selEmp" + this.selEmp);
// this.respID = this.common.sharedService.getSharedData(
// MenuResponse.SHARED_SEL_RESP_ID,
// false
// );
// if(this.respID){}else{
// this.respID=-999;
// }
// console.log(" this.respID" + this.respID);
// this.selMenu = new MenuResponse();
// this.selMenu = this.common.sharedService.getSharedData(
// MenuResponse.SHARED_DATA,
// false
// );
// console.log(" this.selMenu" + this.selMenu);
this.getPayslip();
}
getPayslip(){
// this.selEmp ="13777";
console.log("this.selEmp????????"+this.selEmp)
this.respID=-999;
const request = {
P_SELECTED_EMPLOYEE_NUMBER: this.selEmp,//'125346',//this.selEmp,
P_MENU_TYPE:"E",// 'E',//this.selMenu.List_Menu.MENU_TYPE,
P_SELECTED_RESP_ID: this.respID//"-999" //this.respID,
// P_PAGE_NUM: this.P_PAGE_NUM,
// P_PAGE_LIMIT: this.P_PAGE_LIMIT
};
this.payslipService.getPayslip(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleRespondGetPayslipResult(result);
}
);
}
handleRespondGetPayslipResult(result){
if (result.GetPayslipList != null) {
this.GetPayslipList = result.GetPayslipList;
this.firstPayslip= this.GetPayslipList[0]
this.defultSelected=this.firstPayslip.PAYSLIP_CHOICE
}
this.showPaySlip = this.GetPayslipList[0];
this.getAllPayslipData(this.GetPayslipList[0].ACTION_CONTEXT_ID);
}
// showPaymentInfo
showInfo(event){
console.log(event.detail.value);
const index = parseInt(event.detail.value);
this.showPaySlip =this.GetPayslipList[index];
this.ActionContextID=this.GetPayslipList[index].ACTION_CONTEXT_ID;
this.getAllPayslipData(this.ActionContextID);
}
getAllPayslipData(ActionContextID){
this.common.sharedService.setSharedData(ActionContextID,HomeComponent.ACTION_CONTEXT_ID);
this.getSummeryOfPayment(ActionContextID);
this.getPaymentInfo(ActionContextID);
this.getDeduction(ActionContextID);
this.getEarings(ActionContextID);
}
getSummeryOfPayment(ActionContextID){
const request = {
P_ACTION_CONTEXT_ID: ActionContextID,
};
this.payslipService.getSummeryOFPayment(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleSummeryOfPaymentResult(result);
}
);
}
handleSummeryOfPaymentResult(result){
if (result.GetSummaryOfPaymentList != null) {
this.GetSummaryOfPaymentList = result.GetSummaryOfPaymentList[0];
this.earingTotal = this.GetSummaryOfPaymentList.TOTAL_EARNINGS_AMOUNT;
this.deductionTotal = this.GetSummaryOfPaymentList.TOTAL_DEDUCTIONS_AMOUNT;
}
}
getPaymentInfo(ActionContextID){
const request = {
P_ACTION_CONTEXT_ID: ActionContextID,
};
this.payslipService.getPaymentInfo(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleGetPaymentInfoResult(result);
}
);
}
handleGetPaymentInfoResult(result){
if (result.GetPaymentInformationList != null) {
this.GetPaymentInformationList = result.GetPaymentInformationList[0];
}
}
openEarings(){
this.common.openEarningsPage();
}
openDeductions(){
this.common.openDeductionsPage();
}
getEarings(ActionContextID){
console.log("getEarings");
// this.deductionReq.P_ACTION_CONTEXT_ID=ActionContextID;
// this.deductionReq.P_PAGE_NUM=1;
// this.deductionReq.P_PAGE_LIMIT=100;
const request ={
P_ACTION_CONTEXT_ID:ActionContextID,
P_PAGE_NUM:1,
P_PAGE_LIMIT:100
}
this.payslipService.getEarings(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleGetEaringsResult(result);
}
);
}
handleGetEaringsResult(result){
if (result.GetEarningsList != null) {
this.GetEarningsList = result.GetEarningsList;
}
}
getDeduction(ActionContextID){
console.log("getDeduction");
const request ={
P_ACTION_CONTEXT_ID:ActionContextID,
P_PAGE_NUM:1,
P_PAGE_LIMIT:100
}
// this.deductionReq.P_ACTION_CONTEXT_ID=ActionContextID;
// this.deductionReq.P_PAGE_NUM=1;
// this.deductionReq.P_PAGE_LIMIT=100;
this.payslipService.getDeduction(request, ()=> {} , this.ts.trPK('general', 'retry')).subscribe((result)=>
{
this.handleGetDeductionResult(result);
}
);
}
handleGetDeductionResult(result){
if (result.GetDeductionsList != null) {
this.GetDeductionsList = result.GetDeductionsList;
}
}
doInfiniteDeduction(infiniteScroll) {
//this.pageNum= this.pageNum + 1;
if (!this.IsReachEnd) {
this.payslipService.getDeduction(this.deductionReq).subscribe(
(result: any) => {
if (this.common.validResponse(result)) {
this.deductionReq.P_PAGE_NUM++;
if (this.common.hasData(result.GetDeductionsList)) {
result.GetDeductionsList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.GetDeductionsList.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll) this.infiniteScroll.complete();
}
} //end infiniteScroll
doInfiniteEarning(infiniteScroll) {
//this.pageNum= this.pageNum + 1;
if (!this.IsReachEnd) {
this.payslipService.getEarings(this.deductionReq).subscribe(
(result: any) => {
if (this.common.validResponse(result)) {
this.deductionReq.P_PAGE_NUM++;
if (this.common.hasData(result.GetEarningsList)) {
result.GetEarningsList.forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.GetEarningsList.push(element);
});
} // if list length >0
else {
this.IsReachEnd = true;
}
} // if response == 1
//this.pageNum++;
this.infiniteScroll.complete();
}
);
} else {
if (this.infiniteScroll) this.infiniteScroll.complete();
}
} //end infiniteScroll
}