111 lines
5.5 KiB
Transact-SQL
111 lines
5.5 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[SpGetNewNumber]
|
|
@tableName varchar(100),/*表名*/
|
|
@columnName varchar(100),/*列名*/
|
|
@projectId varchar(50),
|
|
@prefix varchar(25),/*流水号编码前缀*/
|
|
@returnVal nvarchar(30) output
|
|
AS
|
|
/*获取各模块的流水号*/
|
|
declare
|
|
@sql nvarchar(500),
|
|
@old nvarchar(50),
|
|
@newid varchar(50),
|
|
@maxId nvarchar(30)/*已分配的最大值*/
|
|
select @sql=N'SELECT @maxId=MAX('+@columnName+') from '+@tableName+' where ProjectId = '''+@projectId+''' and ' + @columnName+' like ' + '''%' + @prefix + '%'''
|
|
EXEC sp_executesql @sql, N'@maxId nvarchar(30) OUTPUT', @maxId OUTPUT
|
|
set @old=@maxId
|
|
|
|
IF(@old is null)
|
|
BEGIN
|
|
set @newid=@prefix+'00001'
|
|
END
|
|
|
|
ELSE
|
|
BEGIN
|
|
set @newid = (select max(right(@old,5)))+1
|
|
set @newid = @prefix +right('00000'+@newid,5)
|
|
END
|
|
|
|
SET @returnVal=@newid
|
|
|
|
GO
|
|
|
|
CREATE TABLE [dbo].[ProjectData_CodeTemplateRule](
|
|
[CodeTemplateRuleId] [nvarchar](50) NOT NULL,
|
|
[ProjectId] [nvarchar](50) NULL,
|
|
[MenuId] [nvarchar](50) NULL,
|
|
[Template] [nvarchar](max) NULL,
|
|
[Symbol] [nvarchar](10) NULL,
|
|
[IsProjectCode] [bit] NULL,
|
|
[Prefix] [nvarchar](50) NULL,
|
|
[IsUnitCode] [bit] NULL,
|
|
[Digit] [int] NULL,
|
|
[OwerSymbol] [nvarchar](10) NULL,
|
|
[OwerIsProjectCode] [bit] NULL,
|
|
[OwerPrefix] [nvarchar](50) NULL,
|
|
[OwerIsUnitCode] [bit] NULL,
|
|
[OwerDigit] [int] NULL,
|
|
CONSTRAINT [PK_ProjectData_CodeTemplateRule] PRIMARY KEY CLUSTERED
|
|
(
|
|
[CodeTemplateRuleId] ASC
|
|
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
|
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[ProjectData_CodeTemplateRule] WITH CHECK ADD CONSTRAINT [FK_ProjectData_CodeTemplateRule_Base_Project] FOREIGN KEY([ProjectId])
|
|
REFERENCES [dbo].[Base_Project] ([ProjectId])
|
|
GO
|
|
|
|
ALTER TABLE [dbo].[ProjectData_CodeTemplateRule] CHECK CONSTRAINT [FK_ProjectData_CodeTemplateRule_Base_Project]
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单规则id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'CodeTemplateRuleId'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'ProjectId'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'菜单id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'MenuId'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'模板内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Template'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'间隔符号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Symbol'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加项目号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'IsProjectCode'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前缀' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Prefix'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加单位代号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'IsUnitCode'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'流水号位数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'Digit'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'间隔符号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerSymbol'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加项目号(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerIsProjectCode'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前缀(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerPrefix'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否添加单位代号(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerIsUnitCode'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'流水号位数(业主)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule', @level2type=N'COLUMN',@level2name=N'OwerDigit'
|
|
GO
|
|
|
|
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目菜单规则(编码/模板)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProjectData_CodeTemplateRule'
|
|
GO
|
|
|
|
|
|
INSERT INTO SGGLDB.dbo.ProjectData_CodeTemplateRule
|
|
SELECT * from HSSEDB.dbo.ProjectData_CodeTemplateRule
|
|
where ProjectId in (select projectid from SGGLDB.dbo.Base_Project)
|
|
go |