Project

General

Profile

1.0 LUI NGAY PUR 2021 000575.txt

Luc Tran Van, 04/06/2021 08:31 AM

 
1

    
2
ALTER PROC [dbo].[TR_REQ_PAY_ENTRIES_ById]
3
@p_TRN_ID varchar(15) = NULL
4
AS
5
BEGIN
6
DECLARE @TABLE_RETURN TABLE (REQ_PAY_DT_ID VARCHAR(15),REQ_PAY_ID VARCHAR(15),FUNCTION_TYPE VARCHAR(15),REF_ID VARCHAR(15),ENTRY_PAIR VARCHAR(15),DR_CR VARCHAR(15),
7
DR_CR_NAME VARCHAR(15),ACCT VARCHAR(25),ACCT_NAME VARCHAR(100),BRANCH_ID VARCHAR(15),DEP_ID VARCHAR(15),AMT DECIMAL(18,0),CURRENCY VARCHAR(15),EXC_RATE INT,TRN_DATE DATETIME,TRN_DESC VARCHAR(150),
8
MAKER_ID VARCHAR(15),CREATE_DT DATETIME,AUTH_STATUS VARCHAR(1),CHECKER_ID VARCHAR(15),APPROVE_DT DATETIME,MAKER_ID_KT VARCHAR(15),CREATE_DT_KT VARCHAR(15),
9
AUTH_STATUS_KT VARCHAR(15),CHECKER_ID_KT VARCHAR(15),RECORD_STATUS VARCHAR(15),BRANCH_CODE VARCHAR(15),BRANCH_NAME VARCHAR(150),BR_FULLNAME VARCHAR(150),
10
DEP_CODE VARCHAR(15),DEP_NAME NVARCHAR(150),DP_FULLNAME VARCHAR(150))
11
DECLARE @TRN_DESC VARCHAR(100), @MAKER_ID VARCHAR(15), @MAKER_ID_KT VARCHAR(15), @CREATE_DT DATETIME
12
SET @TRN_DESC =(SELECT dbo.fChuyenCoDauThanhKhongDau(REQ_REASON) FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID)
13
SET @MAKER_ID =(SELECT MAKER_ID FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID)
14
SET @CREATE_DT =(SELECT CREATE_DT FROM TR_REQ_PAYMENT WHERE REQ_PAY_ID =@p_TRN_ID)
15

    
16
--IF(NOT EXISTS(SELECT * FROM TR_REQ_PAY_ENTRIES WHERE REQ_PAY_ID =@p_TRN_ID))
17
--BEGIN
18
--INSERT INTO @TABLE_RETURN VALUES ('',@p_TRN_ID,'PAY',@p_TRN_ID,'1','C',N'Có','06970410080980',N'TAI KHOAN HACH TOAN',(SELECT BRANCH_ID FROM CM_BRANCH WHERE BRANCH_CODE =(LEFT('06970410080980',3))),'',0,
19
--'VND',1.0,GETDATE(),@TRN_DESC,@MAKER_ID,@CREATE_DT,'U','',NULL,'',NULL,'','','1',(SELECT BRANCH_CODE FROM CM_BRANCH WHERE BRANCH_CODE =(LEFT('06970410080980',3))),
20
--(SELECT BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_CODE =(LEFT('06970410080980',3))),'FULLNAME','','','')
21
--SELECT * FROM @TABLE_RETURN
22
--END
23
--ELSE
24
--BEGIN
25
	SELECT A.REQ_PAY_DT_ID, A.REQ_PAY_ID,A.FUNCTION_TYPE,A.REF_ID,A.ENTRY_PAIR,A.DR_CR,A.DR_CR_NAME,A.ACCT,ISNULL(C.ACC_NAME,'') AS ACCT_NAME,A.BRANCH_ID,A.DEP_ID,A.AMT,A.CURRENCY,A.EXC_RATE,A.TRN_DATE,A.TRN_DESC,
26
	A.MAKER_ID,A.CREATE_DT,A.AUTH_STATUS,A.CHECKER_ID,A.APPROVE_DT,A.MAKER_ID_KT,A.CREATE_DT_KT,A.AUTH_STATUS_KT,A.CHECKER_ID_KT,A.RECORD_STATUS
27
	, BR.BRANCH_CODE, BR.BRANCH_NAME, BR.BRANCH_CODE+' - '+ BR.BRANCH_NAME AS BR_FULLNAME,
28
	DP.DEP_CODE, DP.DEP_NAME, DP.DEP_CODE+ ' - '+ DP.DEP_NAME AS DP_FULLNAME, R.REF_NO AS REF_NO
29
	FROM TR_REQ_PAY_ENTRIES A
30
	LEFT JOIN CM_BRANCH BR ON A.BRANCH_ID = BR.BRANCH_ID
31
	LEFT JOIN CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID
32
	LEFT JOIN CM_ACCOUNT C ON A.ACCT = C.ACC_NO
33
	LEFT JOIN 
34
	(
35
	SELECT MAX(REF_NO) AS REF_NO, ENTRY_PAIR,TRN_ID FROM PAY_ENTRIES_POST
36
	GROUP BY ENTRY_PAIR, TRN_ID
37
	) R ON A.ENTRY_PAIR = R.ENTRY_PAIR AND A.REQ_PAY_ID = R.TRN_ID
38
	WHERE A.REQ_PAY_ID =@p_TRN_ID
39
	ORDER BY A.ENTRY_PAIR ASC, A.DR_CR DESC
40

    
41
--END
42
END
43
¿
44
ALTER PROCEDURE [dbo].[PAY_ENTRIES_POST_ByRefId] 
45
@p_REF_ID VARCHAR(200) = NULL, 
46
@p_BRANCH_ID VARCHAR(50) = NULL, 
47
@RefNo VARCHAR(500) = NULL
48
AS
49
-- LUCTV 03062020 BO SUNG BANG MAP GL
50
DECLARE  @TABLE_MAP_GL TABLE (ACCT VARCHAR(100), TL_GL VARCHAR(100), GL_NAME VARCHAR(1000))
51
INSERT INTO @TABLE_MAP_GL SELECT ACC_NO, TK_GL, TK_GL_NAME FROM CM_ACCOUNT
52
--INSERT INTO @TABLE_MAP_GL SELECT ACC_NUM, TK_GL, TK_GL_NAME FROM CM_ACCOUNT_PAY
53
--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
54
--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
55
---
56
SELECT A.REF_NO, MAX(A.DR_ACCT) AS DR_ACCT, MAX(A.DR_ACCT_NAME) AS DR_ACCT_NAME,
57
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,
58
MAX(A.DRCR) AS DRCR,  REPLACE (FORMAT (SUM(A.AMT),'#,###'),',','.') +',00 VND' AS AMT
59
FROM
60
(
61
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, 
62
(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
63
FROM PAY_ENTRIES_POST A
64
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
65
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
66
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '') 
67
AND LEN(A.ACCT) <= 9
68
--ORDER BY A.ENTRY_PAIR, A.DRCR DESC
69

    
70
UNION 
71

    
72
SELECT A.AMT, GL.TL_GL +' '+ BR.BRANCH_CODE  AS DR_ACCT, GL.GL_NAME AS DR_ACCT_NAME, '' DR_BRN, 
73
(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
74
FROM PAY_ENTRIES_POST A
75
INNER JOIN @TABLE_MAP_GL GL ON A.ACCT = GL.ACCT
76
LEFT JOIN CM_BRANCH BR ON A.BRN_ID = BR.BRANCH_ID
77
LEFT JOIN CM_DEPARTMENT DP ON A.DEPT_ID = DP.DEP_ID
78
WHERE A.TRN_ID = @p_REF_ID AND (A.REF_NO = @RefNo OR @RefNo IS NULL OR @RefNo = '') 
79
AND LEN(A.ACCT) > 9
80
) A
81
--ORDER BY A.ENTRY_PAIR, A.DRCR,A.REF_NO
82
GROUP BY A.REF_NO, A.DR_ACCT, A.DRCR, A.DR_BRN,A.DEPT_ID
83
ORDER BY A.DRCR DESC, A.DR_ACCT DESC
84

    
85
--DECLARE @ENT_TEMP TABLE (ID INT,REF_ID VARCHAR(15), CR_ACCT VARCHAR(50), CR_BRN VARCHAR(15), DR_ACCT VARCHAR(50), DR_BRN VARCHAR(15), AMT DECIMAL(18,0), TRN_DESC NVARCHAR(500), ASSET_ID VARCHAR(15))
86
--DECLARE @ENT_TEMP_ROOT TABLE (ID INT,REF_ID VARCHAR(15), CR_ACCT VARCHAR(50), CR_BRN VARCHAR(15), DR_ACCT VARCHAR(50), DR_BRN VARCHAR(15), AMT DECIMAL(18,0), TRN_DESC NVARCHAR(500), ASSET_ID VARCHAR(15),DR_NAME NVARCHAR(500), CR_NAME NVARCHAR(500))
87
--DECLARE @TRN_DESC NVARCHAR(500) = '', @TRN_TYPE VARCHAR(50)
88

    
89
----------------------------LAY DANH SACH BUT TOAN -- LU VAO BANG DU LIEU GOC--------------------------
90
--INSERT INTO @ENT_TEMP_ROOT SELECT Row_number() over(order by A.CR_ACCT),'',A.CR_ACCT, B.BRANCH_CODE CR_BRN, A.DR_ACCT, C.BRANCH_CODE DR_BRN, SUM(A.AMT) AS AMT,@TRN_DESC, A.MAST_PRICE_ID AS ASSET_ID,NULL, NULL
91
--FROM MW_ENTRIES_POST A
92
--LEFT JOIN CM_BRANCH B ON A.CR_BRN = B.BRANCH_ID
93
--LEFT JOIN CM_BRANCH C ON A.DR_BRN = C.BRANCH_ID
94
--WHERE TRN_ID = @p_REF_ID AND (A.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 = '')
95
--GROUP BY A.CR_ACCT, B.BRANCH_CODE, A.DR_ACCT, C.BRANCH_CODE,A.MAST_PRICE_ID
96
----ORDER BY LEN(CR_ACCT)
97

    
98
----select * from @ENT_TEMP_ROOT
99
----DECLARE @COUNT INT = (SELECT COUNT(*) - COUNT(DISTINCT ASSET_ID) FROM ASS_ENTRIES_POST WHERE TRN_ID = @p_REF_ID)
100

    
101
----IF (SELECT COUNT(DISTINCT TRN_TYPE) FROM MW_ENTRIES_POST WHERE TRN_ID = @p_REF_ID) > 1
102
----SET @TRN_TYPE = 'ADD_NEW'
103
----ELSE
104
----SET @TRN_TYPE = (SELECT TOP 1 TRN_TYPE FROM ASS_ENTRIES_POST WHERE TRN_ID = @p_REF_ID )
105
------------------------------TACH 1 DONG DU LIEU THANH 2 DONG NAM LIEN KE NHAU DE BINDING WORD--------------------------
106
---------LAY TAI KHOAN GL TUONG UNG CASA TRONG CM_BRANCH
107
--UPDATE @ENT_TEMP_ROOT SET CR_ACCT = B.TEL, CR_NAME = B.PROVICE
108
--FROM CM_BRANCH B
109
--INNER JOIN @ENT_TEMP_ROOT C ON C.CR_ACCT = B.DAO_CODE AND LEN(C.CR_ACCT)>9
110

    
111
--UPDATE @ENT_TEMP_ROOT SET DR_ACCT = B.TEL, DR_NAME = B.PROVICE
112
--FROM CM_BRANCH B
113
--INNER JOIN @ENT_TEMP_ROOT C ON C.DR_ACCT = B.DAO_CODE AND LEN(C.DR_ACCT)>9
114

    
115
----IF @TRN_TYPE = 'ADD_NEW'  OR @TRN_TYPE = 'ASS_USE' OR @TRN_TYPE='ASS_TRANSFER' 
116
----BEGIN
117
--	SELECT SUM(AG.AMT) AMT, AG.DR_ACCT, AG.DR_ACCT_NAME, AG.DR_BRN, AG.ACCT,SUM(REF_ID) REF_ID, AG.DR_D DR_D
118
--	FROM
119
--	(
120
--		SELECT A.AMT, A.DR_ACCT AS DR_ACCT, ISNULL(A.DR_NAME,[dbo].[FN_GET_ACC_NAME](A.DR_ACCT)) AS DR_ACCT_NAME, '' AS DR_BRN, N'Nợ/Debit' AS ACCT,ID AS REF_ID, A.DR_BRN AS DR_D
121
--		FROM @ENT_TEMP_ROOT A
122
--		--WHERE LEN(A.DR_ACCT) <= 9
123
--		UNION 
124
--		SELECT A.AMT, A.CR_ACCT AS DR_ACCT, ISNULL(A.CR_NAME,[dbo].[FN_GET_ACC_NAME](A.CR_ACCT)) AS DR_ACCT_NAME, '' AS DR_BRN, N'Có/Credit' AS ACCT,ID AS REF_ID, A.CR_BRN AS DR_D
125
--		FROM @ENT_TEMP_ROOT A
126
--		--WHERE LEN(A.CR_ACCT) <= 9
127
--		--ORDER BY ID, ACCT DESC
128
--	) AG
129
--	GROUP BY AG.DR_ACCT, AG.DR_ACCT_NAME,AG.DR_BRN,AG.DR_ACCT,AG.ACCT, AG.DR_D
130
--	ORDER BY SUM(REF_ID), AG.ACCT DESC
131
----END
132
----ELSE
133
----BEGIN
134
----	--IF LEFT(@p_REF_ID,4) = 'ASSL'--THANH LY TAI SAN
135
----	SELECT SUM(AG.AMT) AMT, AG.DR_ACCT, AG.DR_ACCT_NAME, AG.DR_BRN, AG.ACCT,SUM(REF_ID) REF_ID, AG.DR_D DR_D
136
----	FROM
137
----	(
138
----		SELECT A.AMT, A.DR_ACCT AS DR_ACCT, [dbo].[FN_GET_ACC_NAME](A.DR_ACCT) AS DR_ACCT_NAME, A.ASSET_ID AS DR_BRN, N'Nợ/Debit' AS ACCT,ID AS REF_ID, A.DR_BRN AS DR_D
139
----		FROM @ENT_TEMP_ROOT A
140
----		UNION 
141
----		SELECT A.AMT, A.CR_ACCT AS DR_ACCT, [dbo].[FN_GET_ACC_NAME](A.CR_ACCT) AS DR_ACCT_NAME, A.ASSET_ID AS DR_BRN, N'Có/Credit' AS ACCT,ID AS REF_ID, A.CR_BRN AS DR_D
142
----		FROM @ENT_TEMP_ROOT A
143
----	--ORDER BY ID, ACCT DESC
144
----	) AG
145
----	GROUP BY AG.DR_ACCT, AG.DR_ACCT_NAME,AG.DR_BRN,AG.DR_ACCT,AG.ACCT, AG.DR_D
146
----	ORDER BY AG.DR_BRN, AG.ACCT DESC
147
----END
148

    
149
--DELETE @ENT_TEMP
150
--DELETE @ENT_TEMP_ROOT
151
--------------------------DONE--------------------------
152
¿
153
DECLARE @REQ_ID VARCHAR(15), @DATE DATETIME
154
SET @DATE ='2021-03-23 12:00:00 AM'
155
SET @REQ_ID =(SELECT REQ_ID FROM TR_REQUEST_DOC WHERE REQ_CODE ='PUR/2021/000575')
156
UPDATE PL_PROCESS SET APPROVE_DT =@DATE WHERE REQ_ID =@REQ_ID
157
UPDATE TR_REQUEST_DOC SET REQ_DT =@DATE, APPROVE_DT =@DATE WHERE REQ_ID =@REQ_ID
158
¿
159

    
160