IF EXISTS (SELECT 1 FROM sys.objects WHERE object_id = OBJECT_ID('[dbo].[mps_g_ware_operation]') AND type = 'P')
DROP PROCEDURE [dbo].[mps_g_ware_operation]
GO

CREATE procedure [dbo].[mps_g_ware_operation](
@whid int,
@prdtag int,
@prdid int , 
@pagesize int , 
@pagecount int , 
@pageobjids varchar(8000)
)
as 
begin
set nocount on
declare @s1 varchar(8000) 
declare @s2 varchar(100) 
declare @i int 
declare @amount int 
select @amount = @pagecount*@pagesize 

declare   @pobjs table(nid int identity(1, 1), ordid bigint) 
set @s1 = @pageobjids  
while (@s1>'')  
begin 
  set @i = charindex(',', @s1) 
  if (@i>0) 
  begin 
    set @s2 = substring(@s1,1,@i-1) 
    set @s1 = substring(@s1,@i+1,len(@s1)-@i) 
  end else  
  begin 
    set @s2 = @s1 
    set @s1 = ''  
  end  
  insert into @pobjs(ordid) values(convert(bigint,@s2)) 
end 
 
if (exists (select top 1 * from @pobjs)) 
begin 
select a.*  from mps_warehouse_operation a,   @pobjs where whop_id=ordid   order by nid  
return 
end 
-- 返回总量
select count(1) cnt from mps_warehouse_operation   where  (whop_whid=@whid or whop_whid2=@whid) and whop_tag=@prdtag and whop_prdid=@prdid 


-- 返回所有ID
insert into @pobjs(ordid) select top(@amount) whop_id from mps_warehouse_operation  
where   (whop_whid=@whid or whop_whid2=@whid) and whop_tag=@prdtag and whop_prdid=@prdid  
order by whop_opdate desc   

select ordid from @pobjs order by nid 

-- 返回第一页
select a.*  from mps_warehouse_operation a,   @pobjs where whop_id=ordid   and nid<=@pagesize 
 order by nid 

set nocount off 

end