|
|
|
|
import { Component, OnInit, ViewChild } from "@angular/core";
|
|
|
|
|
import { CommonService } from "src/app/hmg-common/services/common/common.service";
|
|
|
|
|
import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service";
|
|
|
|
|
import { WorkListRequest } from "../models/workListRequest";
|
|
|
|
|
import * as moment from "moment";
|
|
|
|
|
import { WorKListResponse } from "../models/workListResponse";
|
|
|
|
|
import { WorklistService } from "../service/worklist.service";
|
|
|
|
|
import { IonInfiniteScroll } from '@ionic/angular';
|
|
|
|
|
import { WorklistMainService } from '../service/work-list.main.service';
|
|
|
|
|
|
|
|
|
|
@Component({
|
|
|
|
|
selector: "app-home",
|
|
|
|
|
templateUrl: "./home.component.html",
|
|
|
|
|
styleUrls: ["./home.component.scss"]
|
|
|
|
|
})
|
|
|
|
|
export class HomeComponent implements OnInit {
|
|
|
|
|
// @ViewChild(Navbar) navBar: Navbar;
|
|
|
|
|
public static NOTIFICATION_DATA = 'notification_data';
|
|
|
|
|
public static NOTIFICATION_ARR = 'notification_arr';
|
|
|
|
|
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
|
|
|
|
|
private WorkListObj: WorkListRequest;
|
|
|
|
|
WorkListResObj: any; //WorKListResponse;
|
|
|
|
|
notificationType: string = "1";
|
|
|
|
|
pageNum: number = 1;
|
|
|
|
|
rowsNo: number;
|
|
|
|
|
noOfrows: number;
|
|
|
|
|
selectedValue: string = "";
|
|
|
|
|
FromUserName: string = "";
|
|
|
|
|
ItemKeyDisplayName: string = "";
|
|
|
|
|
SentDate: string = "";
|
|
|
|
|
Subject: string = "";
|
|
|
|
|
inputSearch: string = "";
|
|
|
|
|
HideDateInput: boolean = false;
|
|
|
|
|
HideTextInput: boolean = false;
|
|
|
|
|
InputDate: string;
|
|
|
|
|
filteredNotificationList: any;
|
|
|
|
|
IsReachEnd: boolean = false;
|
|
|
|
|
public noData: boolean = false;
|
|
|
|
|
public isAll: boolean = true;
|
|
|
|
|
public isPR: boolean = false;
|
|
|
|
|
public isPO: boolean = false;
|
|
|
|
|
public isMR: boolean = false;
|
|
|
|
|
public isHR: boolean = false;
|
|
|
|
|
public isITG: boolean = false;
|
|
|
|
|
public isSearch: boolean = false;
|
|
|
|
|
public direction = 'ltr';
|
|
|
|
|
constructor(
|
|
|
|
|
public common: CommonService,
|
|
|
|
|
public ts: TranslatorService,
|
|
|
|
|
public WorklistService: WorklistService,
|
|
|
|
|
public workListService: WorklistMainService
|
|
|
|
|
) {
|
|
|
|
|
this.WorkListObj = new WorkListRequest();
|
|
|
|
|
this.WorkListObj.P_NOTIFICATION_TYPE = "1";
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = "";
|
|
|
|
|
this.WorkListObj.P_PAGE_NUM = 0;
|
|
|
|
|
this.WorkListObj.P_PAGE_LIMIT = 50; //number
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ngOnInit() {
|
|
|
|
|
this.direction = TranslatorService.getCurrentDirection();
|
|
|
|
|
}
|
|
|
|
|
ionViewDidLoad() {
|
|
|
|
|
// this.navBar.backButtonClick = () => {
|
|
|
|
|
// // you can set a full custom history here if you want
|
|
|
|
|
// let pages = [
|
|
|
|
|
// {
|
|
|
|
|
// page: "HomePage"
|
|
|
|
|
// }
|
|
|
|
|
// ];
|
|
|
|
|
// this.navCtrl.setPages(pages);
|
|
|
|
|
// };
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ionViewWillEnter() {
|
|
|
|
|
this.getAllPushNotificationFun();
|
|
|
|
|
}
|
|
|
|
|
getValueSelected(Value) {
|
|
|
|
|
this.selectedValue = Value.detail.value;
|
|
|
|
|
if (this.selectedValue == "1") {
|
|
|
|
|
this.HideDateInput = false;
|
|
|
|
|
this.HideTextInput = true;
|
|
|
|
|
} else if (this.selectedValue == "2") {
|
|
|
|
|
this.HideDateInput = false;
|
|
|
|
|
this.HideTextInput = true;
|
|
|
|
|
} else if (this.selectedValue == "3") {
|
|
|
|
|
this.HideDateInput = true;
|
|
|
|
|
this.HideTextInput = false;
|
|
|
|
|
} else if (this.selectedValue == "4") {
|
|
|
|
|
this.HideDateInput = false;
|
|
|
|
|
this.HideTextInput = true;
|
|
|
|
|
} else if (this.selectedValue == "5") {
|
|
|
|
|
this.HideDateInput = false;
|
|
|
|
|
this.HideTextInput = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getAllPushNotificationFun() {
|
|
|
|
|
this.WorkListObj.P_PAGE_NUM = 1;
|
|
|
|
|
this.IsReachEnd = false;
|
|
|
|
|
|
|
|
|
|
if (this.selectedValue == "1") {
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = this.inputSearch;
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = "";
|
|
|
|
|
} else if (this.selectedValue == "2") {
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = this.inputSearch;
|
|
|
|
|
} else if (this.selectedValue == "3") {
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = "";
|
|
|
|
|
if (this.InputDate)
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = moment(this.InputDate).format(
|
|
|
|
|
"DD-MMM-YYYY"
|
|
|
|
|
);
|
|
|
|
|
else this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = "";
|
|
|
|
|
} else if (this.selectedValue == "4") {
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = this.inputSearch;
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = "";
|
|
|
|
|
} else if (this.selectedValue == "5") {
|
|
|
|
|
this.WorkListObj.P_SEARCH_FROM_USER = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SENT_DATE = "";
|
|
|
|
|
this.WorkListObj.P_SEARCH_SUBJECT = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.WorklistService.getWorkList(this.WorkListObj).subscribe(
|
|
|
|
|
(result: WorKListResponse) => {
|
|
|
|
|
this.handleWorkListResult(result);
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
} //End getNotifications
|
|
|
|
|
|
|
|
|
|
private handleWorkListResult(result) {
|
|
|
|
|
if (this.common.validResponse(result)) {
|
|
|
|
|
// this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA);
|
|
|
|
|
if (this.common.hasData(result.GetWorkList)) {
|
|
|
|
|
this.WorkListObj.P_PAGE_NUM++;
|
|
|
|
|
this.WorkListResObj = result.GetWorkList;
|
|
|
|
|
this.filteredNotificationList = this.WorkListResObj;
|
|
|
|
|
this.common.sharedService.setSharedData(this.WorkListResObj, HomeComponent.NOTIFICATION_ARR);
|
|
|
|
|
let lastItemIndex = this.WorkListResObj.length - 1;
|
|
|
|
|
if (result.GetWorkList[lastItemIndex]) {
|
|
|
|
|
let lastitem = result.GetWorkList[lastItemIndex];
|
|
|
|
|
if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) {
|
|
|
|
|
this.IsReachEnd = true;
|
|
|
|
|
} else {
|
|
|
|
|
this.IsReachEnd = false;
|
|
|
|
|
}
|
|
|
|
|
// this.navCtrl.push('SmsAuthenticatePage');
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
this.WorkListResObj = [];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
openNotificationDetail(obj) {
|
|
|
|
|
console.log(obj);
|
|
|
|
|
this.common.sharedService.setSharedData(obj, HomeComponent.NOTIFICATION_DATA);
|
|
|
|
|
//this.common.openWorklistMainPage();
|
|
|
|
|
if(obj.REQUEST_TYPE == "PR"){
|
|
|
|
|
this.common.openWorklistMainPRPage();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
this.common.openWorklistMainPage();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//this.navCtrl.push("WorkListMainPage", { passNotificationList: obj });
|
|
|
|
|
}
|
|
|
|
|
onChangeView(selectedValue: any) {
|
|
|
|
|
this.WorkListObj.P_NOTIFICATION_TYPE = selectedValue.detail.value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
doInfinite(infiniteScroll) {
|
|
|
|
|
//this.pageNum= this.pageNum + 1;
|
|
|
|
|
|
|
|
|
|
if (!this.IsReachEnd) {
|
|
|
|
|
this.WorklistService.getWorkList(this.WorkListObj).subscribe(
|
|
|
|
|
(result: any) => {
|
|
|
|
|
if (this.common.validResponse(result)) {
|
|
|
|
|
this.WorkListObj.P_PAGE_NUM++;
|
|
|
|
|
if (this.common.hasData(result.GetWorkList)) {
|
|
|
|
|
result.GetWorkList.forEach(element => {
|
|
|
|
|
if (element.ROW_NUM == element.NO_OF_ROWS) {
|
|
|
|
|
this.IsReachEnd = true;
|
|
|
|
|
} else {
|
|
|
|
|
this.IsReachEnd = false;
|
|
|
|
|
}
|
|
|
|
|
this.WorkListResObj.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
|
|
|
|
|
|
|
|
|
|
Count() {
|
|
|
|
|
this.workListService.getITGCount()
|
|
|
|
|
.subscribe((result: any) => {
|
|
|
|
|
console.log("ENAD ITG COUNT:")
|
|
|
|
|
console.log(result);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filterNotificationByRequestType(reqType) {
|
|
|
|
|
let filterdType = [];
|
|
|
|
|
if (reqType == "All") {
|
|
|
|
|
this.filteredNotificationList = this.WorkListResObj;
|
|
|
|
|
if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == "") {
|
|
|
|
|
this.noData = true;
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
this.noData = false;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (let i = 0; i < this.WorkListResObj.length; i++) {
|
|
|
|
|
if (reqType == this.WorkListResObj[i].REQUEST_TYPE) {
|
|
|
|
|
filterdType.push(this.WorkListResObj[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.filteredNotificationList = filterdType;
|
|
|
|
|
if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == "") {
|
|
|
|
|
this.noData = true;
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
this.noData = false;
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Details() {
|
|
|
|
|
this.workListService.getITGDetails()
|
|
|
|
|
.subscribe((result: any) => {
|
|
|
|
|
console.log("ENAD ITG Details:")
|
|
|
|
|
console.log(result);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AllNotification() {
|
|
|
|
|
this.filterNotificationByRequestType("All");
|
|
|
|
|
this.isAll = true;
|
|
|
|
|
this.isPR = false;
|
|
|
|
|
this.isPO = false;
|
|
|
|
|
this.isMR = false;
|
|
|
|
|
this.isHR = false;
|
|
|
|
|
this.isITG = false;
|
|
|
|
|
}
|
|
|
|
|
PRNotification() {
|
|
|
|
|
this.filterNotificationByRequestType("PR");
|
|
|
|
|
this.isAll = false;
|
|
|
|
|
this.isPR = true;
|
|
|
|
|
this.isPO = false;
|
|
|
|
|
this.isMR = false;
|
|
|
|
|
this.isHR = false;
|
|
|
|
|
this.isITG = false;
|
|
|
|
|
}
|
|
|
|
|
PONotification() {
|
|
|
|
|
this.filterNotificationByRequestType("PO");
|
|
|
|
|
this.isAll = false;
|
|
|
|
|
this.isPR = false;
|
|
|
|
|
this.isPO = true;
|
|
|
|
|
this.isMR = false;
|
|
|
|
|
this.isHR = false;
|
|
|
|
|
this.isITG = false;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
MRNotification() {
|
|
|
|
|
this.filterNotificationByRequestType("MO");
|
|
|
|
|
this.isAll = false;
|
|
|
|
|
this.isPR = false;
|
|
|
|
|
this.isPO = false;
|
|
|
|
|
this.isMR = true;
|
|
|
|
|
this.isHR = false;
|
|
|
|
|
this.isITG = false;
|
|
|
|
|
}
|
|
|
|
|
HRNotification() {
|
|
|
|
|
this.filterNotificationByRequestType("HR");
|
|
|
|
|
this.isAll = false;
|
|
|
|
|
this.isPR = false;
|
|
|
|
|
this.isPO = false;
|
|
|
|
|
this.isMR = false;
|
|
|
|
|
this.isHR = true;
|
|
|
|
|
this.isITG = false;
|
|
|
|
|
}
|
|
|
|
|
ITGNotification() {
|
|
|
|
|
// this.Details();
|
|
|
|
|
this.isAll = false;
|
|
|
|
|
this.isPR = false;
|
|
|
|
|
this.isPO = false;
|
|
|
|
|
this.isMR = false;
|
|
|
|
|
this.isHR = false;
|
|
|
|
|
this.isITG = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
searchBtn() {
|
|
|
|
|
this.isSearch = !this.isSearch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|