zoukankan      html  css  js  c++  java
  • Add tailormade function to system function and create menu

    if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#table') and type='U')
      DROP TABLE #table 

    CREATE TABLE #table
        (
          [RECNUM] [decimal](28, 0) IDENTITY(1, 1)     NOT NULL ,
          ModuleCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS       NULL ,
          FunctionCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS       NULL ,
          FuncDescription NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS  NULL,
          Process_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS      NULL,
          Menu_Type NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS   NULL,
          Menu_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS   NULL                                
        )

    INSERT  INTO #table(ModuleCode, FunctionCode , FuncDescription,Process_Code,Menu_Type,Menu_Code)
            SELECT  'PRSF', 'PRSFRT' ,  'Matrial Reservation Transfer','M6_ENT','ENTRY','100'
            UNION ALL
            SELECT 'PRSF', 'PRSFRC' ,'Routing Process Completion','M6_ENT','ENTRY','110'
            UNION ALL
            SELECT 'PRPE', 'PRPEMJ' ,'Mass ECN','M4_ENT','ENTRY','60'
            UNION ALL
            SELECT 'PRPM', 'PRPMMJ' ,'Mass ECN','M4_ENT','ENTRY','70'
            UNION ALL
            SELECT 'SAMF', 'SAMFRP' ,'Routing Process','MAST01','MAST','110'
            UNION ALL
            SELECT 'SAMF', 'SAMFRP' ,'Bom Routing Process Settings','MAST01','MAST','120'
            UNION ALL
            SELECT 'SAMF', 'SAMFCL' ,'Collection Master','MAST01','MAST','130'
            UNION ALL
            SELECT 'SAMF', 'SAMFSY' ,'Style Master','MAST01','MAST','140'
            UNION ALL
            SELECT  'SAMF','SAMFCO' ,'Color Master','MAST01','MAST','150'
            UNION ALL
            SELECT 'PRPM', 'PRMJU' , 'Job BOM Update','M4_ENT','ENTRY','80'


    DECLARE @SeriesCode nvarchar(30)
    DECLARE @ModuleCode nvarchar(30)
    DECLARE @FunctionCode nvarchar(30)
    DECLARE @FunctionDesc nvarchar(30)
    DECLARE @RECNUM INT

    DECLARE @Process_Code nvarchar(30)
    DECLARE @Menu_Type nvarchar(30)
    DECLARE @Menu_Code nvarchar(30)

    DECLARE @LastLineNo  INT

    SET @SeriesCode=''

    DECLARE function_cursor CURSOR FOR SELECT RECNUM  FROM  #table
    OPEN function_cursor
     
    FETCH NEXT FROM function_cursor  INTO @RECNUM
    WHILE @@FETCH_STATUS = 0
    BEGIN
        SELECT @ModuleCode=ModuleCode,@FunctionCode=FunctionCode, @FunctionDesc=FuncDescription,@Process_Code=Process_Code,
            @Menu_Type=Menu_Type,@Menu_Code=Menu_Code FROM #table  WHERE RECNUM=@RECNUM      
      
         
      -- Check for Function
            if not exists ( select * from [ADFUNC] where Module_Code = @ModuleCode and Function_Code = @FunctionCode)
        begin
        
         Update [ADMODU] Set [Last_Line_No] = [Last_Line_No] + 1
         Where [Module_Code] = @ModuleCode

         Select @LastLineNo = Last_Line_No from ADMODU Where Module_Code = @ModuleCode

         if @LastLineNo is not null
         BEGIN
          Insert [ADFUNC]
           ([Module_Code], [Function_No], [Function_Code], [Description],
           [Suspended], [Series_Option], [Series_Code],
           [Created_Date], [Created_By], [Revised_Date], [Revised_By],
           [OWNER_BRANCH],[SOURCE_BRANCH],[Icon])
          Values
           (@ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc, N'N', N'Y', @SeriesCode,
           GetDate(), 'MIS', GetDate(), 'MIS', N'', N'','16')

           -- coding for EMPower
          --if '%SYS%'='EMP' or '%SYS%'='EMPT' begin
           Insert [ADAUTD]
            ([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
            [Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
            [Allow_Post], [Allow_All_Tran])
           Values
            ('SYSADM', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
            'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
            'Y', 'Y')

           Insert [ADMNUD]
            ([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
            [Response_Type], [Suspended])
           Values
            ('SYSADM', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
            'STDFUNC', 'N')
          --end
          -- coding for EPN
          --else if '%SYS%'='EPN' begin
          --  Insert [ADAUTD]
          --   ([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
          --   [Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
          --   [Allow_Post], [Allow_All_Tran])
          --  Values
          --   ('EPN', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
          --   'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
          --   'Y', 'Y')

          --  Insert [ADMNUD]
          --   ([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
          --   [Response_Type], [Suspended])
          --  Values
          --   ('EPN', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
          --   'STDFUNC', 'N')
          --end
         END
        end
        
      
        FETCH NEXT FROM function_cursor   INTO @RECNUM

    END
    CLOSE function_cursor;
    DEALLOCATE function_cursor;


    DROP TABLE #table


     

  • 相关阅读:
    ComboBox中Tag的使用,转换为Enum类型
    datagridview定时分页(翻页)
    DataGridView导出excel/xml
    Log4net学习笔记及部分使用方法
    C#中Abstract 与 Virtual
    The project type is not supported by this installation?
    全国哀悼日 网站变灰装(附代码)
    设计出好的对象模式
    不仅拥有XmlDocument一样简单的XML操作方法,并且实现数据文件安全存储功能——XmlEDocument
    Remoting模仿QQ实现客户端,服务器端聊天功能
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/2994049.html
Copyright © 2011-2022 走看看