Ana içeriğe geç

getWarranty

Genel Bilgi

Özellik Değer
Endpoint Adı getWarranty
SOAPAction
Açıklama Bir seri numarasının kalan garanti süresini gün cinsinden hesaplar. Ürünün satış tarihinden bu yana geçen gün sayısını, üründe tanımlı garanti süresinden çıkararak kalan garanti süresini döner.
Kimlik Doğrulama Gerektirir Hayır (token parametresi yoktur)
WSDL'e Kayıtlı Hayır — Bu metot doğrudan SOAP WSDL üzerinden çağrılamaz. Servis sınıfının internal public metodu olup PHP kodu tarafından kullanılır.

İstek Parametreleri

Parametre Tip Zorunlu Açıklama
place xsd:string Evet Sorgulama türü. Şu an yalnızca "serino" desteklenmektedir.
val xsd:string Evet Sorgulanacak seri numarası değeri.

place Değerleri

Değer Açıklama
serino val parametresini seri numarası (se_serino) olarak yorumlar ve bu seri numarasına ait ürünü bulur.

Yanıt

Dönüş Değeri Tip Açıklama
{kalanGün} integer Garanti bitimine kalan gün sayısı. Negatif değer garanti süresinin dolduğunu gösterir.
null Seri numarasına ait satış hareketi (seha_islem = 'SATIŞ') bulunamazsa hesaplama ur_garantisure - NULL sonuç verir; PHP'de null döner (tam garanti süresi değil).
false boolean Seri numarası tbserino tablosunda bulunamazsa ya da place parametresi "serino" dışında bir değer taşıyorsa döner.

Hesaplama Mantığı

kalanGaranti = ur_garantisure - (bugün - satışTarihi gün farkı)
  1. tbserino tablosunda se_serino = '$val' koşuluyla ilgili ürün numarası (se_urno) bulunur.
  2. tbserinohareket tablosunda seha_islem = 'SATIŞ' olan hareket tespit edilir ve satış fatura ID (seha_var1) alınır.
  3. tbsatis{donem} tablosunda satış tarihinden bugüne kadar geçen gün sayısı hesaplanır (TO_DAYS(now()) - TO_DAYS(st_tarih)).
  4. tburun tablosundan ürünün tanımlı garanti süresi (ur_garantisure) alınır.
  5. kalanGaranti = ur_garantisure - geçenGün formülüyle kalan süre hesaplanır.

Örnek Senaryo

Ürün 365 gün garantili, 100 gün önce satılmış:

ur_garantisure = 365
geçenGün       = 100
kalanGaranti   = 365 - 100 = 265 gün

Ürün 365 gün garantili, 400 gün önce satılmış:

ur_garantisure = 365
geçenGün       = 400
kalanGaranti   = 365 - 400 = -35 gün  (garanti dolmuş)

İlgili Metodlar

Metot Açıklama
querySerialNumberXML Seri numarasının tüm hareketlerini (satış, servis, stok) XML olarak sorgular
getServiceByIdOrRegistrationNo Servis kaydını seri numarasına göre getirir

Notlar

  • Bu metot WSDL üzerinden erişilebilir bir SOAP endpoint değildir; servis takibi ve B2C uygulamaları tarafından dahili olarak kullanılmaktadır.
  • place parametresi için şu an yalnızca "serino" değeri işlenmektedir; farklı bir değer girilmesi durumunda ürün bulunamaz ve false döner.
  • Seri numarası tbserino tablosunda bulunamazsa false döner.
  • Seri numarasına ait satış hareketi (seha_islem = 'SATIŞ') yoksa tbsatis sorgusu 0 satır döner; ur_garantisure - null hesaplamasından null elde edilir.