DECLARE @BRANCH_CODE_IMP NVARCHAR(MAX) = '1800,1400,1400,0719,0731,2200,2200,0900,0900,0900,1902,0717,2600,2600,2600,2500,2500,0903,0902,0901,0703,0700,2300,2300,3000,0726,0726,1801,0500,2000' DECLARE @DEP_CODE_IMP NVARCHAR(MAX) = 'NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,05P24,NULL' DECLARE @ASSET_ID_IMP NVARCHAR(MAX) = 'ASS000001371117,ASS000001371118,ASS000001371119,ASS000001371120,ASS000001371121,ASS000001371122,ASS000001371123,ASS000001371124,ASS000001371125,ASS000001371126,ASS000001371127,ASS000001371128,ASS000001371129,ASS000001371130,ASS000001371131,ASS000001371132,ASS000001371133,ASS000001371134,ASS000001371135,ASS000001371136,ASS000001371137,ASS000001371138,ASS000001371139,ASS000001371140,ASS000001371141,ASS000001371142,ASS000001371143,ASS000001371144,ASS000001371145,ASS000001371146' DECLARE @TABLE_DATA TABLE (ASSET_ID VARCHAR(20),BRANCH_CODE VARCHAR(20), DEP_CODE VARCHAR(20)) INSERT INTO @TABLE_DATA SELECT A.ASSET_ID,B.BRANCH_CODE,C.DEP_CODE FROM ( SELECT VALUE AS ASSET_ID ,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID FROM STRING_SPLIT(@ASSET_ID_IMP,','))A LEFT JOIN (SELECT VALUE AS BRANCH_CODE ,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID FROM STRING_SPLIT(@BRANCH_CODE_IMP,','))B ON A.ID = B.ID LEFT JOIN (SELECT VALUE AS DEP_CODE ,ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS ID FROM STRING_SPLIT(@DEP_CODE_IMP,','))C ON A.ID = C.ID DECLARE @ASSET_ID varchar(15), @p_BRANCH_ID varchar(15), @p_DEP_ID varchar(15), @EMP_ID varchar(15) = NULL DECLARE @BRANCH_NAME NVARCHAR(100) BEGIN TRANSACTION DECLARE cur CURSOR FAST_FORWARD READ_ONLY LOCAL FOR SELECT A.ASSET_ID,B.BRANCH_ID,C.DEP_ID FROM @TABLE_DATA A LEFT JOIN CM_BRANCH B ON A.BRANCH_CODE = B.BRANCH_CODE LEFT JOIN CM_DEPARTMENT C ON A.DEP_CODE = C.DEP_CODE OPEN cur FETCH NEXT FROM cur INTO @ASSET_ID,@p_BRANCH_ID,@p_DEP_ID WHILE @@FETCH_STATUS = 0 BEGIN SET @BRANCH_NAME = (SELECT CB.BRANCH_NAME FROM CM_BRANCH CB where CB.BRANCH_ID = @p_BRANCH_ID) DECLARE @l_USER_MASTER_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'ASS_USE_MULTI_MASTER', @l_USER_MASTER_ID out --IF @l_USER_MASTER_ID='' OR @l_USER_MASTER_ID IS NULL GOTO ABORT INSERT INTO ASS_USE_MULTI_MASTER([USER_MASTER_ID],[BRANCH_ID],[USE_EXPORT_DT],[USER_EXPORT],[NOTES],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[CHECKER_ID],[APPROVE_DT],[AUTH_STATUS_KT],[CREATE_DT_KT],[APPROVE_DT_KT],[MAKER_ID_KT],[CHECKER_ID_KT],[REPORT_STATUS],[CORE_NOTE],[DEPT_CREATE],DEP_ID,BRANCH_CREATE,CONTENT) VALUES(@l_USER_MASTER_ID,@p_BRANCH_ID ,GETDATE() ,N'Nguyễn Hoàng Nghĩa' ,N'Ngày 31/03/2023 Xuất cho ' +@BRANCH_NAME ,'1' ,'E' ,'nghianh' ,GETDATE() ,NULL ,NULL ,'E' ,NULL ,NULL ,NULL ,NULL ,NULL,'','DEP000000000048',@p_DEP_ID,'DV0001', N'Xuất cho ' + @BRANCH_NAME) DECLARE @l_USE_MULTI_ID VARCHAR(15) EXEC SYS_CodeMasters_Gen 'ASS_USE_MULTI_DT', @l_USE_MULTI_ID out --IF @l_USE_MULTI_ID='' OR @l_USE_MULTI_ID IS NULL GOTO ABORT --SELECT @l_USE_MULTI_ID INSERT INTO ASS_USE_MULTI_DT([USE_MULTI_ID],[USER_MASTER_ID],[ASSET_ID],[BRANCH_ID],[DEPT_ID],[EMP_ID],[RECORD_STATUS],[AUTH_STATUS],[MAKER_ID],[CREATE_DT],[BRANCH_CREATE],[AUTH_STATUS_KT],[REPORT_STATUS]) VALUES(@l_USE_MULTI_ID ,@l_USER_MASTER_ID,@ASSET_ID,@p_BRANCH_ID ,@p_DEP_ID ,@EMP_ID ,'1','E','nghianh',GETDATE(),'DV0001','E','N') INSERT INTO dbo.PL_PROCESS ( REQ_ID, PROCESS_ID, CHECKER_ID, APPROVE_DT, PROCESS_DESC,NOTES ) VALUES ( @l_USER_MASTER_ID, -- REQ_ID - varchar(15) 'INSERT', -- PROCESS_ID - varchar(10) 'nghianh', -- CHECKER_ID - varchar(15) GETDATE(), -- APPROVE_DT - datetime N'Thêm mới phiếu xuất sử dụng' , N'Thêm mới phiếu xuất sử dụng thành công' -- PROCESS_DESC - nvarchar(1000) ) EXEC ASS_USE_MUILTI_MASTER_SendAppr @p_USER_MASTER_ID =@l_USER_MASTER_ID ,@p_USER_LOGIN = 'nghianh' EXEC ASS_USE_MULTI_BVB_MASTER_App @p_USER_MASTER_ID = @l_USER_MASTER_ID ,@p_AUTH_STATUS = 'A' ,@p_CHECKER_ID = 'bichnn' ,@p_APPROVE_DT = '31-03-2023' FETCH NEXT FROM cur INTO @ASSET_ID,@p_BRANCH_ID,@p_DEP_ID END CLOSE cur DEALLOCATE cur COMMIT TRANSACTION