
[dbo].[MssWebGroupQuoteLineItems]
create procedure [dbo].[MssWebGroupQuoteLineItems]
(
@inOrderId int,
@inQuoteId int,
@inSelectedLineItemIds IntList readonly,
@inIsHidden bit,
@inGroupDescription varchar(120),
@inGroupSubtotal money
)
as
begin
set nocount on;
declare @newQuoteGroupId int;
declare @maxSortOrder int;
select @maxSortOrder = isnull(max(SortOrder), 0)
from QuoteGroup
where QuoteHeaderFID = @inQuoteId;
insert into QuoteGroup
(
QuoteHeaderFID,
Description,
Charge,
IsLocked,
SortOrder
)
select
@inQuoteId,
@inGroupDescription,
@inGroupSubtotal,
0,
@maxSortOrder + 1;
set @newQuoteGroupId = scope_identity();
insert into QuoteDetail
(
QuoteGroupFID,
ItemCodeFID,
RateTypeFID,
Description,
Rate,
Quantity,
Quantity2,
Charge,
QuoteServiceProviderTypeFID,
VendorID,
VendorQuotedCharge,
VendorActualCharge,
Hidden,
SortOrder,
PONumber,
InvoiceNumber,
ServiceDate,
NoteText,
LaborRatingTypeFID,
QuoteServiceProviderBillToFID,
RateSource,
RateSourceRecord,
ExternalVendorID,
ExternalVendorName,
IsLocked,
AccountingVendorFid
)
select
@newQuoteGroupId,
QuoteGroup.ItemCodeFID,
QuoteGroup.RateTypeFID,
QuoteGroup.Description,
QuoteGroup.Rate,
QuoteGroup.Quantity,
QuoteGroup.Quantity2,
QuoteGroup.Charge,
QuoteGroup.QuoteServiceProviderTypeFID,
QuoteGroup.VendorID,
QuoteGroup.VendorQuotedCharge,
QuoteGroup.VendorActualCharge,
@inIsHidden,
ROW_NUMBER() over (order by QuoteGroup.SortOrder),
QuoteGroup.PONumber,
QuoteGroup.InvoiceNumber,
QuoteGroup.ServiceDate,
QuoteGroup.NoteText,
QuoteGroup.LaborRatingTypeFID,
QuoteGroup.QuoteServiceProviderBillToFID,
QuoteGroup.RateSource,
QuoteGroup.RateSourceRecord,
QuoteGroup.ExternalVendorID,
QuoteGroup.ExternalVendorName,
QuoteGroup.IsLocked,
QuoteGroup.AccountingVendorFid
from QuoteGroup
inner join @inSelectedLineItemIds SelectedItems
on QuoteGroup.QuoteGroupID = SelectedItems.Item
where QuoteGroup.QuoteHeaderFID = @inQuoteId;
delete QuoteGroup
from @inSelectedLineItemIds SelectedItems
where QuoteGroup.QuoteGroupId = SelectedItems.Item and
QuoteGroup.QuoteHeaderFID = @inQuoteId
exec MssWebResequenceQuoteGroupSortOrder @inQuoteId
select @newQuoteGroupId as NewGroupId;
end
GO
GRANT EXECUTE ON [dbo].[MssWebGroupQuoteLineItems] TO [MssExec]
GO