隨筆-295  評論-26  文章-1  trackbacks-0

          SET QUOTED_IDENTIFIER ON
          GO
          SET ANSI_NULLS OFF
          GO

          ?

          ALTER???????????? PROCEDURE spITM_CheckPaperList(
          @intCount??INT Output??,
          @chvKeywords??????????? VARCHAR(100),??????????? --關(guān)鍵字
          @chvinterunittypeid???????????? varchar(100),
          ?@dtmdatelowerlimit?????????????? DATETIME ,
          @dtmdateupperlimit????????????? DATETIME ,
          @isspecialbuy???????????? int,
          @checkresultid??????????? int,
          ? @intAudit???????????????????????? INT,??????????????????????????????? --審批狀態(tài)
          @chvEmployeeTypeID?VARCHAR(100)?,??--職員id
          @bitViewPersonalLimit??BIT,??--瀏覽個人
          @bitViewDepartmentLimit?BIT,??--瀏覽部門
          @bitEmployeeIsManager??BIT,??--瀏覽全部
          ?? @chvOrgTypeID??????????? VARCHAR(100),?
          @intPageSize??INT??,
          @intPageNo??INT??
          )
          AS
          --權(quán)限控制條件開始
          DECLARE @chvEmployeeDepartment??VARCHAR(36)
          DECLARE @bitEmployeeIsAdmin??BIT
          SELECT @chvEmployeeDepartment = '000'

          IF EXISTS(SELECT TypeID FROM CRM_Employee WHERE TypeID = @chvEmployeeTypeID)
          ?AND
          ?EXISTS(SELECT Count(*) FROM CRM_LoginUser WHERE InnerObject = 'Employee' AND InnerObjectTypeID = @chvEmployeeTypeID)
          BEGIN
          ?--SELECT @chvEmployeeDepartment = [Department] FROM [CRM_Employee] WHERE [TypeID] = @chvEmployeeTypeID
          ?SELECT @bitEmployeeIsAdmin = IsAdmin FROM CRM_LoginUser WHERE InnerObject = 'Employee' AND InnerObjectTypeID = @chvEmployeeTypeID
          ?--deal? empty 2007/1/22
          ?SELECT @chvEmployeeDepartment = case @chvEmployeeDepartment when ' ' then? '000' else? @chvEmployeeDepartment end
          END
          ELSE
          BEGIN
          ?SELECT * FROM ITM_CheckPaper? WHERE TypeID = '0'?--返回一個空的記錄集
          ?RETURN
          END
          --權(quán)限控制條件結(jié)束--
          select a.*? ,b.Name VendorName,? ww.Name CheckPaperName,
          w.Name CreatorName
          ??INTO #ITM_CheckPaperListPageTable
          ?? from ITM_CheckPaper as? a?
          ???????????? left JOIN CRM_Employee w????? ON a.CreatorTypeID = w.TypeID
          ?????? left join CRM_Employee ww on a.CHECKERTYPEID=ww.Typeid
          ??LEFT JOIN scm_Vendor b ON a.VendorTypeID = b.TypeID
          WHERE
          ?a.OrgTypeID = @chvOrgTypeID and
          (
          ?a.SERIALNUMBER???? like '%'+@chvKeywords+'%' or
          ?a.ContractNo???????????????? like '%'+@chvKeywords+'%' or
          b.Name???????????????? like '%'+@chvKeywords+'%' or
          ?a.CheckSite???? like '%'+@chvKeywords+'%'
          )
          --and
          --a.AuditFlag = case @intAudit
          ? ---??????????????????????? when 0 then a.AuditFlag
          ? --?????????????????????? else @intAudit
          ? --??????????????????? end
          --權(quán)限控制條件開始--
          AND
          (
          ?@bitViewDepartmentLimit = 1
          ?AND
          ?(
          ?ISNULL(w.[Department],'001') LIKE ISNULL(@chvEmployeeDepartment,'not the same') + '%'
          ?OR
          ?ISNULL(w.[Department2],'001') LIKE ISNULL(@chvEmployeeDepartment,'not the same') + '%'
          ?OR
          ?ISNULL(w.[Department3],'001') LIKE? ISNULL(@chvEmployeeDepartment,'not the same') + '%'
          ?)
          ?OR
          ?a.[CreatorTypeID] = @chvEmployeeTypeID? AND? @bitViewPersonalLimit = 1
          ?OR
          ?@bitEmployeeIsAdmin = 1
          ?OR
          ?@bitEmployeeIsManager = 1
          ?OR
          ?a.[EmployeeRange] LIKE '%' +@chvEmployeeTypeID +'%'
          )
          --權(quán)限控制條件結(jié)束--
          --Order by a.CreateDate desc
          ---------------判斷是否取記錄數(shù)
          if @intCount = 1
          Begin
          ?SELECT @intCount=Count(0)
          ?FROM #ITM_CheckPaperListPageTable;
          End
          --------------------------取記錄數(shù)完成
          DECLARE @chvSql??VARCHAR(1000)
          --處理大于總頁數(shù)時的請求頁數(shù)
          DECLARE @intPageCount?INT
          SELECT @intPageCount = (@intCount + @intPageSize-1) / @intPageSize;
          IF @intPageNo > 1 AND @intPageNo > @intPageCount
          ?SELECT @intPageNo = @intPageCount
          ELSE IF @intPageNo > @intPageCount
          ?SELECT @intPageNo = 1
          --處理大于總頁數(shù)時的請求頁數(shù)結(jié)束
          Select @chvSql = 'SELECT TOP ' + Str(@intPageSize) + '? *? ' +
          ' FROM #ITM_CheckPaperListPageTable a ' +
          ' WHERE a.TypeID not in ' +
          ' (select top ' + Str((@intPageNo - 1) * @intPageSize) + ' TypeID from #ITM_CheckPaperListPageTable )'
          Exec(@chvSql)
          Drop Table #ITM_CheckPaperListPageTable

          ?

          ?

          ?

          GO
          SET QUOTED_IDENTIFIER OFF
          GO
          SET ANSI_NULLS ON
          GO

          ?



          大盤預測 國富論
          posted on 2007-09-03 14:39 華夢行 閱讀(205) 評論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 南溪县| 黎川县| 长寿区| 洛隆县| 临邑县| 莲花县| 阿尔山市| 石屏县| 高邮市| 江永县| 册亨县| 汉源县| 甘孜| 洛南县| 吉木萨尔县| 池州市| 汉寿县| 湖口县| 苏尼特右旗| 调兵山市| 沂源县| 龙井市| 乐昌市| 宝丰县| 广饶县| 义乌市| 吉木乃县| 湖南省| 长阳| 醴陵市| 沁水县| 红原县| 泰和县| 建水县| 松原市| 上虞市| 古田县| 蒙自县| 疏勒县| 抚顺市| 和林格尔县|