Project

General

Profile

In BBXG 100_500.txt

Luc Tran Van, 08/02/2022 01:38 PM

 
1

    
2
ALTER  PROCEDURE [dbo].[rpt_TR_REQUEST_DOC_ReportPrice100To500M]  
3
@p_TR_REQ_DOC_ID varchar(15)  
4
AS  
5
	
6
	---------------NCC đánh giá chung-------
7
	SELECT DISTINCT
8
		A.SUPPLIER_1, A.SUPPLIER_2, A.SUPPLIER_3, A.SUPPLIER_4, A.SUPPLIER_5
9
		
10
	FROM TR_REQ_DOC_XETGIA_100M_500M_DT_DGC A
11
	LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
12
	WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
13

    
14
	-------------đánh giá chung------
15
	SELECT ROW_NUMBER() OVER (ORDER BY RESULT.RECORD_DT_ID) AS STT, RESULT.*
16
	FROM
17
	(
18
		SELECT
19
		A.RECORD_DT_ID,
20
		A.Evaluation_Quota AS EVALUATE,
21
		A.Request_Section AS REQUEST,
22
		A.Assessment_1 AS ASSESSMENT_1,
23
		A.Assessment_2 AS ASSESSMENT_2,
24
		A.Assessment_3 AS ASSESSMENT_3,
25
		A.Assessment_4 AS ASSESSMENT_4,
26
		A.Assessment_5 AS ASSESSMENT_5
27
		
28
		FROM TR_REQ_DOC_XETGIA_100M_500M_DT_DGC A
29
		LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
30
		WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
31
	) AS RESULT
32

    
33
	------NCC đánh giá về giá-------
34
	SELECT DISTINCT
35
		A.SUPPLIER_1, A.SUPPLIER_2, A.SUPPLIER_3, A.SUPPLIER_4, A.SUPPLIER_5
36
		
37
	FROM TR_REQ_DOC_XETGIA_100M_500M_DT_XG A
38
	LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
39
	WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
40

    
41
	---Đánh giá về giá-------
42
	SELECT ROW_NUMBER() OVER (ORDER BY RESULT.RECORD_DT_ID) AS STT, RESULT.*
43
	FROM
44
	(
45
		SELECT 
46
		A.RECORD_DT_ID,
47
		A.Good_Name AS GOOD_NAME,
48
		A.TECH_SPECIFICATION AS TECH_SPEC,
49
		A.UNIT,
50
		A.QUANTITY,
51
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_1))
52
		AS UNIT_PRICE_1,
53
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_1))
54
		AS TOTAL_AMT_1,
55
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_2))
56
		AS UNIT_PRICE_2,
57
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_2))
58
		AS TOTAL_AMT_2,
59
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_3))
60
		AS UNIT_PRICE_3,
61
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_3))
62
		AS TOTAL_AMT_3,
63
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_4))
64
		AS UNIT_PRICE_4,
65
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_4))
66
		AS TOTAL_AMT_4,
67
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.UNIT_PRICE_5))
68
		AS UNIT_PRICE_5,
69
		(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (A.TOTAL_AMT_5))
70
		AS TOTAL_AMT_5
71

    
72
		FROM TR_REQ_DOC_XETGIA_100M_500M_DT_XG A
73
		LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
74
		WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
75
	) AS RESULT
76
	
77
	-------Thành tiền trước thuế----------
78
	SELECT
79
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_1),0)))
80
	AS SUM_TOTAL_AMT_1,
81
	--ISNULL(SUM(A.TOTAL_AMT_1),0) AS SUM_TOTAL_AMT_1,
82
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_2),0)))
83
	AS SUM_TOTAL_AMT_2,
84
	--ISNULL(SUM(A.TOTAL_AMT_2),0) AS SUM_TOTAL_AMT_2,
85
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_3),0)))
86
	AS SUM_TOTAL_AMT_3,
87
	--ISNULL(SUM(A.TOTAL_AMT_3),0) AS SUM_TOTAL_AMT_3,
88
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_4),0)))
89
	AS SUM_TOTAL_AMT_4,
90
	--ISNULL(SUM(A.TOTAL_AMT_4),0) AS SUM_TOTAL_AMT_4,
91
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_5),0)))
92
	AS SUM_TOTAL_AMT_5
93
	--ISNULL(SUM(A.TOTAL_AMT_5),0) AS SUM_TOTAL_AMT_5
94

    
95
	FROM TR_REQ_DOC_XETGIA_100M_500M_DT_XG A
96
	LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
97
	WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
98

    
99
	----số tiền thuế------------
100
	SELECT
101
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_1 * A.QUANTITY),0)))
102
	AS VAT_TOTAL_AMT_1,
103
	--ISNULL(SUM(A.VAT_AMT_1),0) AS VAT_TOTAL_AMT_1,
104
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_2 * A.QUANTITY),0)))
105
	AS VAT_TOTAL_AMT_2,
106
	--ISNULL(SUM(A.VAT_AMT_2),0) AS VAT_TOTAL_AMT_2,
107
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_3 * A.QUANTITY),0)))
108
	AS VAT_TOTAL_AMT_3,
109
	--ISNULL(SUM(A.VAT_AMT_3),0) AS VAT_TOTAL_AMT_3,
110
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_4 * A.QUANTITY),0)))
111
	AS VAT_TOTAL_AMT_4,
112
	--ISNULL(SUM(A.VAT_AMT_4),0) AS VAT_TOTAL_AMT_4,
113
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.VAT_AMT_5 * A.QUANTITY),0)))
114
	AS VAT_TOTAL_AMT_5
115
	--ISNULL(SUM(A.VAT_AMT_5),0) AS VAT_TOTAL_AMT_5
116

    
117
	FROM TR_REQ_DOC_XETGIA_100M_500M_DT_XG A
118
	LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
119
	LEFT JOIN TR_REQUEST_DOC C ON B.REQ_DOC_ID = C.REQ_ID
120
	WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
121

    
122
	-------thành tiền sau thuế------------
123
	SELECT
124
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_1),0)))
125
	AS TOTAL_AMT_AFTER_VAT_1,
126
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_1),0) 
127
	--	AS TOTAL_AMT_AFTER_VAT_1,
128
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_2),0)))
129
	AS TOTAL_AMT_AFTER_VAT_2,
130
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_2),0) 
131
	--	AS TOTAL_AMT_AFTER_VAT_2,
132
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_3),0)))
133
	AS TOTAL_AMT_AFTER_VAT_3,
134
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_3),0) 
135
	--	AS TOTAL_AMT_AFTER_VAT_3,
136
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_4),0)))
137
	AS TOTAL_AMT_AFTER_VAT_4,
138
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_4),0) 
139
	--	AS TOTAL_AMT_AFTER_VAT_4,
140
	(SELECT dbo.FN_FORMAT_MONEY_REPORT_PRICE (ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_5),0)))
141
	AS TOTAL_AMT_AFTER_VAT_5
142
	--ISNULL(SUM(A.TOTAL_AMT_AFTER_VAT_5),0) 
143
	--	AS TOTAL_AMT_AFTER_VAT_5
144

    
145
	FROM TR_REQ_DOC_XETGIA_100M_500M_DT_XG A
146
	LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
147
	LEFT JOIN TR_REQUEST_DOC C ON B.REQ_DOC_ID = C.REQ_ID
148
	WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
149

    
150
	------Xếp hạng nhà cung cấp đạt yêu cầu---------
151
	SELECT ROW_NUMBER() OVER (ORDER BY RESULT.RATINGS) AS STT, RESULT.*
152
	FROM
153
	(
154
		SELECT
155
		A.RECORD_DT_ID,
156
		A.SUPPLIER_Name AS SUPPLIER_NAME,
157
		A.Ratings AS RATINGS,
158
		A.Notes_1 AS NOTES
159
		
160
		FROM TR_REQ_DOC_XETGIA_100M_500M_XH A
161
		LEFT JOIN TR_REQ_DOC_XETGIA_100M_500M B ON A.RECORD_MASTER_ID = B.RECORD_ID
162
		WHERE B.REQ_DOC_ID = @p_TR_REQ_DOC_ID
163
	) AS RESULT
164
	WHERE RESULT.RATINGS IS NOT NULL AND RESULT.RATINGS <> ''
165
	ORDER BY RESULT.RATINGS ASC
166

    
167
	---------------Kết luận + ghi chú-----------------------
168
	SELECT A.CONCLUSION, A.NOTES_1
169
	FROM TR_REQ_DOC_XETGIA_100M_500M A
170
	LEFT JOIN TR_REQUEST_DOC B ON A.REQ_DOC_ID = B.REQ_ID
171
	WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
172

    
173
	-------------------------CHỮ KÝ DMMS--------------------------
174
	DECLARE @t_SIGN_TABLE TABLE(APPROVE_DT VARCHAR(30), SIGN_NAME NVARCHAR(50), TYPE VARCHAR(15))
175
	DECLARE @p_APPROVE_DT_KSV VARCHAR(25), @p_KSV_NAME NVARCHAR(50), --KSV
176
			@p_APPROVE_DT_GDDV VARCHAR(25), @p_GDDV_NAME NVARCHAR(50) --GDDV
177

    
178
	INSERT INTO @t_SIGN_TABLE
179
		-----------------KSV DMMS----------------
180
		SELECT TOP 1 ISNULL(FORMAT(D.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT, 
181
		C.TLFullName AS SIGN_NAME,
182
		'KSV' AS TYPE
183
		FROM PL_REQUEST_PROCESS_CHILD A
184
		LEFT JOIN PL_REQUEST_PROCESS B ON A.PROCESS_ID = B.ID
185
		LEFT JOIN TL_USER C ON A.TLNAME = C.TLNANME
186
		LEFT JOIN PL_PROCESS D ON B.REQ_ID = D.REQ_ID AND A.TLNAME = D.CHECKER_ID
187
		WHERE B.REQ_ID = @p_TR_REQ_DOC_ID
188
		AND A.TYPE_JOB = 'KS'
189
		AND A.STATUS_JOB = 'P'
190
		AND B.PROCESS_ID = 'DMMS'
191
		ORDER BY D.ID DESC
192

    
193
	INSERT INTO @t_SIGN_TABLE
194
		---------------Trưởng đơn vị DMMS------------
195
		SELECT 
196
		DISTINCT ISNULL(FORMAT(A.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT,
197
		B.TLFullName AS SIGN_NAME,
198
		'GDDV' AS TYPE
199
		FROM PL_REQUEST_PROCESS A
200
		LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
201
		WHERE A.REQ_ID = @p_TR_REQ_DOC_ID
202
		AND A.PROCESS_ID = 'DMMS'
203
		AND A.STATUS = 'P'
204

    
205
	------KSV DMMS-----
206
	SET @p_APPROVE_DT_KSV = (SELECT A.APPROVE_DT FROM @t_SIGN_TABLE A WHERE A.TYPE = 'KSV')
207
	SET @p_KSV_NAME = (SELECT A.SIGN_NAME FROM @t_SIGN_TABLE A WHERE A.TYPE = 'KSV')
208
	------GDDV DMMS----
209
	SET @p_APPROVE_DT_GDDV = (SELECT A.APPROVE_DT FROM @t_SIGN_TABLE A WHERE A.TYPE = 'GDDV')
210
	SET @p_GDDV_NAME = (SELECT A.SIGN_NAME FROM @t_SIGN_TABLE A WHERE A.TYPE = 'GDDV')
211

    
212
	------------LẤY TÊN NG DUYỆT---------------
213
	SELECT	ISNULL(@p_KSV_NAME, '') AS KSV_NAME, 
214
			ISNULL(@p_GDDV_NAME,'') AS DMMS_NAME
215
	-------------LẤY NGÀY DUYỆT--------------
216
	SELECT	ISNULL(@p_APPROVE_DT_KSV, '') AS APPROVE_DT_KSV, 
217
			ISNULL(@p_APPROVE_DT_GDDV, '') AS APPROVE_DT_GDDV
218

    
219
	----------------CHỮ KÝ PHÒNG KẾ TOÁN-------------------
220
	SELECT DISTINCT B.TLFullName AS KT_NAME,
221
	ISNULL(FORMAT(A.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT_KT
222
	FROM PL_REQUEST_PROCESS A
223
	LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
224
	WHERE A.REQ_ID = @p_TR_REQ_DOC_ID
225
	AND A.PROCESS_ID = 'DVCM'
226
	AND A.DVDM_ID = 'DM0000000000006' --DVCM là phòng KT
227
	AND A.STATUS = 'P'
228

    
229
	--------------- CHỮ KÝ CẤP CÓ THẨM QUYỀN (CẤP DUYỆT CUỐI)-----------------
230
	SELECT DISTINCT C.POS_NAME AS CHUC_DANH,
231
	B.TLFullName AS FINAL_NAME,
232
	ISNULL(FORMAT(A.APPROVE_DT, 'dd/MM/yyyy,HH:mm:ss'),'') AS APPROVE_DT_FINAL
233
	FROM PL_REQUEST_PROCESS A
234
	LEFT JOIN TL_USER B ON A.CHECKER_ID = B.TLNANME
235
	LEFT JOIN CM_EMPLOYEE_LOG C ON B.TLNANME = C.USER_DOMAIN
236
	WHERE A.REQ_ID = @p_TR_REQ_DOC_ID
237
	AND A.PROCESS_ID = 
238
		(
239
			SELECT TOP 1 PARENT_PROCESS_ID 
240
			FROM PL_REQUEST_PROCESS B 
241
			WHERE B.PROCESS_ID = 'APPROVE' 
242
			AND B.REQ_ID = @p_TR_REQ_DOC_ID
243
		)
244
	AND A.STATUS = 'P'
245

    
246
	----------------------LẤY THÀNH VIÊN ĐÁNH GIÁ + CHỨC VỤ----------------------
247
	DECLARE @t_MEMBER_TABLE TABLE (STT INT, MEMBER_NAME NVARCHAR(100), POSITION NVARCHAR(100))
248
	INSERT INTO @t_MEMBER_TABLE 
249
		------------------THÀNH VIÊN ĐÁNH GIÁ 1-------------------
250
		SELECT 
251
			1 AS STT, 
252
			N'Ông (Bà): ' + TU_1.TLFullName AS MEMBER_NAME, 
253
			N'Chức vụ: ' + A.ROLE_1 AS POSITION
254
			FROM TR_REQ_DOC_XETGIA_100M_500M A
255
			LEFT JOIN TL_USER TU_1 ON A.MEMBER_1 = TU_1.TLNANME
256
			WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
257
		UNION
258
		------------------THÀNH VIÊN ĐÁNH GIÁ 2-------------------
259
		SELECT 
260
			2 AS STT, 
261
			N'Ông (Bà): ' + TU_2.TLFullName AS MEMBER_NAME, 
262
			N'Chức vụ: ' + A.ROLE_2 AS POSITION
263
			FROM TR_REQ_DOC_XETGIA_100M_500M A
264
			LEFT JOIN TL_USER TU_2 ON A.MEMBER_2 = TU_2.TLNANME
265
			WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
266
		UNION
267
		------------------THÀNH VIÊN ĐÁNH GIÁ 3-------------------
268
		SELECT 
269
			3 AS STT, 
270
			N'Ông (Bà): ' + TU_3.TLFullName AS MEMBER_NAME, 
271
			N'Chức vụ: ' + A.ROLE_3 AS POSITION
272
			FROM TR_REQ_DOC_XETGIA_100M_500M A
273
			LEFT JOIN TL_USER TU_3 ON A.MEMBER_3 = TU_3.TLNANME
274
			WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
275
		UNION
276
		------------------THÀNH VIÊN ĐÁNH GIÁ 4-------------------
277
		SELECT 
278
			4 AS STT, 
279
			N'Ông (Bà): ' + TU_4.TLFullName AS MEMBER_NAME, 
280
			N'Chức vụ: ' + A.ROLE_4 AS POSITION
281
			FROM TR_REQ_DOC_XETGIA_100M_500M A
282
			LEFT JOIN TL_USER TU_4 ON A.MEMBER_4 = TU_4.TLNANME
283
			WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
284

    
285
	SELECT A.MEMBER_NAME, A.POSITION FROM @t_MEMBER_TABLE A
286
	WHERE A.MEMBER_NAME IS NOT NULL AND A.POSITION IS NOT NULL
287
	ORDER BY A.STT
288

    
289
	--SELECT 
290
	--N'Ông (Bà): ' + TU_1.TLFullName AS NAME_1,
291
	--N'Ông (Bà): ' + TU_2.TLFullName AS NAME_2,
292
	--N'Ông (Bà): ' + TU_3.TLFullName AS NAME_3,
293
	--N'Ông (Bà): ' + TU_4.TLFullName AS NAME_4
294

    
295
	--FROM TR_REQ_DOC_XETGIA_100M_500M A
296
	--LEFT JOIN TL_USER TU_1 ON A.MEMBER_1 = TU_1.TLNANME
297
	--LEFT JOIN TL_USER TU_2 ON A.MEMBER_2 = TU_2.TLNANME
298
	--LEFT JOIN TL_USER TU_3 ON A.MEMBER_3 = TU_3.TLNANME
299
	--LEFT JOIN TL_USER TU_4 ON A.MEMBER_4 = TU_4.TLNANME
300
	--WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
301

    
302
	--SELECT
303
	--N'Chức vụ: ' + A.ROLE_1 AS POSITION_1,
304
	--N'Chức vụ: ' + A.ROLE_2 AS POSITION_2,
305
	--N'Chức vụ: ' + A.ROLE_3 AS POSITION_3,
306
	--N'Chức vụ: ' + A.ROLE_4 AS POSITION_4
307
	--FROM TR_REQ_DOC_XETGIA_100M_500M A
308
	--WHERE A.REQ_DOC_ID = @p_TR_REQ_DOC_ID
309

    
310