Angus Wiki
  • Group 1
    • Angus Wiki
    • Control Types
      • Text
      • Textarea
      • Password
      • Spacer
      • Integer
      • Double
      • Double4
      • Double5
      • Date
      • Daterange
      • Time
      • Datetime
      • Select
      • Anglookup
      • Boolean
      • Button
      • Filter
      • Radio
      • Multiselect
      • Dbimage
      • Image
      • Html
      • Chart
      • Widget
      • Autocomplete
      • Chip
      • Phoneinput
    • General type
    • Toolbar
    • Menu
    • Grid
    • Grid Filter Panel
    • Page
    • Analysis
    • OptionRecord
    • Record
      • Recordlarda Fuzzy Search Kullanımı
      • Recordlara Panel Ekleme
      • Record Butonlarına da Rol Verilebilir
    • Record scripti
    • Butonda Script Kullanımı
    • Buton ve row actiondan gridfilter veri gönderme
    • Combine Latest
    • Sp ye istek atıp dönen id bir tane ise record fazla ise grid açan buton scripti
  • Group 3
    • Angus Lokal Kurulum Linux
    • İlk kurulum
    • Kubernetes Dashboard
  • Group 2
    • Angus Lokal Kurulum Windows
    • Gerekli Uygulamalar
      • Ubuntu Kurulumu
      • WSL Kurulumu
      • Docker Kurulumu
      • Kubernetes Kurulumu
      • Microsoft SQL Kurulumu
    • Kubernetes Ayarları
    • Sistemin Çalıştırılması
  • Group 4
    • Scriptler
      • Rezervasyon Kartı
      • Rezervasyon Kartı BeforeSave Script
      • Rezervasyon Kartı BeforeClone Script
      • Fatura
      • Fatura BeforeSave Script
      • Fatura Before Print Script Editor
      • Satış Projeleri
      • Satış Projeleri BeforeSave Script
      • Kapalı Oda İşlemleri
      • Kayıp Bulunan Listesi
      • İş Kaydı
      • İş Kaydı BeforeSave Script
      • Hesap Kartı
      • Stok Fiyat Anlaşması
      • Proforma Fatura Listesi
      • Fatura BeforeSave Script
      • Fiş
      • Fiş BeforeSave Script
      • Fiş AfterSave Script
      • Fiş Before Print Script
      • Fiş BeforeClone Script
      • Ödeme Emri
      • Ödeme Emri BeforeSave Script
      • Çek/Senet
      • Banka Ekstresi Oku BeforeSave Script
      • Hesap Mutabakatı
      • Babs Mutabakat
      • Kur Değerleme
      • Kur Değerleme(Toplu Döviz)
      • Yaşlandırma Analizi
      • Seyahat Acentası
      • Fiyat Kodu
      • Kontrat Detay
      • Entegrasyon Bağlantı Tanımları
      • Stok İrsaliye
      • Stok İrsaliye BeforeSave Script
      • Stok Fişi
      • Stok Fişi BeforeSave Script
      • Talep
      • Talep BeforeSave Script
      • Üretim Emri
      • Stok Sayım
      • Stok Sayım BeforeSave Script
      • Tüketim Fişleri
      • Adisyon Before Save Script
      • Stok Fiyat Anlaşması
      • Stok Fiyat Anlaşması BeforeSave Script
      • Misafir Kartı
      • Yeni Talep
      • Yeni Talep BeforeSave Script
      • Yeni Talep AfterSave Script
      • Çağrı Merkezi Kaydı
      • Çağrı Merkezi Kaydı AfterSave Script
      • Üyelik
      • Ödeme Linki
      • Doluluk Grafikleri
      • Dağılım Analizi
      • Park Giriş BeforeClone Script
      • Park Giriş
      • Park Rezervasyonu
      • Park Rezervasyonu BeforeSave Script
      • Park Rezervasyonu BeforeClone Script
      • Seyahat Acentası
      • Kullanıcı Bilgileri
      • Kullanıcı Bilgileri BeforeSave Script
      • Medikal Rezervasyon Kartı
      • Medikal BeforeSave Script
      • Medikal BeforeClone Script
      • Ödeme Linki
      • Ödeme Linki BeforeSave Script
  • Group 5
    • IP Santral Entegrasyonu
    • Ip Santral Sistemi
    • File Transfer Service
    • IP Santral Engtegrasyonu Angus Kullanımı
  • Response Header'larındaki Alanlar ve Anlamları
Powered by GitBook
On this page
  1. Group 4
  2. Scriptler

Dağılım Analizi

Dağılım Analizi Script

if (!this.isDestroy$.isStopped && document.querySelector('#raporla-button')) {
  document.querySelector('#raporla-button').click();
  const awaitIf = async (fn, ms = 100) => {
    await new Promise(async (resolve, reject) => {
      if (fn()) {
        resolve(true);
      } else {
        await rxjs.timer(ms).toPromise();
        resolve(await awaitIf(fn));
      }
    });
  };

  this.recordService.formGroup.controls.GROUPBY.valueChanges.subscribe(
    (cur) => {
      document.querySelector('#raporla-button').click();
    }
  );
  
  let analysisTypeFc = this.recordService.formGroup.controls.ANALYSIS_TYPE;
  analysisTypeFc.valueChanges
    .pipe(rxjs.startWith(analysisTypeFc.value))
    .subscribe(async (type) => {
      if (type == 'DISTRIBUTION') {
        this.recordService.formGroup.controls.SELLFROM.setValue(moment('2000-01-01').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.SELLTO.setValue(moment('2049-12-31').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.TO.setValue(moment(angus.api.tenant.PROGDATE).endOf('month').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.FROM.setValue(moment(angus.api.tenant.PROGDATE).startOf('month').format('YYYY-MM-DD'));
      } else if (type == "SALE"){
        this.recordService.formGroup.controls.SELLFROM.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.SELLTO.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.TO.setValue(moment(angus.api.tenant.PROGDATE).add(2,'year').format('YYYY-MM-DD'));
        this.recordService.formGroup.controls.FROM.setValue(moment(angus.api.tenant.PROGDATE).add(-1,'days').format('YYYY-MM-DD'));
      }
      document.querySelector('#raporla-button').click();
    });

  const curFC = this.recordService.formGroup.get('CURRENCY');
  let curFirst = true;

  curFC.valueChanges
    .pipe(rxjs.startWith(curFC.value))
    .subscribe(async (cur) => {
      await awaitIf(
        () =>
          this.recordService.grids['forecast-distribution-grid']?.grid?.agGrid
      );

      const grid1 = this.recordService.grids['forecast-distribution-grid'].grid
        .agGrid;
      const grid2 = this.recordService.grids['forecast-distribution-grid2'].grid
        .agGrid;

      const grid1DegisecekAlanlar = [
        'ROOM_REVENUE_CURRENCY',
        'ADR_CURRENCY',
        'RPRICEPERADULT_CURRENCY',
        //aşağısı sonradan eklendi
        'OTHER_REVENUE_CURRENCY',
        'TAX_REVENUE_CURRENCY',
        'FOOD_REVENUE_CURRENCY',
        'BOARD_REVENUE_CURRENCY',
        'BEVERAGE_REVENUE_CURRENCY',
      ];

      const grid2DegisecekAlanlar = [
        'ROOM_REVENUE_CURRENCY',
        'ROOM_REVENUE_CURRENCY_LY',
        'ADR_CURRENCY',
        'ADR_CURRENCY_LY',
        'RPRICEPERADULT_CURRENCY',
        'RPRICEPERADULT_CURRENCY_LY',
        //aşağısı sonradan eklendi
        'OTHER_REVENUE_CURRENCY',
        'OTHER_REVENUE_CURRENCY_LY',
        'TAX_REVENUE_CURRENCY',
        'TAX_REVENUE_CURRENCY_LY',
        'FOOD_REVENUE_CURRENCY',
        'FOOD_REVENUE_CURRENCY_LY',
        'BOARD_REVENUE_CURRENCY',
        'BOARD_REVENUE_CURRENCY_LY',
        'BEVERAGE_REVENUE_CURRENCY',
        'BEVERAGE_REVENUE_CURRENCY_LY',
      ];

      const kolonAdiDegistir = (grid, arr) => {
        grid.columnApi
          .getAllDisplayedColumns()
          .filter((col) => arr.includes(col.colDef.field))
          .forEach(
            (col) =>
              (col.colDef.headerName = col.colDef.headerName.replace(
                / \(.*\)| Cur/,
                ` (${cur})`
              ))
          );

        grid.api.refreshHeader();
      };

      kolonAdiDegistir(grid1, grid1DegisecekAlanlar);
      kolonAdiDegistir(grid2, grid2DegisecekAlanlar);

      if (curFirst) {
        curFirst = false;
      } else {
        document.querySelector('#raporla-button').click();
      }
    });
  this.recordService.formGroup.controls.UPTOSALEDATE.valueChanges.subscribe(
    (cur) => {
      document.querySelector('#raporla-button').click();
    }
  );
  this.recordService.formGroup.controls.BLOCKINCLUDED.valueChanges.subscribe(
    (cur) => {
      document.querySelector('#raporla-button').click();
    }
  );

  let lastYear = this.recordService.formGroup.controls.WITHLASTYEAR;
  this.recordService.children.T1.component.activeTabIndex.subscribe((v) => {
    if (v == 1 && !lastYear.value) {
      lastYear.setValue(true);
      document.querySelector('#raporla-button').click();
    }
  });
}
PreviousDoluluk GrafikleriNextPark Giriş BeforeClone Script

Last updated 3 years ago