1
|
|
2
|
ALTER PROCEDURE [dbo].[PAY_ENTRIES_POST_CASA_ByRefId]
|
3
|
@p_REF_ID VARCHAR(200) = NULL,
|
4
|
@p_BRANCH_ID VARCHAR(50) = NULL,
|
5
|
@RefNo VARCHAR(500) = NULL
|
6
|
AS
|
7
|
DECLARE @l_SUM_AMT DECIMAL,
|
8
|
@l_REF_NO VARCHAR(20),
|
9
|
@l_ASSET_ID VARCHAR(20);
|
10
|
DECLARE @l_TRN_TYPE VARCHAR(50) = '';
|
11
|
DECLARE @l_CASA_CR_ACCT VARCHAR(20) = '';
|
12
|
DECLARE @l_CASA_DR_ACCT VARCHAR(20) = '';
|
13
|
DECLARE @l_CASA_CR_ACCT_NAME NVARCHAR(500) = '';
|
14
|
DECLARE @l_CASA_DR_ACCT_NAME NVARCHAR(500) = '';
|
15
|
|
16
|
DECLARE @MW_ENTRI TABLE (ET_ID varchar(15), REF_NO varchar(20), TRN_ID varchar(15), REF_ID varchar(15), TRN_TYPE nvarchar(40), ENTRY_PAIR varchar(15), DO_BRN varchar(15), DRCR varchar(2), ACCT varchar(100), BRN_ID varchar(20), DEPT_ID varchar(15), AMT decimal(18, 2), CURRENCY varchar(20), EXC_RATE numeric(18, 2), EXP_TO_CORE varchar(1), TRN_DATE datetime, TRN_DESC nvarchar(1000), MAKER_ID varchar(15), CHECKER_ID varchar(15))
|
17
|
|
18
|
INSERT INTO @MW_ENTRI
|
19
|
SELECT * FROM PAY_ENTRIES_POST
|
20
|
WHERE TRN_ID = @p_REF_ID AND (DO_BRN = @p_BRANCH_ID OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '' ) AND (REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '')
|
21
|
|
22
|
--SELECT * FROM @MW_ENTRI
|
23
|
DECLARE @ENTRY_PAIR VARCHAR(100)
|
24
|
SET @ENTRY_PAIR = (SELECT TOP 1 ENTRY_PAIR FROM @MW_ENTRI WHERE LEN(ACCT)>9)--------------*********
|
25
|
DECLARE @GDV VARCHAR(50), @KSV VARCHAR(50)
|
26
|
SET @GDV = (SELECT TOP 1 MAKER_ID FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REF_ID)
|
27
|
SET @KSV =(SELECT TOP 1 CHECKER_ID FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REF_ID)
|
28
|
--SELECT @ENTRY_PAIR
|
29
|
DECLARE @TABLE_REF TABLE (REF_NO VARCHAR(50))
|
30
|
INSERT INTO @TABLE_REF SELECT DISTINCT REF_NO FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REF_ID AND (REF_NO =@RefNo OR @RefNo IS NULL OR @RefNo ='')
|
31
|
DECLARE @TABLE_RETURN TABLE (TRN_ID VARCHAR(15), PrintDate VARCHAR(25),SUM_AMT DECIMAL(18,0),SUM_stringMoney VARCHAR(100),CASA_CR_ACCT VARCHAR(20),
|
32
|
CASA_CR_ACCT_NAME VARCHAR(250), CASA_DR_ACCT VARCHAR(20),CASA_DR_ACCT_NAME NVARCHAR(250),REF_NO VARCHAR(50),TRN_DESC VARCHAR(250), G_D_V NVARCHAR(50),
|
33
|
K_S_V NVARCHAR(50), RATE VARCHAR(15), G_DV VARCHAR(35), DV_KD VARCHAR(50),TELL VARCHAR(50),SUP VARCHAR(50), DIR VARCHAR(50))
|
34
|
DECLARE @COUNT_SL INT, @REF_REFENCE VARCHAR(50)
|
35
|
SET @COUNT_SL =1
|
36
|
WHILE ((SELECT COUNT (*) FROM @TABLE_REF)>0)
|
37
|
BEGIN
|
38
|
SET @REF_REFENCE=(SELECT TOP 1 REF_NO FROM @TABLE_REF)
|
39
|
SET @COUNT_SL = @COUNT_SL+1
|
40
|
INSERT INTO @TABLE_RETURN SELECT TOP 1 TRN_ID,ISNULL(FORMAT(TRN_DATE,'dd/MM/yyyy'),'') ,
|
41
|
(SELECT SUM (AMT)/2 FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND TRN_ID =@p_REF_ID),
|
42
|
REPLACE(dbo.ReadMoney((SELECT SUM (AMT) /2 FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND TRN_ID =@p_REF_ID)),' ',' '),
|
43
|
(SELECT TOP 1 ACCT FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND LEN(ACCT) >9 AND DRCR ='C' AND TRN_ID =@p_REF_ID),
|
44
|
[dbo].[FN_GET_ACC_NAME_PAY]((SELECT TOP 1 ACCT FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND LEN(ACCT) >9 AND DRCR ='C' AND TRN_ID =@p_REF_ID)),
|
45
|
(SELECT TOP 1 ACCT FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND LEN(ACCT) >9 AND DRCR ='D' AND TRN_ID =@p_REF_ID),
|
46
|
[dbo].[FN_GET_ACC_NAME_PAY]((SELECT TOP 1 ACCT FROM PAY_ENTRIES_POST WHERE REF_NO =@REF_REFENCE AND LEN(ACCT) >9 AND DRCR ='D' AND TRN_ID =@p_REF_ID)),@REF_REFENCE, UPPER(TRN_DESC) ,
|
47
|
CHAR(10) + dbo.fChuyenCoDauThanhKhongDau((SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME =@GDV)),CHAR(10) + dbo.fChuyenCoDauThanhKhongDau((SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME =@KSV)),
|
48
|
'1', UPPER(@GDV),'HOI SO','Teller', 'Supervisor', 'Director'
|
49
|
FROM PAY_ENTRIES_POST WHERE TRN_ID =@p_REF_ID AND REF_NO =@REF_REFENCE
|
50
|
DELETE FROM @TABLE_REF WHERE REF_NO =@REF_REFENCE
|
51
|
END
|
52
|
SELECT * FROM @TABLE_RETURN
|
53
|
--SELECT MAX(KQ.TRN_ID) AS TRN_ID , MAX(KQ.PrintDate) AS PrintDate, SUM(KQ.SUM_AMT) AS SUM_AMT, MAX(KQ.SUM_stringMoney) AS SUM_stringMoney, MAX(KQ.CASA_CR_ACCT) AS CASA_CR_ACCT,
|
54
|
--MAX(KQ.CASA_CR_ACCT_NAME) AS CASA_CR_ACCT_NAME,MAX(KQ.CASA_DR_ACCT) AS CASA_DR_ACCT,MAX(KQ.CASA_DR_ACCT_NAME) AS CASA_DR_ACCT_NAME, KQ.REF_NO, MAX(KQ.TRN_DESC) AS TRN_DESC, MAX(KQ.MAKER_ID) AS [USER_NAME]
|
55
|
--FROM
|
56
|
--(
|
57
|
--SELECT A.TRN_ID,
|
58
|
-- convert(varchar(10),DAY(A.TRN_DATE))+N'/'+convert(varchar(10),MONTH(A.TRN_DATE)) +N'/'+convert(varchar(10),YEAR(A.TRN_DATE)) AS PrintDate,
|
59
|
-- A.SUM_AMT,
|
60
|
-- A.SUM_stringMoney,
|
61
|
-- C.CR_ACCT AS CASA_CR_ACCT, C.CASA_CR_ACCT_NAME,
|
62
|
-- B.DR_ACCT AS CASA_DR_ACCT, B.CASA_DR_ACCT_NAME,
|
63
|
-- D.TRN_DESC,
|
64
|
-- D.REF_NO,
|
65
|
-- '' AS REF_NO_SUM,
|
66
|
-- A.MAKER_ID
|
67
|
--FROM
|
68
|
--(
|
69
|
-- SELECT A.TRN_ID,
|
70
|
-- CONVERT(DATE,A.TRN_DATE,103) TRN_DATE,
|
71
|
-- SUM(A.AMT) AS SUM_AMT,
|
72
|
-- dbo.ReadMoney(SUM(A.AMT)) AS SUM_stringMoney,
|
73
|
-- A.MAKER_ID
|
74
|
-- FROM @MW_ENTRI A
|
75
|
-- WHERE DRCR = 'D'
|
76
|
-- GROUP BY A.TRN_ID, CONVERT(DATE,A.TRN_DATE,103), A.REF_NO,A.MAKER_ID
|
77
|
--) AS A
|
78
|
--LEFT JOIN
|
79
|
--(
|
80
|
-- SELECT TOP 1 A.REF_NO, A.TRN_ID, A.ACCT DR_ACCT, [dbo].[FN_GET_ACC_NAME_PAY](A.ACCT) AS CASA_DR_ACCT_NAME
|
81
|
-- FROM @MW_ENTRI A
|
82
|
-- WHERE LEN(A.ACCT) > 9 AND A.DRCR = 'D' AND ENTRY_PAIR = @ENTRY_PAIR
|
83
|
-- GROUP BY A.REF_NO
|
84
|
-- ) AS B ON B.TRN_ID = A.TRN_ID
|
85
|
--LEFT JOIN
|
86
|
--(
|
87
|
-- SELECT TOP 1 A.REF_NO, A.TRN_ID, A.ACCT CR_ACCT, [dbo].[FN_GET_ACC_NAME_PAY](A.ACCT) CASA_CR_ACCT_NAME
|
88
|
-- FROM @MW_ENTRI A
|
89
|
-- WHERE LEN(A.ACCT) > 9 AND A.DRCR = 'C' AND ENTRY_PAIR = @ENTRY_PAIR
|
90
|
-- GROUP BY A.REF_NO
|
91
|
-- ) AS C ON C.TRN_ID = A.TRN_ID
|
92
|
--LEFT JOIN
|
93
|
--(
|
94
|
-- SELECT TOP 100 A.TRN_DESC, A.TRN_ID, A.REF_NO
|
95
|
-- FROM @MW_ENTRI A
|
96
|
-- ) AS D ON D.TRN_ID = A.TRN_ID
|
97
|
----LEFT JOIN
|
98
|
----(
|
99
|
---- SELECT STUFF((SELECT ', ' + C1.REF_NO
|
100
|
---- FROM @MW_ENTRI C1
|
101
|
---- WHERE C2.TRN_ID = C1.TRN_ID
|
102
|
---- GROUP BY C1.TRN_ID,C1.REF_NO
|
103
|
---- FOR XML PATH('')
|
104
|
---- ),1,1,'') AS REF_NO_SUM, C2.TRN_ID
|
105
|
---- FROM @MW_ENTRI C2
|
106
|
---- GROUP BY C2.TRN_ID, C2.REF_NO
|
107
|
----) AS E ON E.TRN_ID = A.TRN_ID
|
108
|
--) AS KQ
|
109
|
--GROUP BY KQ.REF_NO
|
110
|
|
111
|
|