ALTER PROCEDURE [dbo].[CON_REQUEST_DOC_InsXml] @p_CONSTRUCT_CODE varchar(15) = NULL, @p_CONSTRUCT_NAME nvarchar(100) = NULL, @p_PLAN_ID varchar(15) = NULL, @p_CONST_ID varchar(15) = NULL, @p_DIVI_ID varchar(15) = NULL, @p_CONSTRUCT_ADDR nvarchar(200) = NULL, @p_LENGTH decimal(18, 2) = NULL, @p_WIDTH decimal(18, 2) = NULL, @p_CONSTRUCT_AREA decimal(18) = NULL, @p_FLOORS int = NULL, @p_FLOORS_AREA decimal(18, 2) = NULL, @p_TOTAL_AREA_USE decimal(18, 2) = NULL, -- GIANT @p_UNUSED_AREA decimal(18, 2) = NULL, @p_TOTAL_COST decimal(18, 2) = NULL,-- GIANT @p_UNIT_PRICE decimal(18, 2) = NULL,-- GIANT @p_YEAR_EXE varchar(4) = NULL, @p_CONST_TYPE varchar(15) = NULL, @p_HQ_TYPE varchar(15) = NULL, @p_TOTAL_AMT decimal(18) = NULL, @p_COST_ESTIMATE decimal(18) = NULL, @p_COST_EXE decimal(18) = NULL, @p_COST_INCURRED decimal(18) = NULL, @p_CONST_PURPOSE varchar(15) = NULL, @p_ENGINEER nvarchar(500) = NULL, @p_BRANCH_NAME_ETX nvarchar(500) = NULL, @p_DESCRIPTION nvarchar(2000) = NULL, @p_START_DT VARCHAR(20) = NULL, @p_END_DT VARCHAR(20) = NULL, @p_DATE_EXE VARCHAR(20) = NULL, @p_COMPLETION_DT VARCHAR(20) = NULL, @p_CONSTRUCT_PROGRESS decimal(18) = NULL, @p_RECORD_STATUS varchar(1) = '1', @p_MAKER_ID varchar(15) = NULL, @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(1) = 'N', @p_CHECKER_ID varchar(15) = NULL, @p_APPROVE_DT VARCHAR(20) = NULL, @p_REQUEST_ID VARCHAR(15) = NULL, @p_BRANCH_ID VARCHAR(15) = NULL, @p_STREET NVARCHAR(200) = NULL, @p_LOCATION VARCHAR(15) = NULL, @p_SCALE NVARCHAR(1000) = NULL, @p_UPD_DT varchar(20) = NULL, @p_APPROVE_VALUE decimal(18) = NULL, @P_ListRequestDoc XML = NULL, -- THONG TIN VE TO TRINH @P_ListBid XML = NULL, -- CHI PHI SUA CHUA @P_ListContract_DT XML = NULL, -- DANH SACH HO SO THI CONG @P_ListPayment XML = NULL, -- CAC DOT THANH TOAN @P_ListBid_DT XML = NULL, -- DANH SACH CHI TIET DON VI THAM GIA THAU @P_ListContractorArise XML = NULL, -- DANH SACH CHI TIET PHAT SINH TANG GIAM @P_ListReviewXML XML = NULL, -- ĐÁNH GIÁ NCC @P_ListConsProcessXML XML = NULL, -- TIẾN ĐỘ CÔNG TRÌNH @P_ListConsHHXML XML = NULL -- DANH SÁCH HÀNG HÓA AS DECLARE @sErrorCode VARCHAR(20),@DEP_CREATE VARCHAR(15) = NULL SELECT @DEP_CREATE = DEP_ID FROM TL_USER WHERE TLNANME = @p_MAKER_ID Declare @hdoc INT -- THONG TIN VE TO TRINH Exec sp_xml_preparedocument @hdoc Output,@P_ListRequestDoc DECLARE @TABLE_REQ_DOC TABLE ( CON_REQUEST_DOC_ID varchar(15), REQ_ID varchar(15), REQ_CODE nvarchar(100), REQ_NAME nvarchar(200), REQ_DT VARCHAR(20), REQ_CONTENT nvarchar(1000), CONSTRUCT_ID varchar(15), TOTAL_AMT decimal(18), BRANCH_ID varchar(15), PLAN_TYPE VARCHAR(1), IS_PARENT VARCHAR(1), IS_ARISE VARCHAR(1), BUDGET varchar(15), YEAR_BUDGET int, REQUEST_PARENT VARCHAR(15), APPROVE_DT VARCHAR(20) ) INSERT INTO @TABLE_REQ_DOC SELECT * FROM OPENXML(@hDoc,'/Root/ListRequestDoc',2) WITH ( CON_REQUEST_DOC_ID varchar(15), REQ_ID varchar(15), REQ_CODE nvarchar(100), REQ_NAME nvarchar(200), REQ_DT VARCHAR(20), REQ_CONTENT nvarchar(1000), CONSTRUCT_ID varchar(15), TOTAL_AMT decimal(18), BRANCH_ID varchar(15), PLAN_TYPE VARCHAR(1), IS_PARENT VARCHAR(1), IS_ARISE VARCHAR(1), BUDGET varchar(15), YEAR_BUDGET int, REQUEST_PARENT VARCHAR(15), APPROVE_DT VARCHAR(20) ) DECLARE ListRequestDoc CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListRequestDoc',2) WITH ( CON_REQUEST_DOC_ID varchar(15), REQ_ID varchar(15), REQ_CODE nvarchar(100), REQ_NAME nvarchar(200), REQ_DT VARCHAR(20), REQ_CONTENT nvarchar(1000), CONSTRUCT_ID varchar(15), TOTAL_AMT decimal(18), BRANCH_ID varchar(15), PLAN_TYPE VARCHAR(1), IS_PARENT VARCHAR(1), IS_ARISE VARCHAR(1), BUDGET varchar(15), YEAR_BUDGET int, REQUEST_PARENT VARCHAR(15), APPROVE_DT VARCHAR(20) ) OPEN ListRequestDoc -- DANH SACH HO SO THI CONG (HOP DONG) Exec sp_xml_preparedocument @hdoc Output,@P_ListContract_DT DECLARE ListContract_DT CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListContract_DT',2) WITH ( CONTRACT_ID varchar(15), CONTRACT_CODE varchar(15), [CONTRACT_NAME] nvarchar(200), CONTRACT_TYPE varchar(15), BID_ID nvarchar(200), TOTAL_AMT DECIMAL(18), IS_PARENT varchar(1), REQUEST_ID varchar(15), REQDT_ID VARCHAR(15) ) OPEN ListContract_DT -- CHI TIET PHAT SINH TANG GIAM Exec sp_xml_preparedocument @hdoc Output,@P_ListContractorArise DECLARE ListContractorArise CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListContractorArise',2) WITH ( ARISE_ID VARCHAR(15), BID_ID varchar(15), BID_CODE varchar(15), SUPPLIER nvarchar(200), IS_BID_WIN varchar(1), BEGIN_VALUE decimal(18,2), CHECKED_VALUE decimal(18,2) ) OPEN ListContractorArise -- DANH SÁCH HÀNG HÓA Exec sp_xml_preparedocument @hdoc Output,@P_ListConsHHXML DECLARE ListHH CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListHH',2) WITH ( CON_REQ_HH_ID VARCHAR(15), REQ_CODE VARCHAR(50), REQ_ID VARCHAR(15), SUP_ID VARCHAR(15), SELLTEMENT_AMT DECIMAL(18,2), [DESCRIPTION] NVARCHAR(4000), -- KHOONG SU DUNG HH_ID VARCHAR(15), ESTIMATES_AMT DECIMAL(18,2), BRANCH_DO VARCHAR(15), CONS_DOCUMENT_ID VARCHAR(15), BID_ID VARCHAR(15), BID_CODE VARCHAR(50), REQDT_ID VARCHAR(15) ) OPEN ListHH -- ĐÁNH GIÁ NCC Exec sp_xml_preparedocument @hdoc Output,@P_ListReviewXML DECLARE ListReview CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListReview',2) WITH ( CON_REQ_REVIEW_ID VARCHAR(15), SUP_ID VARCHAR(15), QCKT_REVIEW NVARCHAR(4000), CONS_PROCESS VARCHAR(15), MAINTENANCE VARCHAR(15), REPORT_PLAN_EDIT VARCHAR(15), CONS_QUALITY VARCHAR(15), BEAUTY_IMAGE VARCHAR(15), REQ_ID VARCHAR(15), REQ_CODE VARCHAR(50), SUP_NAME NVARCHAR(1000), HANGHOA_ID VARCHAR(15) ) OPEN ListReview -- TIẾN ĐỘ CÔNG TRÌNH Exec sp_xml_preparedocument @hdoc Output,@P_ListConsProcessXML DECLARE ListConsProcess CURSOR LOCAL FOR SELECT * FROM OPENXML(@hDoc,'/Root/ListConsProcess',2) WITH ( CON_REQ_PROCESS_ID VARCHAR(15), DATE_REPORT VARCHAR(50), PERCENT_COMPLETED DECIMAL(18,2), PERCENT_REMAIN DECIMAL(18,2), DEADLINE VARCHAR(50), ITEM_JOB NVARCHAR(MAX), NOTES NVARCHAR(MAX), DEADLINE_CON VARCHAR(50) ) OPEN ListConsProcess BEGIN TRANSACTION -- THONG TIN VE TO TRINH -- insert zô bảng tài liệu ---TAO BANG TAM DECLARE @TEMP TABLE ( [KEY] varchar(15), [REF_ID] varchar(15), [TYPE] varchar(50) ) -- THEM THONG TIN TO TRINH --KHAI BAO TOAN BO BIEN TRUOC KHI FETCH DATA DECLARE @INDEX int = 0, @IS_PARENT VARCHAR(1), @IS_ARISE VARCHAR(1), @PLAN_TYPE VARCHAR(1), @REQ_BUDGET varchar(15), @REQ_YEAR_BUDGET int, @REQUEST_PARENT VARCHAR(15), @APPROVE_DT VARCHAR(20), @CON_REQUEST_DOC_ID varchar(15), @REQ_ID varchar(15), @REQ_CODE nvarchar(100), @REQ_NAME nvarchar(200), @REQ_DT VARCHAR(20), @REQ_CONTENT nvarchar(1000), @CONSTRUCT_ID varchar(15), @TOTAL_AMT decimal(18,2), @BRANCH_ID varchar(15), @DOC_REQUEST_TOTAL_AMT DECIMAL(18,2) = 0 --INSERT ListBid DETAIL FETCH NEXT FROM ListRequestDoc INTO @CON_REQUEST_DOC_ID,@REQ_ID, @REQ_CODE, @REQ_NAME, @REQ_DT, @REQ_CONTENT, @CONSTRUCT_ID, @TOTAL_AMT, @BRANCH_ID, @PLAN_TYPE, @IS_PARENT,@IS_ARISE, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @APPROVE_DT WHILE @@FETCH_STATUS = 0 BEGIN --25/12/2014 Anh Ai yeu cau khong kiem tra trung to trinh - mot to trinh dung cho nhieu cong trinh ---- KIEM TRA SO TO TRINH CO TRUNG HAY KHONG --IF EXISTS(SELECT * FROM CON_REQUEST_DOC WHERE [REQ_CODE]= @REQ_CODE) --BEGIN -- SELECT ErrorCode Result, '' REQ_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'CON-0001' -- GOTO ABORT --END EXEC SYS_CodeMasters_Gen 'CON_REQUEST_DOC', @CON_REQUEST_DOC_ID out IF @CON_REQUEST_DOC_ID='' OR @CON_REQUEST_DOC_ID IS NULL GOTO ABORT SET @INDEX = @INDEX + 1 IF (@INDEX = 1) -- TRA VE SO TO TRINH DAU TIEN BEGIN --SET @P_REQUEST_ID = @REQ_ID SET @P_REQUEST_ID = @CON_REQUEST_DOC_ID END SET @REQUEST_PARENT = @P_REQUEST_ID INSERT INTO CON_REQUEST_DOC([CON_REQUEST_DOC_ID],[REQ_ID], [REQ_CODE], [REQ_NAME], [REQ_DT], [REQ_CONTENT], [CONSTRUCT_ID], [TOTAL_AMT], [NOTES], [RECORD_STATUS], [MAKER_ID], [CREATE_DT], [AUTH_STATUS], [CHECKER_ID], [APPROVE_DT], [BRANCH_ID], [PLAN_TYPE], [IS_PARENT] , [BUDGET], [YEAR_BUDGET], [REQUEST_PARENT], [IS_ARISE]) VALUES(@CON_REQUEST_DOC_ID,@REQ_ID, @REQ_CODE, @REQ_NAME, CONVERT(DATETIME, @REQ_DT, 103), @REQ_CONTENT, @CONSTRUCT_ID, @TOTAL_AMT, '', @p_RECORD_STATUS, @P_MAKER_ID, CONVERT(DATETIME, @P_CREATE_DT , 103), @P_AUTH_STATUS, @P_CHECKER_ID, CONVERT(DATETIME, @APPROVE_DT, 103), @BRANCH_ID, @PLAN_TYPE, @IS_PARENT, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @IS_ARISE) INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQUEST_DOC_ID, 'CON_REQUEST_DOC') SET @DOC_REQUEST_TOTAL_AMT += @TOTAL_AMT PRINT @@ERROR IF @@ERROR <> 0 GOTO ABORT FETCH NEXT FROM ListRequestDoc INTO @CON_REQUEST_DOC_ID,@REQ_ID, @REQ_CODE, @REQ_NAME, @REQ_DT, @REQ_CONTENT, @CONSTRUCT_ID, @TOTAL_AMT, @BRANCH_ID, @PLAN_TYPE, @IS_PARENT,@IS_ARISE, @REQ_BUDGET, @REQ_YEAR_BUDGET, @REQUEST_PARENT, @APPROVE_DT END CLOSE ListRequestDoc DEALLOCATE ListRequestDoc DECLARE @OLD_REQUEST_PARENT VARCHAR(15) = @REQUEST_PARENT SET @REQUEST_PARENT = (SELECT TOP(1) CON_REQUEST_DOC_ID FROM CON_REQUEST_DOC WHERE REQUEST_PARENT = @OLD_REQUEST_PARENT ORDER BY TOTAL_AMT DESC) UPDATE CON_REQUEST_DOC SET IS_PARENT = (CASE WHEN CON_REQUEST_DOC_ID = @REQUEST_PARENT THEN '1' ELSE '0' END), REQUEST_PARENT = @REQUEST_PARENT WHERE REQUEST_PARENT = @OLD_REQUEST_PARENT SET @p_REQUEST_ID = @REQUEST_PARENT -- THEM THONG TIN CONG TRINH IF(@p_TOTAL_COST > @DOC_REQUEST_TOTAL_AMT AND EXISTS(SELECT * FROM @TABLE_REQ_DOC)) BEGIN 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)) +')' ROLLBACK TRANSACTION SELECT '-1' as Result, @ERRORSYS ErrorDesc RETURN '-1' END DECLARE @l_CONSTRUCT_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'CON_MASTER', @l_CONSTRUCT_ID out IF @l_CONSTRUCT_ID='' OR @l_CONSTRUCT_ID IS NULL GOTO ABORT INSERT INTO CON_MASTER([IS_FINISH],[CONSTRUCT_ID],[CONSTRUCT_CODE],[CONSTRUCT_NAME],[PLAN_ID],[DIVI_ID],[CONSTRUCT_ADDR],[LENGTH],[WIDTH], [CONSTRUCT_AREA], [FLOORS],[FLOORS_AREA],[YEAR_EXE],[HQ_TYPE],[CONST_TYPE],[TOTAL_AMT],[COST_ESTIMATE],[COST_EXE],[COST_INCURRED],[CONST_PURPOSE], [DESCRIPTION],[START_DT],[END_DT],[DATE_EXE],[COMPLETION_DT],[CONSTRUCT_PROGRESS],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],[CONST_ID], [REQUEST_ID], [BRANCH_ID], [STREET], [LOCATION], [SCALE], [ENGINEER], [BRANCH_NAME_ETX],UPD_DT, APPROVE_VALUE,TOTAL_AREA_USE,TOTAL_COST,UNIT_PRICE,UNUSED_AREA, [DEP_CREATE]) VALUES('N',@l_CONSTRUCT_ID ,@l_CONSTRUCT_ID ,@p_CONSTRUCT_NAME ,@p_PLAN_ID ,@p_DIVI_ID ,@p_CONSTRUCT_ADDR ,@p_LENGTH, @p_WIDTH, @p_CONSTRUCT_AREA ,@p_FLOORS, @p_FLOORS_AREA, @p_YEAR_EXE ,@p_HQ_TYPE ,@p_CONST_TYPE ,@p_TOTAL_AMT ,@p_COST_ESTIMATE ,@p_COST_EXE ,@p_COST_INCURRED , @p_CONST_PURPOSE, @p_DESCRIPTION ,CONVERT(DATETIME, @p_START_DT, 103) , CONVERT(DATETIME, @p_END_DT, 103) ,CONVERT(DATETIME, @p_DATE_EXE, 103) ,CONVERT(DATETIME, @p_COMPLETION_DT, 103),@p_CONSTRUCT_PROGRESS ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID , CONVERT(DATETIME, @p_APPROVE_DT, 103) ,@p_CONST_ID, @p_REQUEST_ID, @p_BRANCH_ID, @p_STREET, @p_LOCATION, @p_SCALE, @p_ENGINEER, @p_BRANCH_NAME_ETX , CONVERT(DATETIME, @p_UPD_DT, 103), @p_APPROVE_VALUE,@p_TOTAL_AREA_USE,@p_TOTAL_COST,@p_UNIT_PRICE,@p_UNUSED_AREA, @DEP_CREATE) IF @@Error <> 0 GOTO ABORT -- UPDATE CONSTRUCT ID CON_REQUEST_DOC UPDATE CON_REQUEST_DOC SET CONSTRUCT_ID = @l_CONSTRUCT_ID WHERE REQUEST_PARENT = @p_REQUEST_ID INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@l_CONSTRUCT_ID, 'CON_MASTER') -- DANH SÁCH HÀNG HÓA DECLARE @CON_REQ_HH_ID VARCHAR(15), @SUP_ID VARCHAR(15), @SELLTEMENT_AMT DECIMAL(18,2), @DESCRIPTION NVARCHAR(4000), @HH_ID VARCHAR(15), @ESTIMATES_AMT DECIMAL(18,2), @BRANCH_DO VARCHAR(15), @CONS_DOCUMENT_ID VARCHAR(15), @BID_ID varchar(15), @BID_CODE VARCHAR(15), @REQDT_ID VARCHAR(15) 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 WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'CON_REQUEST_HH_DT', @CON_REQ_HH_ID out IF @CON_REQ_HH_ID='' OR @CON_REQ_HH_ID IS NULL GOTO ABORT SET @DESCRIPTION = (SELECT [DESCRIPTION] FROM PL_REQUEST_DOC_DT WHERE REQDT_ID = @REQDT_ID) print @BID_CODE print @REQDT_ID INSERT INTO [dbo].[CON_REQUEST_HH_DT] ( [CON_REQ_HH_ID], [SUP_ID], [SELLTEMENT_AMT], [DESCRIPTION], [HH_ID], [REQ_ID], [ESTIMATES_AMT], [BRANCH_DO], [CONS_DOCUMENT_ID], [BID_ID], [REQ_CODE], [CONSTRUCT_ID], [REQDT_ID], [BID_CODE] ) VALUES ( @CON_REQ_HH_ID, @SUP_ID, @SELLTEMENT_AMT, @DESCRIPTION, @HH_ID, @REQ_ID, @ESTIMATES_AMT, @BRANCH_DO, @CONS_DOCUMENT_ID, @BID_ID, @REQ_CODE, @l_CONSTRUCT_ID, @REQDT_ID, @BID_CODE ) INSERT INTO @TEMP([KEY],[REF_ID],[TYPE]) VALUES (@REQDT_ID, @CON_REQ_HH_ID, 'CON_REQUEST_HH_DT') 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 END CLOSE ListHH DEALLOCATE ListHH -- THEM CHI TIET THONG TIN HO SO THI CONG -- HOP DONG & PHU LUC HOP DONG DECLARE @CDT_INDEX int = 0, @CDT_CONTRACT_ID varchar(15), @CONTRACT_CODE varchar(15), @CONTRACT_NAME nvarchar(200), @CONTRACT_TYPE varchar(1), @CDT_BID_ID nvarchar(200), @CDT_TOTAL_AMT decimal(18), @CDT_IS_PARENT varchar(1), @CDT_REQUEST_ID varchar(15), @CDT_CONTRACT_PARENT varchar(15), @CDT_REQDT_ID VARCHAR(15) -- DANH SACH HO SO THI CONG (HOP DONG) --INSERT ListContract_DT DETAIL FETCH NEXT FROM ListContract_DT INTO @CDT_CONTRACT_ID, @CONTRACT_CODE, @CONTRACT_NAME, @CONTRACT_TYPE, @CDT_BID_ID, @CDT_TOTAL_AMT, @CDT_IS_PARENT, @CDT_REQUEST_ID, @CDT_REQDT_ID WHILE @@FETCH_STATUS = 0 BEGIN ---- KIEM TRA SO HOP DONG CO TRUNG HAY KHONG --IF EXISTS(SELECT * FROM TR_CONTRACT WHERE REQUEST_ID = @P_REQUEST_ID AND [CONTRACT_CODE]= @CONTRACT_CODE AND @CONTRACT_CODE<>'' AND @CONTRACT_CODE IS NOT NULL) --BEGIN -- SELECT ErrorCode Result, @l_CONSTRUCT_ID CONSTRUCT_ID, '' REF_ID, '' [TYPE], ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'CTRC-0001' -- GOTO ABORT --END --SELECT @BID_ID = REF_ID FROM @TEMP where [TYPE]='BID_MASTER' AND [KEY] = @CDT_BID_ID DECLARE @l_CON_REQUEST_CONTRACT_ID VARCHAR(15), @CDT_CON_REQ_HH_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'CON_REQUEST_CONTRACT', @l_CON_REQUEST_CONTRACT_ID out IF @l_CON_REQUEST_CONTRACT_ID='' OR @l_CON_REQUEST_CONTRACT_ID IS NULL GOTO ABORT SET @CDT_CON_REQ_HH_ID = (SELECT REF_ID FROM @TEMP WHERE [KEY] = @CDT_REQDT_ID) INSERT INTO CON_REQUEST_CONTRACT([CON_REQUEST_CONTRACT_ID],[CON_REQ_HH_ID],[CONTRACT_ID],[TOTAL_AMT],[REQDT_ID]) VALUES (@l_CON_REQUEST_CONTRACT_ID,@CDT_CON_REQ_HH_ID,@CDT_CONTRACT_ID,@CDT_TOTAL_AMT,@CDT_REQDT_ID) INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@l_CON_REQUEST_CONTRACT_ID, 'CON_REQUEST_CONTRACT') IF @@Error <> 0 GOTO ABORT --INSERT INTO @TEMP([KEY],[REF_ID],[TYPE]) VALUES (@CONTRACT_CODE, @l_CONTRACT_ID, 'TR_CONTRACT') FETCH NEXT FROM ListContract_DT INTO @CDT_CONTRACT_ID, @CONTRACT_CODE, @CONTRACT_NAME, @CONTRACT_TYPE, @CDT_BID_ID, @CDT_TOTAL_AMT, @CDT_IS_PARENT, @CDT_REQUEST_ID, @CDT_REQDT_ID END CLOSE ListContract_DT DEALLOCATE ListContract_DT -- ĐÁNH GIÁ NCC DECLARE @CON_REQ_REVIEW_ID VARCHAR(15), @QCKT_REVIEW NVARCHAR(4000), @CONS_PROCESS VARCHAR(15), @MAINTENANCE VARCHAR(15), @REPORT_PLAN_EDIT VARCHAR(15), @CONS_QUALITY VARCHAR(15), @BEAUTY_IMAGE VARCHAR(15), @SUP_NAME NVARCHAR(1000), @HANGHOA_ID VARCHAR(15) 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 WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'CON_REQUEST_REVIEW_DT', @CON_REQ_REVIEW_ID out IF @CON_REQ_REVIEW_ID='' OR @CON_REQ_REVIEW_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CON_REQUEST_REVIEW_DT] ( [CON_REQ_REVIEW_ID], [SUP_ID], [CONS_PROCESS], [MAINTENANCE], [REPORT_PLAN_EDIT], [CONS_QUALITY], [BEAUTY_IMAGE], [CONSTRUCT_ID], [QCKT_REVIEW], [SUP_NAME], [REQ_CODE], [REQ_ID], [HANGHOA_ID] ) VALUES ( @CON_REQ_REVIEW_ID, @SUP_ID, @CONS_PROCESS, @MAINTENANCE, @REPORT_PLAN_EDIT, @CONS_QUALITY, @BEAUTY_IMAGE, @l_CONSTRUCT_ID, @QCKT_REVIEW, @SUP_NAME, @REQ_CODE, @REQ_ID, @HANGHOA_ID ) INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQ_REVIEW_ID, 'CON_REQUEST_REVIEW_DT') 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 END CLOSE ListReview DEALLOCATE ListReview -- TIẾN ĐỘ CÔNG TRÌNH DECLARE @CON_REQ_PROCESS_ID VARCHAR(15), @DATE_REPORT VARCHAR(50), @PERCENT_COMPLETED DECIMAL(18,2), @PERCENT_REMAIN DECIMAL(18,2), @DEADLINE VARCHAR(50), @ITEM_JOB NVARCHAR(MAX), @NOTES NVARCHAR(MAX), @DEADLINE_CON VARCHAR(50) FETCH NEXT FROM ListConsProcess into @CON_REQ_PROCESS_ID,@DATE_REPORT, @PERCENT_COMPLETED, @PERCENT_REMAIN, @DEADLINE, @ITEM_JOB, @NOTES, @DEADLINE_CON WHILE @@FETCH_STATUS = 0 BEGIN EXEC SYS_CodeMasters_Gen 'CON_REQUEST_PROCESS_DT', @CON_REQ_PROCESS_ID out IF @CON_REQ_PROCESS_ID='' OR @CON_REQ_PROCESS_ID IS NULL GOTO ABORT INSERT INTO [dbo].[CON_REQUEST_PROCESS_DT] ( [CON_REQ_PROCESS_ID], [DATE_REPORT], [PERCENT_COMPLETED], [PERCENT_REMAIN], [DEADLINE], [CONSTRUCT_ID], [ITEM_JOB], [NOTES], [DEADLINE_CON] ) VALUES ( @CON_REQ_PROCESS_ID, CONVERT(DATETIME, @DATE_REPORT, 103), @PERCENT_COMPLETED, @PERCENT_REMAIN, CASE WHEN @DEADLINE IS NULL OR @DEADLINE = '' THEN NULL ELSE CONVERT(DATETIME, @DEADLINE, 103) END, @l_CONSTRUCT_ID, @ITEM_JOB, @NOTES, CASE WHEN @DEADLINE_CON IS NULL OR @DEADLINE_CON = '' THEN NULL ELSE CONVERT(DATETIME, @DEADLINE_CON, 103) END ) INSERT INTO @TEMP([REF_ID],[TYPE]) VALUES (@CON_REQ_PROCESS_ID, 'CON_REQUEST_PROCESS_DT') FETCH NEXT FROM ListConsProcess INTO @CON_REQ_PROCESS_ID,@DATE_REPORT, @PERCENT_COMPLETED, @PERCENT_REMAIN, @DEADLINE, @ITEM_JOB, @NOTES, @DEADLINE_CON END CLOSE ListConsProcess DEALLOCATE ListConsProcess -- start hieuhm 09/11/2022 thêm lịch sử xử lí INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC, NOTES ) VALUES ( @l_CONSTRUCT_ID, 'INS', @p_MAKER_ID, GETDATE(), N'Tạo mới công trình thành công' , N'Đơn vị tạo mới công trình' ) -- end hieuhm 09/11/2022 thêm lịch sử xử lí COMMIT TRANSACTION BEGIN SELECT '0' as Result, @l_CONSTRUCT_ID CONSTRUCT_ID, [REF_ID], [TYPE], '' ErrorDesc FROM @TEMP RETURN '0' END ABORT: BEGIN CLOSE ListRequestDoc DEALLOCATE ListRequestDoc CLOSE ListConsProcess DEALLOCATE ListConsProcess CLOSE ListReview DEALLOCATE ListReview CLOSE ListContract_DT DEALLOCATE ListContract_DT CLOSE ListHH DEALLOCATE ListHH ROLLBACK TRANSACTION SELECT '-1' as Result, @l_CONSTRUCT_ID CONSTRUCT_ID, '' [REF_ID], '' [TYPE], @sErrorCode ErrorDesc RETURN '-1' End