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/notification/qutation-analysis/qutation-analysis.component.ts

130 lines
4.8 KiB
TypeScript

import { ViewNoteModalComponent } from './../view-note-modal/view-note-modal.component';
import { WorklistService } from './../service/worklist.service';
import { Component, OnInit } from '@angular/core';
import { WorkListActionHistoryRequest } from '../models/ActionHistoryReq';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { ModalController } from '@ionic/angular';
import { POItemHistoryRequest} from '../models/POItemHistoryReq';
import { WorklistMainService } from '../service/work-list.main.service';
import { POItemHistoryRes } from '../models/POItemHistoryRes';
import { QuotationAnalysisRequest } from '../models/quotationAnalysisReq';
import { QuotationAnalysisResponse } from '../models/quotationAnalysisRes';
@Component({
selector: 'app-qutation-analysis',
templateUrl: './qutation-analysis.component.html',
styleUrls: ['./qutation-analysis.component.scss'],
})
export class QutationAnalysisComponent implements OnInit {
6 years ago
direction:string;
IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 100;
POQuotationHISReq: QuotationAnalysisRequest;
getPassPOItemID: any;
getPassPOHeaderID: any;
getPassItemHistoreyList: any;
getQutationAnalysis:any;
doInfiniteReq: any;
constructor(public worklistMainService: WorklistMainService,
private cs: CommonService,
public ts: TranslatorService,
private modalCtrl: ModalController,
public worklistService: WorklistService) {
6 years ago
this.direction = TranslatorService.getCurrentLanguageName();
this.getPassPOItemID = this.cs.sharedService.getSharedData('passPOInfo',false);
this.getPassPOHeaderID = this.cs.sharedService.getSharedData('passPOHeader',false);
this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList',false);
//itemHistoryRes
console.log("getPassPOItemID: "+this.getPassPOItemID);
console.log("getPassPOItemID: "+this.getPassPOHeaderID);
this.POQuotationHISReq = new QuotationAnalysisRequest();
this.POQuotationHISReq.P_PAGE_NUM = this.P_PAGE_NUM;
this.POQuotationHISReq.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.POQuotationHISReq.P_ITEM_ID= this.getPassPOItemID;
this.POQuotationHISReq.P_PO_HEADER_ID = this.getPassPOHeaderID;
}
ngOnInit() {
this.getQutationAnalysisFun( this.getPassPOHeaderID,this.getPassPOItemID);
}
public getQutationAnalysisFun(headerID,itemID) {
console.log("itemID"+ itemID+" headerID "+ headerID);
this.IsReachEnd = false;
const request = new QuotationAnalysisRequest();
request.P_ITEM_ID=parseInt(itemID);
request.P_PO_HEADER_ID=headerID;
request.P_PAGE_LIMIT=100;
request.P_PAGE_NUM=1;
this.doInfiniteReq=request;
this.worklistMainService.getQutationAnalysis(request).
subscribe((result: QuotationAnalysisResponse) => {
this.handleQutationAnalysisResult(result);
});
}
handleQutationAnalysisResult(result) {
if (this.cs.validResponse(result)) {
if (this.cs.hasData(result.GetQuotationAnalysisList)) {
//open page
//set sheard data
//
this.getQutationAnalysis = result.GetQuotationAnalysisList;
this.doInfiniteReq.P_PAGE_NUM++;
let lastItemIndex = this.getQutationAnalysis.length - 1;
if (result.GetQuotationAnalysisList[lastItemIndex]) {
let lastitem = result.GetQuotationAnalysisList[lastItemIndex];
if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
}
}
}
}
doInfinite(infiniteScroll) {
if (!this.IsReachEnd) {
// this.getQutationAnalysis.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistMainService.getQutationAnalysis(this.doInfiniteReq).
subscribe((result: any) => {
if (this.cs.validResponse(result)) {
if (result.GetQuotationAnalysisList != undefined) {
this.P_PAGE_NUM++;
this.doInfiniteReq.P_PAGE_NUM = this.P_PAGE_NUM;
(result.GetQuotationAnalysisList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.getQutationAnalysis.push(element);
}, (Error) => console.log(Error), () => infiniteScroll.target.complete());
}// if list length >0
else {
this.IsReachEnd = true;
}
}// if response == 1
//this.pageNum++;
infiniteScroll.target.complete();
});
} else {
if (infiniteScroll)
infiniteScroll.target.complete();
}
}//end infiniteScroll
}