imageexportreport.component.ts 6.14 KB
import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
//import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/filter';
import { ImageExportReports } from '../Reports/reportdatamodel';
import { ReportService } from '../Reports/report.service';
import { GlobalService } from '../../Shared/global';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
import { DatePipe } from '@angular/common';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap';
import { Http, Response } from '@angular/http';
import { LoadingService } from '../../shared/loading.service';
import { PagerComponent } from '../../shared/Pager/pager.component';
import { ConfirmService } from '../../Shared/Confirm/confirm.service';
declare var $: any;

@Component({
  templateUrl: './imageexportreport.component.html'
})

export class ImageExportReport implements OnInit {
  public lstImageExportReport: any;
  ImageExportReportForm: FormGroup;
  ImageExportReports: ImageExportReports[];
  numberOfImageExportReport: number;
  limit: number;
  page: number = 1;
  error;
  imageexportreport = new ImageExportReports();
  modalAlerts: string;
  divClass: string = '';
  topPos: string = '2000px';
  selectedRow: number = 0;
  datePipe: DatePipe = new DatePipe('en-US');
  bsValue1: Date = new Date();
  bsValue2: Date = new Date();
  selectedId: number = 0;
  modalRef: BsModalRef;
  date = new Date();
  previousdate = new Date();
  NoRecord: string;
  alerts: string;
  ExportingStart: boolean;
  bsConfig: Partial<BsDatepickerConfig>;
  buttonStatus: boolean;
  @ViewChild(PagerComponent) pagerComponent: PagerComponent;
  recordCount: number;
  pageNo: number;
  pageLength: number;

  constructor(private router: Router, private reportservice: ReportService, private fb: FormBuilder, 
    private modalService: BsModalService, private global: GlobalService, 
    private _loadingService: LoadingService, private _confirmService: ConfirmService) { }

  ngOnInit(): void {
    this.buttonStatus = false;
    this.ExportingStart = false;
    this.bsConfig = Object.assign({}, { containerClass: 'theme-dark-blue' });
    this.NoRecord = this.global.NoRecords;
    let imageexportreport = new ImageExportReports();
    this.previousdate.setDate(this.previousdate.getDate());
    this.ImageExportReportForm = this.fb.group({
      sFromDate: [this.previousdate],
      sToDate: [this.date],
      sAccountNumber: ['']
    });
    this.alerts = '';
    this._loadingService.HideLoading("global-loading");
    $('#fixed_hdr2').fxdHdrCol({
      fixedCols: 0,
      width: "100%",
      height: 330,
      colModal: [
        { width: 180, align: 'center' },
        { width: 230, align: 'center' },
        { width: 150, align: 'Center' },
        //{ width: 150, align: 'Center' },
        { width: 350, align: 'Center' },
        { width: 500, align: 'Center' },
        { width: 130, align: 'Center' },
        { width: 120, align: 'center' },        
        { width: 150, align: 'center' },
        { width: 110, align: 'center' },
      ],
      sort: true
    });
    this.pageNo = 1;
    this.pageLength = 10;
    this.NoRecord = this.global.NoRecords;
    this.recordCount = 0;
    this.pagerComponent = new PagerComponent();
            
    if(document.getElementById("fixed_table_rc") != null){
      document.getElementById("fixed_table_rc").remove();
      var testScript = document.createElement("script");
      testScript.setAttribute("id", "fixed_table_rc");
      testScript.setAttribute("src", "../assets/scripts/fixed_table_rc.js");
      testScript.setAttribute("type", "text/javascript");
      document.body.appendChild(testScript);
    }
  }

  GetImageExportReport(evt: any) {
    this._loadingService.ShowLoading("global-loading");
    var tempArr = evt.split(',');
    this.pageNo = parseInt(tempArr[0]);
    this.pageLength = parseInt(tempArr[1]);
    this.alerts = '';
    this.global.compareTwoDates(this.ImageExportReportForm.controls['sToDate'].value, this.ImageExportReportForm.controls['sFromDate'].value);
    if (this.global.ValidationMsg != '') {
      this.alerts = this.global.ValidationMsg
    }
    if (this.alerts == '') {
      this._loadingService.ShowLoading("global-loading");
      this.imageexportreport = this.ImageExportReportForm.value;
      var obj = this.imageexportreport;
      if (this.ExportingStart) {
        this.reportservice.GetImageExportReport(obj, this.pageNo, this.pageLength).subscribe((ImageExportReports: ImageExportReports[]) => { this.ExportService(ImageExportReports); }, error => this.error = <any>error);
      }
      else {
        this.reportservice.GetImageExportReport(obj, this.pageNo, this.pageLength).subscribe((ImageExportReports: ImageExportReports[]) => { this.BindFormFields(ImageExportReports); }, error => this.error = <any>error);
      }
    }
  }

  SearchRecords() {
    this.GetImageExportReport('1, ' + this.pageLength);
  }

  BindFormFields(data) {
    this.recordCount = data.RecordCount;
    this.lstImageExportReport = data.ImageExportList;
    this.numberOfImageExportReport = this.lstImageExportReport.length; 
    this.limit = this.lstImageExportReport.length;
    if (this.lstImageExportReport.length > 0) {
      this.NoRecord = '';
      this.buttonStatus = true;
      this._loadingService.HideLoading("global-loading");
    }
    if (this.lstImageExportReport.length == 0) {
      this.NoRecord = this.global.NoRecords;
      this._loadingService.HideLoading("global-loading");
      this.buttonStatus = false;
    }
  }

  ExportEvent() {
    if (this.buttonStatus) {
      this.ExportingStart = true;
      this.GetImageExportReport('1, ' + this.recordCount);
    }
  }

  ExportService(data: any) {
    this._loadingService.HideLoading("global-loading");
    this.global.ExportToCSV(data, "ImageExportReport-" + this.date.getDay() + "-" + this.date.getMonth() + "-" + this.date.getSeconds())
    
  }

}