....................

来源:互联网 发布:我的心情无人知 编辑:程序博客网 时间:2024/06/06 23:52
/*

说    明: 分页显示订单信息

执行语句: EXEC p_Pay_GetOrderPagedList -1,0,1,8,10

参数说明: @OrderStatus: 订单状态, @IsHanded:是否分配, @PageIndex: 页码索引,
          @PageSize: 每页显示条数,@TCount:数据总条数
*/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[p_Pay_GetOrderPagedList]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
DROP PROCEDURE p_Pay_GetOrderPagedList
GO

CREATE PROCEDURE p_Pay_GetOrderPagedList
@OrderStatus int = -1
,@IsHanded int = 0
,@PageIndex int
,@PageSize int
,@TCount int out
AS
BEGIN
    IF(@OrderStatus = -1)
    BEGIN
        SELECT
            tmpPay_Order.*
        FROM
            (SELECT
                Pay_Order.*
                ,Service_SimplyInfo.ServiceName AS ServiceName
                ,Row_number() OVER (ORDER BY Pay_Order.Id DESC) AS [Row]
            FROM
                Pay_Order
                INNER JOIN Service_SimplyInfo ON Service_SimplyInfo.Id = Pay_Order.Serviceid
            WHERE
                Pay_Order.IsDelete = 0
                AND IsHanded = @IsHanded) AS tmpPay_Order
        WHERE
            tmpPay_Order.[Row] BETWEEN (@PageIndex - 1) * @PageSize + 1 AND @PageIndex * @PageSize
        ORDER BY tmpPay_Order.[Row]

        SELECT @TCount = COUNT(1) FROM Pay_Order WHERE IsDelete = 0
    END
    ELSE
    BEGIN
        SELECT
            tmpPay_Order.*
        FROM
            (SELECT
                Pay_Order.*
                ,Service_SimplyInfo.ServiceName AS ServiceName
                ,Row_number() OVER (ORDER BY Pay_Order.Id DESC) AS [Row]
            FROM
                Pay_Order
                INNER JOIN Service_SimplyInfo ON Service_SimplyInfo.Id = Pay_Order.Serviceid
            WHERE
                Pay_Order.IsDelete = 0
                AND OrderStatus = @OrderStatus
                AND IsHanded = @IsHanded) AS tmpPay_Order
        WHERE
            tmpPay_Order.[Row] BETWEEN (@PageIndex - 1) * @PageSize + 1 AND @PageIndex * @PageSize
        ORDER BY tmpPay_Order.[Row]

        SELECT @TCount = COUNT(1) FROM Pay_Order WHERE IsDelete = 0 AND OrderStatus = @OrderStatus
    END
END
GO
0 0
原创粉丝点击