Project

General

Profile

UPDATE_TR_REQ_DOC_XETGIA_DUOI_100M_Upd.txt

Luc Tran Van, 02/25/2023 02:34 PM

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_DOC_XETGIA_DUOI_100M_Upd]
3
	@p_REQ_CODE	varchar(200) NULL,
4
	@p_FR_DATE varchar(30)  NULL,
5
	@p_CONCLUSION nvarchar(MAX) NULL,
6
	@p_NOTES nvarchar(MAX) NULL,
7
	@p_RECORD_ID varchar(15) NULL,
8
	@p_REQ_DOC_ID varchar(15) NULL,
9
	--------BAODNQ 5/3/2022 : Truyền thêm tham số---------
10
	@p_RECORD_STATUS VARCHAR(1) = NULL,
11
	@p_AUTH_STATUS VARCHAR(1) = NULL,
12
	@p_MAKER_ID VARCHAR(15) = NULL,
13
	@p_CREATE_DT VARCHAR(20) = NULL,
14
	@p_CHECKER_ID VARCHAR(15) = NULL,
15
	@p_APPROVE_DT VARCHAR(20) = NULL,
16
	@p_ABOUT NVARCHAR(4000) = NULL,
17
	@p_WIN_SUPPLIER NVARCHAR(1000) = NULL,
18
	@p_CURRENCY VARCHAR(15) = NULL,
19
	@p_TOTAL_SUPPLIERS INT = NULL,
20
	---------------
21
	@p_ADDNEW_DT xml
22
AS
23
	
24

    
25
	BEGIN TRANSACTION
26
	------------------------------------------------------------
27
	UPDATE TR_REQ_DOC_XETGIA_DUOI_100M SET
28
		[REQ_CODE]=@p_REQ_CODE,
29
		[FR_DATE]=CONVERT(DATETIME,@p_FR_DATE,103),
30
		[CONCLUSION]=@p_CONCLUSION,
31
		[NOTES]=@p_NOTES,
32
		[RECORD_STATUS] = @p_RECORD_STATUS,
33
		[AUTH_STATUS] = @p_AUTH_STATUS,
34
		[MAKER_ID] = @p_MAKER_ID,
35
		[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),
36
		[CHECKER_ID] = @p_CHECKER_ID,
37
		[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),
38
		[ABOUT] = @p_ABOUT,
39
		[WIN_SUPPLIER] = @p_WIN_SUPPLIER,
40
		[CURRENCY] = @p_CURRENCY,
41
		[TOTAL_SUPPLIERS] = @p_TOTAL_SUPPLIERS
42

    
43
		WHERE [RECORD_ID]= @p_RECORD_ID
44
	DELETE TR_REQ_DOC_XETGIA_DUOI_100M_DT WHERE RECORD_MASTER_ID = @p_RECORD_ID
45
	DECLARE @hdoc int
46
	Exec sp_xml_preparedocument @hdoc Output, @p_ADDNEW_DT	
47
	DECLARE AddnewDT CURSOR FOR
48
	SELECT *
49
	FROM OPENXML(@hDoc,'/Root/ADDNEWDT',2)
50
	WITH 
51
	(
52
		RECORD_MASTER_ID	varchar(15),
53
		GOOD_NAME	nvarchar(250),
54
		HH_ID VARCHAR(15),
55
		TECH_SPECIFICATION	nvarchar(MAX),
56
		UNIT	nvarchar(100),
57
		QUANTITY	int,
58

    
59
		SUPPLIER_1	nvarchar(100),
60
		UNIT_PRICE_1	numeric(18, 2),
61
		TOTAL_AMT_1	numeric(18, 2),
62
		VAT_AMT_1 NUMERIC(18,2),
63
		TOTAL_AMT_AFTER_VAT_1 NUMERIC(18,2),
64

    
65
		SUPPLIER_2	nvarchar(100),
66
		UNIT_PRICE_2	numeric(18, 2),
67
		TOTAL_AMT_2	numeric(18, 2),
68
		VAT_AMT_2 NUMERIC(18,2),
69
		TOTAL_AMT_AFTER_VAT_2 NUMERIC(18,2),
70

    
71
		SUPPLIER_3	nvarchar(100),
72
		UNIT_PRICE_3	numeric(18, 2),
73
		TOTAL_AMT_3	numeric(18, 2),
74
		VAT_AMT_3 NUMERIC(18,2),
75
		TOTAL_AMT_AFTER_VAT_3 NUMERIC(18,2),
76

    
77
		SUPPLIER_4	nvarchar(100),
78
		UNIT_PRICE_4	numeric(18, 2),
79
		TOTAL_AMT_4	numeric(18, 2),
80
		VAT_AMT_4 NUMERIC(18,2),
81
		TOTAL_AMT_AFTER_VAT_4 NUMERIC(18,2),
82

    
83
		SUPPLIER_5	nvarchar(100),
84
		UNIT_PRICE_5	numeric(18, 2),
85
		TOTAL_AMT_5	numeric(18, 2),
86
		VAT_AMT_5 NUMERIC(18,2),
87
		TOTAL_AMT_AFTER_VAT_5 NUMERIC(18,2),
88

    
89
		NOTES	nvarchar(MAX),
90
		RECORD_DT_ID varchar(15),
91
		TR_REQ_DOC_DT_ID VARCHAR(15),
92
		WIN_SUPPLIER_PRICE DECIMAL(18,2)
93
	)
94
	OPEN AddnewDT
95

    
96
	DECLARE @RECORD_MASTER_ID	varchar(15),
97
		@GOOD_NAME	nvarchar(250),
98
		@HH_ID VARCHAR(15),
99
		@TECH_SPECIFICATION	nvarchar(MAX),
100
		@UNIT	nvarchar(100),
101
		@QUANTITY	int,
102

    
103
		@SUPPLIER_1	nvarchar(100),
104
		@UNIT_PRICE_1	numeric(18, 2),
105
		@TOTAL_AMT_1	numeric(18, 2),
106
		@VAT_AMT_1 NUMERIC(18,2),
107
		@TOTAL_AMT_AFTER_VAT_1 NUMERIC(18,2),
108

    
109
		@SUPPLIER_2	nvarchar(100),
110
		@UNIT_PRICE_2	numeric(18, 2),
111
		@TOTAL_AMT_2	numeric(18, 2),
112
		@VAT_AMT_2 NUMERIC(18,2),
113
		@TOTAL_AMT_AFTER_VAT_2 NUMERIC(18,2),
114

    
115
		@SUPPLIER_3	nvarchar(100),
116
		@UNIT_PRICE_3	numeric(18, 2),
117
		@TOTAL_AMT_3	numeric(18, 2),
118
		@VAT_AMT_3 NUMERIC(18,2),
119
		@TOTAL_AMT_AFTER_VAT_3 NUMERIC(18,2),
120

    
121
		@SUPPLIER_4	NVARCHAR(100),
122
		@UNIT_PRICE_4	NUMERIC(18, 2),
123
		@TOTAL_AMT_4	NUMERIC(18, 2),
124
		@VAT_AMT_4 NUMERIC(18,2),
125
		@TOTAL_AMT_AFTER_VAT_4 NUMERIC(18,2),
126

    
127
		@SUPPLIER_5	NVARCHAR(100),
128
		@UNIT_PRICE_5	NUMERIC(18, 2),
129
		@TOTAL_AMT_5	NUMERIC(18, 2),
130
		@VAT_AMT_5 NUMERIC(18,2),
131
		@TOTAL_AMT_AFTER_VAT_5 NUMERIC(18,2),
132

    
133
		@NOTES	nvarchar(MAX),
134
		@RECORD_DT_ID	varchar(15),
135
		@TR_REQ_DOC_DT_ID VARCHAR(15),
136
		@WIN_SUPPLIER_PRICE DECIMAL(18,2)
137

    
138

    
139
	FETCH NEXT FROM AddnewDT INTO 
140
		@RECORD_MASTER_ID, 
141
		@GOOD_NAME,
142
		@HH_ID,
143
		@TECH_SPECIFICATION, 
144
		@UNIT, 
145
		@QUANTITY,
146
		
147
		@SUPPLIER_1, 
148
		@UNIT_PRICE_1,
149
		@TOTAL_AMT_1,
150
		@VAT_AMT_1,
151
		@TOTAL_AMT_AFTER_VAT_1,
152

    
153
		@SUPPLIER_2, 
154
		@UNIT_PRICE_2,
155
		@TOTAL_AMT_2,
156
		@VAT_AMT_2,
157
		@TOTAL_AMT_AFTER_VAT_2,
158

    
159
		@SUPPLIER_3, 
160
		@UNIT_PRICE_3,
161
		@TOTAL_AMT_3,
162
		@VAT_AMT_3,
163
		@TOTAL_AMT_AFTER_VAT_3,
164

    
165
		@SUPPLIER_4,
166
		@UNIT_PRICE_4,
167
		@TOTAL_AMT_4,
168
		@VAT_AMT_4,
169
		@TOTAL_AMT_AFTER_VAT_4,
170

    
171
		@SUPPLIER_5,
172
		@UNIT_PRICE_5,
173
		@TOTAL_AMT_5,
174
		@VAT_AMT_5,
175
		@TOTAL_AMT_AFTER_VAT_5,
176

    
177
		@NOTES, 
178
		@RECORD_DT_ID,
179
		@TR_REQ_DOC_DT_ID,
180
		@WIN_SUPPLIER_PRICE
181
	
182
	WHILE @@FETCH_STATUS = 0	
183
	BEGIN			
184
		DECLARE @tr_ADDNEWDT_ID VARCHAR(15)
185
		EXEC SYS_CodeMasters_Gen 'TR_REQ_DOC_XETGIA_DUOI_100M_DT', @tr_ADDNEWDT_ID out
186

    
187
		IF @tr_ADDNEWDT_ID='' OR @tr_ADDNEWDT_ID IS NULL GOTO ABORT		
188

    
189
		----------Tính giá trị thành tiền trước thuế----------
190
		SET @TOTAL_AMT_1 = @UNIT_PRICE_1 * @QUANTITY
191
		SET	@TOTAL_AMT_2 = @UNIT_PRICE_2 * @QUANTITY
192
		SET	@TOTAL_AMT_3 = @UNIT_PRICE_3 * @QUANTITY
193
		SET @TOTAL_AMT_4 = @UNIT_PRICE_4 * @QUANTITY
194
		SET @TOTAL_AMT_5 = @UNIT_PRICE_5 * @QUANTITY
195

    
196
		INSERT INTO TR_REQ_DOC_XETGIA_DUOI_100M_DT
197
			([RECORD_DT_ID],[RECORD_MASTER_ID],[GOOD_NAME],[TECH_SPECIFICATION],[UNIT],[QUANTITY],
198
			[SUPPLIER_1],[UNIT_PRICE_1], [TOTAL_AMT_1], [VAT_AMT_1], [TOTAL_AMT_AFTER_VAT_1],[SUPPLIER_2],
199
			[UNIT_PRICE_2],[TOTAL_AMT_2], [VAT_AMT_2],[TOTAL_AMT_AFTER_VAT_2],[SUPPLIER_3],[UNIT_PRICE_3], 
200
			[TOTAL_AMT_3], [VAT_AMT_3],[TOTAL_AMT_AFTER_VAT_3], [SUPPLIER_4],[UNIT_PRICE_4], [TOTAL_AMT_4],
201
			[VAT_AMT_4],[TOTAL_AMT_AFTER_VAT_4], [SUPPLIER_5],[UNIT_PRICE_5], [TOTAL_AMT_5], [VAT_AMT_5],
202
			[TOTAL_AMT_AFTER_VAT_5],[NOTES], TR_REQ_DOC_DT_ID, WIN_SUPPLIER_PRICE, HH_ID)
203
		VALUES
204
			(@tr_ADDNEWDT_ID, @p_RECORD_ID, @GOOD_NAME, @TECH_SPECIFICATION, @UNIT, @QUANTITY, 
205
			@SUPPLIER_1, @UNIT_PRICE_1, @TOTAL_AMT_1, @VAT_AMT_1, @TOTAL_AMT_AFTER_VAT_1,@SUPPLIER_2, 
206
			@UNIT_PRICE_2, @TOTAL_AMT_2, @VAT_AMT_2, @TOTAL_AMT_AFTER_VAT_2, @SUPPLIER_3, @UNIT_PRICE_3, 
207
			@TOTAL_AMT_3, @VAT_AMT_3, @TOTAL_AMT_AFTER_VAT_3, @SUPPLIER_4, @UNIT_PRICE_4, @TOTAL_AMT_4, 
208
			@VAT_AMT_4,@TOTAL_AMT_AFTER_VAT_4, @SUPPLIER_5, @UNIT_PRICE_5, @TOTAL_AMT_5, @VAT_AMT_5,
209
			@TOTAL_AMT_AFTER_VAT_5, @NOTES, @TR_REQ_DOC_DT_ID, @WIN_SUPPLIER_PRICE, @HH_ID)
210

    
211
		FETCH NEXT FROM AddnewDT INTO 
212
			@RECORD_MASTER_ID, 
213
			@GOOD_NAME,
214
			@HH_ID,
215
			@TECH_SPECIFICATION, 
216
			@UNIT, 
217
			@QUANTITY,
218
			
219
			@SUPPLIER_1, 
220
			@UNIT_PRICE_1,
221
			@TOTAL_AMT_1,
222
			@VAT_AMT_1,
223
			@TOTAL_AMT_AFTER_VAT_1,
224

    
225
			@SUPPLIER_2, 
226
			@UNIT_PRICE_2,
227
			@TOTAL_AMT_2,
228
			@VAT_AMT_2,
229
			@TOTAL_AMT_AFTER_VAT_2,
230

    
231
			@SUPPLIER_3, 
232
			@UNIT_PRICE_3,
233
			@TOTAL_AMT_3,
234
			@VAT_AMT_3,
235
			@TOTAL_AMT_AFTER_VAT_3,
236

    
237
			@SUPPLIER_4,
238
			@UNIT_PRICE_4,
239
			@TOTAL_AMT_4,
240
			@VAT_AMT_4,
241
			@TOTAL_AMT_AFTER_VAT_4,
242

    
243
			@SUPPLIER_5,
244
			@UNIT_PRICE_5,
245
			@TOTAL_AMT_5,
246
			@VAT_AMT_5,
247
			@TOTAL_AMT_AFTER_VAT_5,
248

    
249
			@NOTES, 
250
			@RECORD_DT_ID,
251
			@TR_REQ_DOC_DT_ID,
252
			@WIN_SUPPLIER_PRICE
253
		
254
		PRINT @tr_ADDNEWDT_ID
255
	END
256
	CLOSE AddnewDT
257
	DEALLOCATE AddnewDT
258

    
259
COMMIT TRANSACTION
260
SELECT '0' as Result, @p_RECORD_ID  RECORD_ID, 
261
		N'Cập nhật biên bản xét giá thành công' ErrorDesc
262
RETURN '0'
263

    
264
ABORT:
265
BEGIN
266
		ROLLBACK TRANSACTION
267
		
268
		SELECT '-1' as Result, '' ADDNEW_ID, '' ErrorDesc
269
		RETURN '-1'
270
End