
CREATE PROCEDURE [dbo].[sp_FixExpoInvoices]
	-- Add the parameters for the stored procedure here
	@invoiceId int
AS
BEGIN

DECLARE @idFaktury int
DECLARE @idKlienta int
DECLARE @kodAgenta nvarchar(3)
DECLARE @idZamowienia int
DECLARE @nrZamowienia int
DECLARE @reklamaId int
DECLARE @reklama nvarchar(50)

select @idFaktury=id_faktury, @idKlienta=id_nabywcy, @kodAgenta=Numer_Roz from faktury
where 
id_faktury=@invoiceId
--numer=@numer
--and numer_roz=@numer_roz
--and numer_rok=@numer_rok
--and systemksiegowyid=2



SELECT @nrZamowienia=(COALESCE(MAX(nrZamowienia), 0) + 1) FROM Zamowienia WHERE kodAgenta=@kodAgenta AND idKlienta=@idKlienta

DECLARE @dataOstatniejEmisji datetime




select @reklamaId=reklamaid, @reklama=[id reklamy] from reklama where id_faktury=@idFaktury

select @dataOstatniejEmisji = MAX(DATA_W) from [ukaże się w nr] U
inner join nr N on N.NRW=U.[Nr Wydania] AND N.Tyt='EXPO'
where reklamaid = @reklamaId


insert into zamowienia(idKlienta, 
						nrZamowienia, 
						kodAgenta, 
						rokZamowienia, 
						rodzajFakturowania, 
						zafakturowano, 
						zafakturowanoWszystko, 
						idKonta, 
						sposobZaplaty, 
						czasPlatnosci, 
						dataOstatniejZafakturowanejEmisji, 
						procentProwizji, 
						zp)
SELECT Id_Nabywcy, @nrZamowienia, Numer_Roz,2009, 2, 1, 1, Id_Konta, 1, 7, @dataOstatniejEmisji, 0, 0
FROM Faktury WHERE id_faktury=@idFaktury


SELECT @idZamowienia = SCOPE_IDENTITY()




update faktury
set idZamowienia=@idZamowienia
WHERE id_faktury=@idFaktury

update reklama
set idZamowienia=@idZamowienia
WHERE id_faktury=@idFaktury

update faktura_details
set reklamaid=@reklamaId, nazwa_uslugi= @reklama + ' | ' + CAST(NR_WYDANIA AS nvarchar(10))
where id_faktury=@idFaktury

update [ukaże się w nr] 
set zafakturowana=1, idFaktury=@idFaktury, netto=(select top 1 netto from faktura_details where reklamaid=@reklamaId)
WHERE reklamaid=@reklamaId


END
