/* [dbo].[RET_REPAIR_App] '','','' */ ALTER PROCEDURE [dbo].[CM_DEPARTMENT_App] @P_DEP_ID VARCHAR(15), @P_AUTH_STATUS VARCHAR(1), @P_CHECKER_ID VARCHAR(12), @P_APPROVE_DT VARCHAR(20) = NULL AS --Validation is here --DECLARE @ERRORSYS NVARCHAR(15) = '' --IF ( NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_ID = @P_DEP_ID)) -- SET @ERRORSYS = 'DEP-00001' --IF @ERRORSYS <> '' --BEGIN -- SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS -- RETURN '0' --END DECLARE @aStatus VARCHAR(1) -- TUNT 26/02/2020 khong duyet DEPARTMENT DA DUYET SELECT @aStatus = [AUTH_STATUS] FROM CM_DEPARTMENT WHERE DEP_ID = @P_DEP_ID IF @aStatus = 'A' BEGIN SELECT '0' as Result, '' ErrorDesc RETURN 0 END DECLARE @l_COST_ID VARCHAR(20) --PHONGNT 4/8/22 MAPPING PHONG BAN KHOI EXEC SYS_CodeMasters_Gen 'PL_COSTCENTER', @l_COST_ID out IF @l_COST_ID='' OR @l_COST_ID IS NULL GOTO ABORT DECLARE @DVDM_ID VARCHAR(20) SET @DVDM_ID = (SELECT KHOI_ID FROM CM_DEPARTMENT WHERE DEP_ID=@P_DEP_ID) IF(@DVDM_ID IS NOT NULL) BEGIN DECLARE @l_COSTDT_ID VARCHAR(20) DECLARE @l_COST_CODE VARCHAR(20) DECLARE @l_COST_NAME NVARCHAR(200) DECLARE @BRANCH_ID VARCHAR(20) SELECT @l_COST_CODE = DEP_CODE,@l_COST_NAME = DEP_NAME,@BRANCH_ID=BRANCH_ID FROM dbo.CM_DEPARTMENT WHERE DEP_ID = @P_DEP_ID INSERT INTO dbo.PL_COSTCENTER ( COST_ID,COST_CODE,PLAN_TYPE_ID,COST_NAME,NOTES,RECORD_STATUS,AUTH_STATUS,MAKER_ID,CREATE_DT,EDITER_ID,EDIT_DT,CHECKER_ID,APPROVE_DT,DVDM_ID ) VALUES ( @l_COST_ID,@l_COST_CODE,'',@l_COST_NAME,N'','1', 'A',@P_CHECKER_ID,GETDATE(), @P_CHECKER_ID,GETDATE(),@P_CHECKER_ID,GETDATE(),@DVDM_ID ) EXEC SYS_CodeMasters_Gen 'PL_COSTCENTER_DT', @l_COSTDT_ID out IF @l_COSTDT_ID='' OR @l_COSTDT_ID IS NULL GOTO ABORT DELETE PL_COSTCENTER_DT WHERE DEP_ID = @P_DEP_ID INSERT INTO dbo.PL_COSTCENTER_DT ( COSTDT_ID,COST_ID,BRANCH_ID,DEP_ID,NOTES,RECORD_STATUS,MAKER_ID,CREATE_DT ) VALUES ( @l_COSTDT_ID, @l_COST_ID,@BRANCH_ID,@P_DEP_ID, N'','1', @P_CHECKER_ID,GETDATE() ) END --END BEGIN TRANSACTION UPDATE CM_DEPARTMENT SET AUTH_STATUS = @P_AUTH_STATUS, CHECKER_ID = @P_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@P_APPROVE_DT,103) WHERE DEP_ID = @P_DEP_ID IF @@Error <> 0 GOTO ABORT --- LUCTV 16.11.2022 NEU PHONG BAN CON CHỌN 1 PHÒNG BAN KHÁC LÀM PHÒNG BAN CHA THÌ AUTO KHAI BÁO TĐV PHÒNG BAN CHA ĐƯỢC KIÊM NHIỆM PHÒNG BAN NÀY DECLARE @tlnameGDDV VARCHAR(50), @FATHER_ID VARCHAR(15),@BRN_ID VARCHAR(15),@tlnameGDDV_AUTH_PARENT_ID VARCHAR(50) SET @FATHER_ID = (SELECT FATHER_ID FROM CM_DEPARTMENT WHERE DEP_ID =@P_DEP_ID) SET @BRN_ID = (SELECT BRANCH_ID FROM CM_DEPARTMENT WHERE DEP_ID =@P_DEP_ID) IF(ISNULL(@FATHER_ID,'') <> '') BEGIN --SET @tlnameGDDV =(SELECT TOP 1 TLNANME FROM TL_USER WHERE RoleName ='GDDV' AND SECUR_CODE = @FATHER_ID) SET @tlnameGDDV =(SELECT TOP 1 TLNANME FROM TL_USER JOIN AbpUserRoles aur ON TL_USER.ID = aur.UserId JOIN AbpRoles ar ON (aur.RoleId =ar.Id AND ar.DisplayName='GDDV') WHERE SECUR_CODE = @FATHER_ID) SET @tlnameGDDV_AUTH_PARENT_ID =(SELECT TOP 1 TLNAME FROM TL_SYS_ROLE_MAPPING WHERE ROLE_NEW ='GDDV' AND DEP_ID =@FATHER_ID AND RECORD_STATUS ='1' AND IS_MAIN = 1 AND CONVERT(DATE,EXP_DATE,103) >=CONVERT(DATE, GETDATE(),103)) IF(ISNULL(@tlnameGDDV,'') <> '') BEGIN INSERT INTO TL_SYS_ROLE_MAPPING (ROLE_OLD, ROLE_NEW, TLNAME, DEP_ID,BRANCH_ID,EFF_DATE, EXP_DATE, NOTES, AUTH_STATUS, RECORD_STATUS, MAKER_ID, CHECKER_ID, IS_MAIN) VALUES ('GDDV','GDDV',@tlnameGDDV,@P_DEP_ID,@BRN_ID,'2000-1-1','2200-1-1','AUTO AUTHORITY DEP CHILD','A','1','baotq','baotq',1) END IF(ISNULL(@tlnameGDDV_AUTH_PARENT_ID,'') <> '') BEGIN INSERT INTO TL_SYS_ROLE_MAPPING (ROLE_OLD, ROLE_NEW, TLNAME, DEP_ID,BRANCH_ID,EFF_DATE, EXP_DATE, NOTES, AUTH_STATUS, RECORD_STATUS, MAKER_ID, CHECKER_ID, IS_MAIN) VALUES ('GDDV','GDDV',@tlnameGDDV_AUTH_PARENT_ID,@P_DEP_ID,@BRN_ID,'2000-1-1','2200-1-1','AUTO AUTHORITY DEP CHILD','A','1','baotq','baotq',1) END END ELSE BEGIN UPDATE TL_SYS_ROLE_MAPPING SET RECORD_STATUS ='0', EXP_DATE ='2000-1-1' WHERE DEP_ID =@P_DEP_ID AND NOTES ='AUTO AUTHORITY DEP CHILD' AND TLNAME=@tlnameGDDV UPDATE TL_SYS_ROLE_MAPPING SET RECORD_STATUS ='0', EXP_DATE ='2000-1-1' WHERE DEP_ID =@P_DEP_ID AND NOTES ='AUTO AUTHORITY DEP CHILD' AND TLNAME=@tlnameGDDV_AUTH_PARENT_ID END --- END LUCTV COMMIT TRANSACTION SELECT '0' as Result, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ErrorDesc RETURN '-1' End