Project

General

Profile

rpt_TR_REQUEST_DOC_DT_BYID.txt

Luc Tran Van, 10/22/2020 02:53 PM

 
1

    
2
 
3
ALTER PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_DT_ById]  
4
@P_REQ_ID varchar(15)  
5
AS  
6
 
7
DECLARE  
8
		@DETAIL_ID VARCHAR(15),  
9
		@l_QUANTITY numeric(18,0)=0, @l_QUANTITY_EXE decimal(18,0)=0, @l_QUANTITY_REMAIN decimal(18,0)=0,  
10
		@l_AMT numeric(18,0)=0, @l_AMT_EXE decimal(18,0)=0, @l_AMT_REMAIN decimal(18,0)=0,  
11
		@APPR VARCHAR(15),@APPR1 VARCHAR(15),@APPR2 VARCHAR(15),@APPR3 VARCHAR(15),@APPR4 VARCHAR(15),  
12
		@POS NVARCHAR(50),@POS1 NVARCHAR(50),@POS2 NVARCHAR(50),@POS3 NVARCHAR(50),@POS4 NVARCHAR(50),  
13
		@DATE NVARCHAR(50),@DATE1 NVARCHAR(50),@DATE2 NVARCHAR(50),@DATE3 NVARCHAR(50),@DATE4 NVARCHAR(50),  
14
		@FULLNAME NVARCHAR(100),@FULLNAME1 NVARCHAR(100),@FULLNAME2 NVARCHAR(100),@FULLNAME3 NVARCHAR(100),@FULLNAME4 NVARCHAR(100)  
15
 
16
		SET @APPR =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
17
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'  
18
		WHERE A.REQ_ID= @P_REQ_ID )  
19
		SET @FULLNAME = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR)  
20
		SET @POS =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR)  
21
		SET @DATE =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
22
		FROM PL_PROCESS A  
23
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID='APPNEW'  
24
		WHERE A.REQ_ID= @P_REQ_ID  
25
		ORDER BY A.APPROVE_DT DESC  
26
		)  
27
 
28
		SET @APPR1 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
29
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES =N'Nhân viên xử lý gửi phê duyệt'  
30
		WHERE A.REQ_ID= @P_REQ_ID )  
31
 
32
		SET @FULLNAME1 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR1)  
33
		SET @POS1 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR1)  
34
		SET @DATE1 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
35
		FROM PL_PROCESS A  
36
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES =N'Nhân viên xử lý gửi phê duyệt'  
37
		WHERE A.REQ_ID= @P_REQ_ID  
38
		ORDER BY A.APPROVE_DT DESC)  
39
 
40
		SET @APPR2 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
41
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES =N'Kiểm soát viên đã phê duyệt'  
42
		WHERE A.REQ_ID= @P_REQ_ID)  
43
		SET @FULLNAME2 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR2)  
44
		SET @POS2 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR2)  
45
		SET @DATE2 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
46
		FROM PL_PROCESS A  
47
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES = N'Kiểm soát viên đã phê duyệt'  
48
		WHERE A.REQ_ID= @P_REQ_ID  
49
		ORDER BY A.APPROVE_DT DESC)  
50
 
51
		SET @APPR3 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
52
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='DMMS' AND A.NOTES = N'Trưởng đơn vị đã phê duyệt'  
53
		WHERE A.REQ_ID= @P_REQ_ID)  
54
 
55
		SET @FULLNAME3 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR3)  
56
		SET @POS3 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR3)  
57
		SET @DATE3 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
58
		FROM PL_PROCESS A  
59
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES = N'Trưởng đơn vị đã phê duyệt' AND A.PROCESS_ID ='DMMS'  
60
		WHERE A.REQ_ID= @P_REQ_ID  
61
		ORDER BY A.APPROVE_DT DESC)  
62
		--  
63
		SET @APPR4 =(SELECT TOP 1 B.TLNANME FROM PL_PROCESS A  
64
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.PROCESS_ID ='GDK_PYC' AND A.NOTES = N'Giám đốc khối đã phê duyệt'  
65
		WHERE A.REQ_ID= @P_REQ_ID)  
66
		SET @FULLNAME4 = (SELECT TOP 1 TLFullName FROM TL_USER WHERE TLNANME = @APPR4)  
67
		SET @POS4 =(SELECT TOP 1 POS_NAME FROM CM_EMPLOYEE_LOG WHERE USER_DOMAIN =@APPR4)  
68
		SET @DATE4 =(SELECT TOP 1 ISNULL( FORMAT(A.APPROVE_DT,'dd/MM/yyyy,HH:mm:ss'),'')  
69
		FROM PL_PROCESS A  
70
		INNER JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME AND A.NOTES = N'Giám đốc khối đã phê duyệt' AND A.PROCESS_ID ='GDK_PYC'  
71
		WHERE A.REQ_ID= @P_REQ_ID  
72
		ORDER BY A.APPROVE_DT DESC)  
73
		--  
74
		SET @DETAIL_ID = (SELECT TOP 1 REQDT_ID FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@P_REQ_ID)  
75
		SELECT ROW_NUMBER() OVER (ORDER BY KQ.HH_NAME) AS STT, KQ.* FROM  
76
		(  
77
		SELECT TOP 1 HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.NOTES IS NOT NULL AND TRDT.NOTES <> '' THEN TRDT.NOTES ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,  
78
		ISNULL(TRDT.PRICE_ETM,0) AS PRICE_ETM,ISNULL(TRDT.TOTAL_AMT_ETM,0) AS TOTAL_AMT_ETM,ISNULL(TRDT.PRICE,0) AS PRICE,ISNULL(TRDT.TOTAL_AMT,0) AS TOTAL_AMT,  
79
		CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,  
80
		@FULLNAME AS DEP_NAME1,  
81
		@POS AS TP_NAME1,  
82
		@DATE AS TP_DATE_SIGN1,  
83
 
84
		@FULLNAME1 AS DEP_NAME2,  
85
		@POS1 AS TP_NAME2,  
86
		@DATE1 AS TP_DATE_SIGN2,  
87
 
88
		@FULLNAME2 AS DEP_NAME3,  
89
		@POS2 AS TP_NAME3,  
90
		@DATE2 AS TP_DATE_SIGN3,  
91
 
92
		@FULLNAME3 AS DEP_NAME4,  
93
		@POS3 AS TP_NAME4,  
94
		@DATE3 AS TP_DATE_SIGN4,  
95
 
96
		@FULLNAME4 AS DEP_NAME12,  
97
		@POS4 AS TP_NAME12,  
98
		@DATE4 AS TP_DATE_SIGN12  
99
 
100
		FROM dbo.TR_REQUEST_DOC_DT TRDT  
101
		LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID  
102
		LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID  
103
		LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID  
104
		LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID  
105
		LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID  
106
		WHERE REQ_DOC_ID=@P_REQ_ID  
107
		UNION  
108
		SELECT HT.HH_TYPE_NAME,HH.HH_NAME,TRDT.DESCRIPTION,CASE WHEN TRDT.NOTES IS NOT NULL AND TRDT.NOTES <> '' THEN TRDT.NOTES ELSE DT.UNIT_NAME END AS UNIT_NAME,TRDT.QUANTITY,TRDT.CURRENCY,  
109
		ISNULL(TRDT.PRICE_ETM,0) AS PRICE_ETM,ISNULL(TRDT.TOTAL_AMT_ETM,0) AS TOTAL_AMT_ETM,ISNULL(TRDT.PRICE,0) AS PRICE,ISNULL(TRDT.TOTAL_AMT,0) AS TOTAL_AMT,  
110
		CS.SUP_NAME, (SELECT ISNULL(FORMAT(TRDT.REQ_DT,'dd/MM/yyyy'),'')) REQ_DT,  
111
		'' AS DEP_NAME1,  
112
		'' AS TP_NAME1,  
113
		'' AS TP_DATE_SIGN1,  
114
		'' AS DEP_NAME2,  
115
		'' AS TP_NAME2,  
116
		'' AS TP_DATE_SIGN2,  
117
		'' AS DEP_NAME3,  
118
		'' AS TP_NAME3,  
119
		'' AS TP_DATE_SIGN3,  
120
		'' AS DEP_NAME4,  
121
		'' AS TP_NAME4,  
122
		'' AS TP_DATE_SIGN4,  
123
		'' AS DEP_NAME12,  
124
		'' AS TP_NAME12,  
125
		'' AS TP_DATE_SIGN12  
126
		FROM dbo.TR_REQUEST_DOC_DT TRDT  
127
		LEFT JOIN dbo.CM_HANGHOA HH ON HH.HH_ID=TRDT.HANGHOA_ID  
128
		LEFT JOIN dbo.CM_HANGHOA_TYPE HT ON HT.HH_TYPE_ID=HH.HH_TYPE_ID  
129
		LEFT JOIN dbo.CM_UNIT CU ON CU.UNIT_ID=HH.UNIT_ID  
130
		LEFT JOIN dbo.CM_SUPPLIER CS ON CS.SUP_ID=TRDT.SUP_ID  
131
		LEFT JOIN PL_REQUEST_DOC_DT DT ON TRDT.PL_REQDT_ID = DT.REQDT_ID  
132
		WHERE REQ_DOC_ID=@P_REQ_ID AND TRDT.REQDT_ID <> @DETAIL_ID  
133
		)  
134
AS KQ