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/item-history/item-history.component.ts

113 lines
3.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';
@Component({
selector: 'app-item-history',
templateUrl: './item-history.component.html',
styleUrls: ['./item-history.component.scss'],
})
export class ItemHistoryComponent implements OnInit {
getPassPOInfo: any;
itemHistoryRes: any;
IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 100;
POItemHistoryReq:any;
getPassItemHistoreyList: any;
constructor(
public worklistMainService: WorklistMainService,
private cs: CommonService,
private ts: TranslatorService,
private modalCtrl: ModalController,
public worklistService: WorklistService
) {
this.getPassPOInfo = this.cs.sharedService.getSharedData('passPOInfo');
this.getPassItemHistoreyList = this.cs.sharedService.getSharedData('passItemHisList');
//itemHistoryRes
this.POItemHistoryReq = new POItemHistoryRequest();
this.POItemHistoryReq.P_PAGE_NUM = this.P_PAGE_NUM;
this.POItemHistoryReq.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.POItemHistoryReq.P_ITEM_ID= this.getPassPOInfo;
}
ngOnInit() {
this.getItemHistory(this.getPassPOInfo);
}
getItemHistory(itemID) {
console.log(itemID);
this.IsReachEnd = false;
// const request = new POItemHistoryRequest();
// request.P_ITEM_ID=parseInt(itemID);
// request.P_PAGE_LIMIT=50;
// request.P_PAGE_NUM=1;
this.worklistMainService.getPOItemHistory( this.POItemHistoryReq).
subscribe((result: POItemHistoryRes) => {
this.handleItemHistoryResult(result);
});
}
handleItemHistoryResult(result) {
if (this.cs.validResponse(result)) {
if (this.cs.hasData(result.GetPoItemHistoryList)) {
this.itemHistoryRes = result.GetPoItemHistoryList;
this.P_PAGE_NUM++;
let lastItemIndex = this.itemHistoryRes.length - 1;
if (result.GetPoItemHistoryList[lastItemIndex]) {
let lastitem = result.GetPoItemHistoryList[lastItemIndex];
if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
}
}
}
}
doInfinite(infiniteScroll) {
if (!this.IsReachEnd) {
// this.POItemHistoryReq.P_PAGE_NUM = this.P_PAGE_NUM;
this.worklistMainService.getPOItemHistory(this.POItemHistoryReq).
subscribe((result: any) => {
if (this.cs.validResponse(result)) {
if (result.GetPoItemHistoryList != undefined) {
this.P_PAGE_NUM++;
(result.GetPoItemHistoryList).forEach(element => {
if (element.ROW_NUM == element.NO_OF_ROWS) {
this.IsReachEnd = true;
} else {
this.IsReachEnd = false;
}
this.itemHistoryRes.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
}