USE [BootstrapAdmin] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Drop PROCEDURE Proc_DeleteUsers GO -- ============================================= -- Author: Argo Zhang -- Create date: 2016-09-06 -- Description: -- ============================================= Create PROCEDURE Proc_DeleteUsers -- Add the parameters for the stored procedure here @ids varchar(max) WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here declare @sql varchar(max) set @sql = 'Delete from UserRole where UserID in (' + @ids + ');' set @sql += 'delete from UserGroup where UserID in (' + @ids + ');' set @sql += 'delete from Users where ID in (' + @ids + ');' exec(@sql) END GO Drop PROCEDURE Proc_DeleteRoles GO -- ============================================= -- Author: LiuChun -- Create date: 2016-11-07 -- Description: -- ============================================= Create PROCEDURE Proc_DeleteRoles -- Add the parameters for the stored procedure here @ids varchar(max) WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here declare @sql varchar(max) set @sql = 'delete from UserRole where RoleID in (' + @ids + ');' set @sql += 'delete from RoleGroup where RoleID in (' + @ids + ');' set @sql += 'delete from NavigationRole where RoleID in (' + @ids + ');' set @sql += 'delete from Roles where ID in (' + @ids + ');' exec(@sql) END GO Drop PROCEDURE Proc_DeleteGroups GO -- ============================================= -- Author: LiuChun -- Create date: 2016-11-07 -- Description: -- ============================================= Create PROCEDURE Proc_DeleteGroups -- Add the parameters for the stored procedure here @ids varchar(max) WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here declare @sql varchar(max) set @sql = 'delete from UserGroup where GroupID in (' + @ids + ');' set @sql += 'delete from RoleGroup where GroupID in (' + @ids + ');' set @sql += 'delete from Groups where ID in (' + @ids + ');' exec(@sql) END GO Drop PROCEDURE Proc_DeleteMenus GO -- ============================================= -- Author: LiuChun -- Create date: 2016-11-07 -- Description: -- ============================================= Create PROCEDURE Proc_DeleteMenus -- Add the parameters for the stored procedure here @ids varchar(max) WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here declare @sql varchar(max) set @sql = 'delete from NavigationRole where NavigationID in (' + @ids + ');' set @sql += 'delete from Navigations where ID in (' + @ids + ');' exec(@sql) END GO Drop PROCEDURE Proc_RetrieveMenus GO -- ============================================= -- Author: Argo Zhang -- Create date: 2016-11-08 -- Description: -- ============================================= Create PROCEDURE Proc_RetrieveMenus -- Add the parameters for the stored procedure here @userName varchar(50) = null WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here if @userName = '' or @userName is null or exists(select ur.ID from Users u inner join UserRole ur on u.ID = ur.UserID inner join Roles r on ur.RoleID = r.ID where r.RoleName = 'administrators' and u.UserName = @userName) select n.ID, n.ParentId, n.Name, n.[Order], n.Icon, n.Url, n.Category, n.Target, n.IsResource, n.[Application], d.Name as CategoryName, ln.Name as ParentName from Navigations n inner join Dicts d on n.Category = d.Code and d.Category = N'菜单' and d.Define = 0 left join Navigations ln on n.ParentId = ln.ID else select n.ID, n.ParentId, n.Name, n.[Order], n.Icon, n.Url, n.Category, n.Target, n.IsResource, n.[Application], d.Name as CategoryName, ln.Name as ParentName from Navigations n inner join Dicts d on n.Category = d.Code and d.Category = N'菜单' and d.Define = 0 left join Navigations ln on n.ParentId = ln.ID inner join ( select nr.NavigationID from Users u inner join UserRole ur on ur.UserID = u.ID inner join NavigationRole nr on nr.RoleID = ur.RoleID where u.UserName = @userName union select nr.NavigationID from Users u inner join UserGroup ug on u.ID = ug.UserID inner join RoleGroup rg on rg.GroupID = ug.GroupID inner join NavigationRole nr on nr.RoleID = rg.RoleID where u.UserName = @userName union select n.ID from Navigations n where EXISTS (select UserName from Users u inner join UserRole ur on u.ID = ur.UserID inner join Roles r on ur.RoleID = r.ID where u.UserName = @userName and r.RoleName = N'Administrators' ) ) nav on n.ID = nav.NavigationID END GO /****** Object: StoredProcedure [dbo].[Proc_SaveUsers] Script Date: 11/11/2016 08:51:44 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Drop PROCEDURE Proc_SaveUsers GO -- ============================================= -- Author: LiuChun -- Create date: 2016-11-10 -- Description: -- ============================================= CREATE PROCEDURE [dbo].[Proc_SaveUsers] -- Add the parameters for the stored procedure here @id int, @userName varchar(50), @password varchar(50), @passSalt varchar(50), @displayName nvarchar(50), @approvedBy varchar(50) = null, @description nvarchar(500), @rejectedBy varchar(50) = null, @rejectedReason nvarchar(500) = null, @userStatus int = 0 --0表示管理员创建 1标示用户注册 2标示管理员批复 WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here if @userStatus = 2 begin if @approvedBy is not null update Users set ApprovedTime = GETDATE(), ApprovedBy = @approvedBy where ID = @id else update Users set RejectedTime = GETDATE(), RejectedBy = @rejectedBy, RejectedReason = @rejectedReason where ID = @id end else begin declare @approveTime datetime = null if @userStatus = 0 set @approveTime = GETDATE() if(@id = 0 and not exists (select 1 from Users Where UserName = @userName)) begin Insert Into Users (UserName, [Password], PassSalt, DisplayName, RegisterTime, ApprovedTime, [Description]) values (@userName, @password, @passSalt, @displayName, GETDATE(), @approveTime, @description) insert into UserRole (UserID, RoleID) select @@IDENTITY, ID from Roles where RoleName = N'Default' end else Update Users set [Password] = @password, PassSalt = @passSalt, DisplayName = @displayName where ID = @id end END GO Drop PROCEDURE Proc_ProcessRegisterUser GO -- ============================================= -- Author: XiaTiantian -- Create date: 2016-11-10 -- Description: -- ============================================= Create PROCEDURE Proc_ProcessRegisterUser -- Add the parameters for the stored procedure here @id int WITH ENCRYPTION AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; SET XACT_ABORT ON; -- Insert statements for procedure here update Users set ApprovedTime=GETDATE() where UserName=(select Title from Notifications where ID=@id) update Notifications set Status='1',ProcessTime=GETDATE(),ProcessResult='0' where ID=@id END GO