From 683b82d18048010990466ef1c73bde11c59a90ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20=C3=96zp=C4=B1nar?= Date: Tue, 13 Mar 2018 14:56:08 +0300 Subject: [PATCH] Add files via upload --- .../Alacaklar_Yaslandirma_Ozet.sql | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 Borc Yaslandirma/Alacaklar_Yaslandirma_Ozet.sql diff --git a/Borc Yaslandirma/Alacaklar_Yaslandirma_Ozet.sql b/Borc Yaslandirma/Alacaklar_Yaslandirma_Ozet.sql new file mode 100644 index 0000000..0e58b03 --- /dev/null +++ b/Borc Yaslandirma/Alacaklar_Yaslandirma_Ozet.sql @@ -0,0 +1,184 @@ +create table #tempresults +( + [RECID] [int] NULL, + [SIGN] [smallint] NULL, + [DEBIT] [float] NULL, + [CREDIT] [float] NULL, + [DATE_] [datetime] NULL, + [LINEEXP] [varchar](251) NULL, + [ACCOUNTCODE] [varchar](101) NULL, + [INVOICENO] [varchar](17) NULL, + [CLOSED] [smallint] NULL, + [OCAK] [float] NULL, + [SUBAT] [float] NULL, + [MART] [float] NULL, + [NISAN] [float] NULL, + [MAYIS] [float] NULL, + [HAZIRAN] [float] NULL, + [TEMMUZ] [float] NULL, + [AGUSTOS] [float] NULL, + [EYLUL] [float] NULL, + [EKIM] [float] NULL, + [KASIM] [float] NULL, + [ARALIK] [float] NULL, + [ACCOUNTNAME] [varchar](200) NULL +) + +-- Tahsilatlar Temp Tablo Başlangıç +create table #tempcredits +( + [CREDIT] [float] NULL, + [ACCOUNTCODE] [varchar](101) NULL, + [REMAINING] [float] NULL +) +Insert Into #tempcredits +select SUM(CREDIT) as CREDIT,ACCOUNTCODE,SUM(CREDIT) as REMAINING +from LG_141_01_EMFLINE +WHERE CANCELLED<>1 AND [SIGN]=1 --AND ACCOUNTCODE='120.01.G01' +GROUP BY ACCOUNTCODE +-- Tahsilatlar Temp Tablo Bitiş + + +DECLARE @_sign smallint; +DECLARE @_debit float; +DECLARE @_credit float; +DECLARE @_date datetime; +DECLARE @_lineexp varchar(251); +DECLARE @_accountcode varchar(101); +DECLARE @_invoiceno varchar(17); +DECLARE @_month smallint; +DECLARE @_recid int; +DECLARE @_accountname varchar(200); +SET @_recid=0; + +DECLARE MY_CURSOR CURSOR + LOCAL STATIC READ_ONLY FORWARD_ONLY +FOR +select [SIGN],DEBIT,CREDIT,DATE_ ,LINEEXP,ACCOUNTCODE,INVOICENO,MONTH_,ca.DEFINITION_ +from LG_141_01_EMFLINE el +left join LG_141_EMUHACC ca ON ca.LOGICALREF=el.ACCOUNTREF +WHERE el.CANCELLED<>1 +AND el.ACCOUNTCODE LIKE '120.%' +--AND ACCOUNTCODE='120.01.A28' +--AND ACCOUNTCODE='120.01.A08' +ORDER BY DATE_ ASC + +OPEN MY_CURSOR +FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname +WHILE @@FETCH_STATUS = 0 +BEGIN + SET @_recid = @_recid + 1; + DECLARE @_remaining FLOAT; + SET @_remaining=0; + DECLARE @_splitted smallint; + SET @_splitted=0; + SELECT @_remaining = ISNULL(REMAINING,0) FROM #tempcredits WHERE ACCOUNTCODE=@_accountcode + + + SET @_splitted=0 + IF @_remaining=0 OR @_remaining IS NULL + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + ELSE + BEGIN + + IF NOT @_remaining-@_debit<0 AND @_sign=0 + BEGIN + --PRINT @_remaining-@_debit + UPDATE #tempcredits SET REMAINING=REMAINING-@_debit WHERE ACCOUNTCODE=@_accountcode + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,1,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + END + + IF @_remaining-@_debit<0 AND @_sign=0 AND @_remaining<>0 + BEGIN + UPDATE #tempcredits SET REMAINING=0 WHERE ACCOUNTCODE=@_accountcode + SET @_splitted=1 + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_remaining,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,1,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + SET @_recid = @_recid+1; + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit-@_remaining,@_credit,@_date,'PARÇALANDI : '+@_lineexp,@_accountcode,@_invoiceno,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + END + + IF @_remaining=0 AND @_sign<>1 + BEGIN + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + END + + IF @_sign=1 --credit işlemi. değiştirmeden geç + BEGIN + INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,1,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) + END + + END + + IF ((@_remaining-@_debit<0 AND @_remaining<>0) OR @_remaining=0)AND @_sign=0 + BEGIN + UPDATE #tempresults + SET + OCAK = CASE WHEN @_month=1 THEN @_debit-@_remaining ELSE 0 END, + SUBAT = CASE WHEN @_month=2 THEN @_debit-@_remaining ELSE 0 END, + MART = CASE WHEN @_month=3 THEN @_debit-@_remaining ELSE 0 END, + NISAN = CASE WHEN @_month=4 THEN @_debit-@_remaining ELSE 0 END, + MAYIS = CASE WHEN @_month=5 THEN @_debit-@_remaining ELSE 0 END, + HAZIRAN = CASE WHEN @_month=6 THEN @_debit-@_remaining ELSE 0 END, + TEMMUZ = CASE WHEN @_month=7 THEN @_debit-@_remaining ELSE 0 END, + AGUSTOS = CASE WHEN @_month=8 THEN @_debit-@_remaining ELSE 0 END, + EYLUL = CASE WHEN @_month=9 THEN @_debit-@_remaining ELSE 0 END, + EKIM = CASE WHEN @_month=10 THEN @_debit-@_remaining ELSE 0 END, + KASIM = CASE WHEN @_month=11 THEN @_debit-@_remaining ELSE 0 END, + ARALIK = CASE WHEN @_month=12 THEN @_debit-@_remaining ELSE 0 END + WHERE RECID=@_recid + END + + FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname +END +CLOSE MY_CURSOR +DEALLOCATE MY_CURSOR + + + +SELECT ACCOUNTCODE,ACCOUNTNAME +,SUM(DEBIT) AS BORÇ +,SUM(CREDIT) AS ALACAK +,SUM(DEBIT)-SUM(CREDIT) AS BAKIYE +,SUM(OCAK) as Ocak +,SUM(SUBAT) as Subat +,SUM(MART) as Mart +,SUM(NISAN) as Nisan +,SUM(MAYIS) as Mayis +,SUM(HAZIRAN) as Haziran +,SUM(TEMMUZ) as Temmuz +,SUM(AGUSTOS) as Agustos +,SUM(EYLUL) as Eylul +,SUM(EKIM) as Ekim +,SUM(KASIM) as Kasim +,SUM(ARALIK) as Aralik +,((SUM(DEBIT)-SUM(CREDIT))-SUM(OCAK)-SUM(SUBAT)-SUM(MART)-SUM(NISAN)-SUM(MAYIS)-SUM(HAZIRAN)-SUM(TEMMUZ)-SUM(AGUSTOS) +-SUM(EYLUL)-SUM(EKIM)-SUM(KASIM)-SUM(ARALIK)) AS SAGLAMA +from #tempresults +GROUP BY ACCOUNTCODE,ACCOUNTNAME +--WHERE ACCOUNTCODE='120.01.B13' +--WHERE ACCOUNTCODE='120.01.A28' + + + + + + + + + + + + + + + + +If(OBJECT_ID('tempdb..#tempcredits') Is Not Null) +Begin + Drop Table #tempcredits +End + +If(OBJECT_ID('tempdb..#tempresults') Is Not Null) +Begin + Drop Table #tempresults +End \ No newline at end of file