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

Medikal BeforeSave Script

Medikal BeforeSave Script

const awaitIf = async (fn, ms = 100) => {
  await new Promise(async (resolve, reject) => {
    let result = false;
    try {
      result = fn();
    } catch (e) {
      console.error(e);
    }

    if (result) {
      resolve(true);
    } else {
      await rxjs.timer(ms).toPromise();
      resolve(await awaitIf(fn));
    }
  });
};
return (async () => {
  // Tolga 2020-06-15
  let ADULT =
    +(this.recordService.component.allFormControls.ADULT.value || 0) || 0;
  let CHD1 =
    +(this.recordService.component.allFormControls.CHD1.value || 0) || 0;
  let CHD2 =
    +(this.recordService.component.allFormControls.CHD2.value || 0) || 0;
  let BABY =
    +(this.recordService.component.allFormControls.BABY.value || 0) || 0;
  let pax = ADULT + CHD1 + CHD2 + BABY;
  let gridCount = 0;
  await awaitIf(
    () => this.recordService.grids?.medical-resname?.api?.forEachNode
  );
  this.recordService.grids.medical-resname.api.forEachNode((node) => {
    if (!node['toBeDeleted'] && node.data.DEPARTED !== true) {
      gridCount++;
    }
  });
  if (pax > 0 && gridCount > pax) {
    let msg = `Can Have Maximum {{${pax}}} Guests.`;
    msg = angus.languageService.staticTranslator.translate(msg);
    throw msg;
  }

  //çift rez engelle
  if (angus.api.tenant.CHECK_SAME_RES == 1) {
    //!this.recordService.component.allFormControls['ID'].value &&
    if (
      !this.recordService.component.allFormControls['ID'].value &&
      this.recordService.grids.medical-resname.grid.rowCount > 0
    ) {
      let GName = '';
      let GLName = '';

      let ResId = '';
      this.recordService.grids.medical-resname.api.forEachNode((node) => {
        GName = node.data.NAME;
        GLName = node.data.LNAME;
      });

      this.recordService.component.api
        .execSP({
          Object: 'SP_EASYPMS_CHECKSAMERES',
          Parameters: {
            GUESTNAME: GName,
            GUESTLNAME: GLName,
            AGENCYID: this.recordService.component.allFormControls.AGENCYID
              .value,
            CHECKIN: this.recordService.component.allFormControls.CHECKIN.value,
            CHECKOUT: this.recordService.component.allFormControls.CHECKOUT
              .value,
            VOUCHER: this.recordService.component.allFormControls.VOUCHERNO
              .value,
            RESID: this.recordService.component.allFormControls.ID.value,
          },
        })
        .subscribe((resp) => {
          if (resp[0][0].SUCCESS == '0')
            this.recordService.component.angusDialog.warn(resp[0][0].MESSAGE);
        });
    }
  }
  
  //konaklayanlarda oda değişitirildiğinde değişim nedenini soran sp nin rowaction olarak çalıştırılması
  if(this.recordService.component.mode.value === "update" && this.recordService.lastData.RESSTATEID === 3 && 
  this.recordService.component.allFormControls.ROOMCOUNTTYPE.value != 2 && 
  this.recordService.lastData.ROOMCOUNTTYPE != 6 &&
  this.recordService.component.allFormControls.ROOMID.value &&
  this.recordService.lastData.ROOMID != this.recordService.component.allFormControls.ROOMID.value){
    const roomChangeReason = await this.runRowAction('roomChangeReason');
  }
})();
PreviousMedikal Rezervasyon KartıNextMedikal BeforeClone Script

Last updated 3 years ago