Project

General

Profile

UPDATE_TR_REQ_DOC_XETGIA_DUOI_100M_Upd.txt

Luc Tran Van, 02/25/2023 02:23 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
		--hieuhm 25/02/2023 fix việc nhập lùi ngày
36
		[CREATE_DT] = CONVERT(DATETIME, @p_FR_DATE, 103),
37
		--[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),
38
		[CHECKER_ID] = @p_CHECKER_ID,
39
		[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),
40
		[ABOUT] = @p_ABOUT,
41
		[WIN_SUPPLIER] = @p_WIN_SUPPLIER,
42
		[CURRENCY] = @p_CURRENCY,
43
		[TOTAL_SUPPLIERS] = @p_TOTAL_SUPPLIERS
44

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
140

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

    
155
		@SUPPLIER_2, 
156
		@UNIT_PRICE_2,
157
		@TOTAL_AMT_2,
158
		@VAT_AMT_2,
159
		@TOTAL_AMT_AFTER_VAT_2,
160

    
161
		@SUPPLIER_3, 
162
		@UNIT_PRICE_3,
163
		@TOTAL_AMT_3,
164
		@VAT_AMT_3,
165
		@TOTAL_AMT_AFTER_VAT_3,
166

    
167
		@SUPPLIER_4,
168
		@UNIT_PRICE_4,
169
		@TOTAL_AMT_4,
170
		@VAT_AMT_4,
171
		@TOTAL_AMT_AFTER_VAT_4,
172

    
173
		@SUPPLIER_5,
174
		@UNIT_PRICE_5,
175
		@TOTAL_AMT_5,
176
		@VAT_AMT_5,
177
		@TOTAL_AMT_AFTER_VAT_5,
178

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

    
189
		IF @tr_ADDNEWDT_ID='' OR @tr_ADDNEWDT_ID IS NULL GOTO ABORT		
190

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

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

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

    
227
			@SUPPLIER_2, 
228
			@UNIT_PRICE_2,
229
			@TOTAL_AMT_2,
230
			@VAT_AMT_2,
231
			@TOTAL_AMT_AFTER_VAT_2,
232

    
233
			@SUPPLIER_3, 
234
			@UNIT_PRICE_3,
235
			@TOTAL_AMT_3,
236
			@VAT_AMT_3,
237
			@TOTAL_AMT_AFTER_VAT_3,
238

    
239
			@SUPPLIER_4,
240
			@UNIT_PRICE_4,
241
			@TOTAL_AMT_4,
242
			@VAT_AMT_4,
243
			@TOTAL_AMT_AFTER_VAT_4,
244

    
245
			@SUPPLIER_5,
246
			@UNIT_PRICE_5,
247
			@TOTAL_AMT_5,
248
			@VAT_AMT_5,
249
			@TOTAL_AMT_AFTER_VAT_5,
250

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

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

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