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
|