DECLARE @baslangic DATE = @P1;
DECLARE @bitisi DATE =@P2;
DECLARE @cari VARCHAR(20) =@P3;
SELECT
dbo.fn_ReyonIsmi(s.sto_reyon_kodu) AS ‘Kategori 1’,
dbo.fn_AnaGrupIsmi(s.sto_anagrup_kod) AS ‘Kategori 2’,
dbo.fn_AltGrupIsmi(s.sto_anagrup_kod,s.sto_altgrup_kod) as ‘Kategori 3’,
dbo.fn_SektorIsmi(s.sto_sektor_kodu) AS ‘Kategori 4’,
s.sto_sat_cari_kod as ‘Cari Kodu’ ,
dbo.fn_CarininIsminiBul(0,s.sto_sat_cari_kod) as ‘Cari Adı’ ,
v25.sth_stok_kod AS ‘Stok Kod’ ,
dbo.fn_StokIsmi(v25.sth_stok_kod) AS ‘Stok İsmi’ ,
ISNULL(CAST( SUM(
CASE
WHEN
sth_tip = 1
AND sth_cikis_depo_no=depo1no
and sth_cins = 1
AND sth_normal_iade = 0
AND sth_evraktip IN (1,4)
THEN
v25.sth_miktar
ELSE
0
END) – SUM(
CASE
WHEN
sth_tip = 0
AND sth_cikis_depo_no=depo1no
AND sth_cins = 1
AND sth_normal_iade = 1
AND sth_evraktip IN (3,13)
THEN
v25.sth_miktar
ELSE
0
END) AS DECIMAL(18,2)), 0) AS ‘ Depo 1 Satış Miktar’,
ISNULL(CAST( SUM(
CASE
WHEN
sth_tip = 1
AND sth_cikis_depo_no=depo2no
and sth_cins = 1
AND sth_normal_iade = 0
AND sth_evraktip IN (1,4)
THEN
v25.sth_miktar
ELSE
0
END) – SUM(
CASE
WHEN
sth_tip = 0
AND sth_cikis_depo_no=depo2no
AND sth_cins = 1
AND sth_normal_iade = 1
AND sth_evraktip IN (3,13)
THEN
v25.sth_miktar
ELSE
0
END) AS DECIMAL(18,2)), 0) AS ‘ Depo 2 Satış Miktar’,
ISNULL(CAST( SUM(
CASE
WHEN
sth_tip = 1
and sth_cins = 1
AND sth_normal_iade = 0
AND sth_evraktip IN (1,4)
THEN
v25.sth_miktar
ELSE
0
END) – SUM(
CASE
WHEN
sth_tip = 0
AND sth_cins = 1
AND sth_normal_iade = 1
AND sth_evraktip IN (3,13)
THEN
v25.sth_miktar
ELSE
0
END) AS DECIMAL(18,2)), 0) AS ‘ Toplam Satış Miktar’,
son_sart.sas_net_alis_kdvli as ‘Saş Maliyet’ ,
son_sart.sas_net_alis_kdvli * ISNULL(CAST( SUM(
CASE
WHEN
sth_tip = 1
AND sth_cins = 1
AND sth_normal_iade = 0
AND sth_evraktip IN (1,4)
THEN
v25.sth_miktar
ELSE
0
END) – SUM(
CASE
WHEN
sth_tip = 0
AND sth_cins = 1
AND sth_normal_iade = 1
AND sth_evraktip IN (3,13)
THEN
v25.sth_miktar
ELSE
0
END) AS DECIMAL(18,2)), 0) AS ‘Ödenecek Tutar’
FROM
STOK_HAREKETLERI v25 LEFT JOIN STOKLAR s ON v25.sth_stok_kod = s.sto_kod
OUTER APPLY
(
SELECT
TOP 1 ss1.sas_net_alis_kdvli
FROM
SATINALMA_SARTLARI ss1
WHERE
ss1.sas_stok_kod = s.sto_kod
ORDER BY
ss1.sas_basla_tarih DESC — ya da varsa tarih kolonuna göre
) AS son_sart
WHERE
v25.sth_tarih BETWEEN @P1 AND @P2
AND S.sto_sat_cari_kod=@P3
GROUP BY
s.sto_reyon_kodu ,
s.sto_anagrup_kod ,
s.sto_altgrup_kod ,
s.sto_sektor_kodu ,
s.sto_kod ,
v25.sth_stok_kod ,
s.sto_sat_cari_kod ,
son_sart.sas_net_alis_kdvli
ORDER BY
s.sto_reyon_kodu ,
s.sto_anagrup_kod,
s.sto_altgrup_kod,
s.sto_sektor_kodu
;