| 1 |
|
|---|
| 2 | SET ANSI_NULLS ON
|
|---|
| 3 | GO
|
|---|
| 4 | SET QUOTED_IDENTIFIER ON
|
|---|
| 5 | GO
|
|---|
| 6 |
|
|---|
| 7 | ALTER TRIGGER [zapisz_do_reklamy] ON [dbo].[PlatnosciEcard]
|
|---|
| 8 | FOR UPDATE
|
|---|
| 9 | AS
|
|---|
| 10 | DECLARE @Status bit
|
|---|
| 11 | DECLARE @dataWplaty datetime
|
|---|
| 12 | DECLARE @idFaktury int
|
|---|
| 13 | DECLARE @ORDERNUMBER int
|
|---|
| 14 | DECLARE @currency INT
|
|---|
| 15 | DECLARE @amountINT INT
|
|---|
| 16 |
|
|---|
| 17 | select @ORDERNUMBER = ORDERNUMBER, @Status = Status, @dataWplaty = Status_data, @idFaktury = IDFaktury, @currency=CURRENCY, @amountINT=AMOUNT from inserted
|
|---|
| 18 | IF @Status = 1
|
|---|
| 19 | BEGIN
|
|---|
| 20 |
|
|---|
| 21 | DECLARE @amount DECIMAL(9,2)
|
|---|
| 22 | SET @amount = CAST(@amountINT AS DECIMAL(9,2))/100
|
|---|
| 23 | --PRINT CAST(@amount AS NVARCHAR(100))
|
|---|
| 24 | DECLARE @waluta_miano VARCHAR(3)
|
|---|
| 25 | DECLARE @amountPLN decimal(9,2)
|
|---|
| 26 | DECLARE @kurs decimal(9,4)
|
|---|
| 27 |
|
|---|
| 28 | SELECT @kurs=waluta_kurs FROM Faktury WHERE [id_Faktury]=@idFaktury
|
|---|
| 29 |
|
|---|
| 30 | SET @waluta_miano= CASE WHEN @currency=978 THEN 'EUR' WHEN @currency=826 THEN 'GBP' ELSE 'PLN' END
|
|---|
| 31 |
|
|---|
| 32 | IF(@waluta_miano='PLN')
|
|---|
| 33 | SET @amountPLN=@amount
|
|---|
| 34 | ELSE
|
|---|
| 35 | SET @amountPLN = ROUND(@amount * @kurs, 2)
|
|---|
| 36 |
|
|---|
| 37 | IF (SELECT COUNT(*) FROM dbo.Wplaty WHERE [idFaktury]=@idFaktury)>0
|
|---|
| 38 | BEGIN
|
|---|
| 39 | UPDATE dbo.Wplaty
|
|---|
| 40 | SET
|
|---|
| 41 | [rodzajPotwierdzenia] = 'ECARD',
|
|---|
| 42 | [symbolPotwierdzenia] = @ordernumber,
|
|---|
| 43 | [dataWplaty] = @dataWplaty,
|
|---|
| 44 | brutto = @amountPLN,
|
|---|
| 45 | waluta_brutto=@amount,
|
|---|
| 46 | waluta_miano=@waluta_miano
|
|---|
| 47 |
|
|---|
| 48 | WHERE [idFaktury] = @idFaktury
|
|---|
| 49 | END
|
|---|
| 50 | ELSE
|
|---|
| 51 | BEGIN
|
|---|
| 52 | INSERT INTO dbo.Wplaty([idFaktury], [rodzajPotwierdzenia], [symbolPotwierdzenia], [dataWplaty], [brutto], waluta_brutto, waluta_miano)
|
|---|
| 53 | VALUES (@idFaktury, 'ECARD', @ordernumber, @dataWplaty, @amountPLN, @amount, @waluta_miano)
|
|---|
| 54 | END
|
|---|
| 55 |
|
|---|
| 56 | END
|
|---|
| 57 | GO
|
|---|
| 58 |
|
|---|
| 59 | SET ANSI_NULLS OFF
|
|---|
| 60 | GO
|
|---|
| 61 | SET QUOTED_IDENTIFIER OFF
|
|---|
| 62 | GO
|
|---|
| 63 |
|
|---|