Project

General

Profile

In BBXG 10_100.txt

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

 
1

    
2

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

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

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

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

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

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

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

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

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

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

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

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

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

    
199

    
200
	------------LẤY TÊN NG DUYỆT---------------
201
	SELECT	ISNULL(@p_KSV_NAME, '') AS KSV_NAME, 
202
			ISNULL(@p_GDDV_NAME,'') AS DMMS_NAME
203

    
204
	-------------LẤY NGÀY DUYỆT--------------
205
	SELECT	ISNULL(@p_APPROVE_DT_KSV, '') AS APPROVE_DT_KSV, 
206
			ISNULL(@p_APPROVE_DT_GDDV, '') AS APPROVE_DT_GDDV
207

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

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