Project

General

Profile

[rpt_TR_REQUEST_DOC_ReportPrice10To100M].txt

Luc Tran Van, 03/31/2023 02:23 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_ReportPrice10To100M]  
3
@p_REQ_ID varchar(15)  
4
AS  
5
 
6
	----Nhà cung cấp-------
7
	SELECT DISTINCT A.SUPPLIER_1, A.SUPPLIER_2, A.SUPPLIER_3, A.SUPPLIER_4, A.SUPPLIER_5
8
	FROM TR_REQ_DOC_XETGIA_DUOI_100M_DT A
9
	LEFT JOIN TR_REQ_DOC_XETGIA_DUOI_100M B ON A.RECORD_MASTER_ID = B.RECORD_ID
10
	WHERE B.REQ_DOC_ID = @p_REQ_ID
11

    
12
	-------Thông tin chi tiết xét giá-----------
13
	SELECT ROW_NUMBER() OVER (ORDER BY RESULT.RECORD_DT_ID) AS STT, RESULT.* FROM  
14
	(   
15
		SELECT 
16
		A.RECORD_DT_ID,
17
		A.GOOD_NAME,
18
		A.TECH_SPECIFICATION,
19
		A.UNIT,
20
		A.QUANTITY,
21
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_1)) 
22
		AS UNIT_PRICE_1,
23
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_1)) 
24
		AS TOTAL_AMT_1,
25
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_2)) 
26
		AS UNIT_PRICE_2,
27
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_2)) 
28
		AS TOTAL_AMT_2,
29
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_3)) 
30
		AS UNIT_PRICE_3,
31
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_3)) 
32
		AS TOTAL_AMT_3,
33
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_4)) 
34
		AS UNIT_PRICE_4,
35
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_4)) 
36
		AS TOTAL_AMT_4,
37
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_5)) 
38
		AS UNIT_PRICE_5,
39
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_5)) 
40
		AS TOTAL_AMT_5
41

    
42
		FROM TR_REQ_DOC_XETGIA_DUOI_100M_DT A
43
		LEFT JOIN TR_REQ_DOC_XETGIA_DUOI_100M B ON A.RECORD_MASTER_ID = B.RECORD_ID
44
		WHERE B.REQ_DOC_ID = @p_REQ_ID
45
	) 
46
	AS RESULT
47
	
48
	-------Thành tiền trước thuế-----------
49
	SELECT
50
	--CAST(ISNULL(SUM(A.TOTAL_AMT_1),0) AS DECIMAL(18,2)) 
51
	--AS SUM_TOTAL_AMT_1,
52
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_1),0))) 
53
	AS SUM_TOTAL_AMT_1,
54
	--CAST(ISNULL(SUM(A.TOTAL_AMT_2),0) AS DECIMAL(18,2)) 
55
	--AS SUM_TOTAL_AMT_2,
56
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_2),0))) 
57
	AS SUM_TOTAL_AMT_2,
58
	--CAST(ISNULL(SUM(A.TOTAL_AMT_3),0) AS DECIMAL(18,2)) 
59
	--AS SUM_TOTAL_AMT_3,
60
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_3),0))) 
61
	AS SUM_TOTAL_AMT_3,
62
	--CAST(ISNULL(SUM(A.TOTAL_AMT_4),0) AS DECIMAL(18,2)) 
63
	--AS SUM_TOTAL_AMT_4,
64
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_4),0))) 
65
	AS SUM_TOTAL_AMT_4,
66
	--CAST(ISNULL(SUM(A.TOTAL_AMT_5),0) AS DECIMAL(18,2)) 
67
	--AS SUM_TOTAL_AMT_5
68
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_5),0))) 
69
	AS SUM_TOTAL_AMT_5
70

    
71
	FROM TR_REQ_DOC_XETGIA_DUOI_100M_DT A
72
	LEFT JOIN TR_REQ_DOC_XETGIA_DUOI_100M B ON A.RECORD_MASTER_ID = B.RECORD_ID
73
	WHERE B.REQ_DOC_ID = @p_REQ_ID
74

    
75
	-------số tiền thuế----------
76
	SELECT
77
	--CAST(ISNULL(SUM(A.VAT_AMT_1),0) AS DECIMAL(18,2)) 
78
	--AS VAT_TOTAL_AMT_1,
79
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_1 * A.QUANTITY),0))) 
80
	AS VAT_TOTAL_AMT_1,
81
	--CAST(ISNULL(SUM(A.VAT_AMT_2),0) AS DECIMAL(18,2)) 
82
	--AS VAT_TOTAL_AMT_2,
83
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_2 * A.QUANTITY),0))) 
84
	AS VAT_TOTAL_AMT_2,
85
	--CAST(ISNULL(SUM(A.VAT_AMT_3),0) AS DECIMAL(18,2)) 
86
	--AS VAT_TOTAL_AMT_3,
87
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_3 * A.QUANTITY),0))) 
88
	AS VAT_TOTAL_AMT_3,
89
	--CAST(ISNULL(SUM(A.VAT_AMT_4),0) AS DECIMAL(18,2)) 
90
	--AS VAT_TOTAL_AMT_4,
91
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_4 * A.QUANTITY),0))) 
92
	AS VAT_TOTAL_AMT_4,
93
	--CAST(ISNULL(SUM(A.VAT_AMT_5),0) AS DECIMAL(18,2)) 
94
	--AS VAT_TOTAL_AMT_5
95
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_5 * A.QUANTITY),0))) 
96
	AS VAT_TOTAL_AMT_5
97

    
98
	FROM TR_REQ_DOC_XETGIA_DUOI_100M_DT A
99
	LEFT JOIN TR_REQ_DOC_XETGIA_DUOI_100M B ON A.RECORD_MASTER_ID = B.RECORD_ID
100
	LEFT JOIN TR_REQUEST_DOC C ON B.REQ_DOC_ID = C.REQ_ID
101
	WHERE B.REQ_DOC_ID = @p_REQ_ID
102

    
103
	-------thành tiền sau thuế------------
104
	SELECT
105
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_1), 0) 
106
	--AS TOTAL_AMT_AFTER_VAT_1,
107
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_1),0))) 
108
	AS TOTAL_AMT_AFTER_VAT_1,
109
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_2), 0) 
110
	--AS TOTAL_AMT_AFTER_VAT_2,
111
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_2),0))) 
112
	AS TOTAL_AMT_AFTER_VAT_2,
113
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_3), 0)
114
	--AS TOTAL_AMT_AFTER_VAT_3,
115
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_3),0))) 
116
	AS TOTAL_AMT_AFTER_VAT_3,
117
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_4), 0)
118
	--AS TOTAL_AMT_AFTER_VAT_4,
119
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_4),0))) 
120
	AS TOTAL_AMT_AFTER_VAT_4,
121
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_5), 0)
122
	--AS TOTAL_AMT_AFTER_VAT_5
123
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_5),0))) 
124
	AS TOTAL_AMT_AFTER_VAT_5
125

    
126
	FROM TR_REQ_DOC_XETGIA_DUOI_100M_DT A
127
	LEFT JOIN TR_REQ_DOC_XETGIA_DUOI_100M B ON A.RECORD_MASTER_ID = B.RECORD_ID
128
	LEFT JOIN TR_REQUEST_DOC C ON B.REQ_DOC_ID = C.REQ_ID
129
	WHERE B.REQ_DOC_ID = @p_REQ_ID
130

    
131
	-----Tên đơn vị DMMS--------
132
	--SELECT N'Trưởng ĐMMS ' + RESULT.DVDM_NAME + ' ' + RESULT.DVDM_BRANCH AS DMMS_TITLE
133
	--FROM(
134
	--	SELECT
135
	--	CASE
136
	--		----TH có DMMS---
137
	--		WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN CD.DVDM_NAME
138
	--		---TH DMMS là đơn vị tạo---
139
	--		ELSE BR.BRANCH_NAME
140
	--	END AS DVDM_NAME,
141
	--	CASE
142
	--		---Nếu DMMS nằm trong hội sở
143
	--		WHEN CD.DVDM_NAME IS NOT NULL AND CD.DVDM_NAME <> '' THEN N'Hội sở'
144
	--		ELSE ''
145
	--	END AS DVDM_BRANCH
146
	--	FROM PL_REQUEST_PROCESS PL
147
	--	LEFT JOIN CM_DVDM CD ON CD.DVDM_ID=PL.DVDM_ID
148
	--	LEFT JOIN CM_BRANCH BR ON PL.DVDM_ID = BR.BRANCH_ID
149
	--	WHERE PL.REQ_ID = @p_REQ_ID
150
	--) AS RESULT
151
	--WHERE RESULT.DVDM_NAME IS NOT NULL
152
	
153
	---------------Kết luận + ghi chú-----------------------
154
	SELECT A.CONCLUSION, A.NOTES, 
155
	CASE WHEN ISNULL(A.NOTES, '') <> '' THEN 'Ghi chú:'
156
	ELSE ''
157
	END
158
	AS TITLE_NOTES
159
	FROM TR_REQ_DOC_XETGIA_DUOI_100M A
160
	LEFT JOIN TR_REQUEST_DOC B ON A.REQ_DOC_ID = B.REQ_ID
161
	WHERE A.REQ_DOC_ID = @p_REQ_ID
162

    
163
	----------------------CHỮ KÝ-----------------------------
164
	DECLARE @t_SIGN_TABLE TABLE(APPROVE_DT VARCHAR(30), SIGN_NAME NVARCHAR(50), TYPE VARCHAR(15))
165
	DECLARE @p_APPROVE_DT_KSV VARCHAR(25), @p_KSV_NAME NVARCHAR(50), --KSV
166
			@p_APPROVE_DT_GDDV VARCHAR(25), @p_GDDV_NAME NVARCHAR(50) --GDDV
167

    
168
	INSERT INTO @t_SIGN_TABLE
169
		-----------------KSV DMMS----------------
170
		SELECT TOP 1 ISNULL(FORMAT(D.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT, 
171
		C.TLFullName AS SIGN_NAME,
172
		'KSV' AS TYPE
173
		FROM PL_REQUEST_PROCESS_CHILD A
174
		LEFT JOIN PL_REQUEST_PROCESS B ON A.PROCESS_ID = B.ID
175
		LEFT JOIN TL_USER C ON A.TLNAME = C.TLNANME
176
		LEFT JOIN PL_PROCESS D ON B.REQ_ID = D.REQ_ID AND A.TLNAME = D.CHECKER_ID
177
		WHERE B.REQ_ID = @p_REQ_ID
178
		AND A.TYPE_JOB = 'KS'
179
		AND A.STATUS_JOB = 'P'
180
		AND B.PROCESS_ID = 'DMMS'
181
		ORDER BY D.ID DESC
182

    
183
	INSERT INTO @t_SIGN_TABLE
184
		---------------Trưởng đơn vị DMMS------------
185
		SELECT 
186
		DISTINCT ISNULL(FORMAT(A.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT,
187
		B.TLFullName AS SIGN_NAME,
188
		'GDDV' AS TYPE
189
		FROM PL_REQUEST_PROCESS A
190
		LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
191
		WHERE A.REQ_ID = @p_REQ_ID
192
		AND A.PROCESS_ID = 'DMMS'
193
		AND A.STATUS = 'P'
194

    
195
	------KSV DMMS-----
196
	SET @p_APPROVE_DT_KSV = (SELECT A.APPROVE_DT FROM @t_SIGN_TABLE A WHERE A.TYPE = 'KSV')
197
	SET @p_KSV_NAME = (SELECT A.SIGN_NAME FROM @t_SIGN_TABLE A WHERE A.TYPE = 'KSV')
198
	------GDDV DMMS----
199
	SET @p_APPROVE_DT_GDDV = (SELECT A.APPROVE_DT FROM @t_SIGN_TABLE A WHERE A.TYPE = 'GDDV')
200
	SET @p_GDDV_NAME = (SELECT A.SIGN_NAME FROM @t_SIGN_TABLE A WHERE A.TYPE = 'GDDV')
201

    
202

    
203
	------------LẤY TÊN NG DUYỆT---------------
204
	SELECT	ISNULL(@p_KSV_NAME, '') AS KSV_NAME, 
205
			ISNULL(@p_GDDV_NAME,'') AS DMMS_NAME,
206
			CASE WHEN ISNULL(@p_APPROVE_DT_KSV, '') <> '' THEN N'KIỂM SOÁT VIÊN'
207
			ELSE '' END TITLE_KSV,
208
			CASE WHEN ISNULL(@p_APPROVE_DT_GDDV, '') <> '' THEN N'TRƯỞNG PHÒNG HÀNH CHÍNH'
209
			ELSE '' END TITLE_GDDV
210

    
211
	-------------LẤY NGÀY DUYỆT--------------
212
	SELECT	ISNULL(@p_APPROVE_DT_KSV, '') AS APPROVE_DT_KSV, 
213
			ISNULL(@p_APPROVE_DT_GDDV, '') AS APPROVE_DT_GDDV
214

    
215
	-------------KSV DMMS-------------------
216
	--SELECT TOP 1 ISNULL(FORMAT(D.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT, 
217
	--C.TLFullName AS KSV_NAME
218
	--FROM PL_REQUEST_PROCESS_CHILD A
219
	--LEFT JOIN PL_REQUEST_PROCESS B ON A.PROCESS_ID = B.ID
220
	--LEFT JOIN TL_USER C ON A.TLNAME = C.TLNANME
221
	--LEFT JOIN PL_PROCESS D ON B.REQ_ID = D.REQ_ID AND A.TLNAME = D.CHECKER_ID
222
	--WHERE B.REQ_ID = @p_REQ_ID
223
	--AND A.TYPE_JOB = 'KS'
224
	--AND A.STATUS_JOB = 'P'
225
	--ORDER BY D.ID DESC
226

    
227
	---------Trưởng đơn vị DMMS--------
228
	--SELECT DISTINCT C.TLFullName AS DMMS_NAME
229
	--FROM PL_REQUEST_PROCESS A
230
	--LEFT JOIN PL_REQUEST_PROCESS_CHILD B ON A.ID = B.PROCESS_ID
231
	--LEFT JOIN TL_USER C ON B.TLNAME = C.TLNANME
232
	--WHERE A.REQ_ID = @p_REQ_ID
233
	--AND B.TYPE_JOB = 'TP'
234
	--AND A.PROCESS_ID = 'DMMS'
235
	--AND B.STATUS_JOB = 'P'
236
	--SELECT 
237
	--DISTINCT ISNULL(FORMAT(A.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT,
238
	--B.TLFullName AS DMMS_NAME
239
	--FROM PL_REQUEST_PROCESS A
240
	--LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
241
	--WHERE A.REQ_ID = @p_REQ_ID
242
	--AND A.PROCESS_ID = 'DMMS'
243
	--AND A.STATUS = 'P'