USP_REPORT_MERCHANDISEPRODUCTINSTANCELABEL_THREECOLUMN
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PRINTSESSIONID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_REPORT_MERCHANDISEPRODUCTINSTANCELABEL_THREECOLUMN
(
@PRINTSESSIONID uniqueidentifier
)
as
declare @MAXNUM integer
declare @CURNUM integer = 0
declare @CURRENCYSYMBOL nvarchar
select top 1 @CURRENCYSYMBOL = CURRENCYSYMBOL from dbo.CURRENCY where ISORGANIZATIONCURRENCY = 1
select @MAXNUM = MAX(QUANTITY) from MERCHANDISEPRODUCTLABLEPRINTHISTORY where PRINTSESSIONID = @PRINTSESSIONID
declare @NUMBERTABLE table (NUMBER int)
while @CURNUM < @MAXNUM
begin
set @CURNUM = @CURNUM + 1
insert into @NUMBERTABLE (NUMBER) values (@CURNUM)
continue
end
declare @LABELS table (ID integer identity, ITEMDETAILS nvarchar(500), BARCODE nvarchar(500), SALEPRICE nvarchar(500))
insert into @LABELS (ITEMDETAILS, BARCODE, SALEPRICE)
select
MERCHANDISEPRODUCTLABLEPRINTHISTORY.ITEMDETAILS,
MERCHANDISEPRODUCTLABLEPRINTHISTORY.BARCODE,
@CURRENCYSYMBOL + cast(MERCHANDISEPRODUCTLABLEPRINTHISTORY.SALEPRICE as nvarchar) SALEPRICE
from
dbo.MERCHANDISEPRODUCTLABLEPRINTHISTORY inner join @NUMBERTABLE NUMBERTABLE on
MERCHANDISEPRODUCTLABLEPRINTHISTORY.QUANTITY >= NUMBERTABLE.NUMBER
where
PRINTSESSIONID = @PRINTSESSIONID
order by
MERCHANDISEPRODUCTLABLEPRINTHISTORY.QUANTITY desc, MERCHANDISEPRODUCTLABLEPRINTHISTORY.MERCHANDISEPRODUCTID, MERCHANDISEPRODUCTLABLEPRINTHISTORY.MERCHANDISEPRODUCTINSTANCEID
select
coalesce(LABEL1.ITEMDETAILS, '') LABEL1_ITEMDETAILS,
coalesce(LABEL1.BARCODE, '') LABEL1_BARCODE,
coalesce(LABEL1.SALEPRICE, '') LABEL1_SALEPRICE,
coalesce(LABEL2.ITEMDETAILS, '') LABEL2_ITEMDETAILS,
coalesce(LABEL2.BARCODE, '') LABEL2_BARCODE,
coalesce(LABEL2.SALEPRICE, '') LABEL2_SALEPRICE,
coalesce(LABEL3.ITEMDETAILS, '') LABEL3_ITEMDETAILS,
coalesce(LABEL3.BARCODE, '') LABEL3_BARCODE,
coalesce(LABEL3.SALEPRICE, '') LABEL3_SALEPRICE
from @LABELS LABEL1 left outer join @LABELS LABEL2 on
LABEL1.ID = (LABEL2.ID - (3 -(LABEL2.ID%3)))
left outer join @LABELS LABEL3 on
LABEL1.ID - 1 = (LABEL3.ID - (3 -(LABEL3.ID%3)))
where
(LABEL1.ID%3) = 1 and
(LABEL1.ID < LABEL2.ID or coalesce(LABEL2.ID, 0) = 0) and
(LABEL2.ID < LABEL3.ID or coalesce(LABEL3.ID, 0) = 0)