
-- Irsaliye ve faturalar birlikte geliyor.
Select *,Tutar - sh_Toplam sh_Fark, Tutar - AC_Tutar AC_Fark from 
(
	Select d.IslemNo,
	d.Tutar,
	(Select SUM(SonTutar) from STOKHAR h where h.IslemNo = d.IslemNo and h.IslemTuru = d.IslemTuru) sh_Tutar1 ,        
	(Select ISNULL(SUM(SonTutar),0)from STOKHAR h where h.IslemNo3 = d.IslemNo and h.IslemTuru = d.IslemTuru) sh_Tutar2 ,       
	(Select SUM(SonTutar) from STOKHAR h where h.IslemNo = d.IslemNo and h.IslemTuru = d.IslemTuru) +         
	(Select ISNULL(SUM(SonTutar),0) from STOKHAR h where h.IslemNo3 = d.IslemNo and h.IslemTuru = d.IslemTuru) sh_Toplam,
	(Select ISNULL(SUM(BORC + ALACAK),0) from ACARI a where a.ISLEMNO = d.IslemNo and a.BAACIKLA = d.IslemTuru) AC_Tutar,
	d.FisTuru,d.IslemTuru
	  from STOKHARDETBAG d
	 where  d.IslemTuru in ('Prk.Satış','Satış')
	   AND d.FaturaTarihi > '20211001'	  	  
) TBL WHERE ABS(TBL.Tutar - TBL.sh_Toplam) >= 0.01 
ORDER BY IslemNo DESC

-- Faturalar
Select *,ROUND(Tutar - (sh_Tutar1 + sh_Tutar2),0) sh_Fark, ROUND(Tutar - AC_Tutar,2) AC_Fark from 
(
	Select d.IslemNo,
	d.Tutar,
	(Select ISNULL(SUM(SonTutar),0) from STOKHAR h where h.IslemNo = d.IslemNo and h.IslemTuru = d.IslemTuru) sh_Tutar1 ,        
	(Select ISNULL(SUM(SonTutar),0)from STOKHAR h where h.IslemNo3 = d.IslemNo and h.IslemTuru = d.IslemTuru and h.IslemNo <> h.IslemNo3) sh_Tutar2 ,       
	(Select ISNULL(SUM(BORC + ALACAK),0) from ACARI a where a.ISLEMNO = d.IslemNo and a.BAACIKLA = d.IslemTuru) AC_Tutar,
    (Select TOP 1 IslemNo3 from STOKHAR h where h.IslemNo3 = d.IslemNo and h.IslemTuru = d.IslemTuru ) IslemNo3,
	d.FisTuru,d.IslemTuru
	  from STOKHARDETBAG d
	 where  d.IslemTuru in ('Prk.Satış','Satış')
	   AND d.FaturaTarihi > '20211001'	 
	   AND d.FisTuru = 'F'
) TBL 
WHERE ABS(TBL.Tutar - (TBL.sh_Tutar1 + sh_Tutar2)) >= 0.01 or ABS( Tutar - AC_Tutar)   >= 0.01 
ORDER BY TBL.IslemNo DESC


Select * from ACARI a where a.ISLEMNO = '446265' and a.BAACIKLA in ('Prk.Satış','Satış')



-- Acari BAACIKLA update

UPDATE a SET BAACIKLA = d.IslemTuru
from STOKHARDETBAG d,
	 ACARI a
WHERE d.IslemNo = a.ISLEMNO
  AND d.IslemTuru <> BAACIKLA
  AND d.IslemTuru in ('Prk.Satış','Satış')
  AND a.BAACIKLA in ('Prk.Satış','Satış')

--STOKHAR IslemTuru Update
UPDATE h SET h.IslemTuru = d.IslemTuru
from STOKHARDETBAG d,
	 STOKHAR h
WHERE d.IslemNo = h.IslemNo
  AND d.IslemTuru <> h.IslemTuru
  AND d.IslemTuru in ('Prk.Satış','Satış')
  AND h.IslemTuru in ('Prk.Satış','Satış')