Project

General

Profile

Cập nhật store upd XDCB.txt

Luc Tran Van, 01/12/2023 11:46 AM

 
1

    
2
ALTER   PROCEDURE [dbo].[CON_REQUEST_DOC_UpdXml]
3
@p_CONSTRUCT_ID varchar(15) = NULL,
4
@p_CONSTRUCT_CODE	varchar(15)  = NULL,
5
@p_CONSTRUCT_NAME	nvarchar(100)  = NULL,
6
@p_PLAN_ID	varchar(15)  = NULL,
7
@p_CONST_ID	varchar(15)  = NULL,
8
@p_DIVI_ID	varchar(15)  = NULL,
9
@p_CONSTRUCT_ADDR	nvarchar(200)  = NULL,
10
@p_LENGTH	decimal(18, 2)	= NULL,
11
@p_WIDTH	decimal(18, 2)	= NULL,
12
@p_CONSTRUCT_AREA	decimal(18)  = NULL,
13
@p_FLOORS	int	= NULL,
14
@p_FLOORS_AREA	decimal(18, 2)	= NULL,
15
@p_TOTAL_AREA_USE	decimal(18, 2)	= NULL, -- GIANT
16
@p_UNUSED_AREA	decimal(18, 2)	= NULL,
17
@p_TOTAL_COST	decimal(18, 2)	= NULL,-- GIANT
18
@p_UNIT_PRICE	decimal(18, 2)	= NULL,-- GIANT
19
@p_YEAR_EXE	varchar(4)  = NULL,
20
@p_CONST_TYPE	varchar(15)  = NULL,
21
@p_HQ_TYPE	varchar(15)  = NULL,
22
@p_TOTAL_AMT	decimal(18)  = NULL,
23
@p_COST_ESTIMATE	decimal(18)  = NULL,
24
@p_COST_EXE	decimal(18)  = NULL,
25
@p_COST_INCURRED	decimal(18)  = NULL,
26
@p_CONST_PURPOSE varchar(15) = NULL,
27
@p_DESCRIPTION	nvarchar(2000)  = NULL,
28
@p_START_DT	VARCHAR(20) = NULL,
29
@p_END_DT	VARCHAR(20) = NULL,
30
@p_DATE_EXE	VARCHAR(20) = NULL,
31
@p_COMPLETION_DT	VARCHAR(20) = NULL,
32
@p_CONSTRUCT_PROGRESS	decimal(18)  = NULL,
33
@p_RECORD_STATUS	varchar(1)  = '1',
34
@p_MAKER_ID	varchar(15)  = NULL,
35
@p_CREATE_DT	VARCHAR(20) = NULL,
36
@p_AUTH_STATUS	varchar(1)  = 'N',
37
@p_CHECKER_ID	varchar(15)  = NULL,
38
@p_APPROVE_DT	VARCHAR(20) = NULL,
39
@p_REQUEST_ID VARCHAR(15) = NULL,
40
@p_BRANCH_ID VARCHAR(15) = NULL,
41
@p_STREET NVARCHAR(200) = NULL,
42
@p_LOCATION VARCHAR(15) = NULL,
43
@p_UPD_DT varchar(20) = NULL,
44
@p_SCALE NVARCHAR(1000) = NULL,
45
@p_ENGINEER nvarchar(500) = NULL,
46
@p_APPROVE_VALUE decimal(18) = NULL,
47
@p_BRANCH_NAME_ETX nvarchar(500) = NULL,
48
@P_ListRequestDoc XML = NULL, -- THONG TIN VE TO TRINH
49
@P_ListBid XML = NULL, -- CHI PHI SUA CHUA
50
@P_ListContract_DT XML = NULL, -- DANH SACH HO SO THI CONG
51
@P_ListPayment XML = NULL, -- CAC DOT THANH TOAN
52
@P_ListBid_DT XML = NULL, -- DANH SACH CHI TIET DON VI THAM GIA THAU
53
@P_ListContractorArise XML = NULL, -- DANH SACH CHI TIET PHAT SINH TANG GIAM
54
@P_ListReviewXML XML = NULL, -- ĐÁNH GIÁ NCC
55
@P_ListConsProcessXML XML = NULL, -- TIẾN ĐỘ CÔNG TRÌNH
56
@P_ListConsHHXML XML = NULL -- DANH SÁCH HÀNG HÓA
57
AS
58
--Validation is here
59
/*
60
DECLARE @ERRORSYS NVARCHAR(15) = '' 
61
  IF ( NOT EXISTS ( SELECT * FROM CON_REQUEST_DOC WHERE ))
62
	 SET @ERRORSYS = ''
63
IF @ERRORSYS <> '' 
64
BEGIN
65
	SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
66
	RETURN '0'
67
END 
68
*/
69

    
70
DECLARE @OLD_REQUEST_ID VARCHAR(15) = @P_REQUEST_ID
71
DECLARE @sErrorCode VARCHAR(20),@DEP_CREATE VARCHAR(15) = NULL
72
SELECT @DEP_CREATE = DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID 
73

    
74
Declare @hdoc INT
75

    
76
	-- THONG TIN VE TO TRINH
77
	Exec sp_xml_preparedocument @hdoc Output,@P_ListRequestDoc
78
	DECLARE @TABLE_REQ_DOC TABLE (
79
		CON_REQUEST_DOC_ID varchar(15),
80
		REQ_ID	varchar(15),
81
		REQ_CODE	nvarchar(100),
82
		REQ_NAME	nvarchar(200),
83
		REQ_DT	VARCHAR(20),
84
		REQ_CONTENT	nvarchar(1000),
85
		CONSTRUCT_ID	varchar(15),
86
		TOTAL_AMT	decimal(18),
87
		BRANCH_ID	varchar(15),
88
		PLAN_TYPE VARCHAR(1),
89
		IS_PARENT VARCHAR(1),
90
		IS_ARISE VARCHAR(1),
91
		BUDGET varchar(15),
92
		YEAR_BUDGET int,
93
		REQUEST_PARENT VARCHAR(15),
94
		APPROVE_DT VARCHAR(20)
95
)
96
INSERT INTO @TABLE_REQ_DOC SELECT *
97
	FROM OPENXML(@hDoc,'/Root/ListRequestDoc',2)
98
	WITH 
99
	(
100
		CON_REQUEST_DOC_ID varchar(15),
101
		REQ_ID	varchar(15),
102
		REQ_CODE	nvarchar(100),
103
		REQ_NAME	nvarchar(200),
104
		REQ_DT	VARCHAR(20),
105
		REQ_CONTENT	nvarchar(1000),
106
		CONSTRUCT_ID	varchar(15),
107
		TOTAL_AMT	decimal(18),
108
		BRANCH_ID	varchar(15),
109
		PLAN_TYPE VARCHAR(1),
110
		IS_PARENT VARCHAR(1),
111
		IS_ARISE VARCHAR(1),
112
		BUDGET varchar(15),
113
		YEAR_BUDGET int,
114
		REQUEST_PARENT VARCHAR(15),
115
		APPROVE_DT VARCHAR(20)
116

    
117
	)
118

    
119

    
120

    
121
	DECLARE ListRequestDoc CURSOR FOR
122
	SELECT *
123
	FROM OPENXML(@hDoc,'/Root/ListRequestDoc',2)
124
	WITH 
125
	(
126
		CON_REQUEST_DOC_ID varchar(15),
127
		REQ_ID	varchar(15),
128
		REQ_CODE	nvarchar(100),
129
		REQ_NAME	nvarchar(200),
130
		REQ_DT	VARCHAR(20),
131
		REQ_CONTENT	nvarchar(1000),
132
		CONSTRUCT_ID	varchar(15),
133
		TOTAL_AMT	decimal(18),
134
		BRANCH_ID	varchar(15),
135
		PLAN_TYPE VARCHAR(1),
136
		IS_PARENT VARCHAR(1),
137
		IS_ARISE VARCHAR(1),
138
		BUDGET VARCHAR(15),
139
		YEAR_BUDGET INT,
140
		REQUEST_PARENT VARCHAR(15),
141
		APPROVE_DT VARCHAR(20)
142

    
143
	)
144
	OPEN ListRequestDoc
145

    
146
	-- DANH SACH HO SO THI CONG (HOP DONG)
147
	Exec sp_xml_preparedocument @hdoc Output,@P_ListContract_DT
148
	DECLARE ListContract_DT CURSOR FOR
149
	SELECT *
150
	FROM OPENXML(@hDoc,'/Root/ListContract_DT',2)
151
	WITH 
152
	(
153
		CONTRACT_ID varchar(15),
154
		CONTRACT_CODE	varchar(15),
155
		[CONTRACT_NAME]	nvarchar(200),
156
		CONTRACT_TYPE	varchar(15),
157
		BID_ID	nvarchar(200),
158
		TOTAL_AMT DECIMAL(18),
159
		IS_PARENT varchar(1),
160
		REQUEST_ID varchar(15),
161
		REQDT_ID VARCHAR(15)
162
	)
163
	OPEN ListContract_DT
164

    
165
	-- DANH SÁCH HÀNG HÓA
166
	Exec sp_xml_preparedocument @hdoc Output,@P_ListConsHHXML
167
	DECLARE ListHH CURSOR FOR
168
	SELECT *
169
	FROM OPENXML(@hDoc,'/Root/ListHH',2)
170
	WITH 
171
	(
172
		CON_REQ_HH_ID VARCHAR(15),
173
		REQ_CODE VARCHAR(50),
174
		REQ_ID VARCHAR(15),
175
		SUP_ID VARCHAR(15),
176
		SELLTEMENT_AMT DECIMAL(18,2),
177
		[DESCRIPTION] NVARCHAR(4000), -- KHOONG SU DUNG
178
		HH_ID VARCHAR(15),
179
		ESTIMATES_AMT DECIMAL(18,2),
180
		BRANCH_DO VARCHAR(15),
181
		CONS_DOCUMENT_ID VARCHAR(15),
182
		BID_ID VARCHAR(15),
183
		BID_CODE VARCHAR(50),
184
		REQDT_ID VARCHAR(15)
185
	)
186
	OPEN ListHH
187
	-- ĐÁNH GIÁ NCC
188
	Exec sp_xml_preparedocument @hdoc Output,@P_ListReviewXML
189
	DECLARE ListReview CURSOR FOR
190
	SELECT *
191
	FROM OPENXML(@hDoc,'/Root/ListReview',2)
192
	WITH 
193
	(
194
		CON_REQ_REVIEW_ID VARCHAR(15),
195
		SUP_ID VARCHAR(15),
196
		QCKT_REVIEW NVARCHAR(4000),
197
		CONS_PROCESS VARCHAR(15),
198
		MAINTENANCE VARCHAR(15),
199
		REPORT_PLAN_EDIT VARCHAR(15),
200
		CONS_QUALITY VARCHAR(15),
201
		BEAUTY_IMAGE VARCHAR(15),
202
		REQ_ID VARCHAR(15),
203
		REQ_CODE VARCHAR(50),
204
		SUP_NAME NVARCHAR(1000),
205
		HANGHOA_ID VARCHAR(15)
206
	)
207
	OPEN ListReview
208

    
209
	-- TIẾN ĐỘ CÔNG TRÌNH
210
	Exec sp_xml_preparedocument @hdoc Output,@P_ListConsProcessXML
211
	DECLARE ListConsProcess CURSOR FOR
212
	SELECT *
213
	FROM OPENXML(@hDoc,'/Root/ListConsProcess',2)
214
	WITH 
215
	(
216
		CON_REQ_PROCESS_ID VARCHAR(15),
217
        DATE_REPORT VARCHAR(50),
218
        PERCENT_COMPLETED DECIMAL(18,2),
219
        PERCENT_REMAIN DECIMAL(18,2),
220
        DEADLINE VARCHAR(50),
221
		ITEM_JOB NVARCHAR(MAX),
222
		NOTES NVARCHAR(MAX),
223
		DEADLINE_CON VARCHAR(50)
224
	)
225
	OPEN ListConsProcess
226

    
227

    
228

    
229
BEGIN TRANSACTION
230

    
231
		-- insert zô bảng tài liệu
232
		---TAO BANG TAM
233
		DECLARE @TEMP TABLE
234
		(
235
			[KEY] varchar(15),
236
			[REF_ID] varchar(15),
237
			[TYPE] varchar(50)
238
		)
239

    
240
		-- UPDATE BANG THONG TIN VE TO TRINH
241
		DELETE CON_REQUEST_DOC WHERE REQUEST_PARENT = @p_REQUEST_ID
242
		DECLARE 
243
		@INDEX int = 0,
244
		@CON_REQUEST_DOC_ID varchar(15),
245
		@REQ_ID	varchar(15),
246
		@REQ_CODE	nvarchar(100),
247
		@REQ_NAME	nvarchar(200),
248
		@REQ_DT	VARCHAR(20),
249
		@REQ_CONTENT	nvarchar(1000),
250
		@CONSTRUCT_ID	varchar(15),
251
		@TOTAL_AMT	decimal(18),
252
		@BRANCH_ID	varchar(15),
253
		@PLAN_TYPE VARCHAR(1),
254
		@IS_PARENT VARCHAR(1),
255
		@IS_ARISE VARCHAR(1),
256
		@REQ_BUDGET VARCHAR(15),
257
		@REQ_YEAR_BUDGET int,
258
		@REQUEST_PARENT VARCHAR(15),
259
		@APPROVE_DT VARCHAR(20),
260
		@DOC_REQUEST_TOTAL_AMT DECIMAL(18,2) = 0
261

    
262
		--INSERT ListBid DETAIL
263
		FETCH NEXT FROM ListRequestDoc INTO @CON_REQUEST_DOC_ID, @REQ_ID, @REQ_CODE, @REQ_NAME, @REQ_DT, @REQ_CONTENT,
264
		@CONSTRUCT_ID, @TOTAL_AMT, @BRANCH_ID, @PLAN_TYPE, @IS_PARENT,@IS_ARISE, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @APPROVE_DT
265
		WHILE @@FETCH_STATUS = 0
266
		BEGIN
267
			IF(@CON_REQUEST_DOC_ID IS NULL OR @CON_REQUEST_DOC_ID = '')
268
			BEGIN
269
				EXEC SYS_CodeMasters_Gen 'CON_REQUEST_DOC', @CON_REQUEST_DOC_ID out
270
			END
271

    
272
			IF @CON_REQUEST_DOC_ID='' OR @CON_REQUEST_DOC_ID IS NULL GOTO ABORT
273
			SET @INDEX = @INDEX + 1
274
			IF (@INDEX = 1) -- TRA VE SO TO TRINH DAU TIEN
275
			BEGIN
276
				SET @P_REQUEST_ID = @CON_REQUEST_DOC_ID
277
			END 
278
			
279
			SET @REQUEST_PARENT = @P_REQUEST_ID
280
			PRINT @REQUEST_PARENT
281
			INSERT INTO CON_REQUEST_DOC([CON_REQUEST_DOC_ID],[REQ_ID], [REQ_CODE], [REQ_NAME], [REQ_DT], [REQ_CONTENT], [CONSTRUCT_ID],
282
			[TOTAL_AMT], [NOTES], [RECORD_STATUS], [MAKER_ID], [CREATE_DT], [AUTH_STATUS], [CHECKER_ID], 
283
			[APPROVE_DT], [BRANCH_ID], [PLAN_TYPE], [IS_PARENT] , [BUDGET], [YEAR_BUDGET], [REQUEST_PARENT], [IS_ARISE])
284
			VALUES(@CON_REQUEST_DOC_ID,@REQ_ID, @REQ_CODE, @REQ_NAME, CONVERT(DATETIME, @REQ_DT, 103), @REQ_CONTENT, @CONSTRUCT_ID,
285
			@TOTAL_AMT, '', @p_RECORD_STATUS, @P_MAKER_ID, CONVERT(DATETIME,  @P_CREATE_DT , 103), @P_AUTH_STATUS, @P_CHECKER_ID, 
286
			 CONVERT(DATETIME, @APPROVE_DT, 103), @BRANCH_ID, @PLAN_TYPE, @IS_PARENT, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @IS_ARISE)
287
			
288
			INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQUEST_DOC_ID, 'CON_REQUEST_DOC')
289
			SET @DOC_REQUEST_TOTAL_AMT = @DOC_REQUEST_TOTAL_AMT + @TOTAL_AMT
290

    
291
			PRINT @@ERROR
292
			IF @@ERROR <> 0 GOTO ABORT
293

    
294
		FETCH NEXT FROM ListRequestDoc INTO  @CON_REQUEST_DOC_ID, @REQ_ID, @REQ_CODE, @REQ_NAME, @REQ_DT, @REQ_CONTENT,
295
		@CONSTRUCT_ID, @TOTAL_AMT, @BRANCH_ID, @PLAN_TYPE, @IS_PARENT,@IS_ARISE, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @APPROVE_DT
296
		END
297
		CLOSE ListRequestDoc
298
		DEALLOCATE ListRequestDoc
299

    
300
		-- THEM THONG TIN CONG TRINH
301
		IF(@p_TOTAL_COST > @DOC_REQUEST_TOTAL_AMT AND EXISTS(SELECT * FROM @TABLE_REQ_DOC))
302
		BEGIN
303
			DECLARE @ERRORSYS NVARCHAR(200) = N'Tổng chi phí xây dựng không lớn hơn tổng giá trị các tờ trình ('+ cast(format(@DOC_REQUEST_TOTAL_AMT, 'N', 'en-US') AS VARCHAR(20)) +')'
304
			ROLLBACK TRANSACTION
305
			SELECT '-1' as Result, @ERRORSYS ErrorDesc
306
			RETURN '-1'
307
		END	
308
		DECLARE @IS_FINISH VARCHAR(1) = 'N'
309

    
310
		UPDATE CON_MASTER SET [IS_FINISH] = @IS_FINISH, [CONSTRUCT_CODE] = @p_CONSTRUCT_CODE,[CONSTRUCT_NAME] = @p_CONSTRUCT_NAME,[PLAN_ID] = @p_PLAN_ID,[DIVI_ID] = @p_DIVI_ID,[CONSTRUCT_ADDR] = @p_CONSTRUCT_ADDR,[LENGTH] = @p_LENGTH,[WIDTH] = @p_WIDTH,
311
		[CONSTRUCT_AREA] = @p_CONSTRUCT_AREA, [FLOORS] = @p_FLOORS, [FLOORS_AREA] = @p_FLOORS_AREA, [YEAR_EXE] = @p_YEAR_EXE,[CONST_TYPE] = @p_CONST_TYPE, [HQ_TYPE] = @p_HQ_TYPE,[TOTAL_AMT] = @p_TOTAL_AMT,[COST_ESTIMATE] = @p_COST_ESTIMATE,[COST_EXE] = @p_COST_EXE,
312
		[COST_INCURRED] = @p_COST_INCURRED, [CONST_PURPOSE] = @p_CONST_PURPOSE, [DESCRIPTION] = @p_DESCRIPTION,[START_DT] = CONVERT(DATETIME, @p_START_DT, 103),[END_DT] = CONVERT(DATETIME, @p_END_DT, 103),[DATE_EXE] = CONVERT(DATETIME, @p_DATE_EXE, 103),[COMPLETION_DT] = CONVERT(DATETIME,
313
		 @p_COMPLETION_DT, 103),[CONSTRUCT_PROGRESS] = @p_CONSTRUCT_PROGRESS,[RECORD_STATUS] = @p_RECORD_STATUS,[MAKER_ID] = @p_MAKER_ID--,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103)
314
		 ,[DEP_CREATE] = @DEP_CREATE,[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, 
315
		 @p_APPROVE_DT, 103),[CONST_ID] = @p_CONST_ID, [REQUEST_ID] = @p_REQUEST_ID, [BRANCH_ID] = @P_BRANCH_ID, 
316
		 [STREET] = @P_STREET, [LOCATION] = @P_LOCATION, [SCALE] = @P_SCALE, [ENGINEER] = @p_ENGINEER, [BRANCH_NAME_ETX] = @p_BRANCH_NAME_ETX, UPD_DT = CONVERT(DATETIME, @p_UPD_DT, 103), APPROVE_VALUE = @p_APPROVE_VALUE,
317
		TOTAL_AREA_USE = @p_TOTAL_AREA_USE,TOTAL_COST = @p_TOTAL_COST,UNIT_PRICE=  @p_UNIT_PRICE,UNUSED_AREA = @p_UNUSED_AREA
318
		WHERE  CONSTRUCT_ID = @p_CONSTRUCT_ID
319
		
320
		INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@p_CONSTRUCT_ID, 'CON_MASTER')
321
		IF @@Error <> 0 GOTO ABORT
322

    
323
		-- DANH SÁCH HÀNG HÓA
324

    
325
		DELETE CON_REQUEST_HH_DT WHERE CONSTRUCT_ID = @p_CONSTRUCT_ID
326

    
327
		DECLARE
328
			@CON_REQ_HH_ID VARCHAR(15),
329
			@SUP_ID VARCHAR(15),
330
			@SELLTEMENT_AMT DECIMAL(18,2),
331
			@DESCRIPTION NVARCHAR(4000),
332
			@HH_ID VARCHAR(15),
333
			@ESTIMATES_AMT DECIMAL(18,2),
334
			@BRANCH_DO VARCHAR(15),
335
			@CONS_DOCUMENT_ID VARCHAR(15),
336
			@BID_ID varchar(15),
337
			@BID_CODE VARCHAR(15),
338
			@REQDT_ID VARCHAR(15)
339
		FETCH NEXT FROM ListHH INTO @CON_REQ_HH_ID,@REQ_CODE, @REQ_ID, @SUP_ID, @SELLTEMENT_AMT, @DESCRIPTION, @HH_ID, @ESTIMATES_AMT,@BRANCH_DO,@CONS_DOCUMENT_ID,@BID_ID,@BID_CODE,@REQDT_ID
340
		WHILE @@FETCH_STATUS = 0
341
		BEGIN
342
			EXEC SYS_CodeMasters_Gen 'CON_REQUEST_HH_DT', @CON_REQ_HH_ID out
343
			IF @CON_REQ_HH_ID='' OR @CON_REQ_HH_ID IS NULL GOTO ABORT
344

    
345
			SET @DESCRIPTION = (SELECT [DESCRIPTION] FROM PL_REQUEST_DOC_DT WHERE REQDT_ID = @REQDT_ID)
346

    
347
			INSERT INTO [dbo].[CON_REQUEST_HH_DT]
348
			(
349
			   [CON_REQ_HH_ID],
350
			   [SUP_ID],
351
			   [SELLTEMENT_AMT],
352
			   [DESCRIPTION],
353
			   [HH_ID],
354
			   [REQ_ID],
355
			   [ESTIMATES_AMT],
356
			   [BRANCH_DO],
357
			   [CONS_DOCUMENT_ID],
358
			   [BID_ID],
359
			   [REQ_CODE],
360
			   [CONSTRUCT_ID],
361
			   [REQDT_ID],
362
			   [BID_CODE]
363
			)
364
			VALUES
365
			(
366
				@CON_REQ_HH_ID,
367
				@SUP_ID,
368
				@SELLTEMENT_AMT,
369
				@DESCRIPTION,
370
				@HH_ID,
371
				@REQ_ID,
372
				@ESTIMATES_AMT,
373
				@BRANCH_DO,
374
				@CONS_DOCUMENT_ID,
375
				@BID_ID,
376
				@REQ_CODE,
377
				@p_CONSTRUCT_ID,
378
				@REQDT_ID,
379
				@BID_CODE
380
			)
381

    
382
			INSERT INTO @TEMP([KEY],[REF_ID],[TYPE]) VALUES (@REQDT_ID, @CON_REQ_HH_ID, 'CON_REQUEST_HH_DT')
383

    
384

    
385
			FETCH NEXT FROM ListHH INTO @CON_REQ_HH_ID,@REQ_CODE, @REQ_ID, @SUP_ID, @SELLTEMENT_AMT, @DESCRIPTION, @HH_ID, @ESTIMATES_AMT,@BRANCH_DO,@CONS_DOCUMENT_ID,@BID_ID,@BID_CODE,@REQDT_ID
386
		END
387
		CLOSE ListHH
388
		DEALLOCATE ListHH
389

    
390
		-- UPDATE DANH SÁCH HỒ SƠ THI CÔNG
391
		-- HOP DONG & PHU LUC HOP DONG
392

    
393
		DELETE TR_CONTRACT WHERE REQUEST_ID = @OLD_REQUEST_ID
394

    
395
		DECLARE 
396
		@CDT_INDEX int = 0,
397
		@CDT_CONTRACT_ID varchar(15),
398
		@CONTRACT_CODE	varchar(15),
399
		@CONTRACT_NAME	nvarchar(200),
400
		@CONTRACT_TYPE	varchar(1),
401
		@CDT_BID_ID	nvarchar(200),
402
		@CDT_TOTAL_AMT decimal(18),
403
		@CDT_IS_PARENT varchar(1),
404
		@CDT_REQUEST_ID varchar(15),
405
		@CDT_CONTRACT_PARENT varchar(15),
406
		@CDT_REQDT_ID VARCHAR(15)
407
		
408
		--INSERT ListContract_DT DETAIL
409
		FETCH NEXT FROM ListContract_DT INTO  @CDT_CONTRACT_ID, @CONTRACT_CODE, @CONTRACT_NAME, @CONTRACT_TYPE,
410
		@CDT_BID_ID, @CDT_TOTAL_AMT, @CDT_IS_PARENT, @CDT_REQUEST_ID, @CDT_REQDT_ID
411
		WHILE @@FETCH_STATUS = 0
412
		BEGIN
413

    
414
			DECLARE @l_CON_REQUEST_CONTRACT_ID VARCHAR(15), @CDT_CON_REQ_HH_ID VARCHAR(15)
415
			EXEC SYS_CodeMasters_Gen 'CON_REQUEST_CONTRACT', @l_CON_REQUEST_CONTRACT_ID out
416
			IF @l_CON_REQUEST_CONTRACT_ID='' OR @l_CON_REQUEST_CONTRACT_ID IS NULL GOTO ABORT
417
			
418
			SET @CDT_CON_REQ_HH_ID = (SELECT REF_ID FROM @TEMP WHERE [KEY] = @CDT_REQDT_ID)
419

    
420
			INSERT INTO CON_REQUEST_CONTRACT([CON_REQUEST_CONTRACT_ID],[CON_REQ_HH_ID],[CONTRACT_ID],[TOTAL_AMT],[REQDT_ID])
421
			VALUES (@l_CON_REQUEST_CONTRACT_ID,@CDT_CON_REQ_HH_ID,@CDT_CONTRACT_ID,@CDT_TOTAL_AMT,@CDT_REQDT_ID)
422
			INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@l_CON_REQUEST_CONTRACT_ID, 'CON_REQUEST_CONTRACT')
423

    
424
			IF @@Error <> 0 GOTO ABORT
425

    
426

    
427
		FETCH NEXT FROM ListContract_DT INTO  @CDT_CONTRACT_ID, @CONTRACT_CODE, @CONTRACT_NAME, @CONTRACT_TYPE,
428
		@CDT_BID_ID, @CDT_TOTAL_AMT, @CDT_IS_PARENT, @CDT_REQUEST_ID, @CDT_REQDT_ID
429
		END
430
		CLOSE ListContract_DT
431
		DEALLOCATE ListContract_DT
432

    
433
		-- ĐÁNH GIÁ NCC 
434
		DELETE CON_REQUEST_REVIEW_DT WHERE CONSTRUCT_ID = @p_CONSTRUCT_ID
435

    
436
		DECLARE
437
			@CON_REQ_REVIEW_ID VARCHAR(15),
438
			@QCKT_REVIEW NVARCHAR(4000),
439
			@CONS_PROCESS VARCHAR(15),
440
			@MAINTENANCE VARCHAR(15),
441
			@REPORT_PLAN_EDIT VARCHAR(15),
442
			@CONS_QUALITY VARCHAR(15),
443
			@BEAUTY_IMAGE VARCHAR(15),
444
			@SUP_NAME NVARCHAR(1000),
445
			@HANGHOA_ID VARCHAR(15)
446
		FETCH NEXT FROM ListReview into @CON_REQ_REVIEW_ID,@SUP_ID, @QCKT_REVIEW, @CONS_PROCESS, @MAINTENANCE, @REPORT_PLAN_EDIT, @CONS_QUALITY, @BEAUTY_IMAGE, @REQ_ID, @REQ_CODE, @SUP_NAME, @HANGHOA_ID
447
		WHILE @@FETCH_STATUS = 0
448
		BEGIN
449
			EXEC SYS_CodeMasters_Gen 'CON_REQUEST_REVIEW_DT', @CON_REQ_REVIEW_ID out
450
			IF @CON_REQ_REVIEW_ID='' OR @CON_REQ_REVIEW_ID IS NULL GOTO ABORT
451

    
452
			INSERT INTO [dbo].[CON_REQUEST_REVIEW_DT]
453
			(
454
				[CON_REQ_REVIEW_ID],
455
				[SUP_ID],
456
				[CONS_PROCESS],
457
				[MAINTENANCE],
458
				[REPORT_PLAN_EDIT],
459
				[CONS_QUALITY],
460
				[BEAUTY_IMAGE],
461
				[CONSTRUCT_ID],
462
				[QCKT_REVIEW],
463
				[SUP_NAME],
464
				[REQ_CODE],
465
				[REQ_ID],
466
				[HANGHOA_ID]
467
			)
468
			VALUES
469
			(		
470
				@CON_REQ_REVIEW_ID,
471
				@SUP_ID,
472
				@CONS_PROCESS,
473
				@MAINTENANCE,
474
				@REPORT_PLAN_EDIT,
475
				@CONS_QUALITY,
476
				@BEAUTY_IMAGE,
477
				@p_CONSTRUCT_ID,
478
				@QCKT_REVIEW,
479
				@SUP_NAME,
480
				@REQ_CODE,
481
				@REQ_ID,
482
				@HANGHOA_ID
483
			)
484
			INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQ_REVIEW_ID, 'CON_REQUEST_REVIEW_DT')
485

    
486
			FETCH NEXT FROM ListReview INTO @CON_REQ_REVIEW_ID,@SUP_ID, @QCKT_REVIEW, @CONS_PROCESS, @MAINTENANCE, @REPORT_PLAN_EDIT, @CONS_QUALITY, @BEAUTY_IMAGE, @REQ_ID, @REQ_CODE, @SUP_NAME, @HANGHOA_ID
487
		END
488
		CLOSE ListReview
489
		DEALLOCATE ListReview
490
		-- TIẾN ĐỘ CÔNG TRÌNH
491

    
492
		DELETE CON_REQUEST_PROCESS_DT WHERE CONSTRUCT_ID = @p_CONSTRUCT_ID
493

    
494

    
495
		DECLARE
496
			@CON_REQ_PROCESS_ID VARCHAR(15),
497
			@DATE_REPORT VARCHAR(50),
498
			@PERCENT_COMPLETED DECIMAL(18,2),
499
			@PERCENT_REMAIN DECIMAL(18,2),
500
			@DEADLINE VARCHAR(50),
501
			@ITEM_JOB NVARCHAR(MAX),
502
			@NOTES NVARCHAR(MAX),
503
			@DEADLINE_CON VARCHAR(50)
504
		FETCH NEXT FROM ListConsProcess into @CON_REQ_PROCESS_ID,@DATE_REPORT, @PERCENT_COMPLETED, @PERCENT_REMAIN, @DEADLINE, @ITEM_JOB, @NOTES, @DEADLINE_CON
505
		WHILE @@FETCH_STATUS = 0
506
		BEGIN
507
			EXEC SYS_CodeMasters_Gen 'CON_REQUEST_PROCESS_DT', @CON_REQ_PROCESS_ID out
508
			IF @CON_REQ_PROCESS_ID='' OR @CON_REQ_PROCESS_ID IS NULL GOTO ABORT
509

    
510
			INSERT INTO [dbo].[CON_REQUEST_PROCESS_DT]
511
			(
512
				[CON_REQ_PROCESS_ID],
513
				[DATE_REPORT],
514
				[PERCENT_COMPLETED],
515
				[PERCENT_REMAIN],
516
				[DEADLINE],
517
				[CONSTRUCT_ID],
518
				[ITEM_JOB],
519
				[NOTES],
520
				[DEADLINE_CON]
521
			)
522
			VALUES
523
			(
524
				@CON_REQ_PROCESS_ID,
525
				CONVERT(DATETIME, @DATE_REPORT, 103),
526
				@PERCENT_COMPLETED,
527
				@PERCENT_REMAIN,
528
				CASE WHEN @DEADLINE IS NULL OR @DEADLINE = '' THEN NULL ELSE CONVERT(DATETIME, @DEADLINE, 103) END,
529
				@p_CONSTRUCT_ID,
530
				@ITEM_JOB,
531
				@NOTES,
532
				CASE WHEN @DEADLINE_CON IS NULL OR @DEADLINE_CON = '' THEN NULL ELSE CONVERT(DATETIME, @DEADLINE_CON, 103) END
533
			)
534
			INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQ_PROCESS_ID, 'CON_REQUEST_PROCESS_DT')
535

    
536
			FETCH NEXT FROM ListConsProcess INTO @CON_REQ_PROCESS_ID,@DATE_REPORT, @PERCENT_COMPLETED, @PERCENT_REMAIN, @DEADLINE, @ITEM_JOB, @NOTES, @DEADLINE_CON
537
		END
538
		CLOSE ListConsProcess
539
		DEALLOCATE ListConsProcess
540
-- start hieuhm 09/11/2022 thêm lịch sử xử lí
541
		INSERT INTO dbo.PL_PROCESS
542
					(
543
					    REQ_ID,
544
					    PROCESS_ID,
545
					    CHECKER_ID,
546
					    APPROVE_DT,
547
					    PROCESS_DESC,
548
					    NOTES
549
					)
550
					VALUES
551
					(   @p_CONSTRUCT_ID,       
552
						'UPDATE',
553
					    @p_MAKER_ID,        
554
					    GETDATE(), 
555
					    N'Cập nhật công trình thành công' ,      
556
					    N'Đơn vị cập nhật công trình'       
557
					)
558
-- end hieuhm 09/11/2022 thêm lịch sử xử lí
559
COMMIT TRANSACTION
560
SELECT '0' as Result, @p_REQUEST_ID REQ_ID, [REF_ID], [TYPE], '' ErrorDesc FROM @TEMP
561
RETURN '0'
562
ABORT:
563
BEGIN
564
		ROLLBACK TRANSACTION
565
		CLOSE ListRequestDoc
566
		DEALLOCATE ListRequestDoc
567
		CLOSE ListBid
568
		DEALLOCATE ListBid
569
		CLOSE ListContract_DT
570
		DEALLOCATE ListContract_DT
571
		CLOSE PaymentDetail
572
		DEALLOCATE PaymentDetail
573
		CLOSE ContractorDetail
574
		DEALLOCATE ContractorDetail		
575
		SELECT ErrorCode Result, @p_REQUEST_ID REQ_ID, '' [REF_ID], '' [TYPE], ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
576
		RETURN '-1'
577
End
578
ABORT1:
579
BEGIN
580
		ROLLBACK TRANSACTION
581
		CLOSE ListRequestDoc
582
		DEALLOCATE ListRequestDoc
583
		
584
		SELECT ErrorCode Result, @p_REQUEST_ID REQ_ID, '' [REF_ID], '' [TYPE],ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
585
		RETURN '-1'
586
End
587
ABORT2:
588
BEGIN
589
		ROLLBACK TRANSACTION
590
		CLOSE ListContract_DT
591
		DEALLOCATE ListContract_DT
592
		CLOSE PaymentDetail
593
		DEALLOCATE PaymentDetail
594
		CLOSE ContractorDetail
595
		DEALLOCATE ContractorDetail		
596
		SELECT ErrorCode Result, @p_REQUEST_ID REQ_ID, '' [REF_ID], '' [TYPE], ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
597
		RETURN '-1'
598
End