Project

General

Profile

IN HACH TOAN.txt

Luc Tran Van, 03/18/2021 03:23 PM

 
1
ALTER PROCEDURE [dbo].[PAY_ENTRIES_POST_ByRefId] 
2
@p_REF_ID VARCHAR(200) = NULL, 
3
@p_BRANCH_ID VARCHAR(50) = NULL, 
4
@RefNo VARCHAR(500) = NULL
5
AS
6
-- LUCTV 03062020 BO SUNG BANG MAP GL
7
DECLARE  @TABLE_MAP_GL TABLE (ACCT VARCHAR(100), TL_GL VARCHAR(100), GL_NAME VARCHAR(1000))
8
INSERT INTO @TABLE_MAP_GL SELECT ACC_NO, TK_GL, TK_GL_NAME FROM CM_ACCOUNT
9
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM, TK_GL, TK_GL_NAME FROM CM_ACCOUNT_PAY
10
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM, (SELECT ParaValue FROM  SYS_PARAMETERS WHERE ParaKey ='NCC_GL'), (SELECT Description FROM  SYS_PARAMETERS WHERE ParaKey ='NCC_GL') FROM CM_SUPPLIER
11
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM_OUT, (SELECT ParaValue FROM  SYS_PARAMETERS WHERE ParaKey ='NCC_GL_O'), (SELECT Description FROM  SYS_PARAMETERS WHERE ParaKey ='NCC_GL_O') FROM CM_SUPPLIER
12
---
13
SELECT A.REF_NO, MAX(A.DR_ACCT) AS DR_ACCT, MAX(A.DR_ACCT_NAME) AS DR_ACCT_NAME,
14
MAX(A.DR_BRN) AS DR_BRN,MAX(A.DR_D) AS DR_D, MAX(A.ACCT) AS ACCT, MAX(A.REF_ID) AS REF_ID, MAX(A.DR_D) AS DR_D, MAX(A.ENTRY_PAIR) AS ENTRY_PAIR,
15
MAX(A.DRCR) AS DRCR,  REPLACE (FORMAT (SUM(A.AMT),'#,###'),',','.') +',00 VND' AS AMT
16
FROM
17
(
18
SELECT A.AMT, A.ACCT +' '+ BR.BRANCH_CODE AS DR_ACCT, [dbo].[FN_GET_ACC_NAME_PAY](A.ACCT) AS DR_ACCT_NAME, '' DR_BRN, 
19
(CASE WHEN A.DRCR = 'D' THEN N'Nợ/Debit' ELSE N'Có/Credit' END) AS ACCT, '' AS REF_ID, ISNULL(DP.DEP_CODE,'') AS DR_D, A.ENTRY_PAIR,A.DRCR,A.REF_NO,A.DEPT_ID
20
FROM PAY_ENTRIES_POST A
21
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
22
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
23
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '') 
24
AND LEN(A.ACCT) <= 9
25
--ORDER BY A.ENTRY_PAIR, A.DRCR DESC
26

    
27
UNION 
28

    
29
SELECT A.AMT, GL.TL_GL +' '+ BR.BRANCH_CODE  AS DR_ACCT, GL.GL_NAME AS DR_ACCT_NAME, '' DR_BRN, 
30
(CASE WHEN A.DRCR = 'D' THEN N'Nợ/Debit' ELSE N'Có/Credit' END) AS ACCT, '' AS REF_ID, ISNULL(DP.DEP_CODE,'') AS DR_D,A.ENTRY_PAIR,A.DRCR,A.REF_NO,A.DEPT_ID
31
FROM PAY_ENTRIES_POST A
32
INNER JOIN @TABLE_MAP_GL GL ON A.ACCT = GL.ACCT
33
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
34
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
35
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '') 
36
AND LEN(A.ACCT) > 9
37
) A
38
--ORDER BY A.ENTRY_PAIR, A.DRCR,A.REF_NO
39
GROUP BY A.REF_NO, A.DR_ACCT, A.DRCR, A.DR_BRN,A.DEPT_ID
40
ORDER BY A.DRCR DESC