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

127 lines
3.8 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { WorklistMainService } from '../service/work-list.main.service';
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 { WorklistService } from '../service/worklist.service';
import { MOItemHistoryReq } from '../models/MOItemHistoryReq';
import { MOItemHistoryRes } from '../models/MOItemHistoryRes';
@Component({
selector: 'app-mo-item-history',
templateUrl: './mo-item-history.component.html',
styleUrls: ['./mo-item-history.component.scss'],
})
export class MoItemHistoryComponent implements OnInit {
direction:string;
getPassMOInfo: any;
itemHistoryRes: any;
IsReachEnd: boolean = false;
P_PAGE_NUM: number = 1;
P_PAGE_LIMIT: number = 50;
MOItemHistoryReq: any;
constructor(
public worklistMainService: WorklistMainService,
private cs: CommonService,
public ts: TranslatorService,
public worklistService: WorklistService
) {
this.direction = TranslatorService.getCurrentLanguageName();
this.getPassMOInfo = this.cs.sharedService.getSharedData('passMOReq');
this.MOItemHistoryReq = new MOItemHistoryReq();
this.MOItemHistoryReq.P_PAGE_NUM = this.P_PAGE_NUM;
this.MOItemHistoryReq.P_PAGE_LIMIT = this.P_PAGE_LIMIT;
this.MOItemHistoryReq.P_ITEM_ID= this.getPassMOInfo.P_ITEM_ID;
this.MOItemHistoryReq.P_ORG_ID= this.getPassMOInfo.P_ORG_ID;
}
ngOnInit() {
this.getMOItemHistory(this.getPassMOInfo.P_ITEM_ID,this.getPassMOInfo.P_ORG_ID);
}
getMOItemHistory(itemID ,orgID) {
console.log(itemID);
this.IsReachEnd = false;
const request = new MOItemHistoryReq();
request.P_ITEM_ID = parseInt(itemID);
request.P_PAGE_LIMIT = 100;
request.P_PAGE_NUM = 1;
request.P_ORG_ID= parseInt(orgID);
this.worklistMainService.getMOItemHistory(request).
subscribe((result: MOItemHistoryRes) => {
this.handleItemHistoryResult(result);
});
}
handleItemHistoryResult(result) {
if (this.cs.validResponse(result)) {
if (this.cs.hasData(result.GetMoItemHistoryList)) {
this.itemHistoryRes = result.GetMoItemHistoryList;
this.P_PAGE_NUM++;
this.MOItemHistoryReq.P_PAGE_NUM = this.P_PAGE_NUM;
let lastItemIndex = this.itemHistoryRes.length - 1;
if (result.GetMoItemHistoryList[lastItemIndex]) {
let lastitem = result.GetMoItemHistoryList[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.getMOItemHistory(this.MOItemHistoryReq).
subscribe((result: any) => {
if (this.cs.validResponse(result)) {
if (result.GetMoItemHistoryList != undefined) {
this.MOItemHistoryReq.P_PAGE_NUM=this.P_PAGE_NUM++;
(result.GetMoItemHistoryList).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
}