Update Borclar_Yaslandirma.sql

Ocak ayı dışında Açılış ayı eklendi
This commit is contained in:
Uğur Özpınar 2018-03-29 10:39:13 +03:00 committed by GitHub
parent 901edeb998
commit 2080babf6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,6 +10,7 @@ create table #tempresults
[ACCOUNTCODE] [varchar](101) NULL, [ACCOUNTCODE] [varchar](101) NULL,
[INVOICENO] [varchar](17) NULL, [INVOICENO] [varchar](17) NULL,
[CLOSED] [smallint] NULL, [CLOSED] [smallint] NULL,
[ACILIS] [float] NULL,
[OCAK] [float] NULL, [OCAK] [float] NULL,
[SUBAT] [float] NULL, [SUBAT] [float] NULL,
[MART] [float] NULL, [MART] [float] NULL,
@ -25,7 +26,7 @@ create table #tempresults
[ACCOUNTNAME] [varchar](200) NULL [ACCOUNTNAME] [varchar](200) NULL
) )
-- Tahsilatlar Temp Tablo Baþlangýç -- Tahsilatlar Temp Tablo Ba<EFBFBD>lang<EFBFBD><EFBFBD>
create table #tempdebits create table #tempdebits
( (
[DEBIT] [float] NULL, [DEBIT] [float] NULL,
@ -34,10 +35,10 @@ create table #tempdebits
) )
Insert Into #tempdebits Insert Into #tempdebits
select SUM(DEBIT) as DEBIT,ACCOUNTCODE,SUM(DEBIT) as REMAINING select SUM(DEBIT) as DEBIT,ACCOUNTCODE,SUM(DEBIT) as REMAINING
from LG_141_01_EMFLINE from LG_060_01_EMFLINE
WHERE CANCELLED<>1 AND [SIGN]=0 --AND ACCOUNTCODE='120.01.G01' WHERE CANCELLED<>1 AND [SIGN]=0 --AND ACCOUNTCODE='120.01.G01'
GROUP BY ACCOUNTCODE GROUP BY ACCOUNTCODE
-- Tahsilatlar Temp Tablo Bitiþ -- Tahsilatlar Temp Tablo Biti<EFBFBD>
DECLARE @_sign smallint; DECLARE @_sign smallint;
@ -48,6 +49,7 @@ DECLARE @_lineexp varchar(251);
DECLARE @_accountcode varchar(101); DECLARE @_accountcode varchar(101);
DECLARE @_invoiceno varchar(17); DECLARE @_invoiceno varchar(17);
DECLARE @_month smallint; DECLARE @_month smallint;
DECLARE @_trcode smallint;
DECLARE @_recid int; DECLARE @_recid int;
DECLARE @_accountname varchar(200); DECLARE @_accountname varchar(200);
SET @_recid=0; SET @_recid=0;
@ -55,9 +57,9 @@ SET @_recid=0;
DECLARE MY_CURSOR CURSOR DECLARE MY_CURSOR CURSOR
LOCAL STATIC READ_ONLY FORWARD_ONLY LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR FOR
select [SIGN],DEBIT,CREDIT,DATE_ ,LINEEXP,ACCOUNTCODE,INVOICENO,MONTH_,ca.DEFINITION_ select [SIGN],DEBIT,CREDIT,DATE_ ,LINEEXP,ACCOUNTCODE,INVOICENO,MONTH_,ca.DEFINITION_,el.TRCODE
from LG_141_01_EMFLINE el from LG_060_01_EMFLINE el
left join LG_141_EMUHACC ca ON ca.LOGICALREF=el.ACCOUNTREF left join LG_060_EMUHACC ca ON ca.LOGICALREF=el.ACCOUNTREF
WHERE el.CANCELLED<>1 WHERE el.CANCELLED<>1
AND el.ACCOUNTCODE LIKE '32%' AND el.ACCOUNTCODE LIKE '32%'
--AND ACCOUNTCODE='320.01.I09' --AND ACCOUNTCODE='320.01.I09'
@ -66,7 +68,7 @@ AND el.ACCOUNTCODE LIKE '32%'
ORDER BY DATE_ ASC ORDER BY DATE_ ASC
OPEN MY_CURSOR OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname,@_trcode
WHILE @@FETCH_STATUS = 0 WHILE @@FETCH_STATUS = 0
BEGIN BEGIN
SET @_recid = @_recid + 1; SET @_recid = @_recid + 1;
@ -79,7 +81,7 @@ BEGIN
SET @_splitted=0 SET @_splitted=0
IF @_remaining=0 OR @_remaining IS NULL 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) 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,0,@_accountname)
ELSE ELSE
BEGIN BEGIN
@ -87,26 +89,26 @@ BEGIN
BEGIN BEGIN
--PRINT @_remaining-@_debit --PRINT @_remaining-@_debit
UPDATE #tempdebits SET REMAINING=REMAINING-@_credit WHERE ACCOUNTCODE=@_accountcode UPDATE #tempdebits SET REMAINING=REMAINING-@_credit 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) 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,0,@_accountname)
END END
IF @_remaining-@_credit<0 AND @_sign=1 AND @_remaining<>0 IF @_remaining-@_credit<0 AND @_sign=1 AND @_remaining<>0
BEGIN BEGIN
UPDATE #tempdebits SET REMAINING=0 WHERE ACCOUNTCODE=@_accountcode UPDATE #tempdebits SET REMAINING=0 WHERE ACCOUNTCODE=@_accountcode
SET @_splitted=1 SET @_splitted=1
INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_remaining,@_date,@_lineexp,@_accountcode,@_invoiceno,1,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_remaining,@_date,@_lineexp,@_accountcode,@_invoiceno,1,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname)
SET @_recid = @_recid+1; SET @_recid = @_recid+1;
INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit-@_remaining,@_date,'PARÇALANDI : '+@_lineexp,@_accountcode,@_invoiceno,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname) INSERT INTO #tempresults VALUES(@_recid,@_sign,@_debit,@_credit-@_remaining,@_date,'PAR<EFBFBD>ALANDI : '+@_lineexp,@_accountcode,@_invoiceno,0,0,0,0,0,0,0,0,0,0,0,0,0,0,@_accountname)
END END
IF @_remaining=0 AND @_sign<>0 IF @_remaining=0 AND @_sign<>0
BEGIN 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) 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,0,@_accountname)
END END
IF @_sign=0 --debit iþlemi. deðiþtirmeden geç IF @_sign=0 --debit i<EFBFBD>lemi. de<EFBFBD>i<EFBFBD>tirmeden ge<EFBFBD>
BEGIN 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) 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,0,@_accountname)
END END
END END
@ -115,7 +117,8 @@ BEGIN
BEGIN BEGIN
UPDATE #tempresults UPDATE #tempresults
SET SET
OCAK = CASE WHEN @_month=1 THEN @_credit-@_remaining ELSE 0 END, ACILIS = CASE WHEN @_trcode=1 THEN @_credit-@_remaining ELSE 0 END,
OCAK = CASE WHEN @_month=1 and @_trcode<>1 THEN @_credit-@_remaining ELSE 0 END,
SUBAT = CASE WHEN @_month=2 THEN @_credit-@_remaining ELSE 0 END, SUBAT = CASE WHEN @_month=2 THEN @_credit-@_remaining ELSE 0 END,
MART = CASE WHEN @_month=3 THEN @_credit-@_remaining ELSE 0 END, MART = CASE WHEN @_month=3 THEN @_credit-@_remaining ELSE 0 END,
NISAN = CASE WHEN @_month=4 THEN @_credit-@_remaining ELSE 0 END, NISAN = CASE WHEN @_month=4 THEN @_credit-@_remaining ELSE 0 END,
@ -130,18 +133,19 @@ BEGIN
WHERE RECID=@_recid WHERE RECID=@_recid
END END
FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname FETCH NEXT FROM MY_CURSOR INTO @_sign,@_debit,@_credit,@_date,@_lineexp,@_accountcode,@_invoiceno,@_month,@_accountname,@_trcode
END END
CLOSE MY_CURSOR CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR DEALLOCATE MY_CURSOR
-- ÖZET -- <EFBFBD>ZET
SELECT ACCOUNTCODE,ACCOUNTNAME SELECT ACCOUNTCODE,ACCOUNTNAME
,SUM(DEBIT) AS BORÇ ,SUM(DEBIT) AS BORÇ
,SUM(CREDIT) AS ALACAK ,SUM(CREDIT) AS ALACAK
,SUM(DEBIT)-SUM(CREDIT) AS BAKIYE ,SUM(DEBIT)-SUM(CREDIT) AS BAKIYE
,SUM(ACILIS) as Acilis
,SUM(OCAK) as Ocak ,SUM(OCAK) as Ocak
,SUM(SUBAT) as Subat ,SUM(SUBAT) as Subat
,SUM(MART) as Mart ,SUM(MART) as Mart
@ -154,7 +158,7 @@ SELECT ACCOUNTCODE,ACCOUNTNAME
,SUM(EKIM) as Ekim ,SUM(EKIM) as Ekim
,SUM(KASIM) as Kasim ,SUM(KASIM) as Kasim
,SUM(ARALIK) as Aralik ,SUM(ARALIK) as Aralik
,((SUM(CREDIT)-SUM(DEBIT))-SUM(OCAK)-SUM(SUBAT)-SUM(MART)-SUM(NISAN)-SUM(MAYIS)-SUM(HAZIRAN)-SUM(TEMMUZ)-SUM(AGUSTOS) ,((SUM(CREDIT)-SUM(DEBIT))-SUM(ACILIS)-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 -SUM(EYLUL)-SUM(EKIM)-SUM(KASIM)-SUM(ARALIK)) AS SAGLAMA
from #tempresults from #tempresults
GROUP BY ACCOUNTCODE,ACCOUNTNAME GROUP BY ACCOUNTCODE,ACCOUNTNAME