Project

General

Profile

UPDATE_TR_REQ_DOC_XETGIA_DUOI_100M_Ins.txt

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

 
1

    
2
ALTER   PROCEDURE [dbo].[TR_REQ_DOC_XETGIA_DUOI_100M_Ins]
3
	--@p_REQ_CODE	varchar(15) 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
BEGIN TRY		
25
	DECLARE @tr_ADDNEW_ID VARCHAR(15)
26
	EXEC SYS_CodeMasters_Gen 'TR_REQ_DOC_XETGIA_DUOI_100M', @tr_ADDNEW_ID out
27

    
28
	------------------BAODNQ 5/3/2022 Thêm tự động sinh mã REQ_CODE--------
29
	DECLARE @p_REQ_CODE VARCHAR(200)
30
	EXEC TR_REPORT_PRICE_CODE_GenKey 'TR_REPORT_PRICE', '', '', @p_REQ_CODE OUT
31

    
32
	-----------BAODNQ 5/3/2022 Thêm các cột vào bảng TR_REQ_DOC_XETGIA_DUOI_100M--------
33
	INSERT INTO TR_REQ_DOC_XETGIA_DUOI_100M ([RECORD_ID],[REQ_DOC_ID],[REQ_CODE],[FR_DATE],[CONCLUSION],
34
		[NOTES], [RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],
35
		[ABOUT], [WIN_SUPPLIER], [CURRENCY], [TOTAL_SUPPLIERS])
36
     VALUES (@tr_ADDNEW_ID,@p_REQ_DOC_ID,@p_REQ_CODE,CONVERT(DATETIME,@p_FR_DATE,103),@p_CONCLUSION,
37
		@p_NOTES, @p_RECORD_STATUS, @p_AUTH_STATUS, @p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),
38
		@p_CHECKER_ID,
39
		CONVERT(DATETIME, @p_APPROVE_DT, 103), @p_ABOUT, @p_WIN_SUPPLIER, @p_CURRENCY, 
40
		@p_TOTAL_SUPPLIERS)
41

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

    
56
		SUPPLIER_1	nvarchar(100),
57
		UNIT_PRICE_1	numeric(18, 2),
58
		TOTAL_AMT_1	numeric(18, 2),
59
		VAT_AMT_1 NUMERIC(18,2),
60
		TOTAL_AMT_AFTER_VAT_1 NUMERIC(18,2),
61

    
62
		SUPPLIER_2	nvarchar(100),
63
		UNIT_PRICE_2	numeric(18, 2),
64
		TOTAL_AMT_2	numeric(18, 2),
65
		VAT_AMT_2 NUMERIC(18,2),
66
		TOTAL_AMT_AFTER_VAT_2 NUMERIC(18,2),
67

    
68
		SUPPLIER_3	nvarchar(100),
69
		UNIT_PRICE_3	numeric(18, 2),
70
		TOTAL_AMT_3	numeric(18, 2),
71
		VAT_AMT_3 NUMERIC(18,2),
72
		TOTAL_AMT_AFTER_VAT_3 NUMERIC(18,2),
73

    
74
		SUPPLIER_4	nvarchar(100),
75
		UNIT_PRICE_4	numeric(18, 2),
76
		TOTAL_AMT_4	numeric(18, 2),
77
		VAT_AMT_4 NUMERIC(18,2),
78
		TOTAL_AMT_AFTER_VAT_4 NUMERIC(18,2),
79

    
80
		SUPPLIER_5	nvarchar(100),
81
		UNIT_PRICE_5	numeric(18, 2),
82
		TOTAL_AMT_5	numeric(18, 2),
83
		VAT_AMT_5 NUMERIC(18,2),
84
		TOTAL_AMT_AFTER_VAT_5 NUMERIC(18,2),
85

    
86
		NOTES	nvarchar(MAX),
87
		RECORD_DT_ID	varchar(15),
88
		TR_REQ_DOC_DT_ID VARCHAR(15),
89
		WIN_SUPPLIER_PRICE DECIMAL(18,2)
90
	)
91
	OPEN AddnewDT
92
	
93
	BEGIN TRANSACTION
94
	------------------------------------------------------------
95
	DECLARE @RECORD_MASTER_ID	varchar(15),
96
		@GOOD_NAME	nvarchar(250),
97
		@HH_ID VARCHAR(15),
98
		@TECH_SPECIFICATION	nvarchar(MAX),
99
		@UNIT	nvarchar(100),
100
		@QUANTITY	int,
101

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

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

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

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

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

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

    
137
	FETCH NEXT FROM AddnewDT INTO 
138
		@RECORD_MASTER_ID, 
139
		@GOOD_NAME,
140
		@HH_ID,
141
		@TECH_SPECIFICATION	, 
142
		@UNIT, 
143
		@QUANTITY, 
144

    
145
		@SUPPLIER_1, 
146
		@UNIT_PRICE_1,
147
		@TOTAL_AMT_1,
148
		@VAT_AMT_1,
149
		@TOTAL_AMT_AFTER_VAT_1,
150

    
151
		@SUPPLIER_2, 
152
		@UNIT_PRICE_2,
153
		@TOTAL_AMT_2,
154
		@VAT_AMT_2,
155
		@TOTAL_AMT_AFTER_VAT_2,
156

    
157
		@SUPPLIER_3, 
158
		@UNIT_PRICE_3,
159
		@TOTAL_AMT_3,
160
		@VAT_AMT_3,
161
		@TOTAL_AMT_AFTER_VAT_3,
162

    
163
		@SUPPLIER_4,
164
		@UNIT_PRICE_4,
165
		@TOTAL_AMT_4,
166
		@VAT_AMT_4,
167
		@TOTAL_AMT_AFTER_VAT_4,
168

    
169
		@SUPPLIER_5,
170
		@UNIT_PRICE_5,
171
		@TOTAL_AMT_5,
172
		@VAT_AMT_5,
173
		@TOTAL_AMT_AFTER_VAT_5,
174

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

    
185
		IF @tr_ADDNEWDT_ID='' OR @tr_ADDNEWDT_ID IS NULL GOTO ABORT		
186

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

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

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

    
223
			@SUPPLIER_2, 
224
			@UNIT_PRICE_2,
225
			@TOTAL_AMT_2,
226
			@VAT_AMT_2,
227
			@TOTAL_AMT_AFTER_VAT_2,
228

    
229
			@SUPPLIER_3, 
230
			@UNIT_PRICE_3,
231
			@TOTAL_AMT_3,
232
			@VAT_AMT_3,
233
			@TOTAL_AMT_AFTER_VAT_3,
234

    
235
			@SUPPLIER_4,
236
			@UNIT_PRICE_4,
237
			@TOTAL_AMT_4,
238
			@VAT_AMT_4,
239
			@TOTAL_AMT_AFTER_VAT_4,
240

    
241
			@SUPPLIER_5,
242
			@UNIT_PRICE_5,
243
			@TOTAL_AMT_5,
244
			@VAT_AMT_5,
245
			@TOTAL_AMT_AFTER_VAT_5,
246

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

    
257
COMMIT TRANSACTION
258
SELECT '0' as Result, @tr_ADDNEW_ID  ADDNEW_ID, @p_REQ_CODE REQ_CODE, 
259
						N'Thêm mới biên bản xét giá thành công' ErrorDesc
260
RETURN '0'
261

    
262
ABORT:
263
BEGIN
264
		ROLLBACK TRANSACTION
265
		
266
		SELECT '-1' as Result, '' ADDNEW_ID, @p_REQ_CODE REQ_CODE,'' ErrorDesc
267
		RETURN '-1'
268
End
269

    
270
END TRY
271

    
272
BEGIN CATCH
273
		ROLLBACK TRANSACTION
274
		
275
		SELECT '-1' as Result, '' ADDNEW_ID, @p_REQ_CODE REQ_CODE,ERROR_MESSAGE() ErrorDesc
276
		RETURN '-1'
277
END CATCH