Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****** Object: StoredProcedure [CDN].[SED_Multiwydruk_ztypem] Script Date: 09/14/2012 11:29:17 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- CREATE PROCEDURE [CDN].[SED_Multiwydruk_ztypem] @Filtr varchar(255), @operator varchar(50), @typ integer, @ilosc_dozwolona integer, @tylko_otrzezenie INteger = 0
- AS
- --------------------------------------------------------------------------------------- wyciaganie gidow z filtra
- declare @pos1 INT;
- declare @pos2 INT;
- declare @GIDTyp SMALLINT ;
- declare @GIDNumer INT ;
- declare @stop INT;
- Set @stop = 0;
- SET NOCOUNT ON
- SET @pos1 = Patindex('%TrN_GIDTyp=%', @Filtr)+11
- SET @pos2 = Patindex('%AND TrN_GIDNumer%', @Filtr)-2
- SELECT @GIDTyp = convert(smallint,substring(@filtr,@pos1,@pos2-@pos1+1))
- Set @pos1 = Patindex('%TrN_GIDNumer=%', @Filtr)+13
- Set @pos2 = Patindex('%)%', @Filtr)-1
- if @pos2<0 SET @pos2=len(@Filtr)
- select @GIDNumer = convert(int,substring(@filtr,@pos1,@pos2-@pos1+1))
- ---------------------------------------------------------------------------------------- wyciaganie gida opera
- declare @OpeNumer INT
- SELECT @OpeNumer = Ope_GIDNumer FROM CDN.OpeKarty
- WHERE Ope_Nazwisko = @Operator;
- -------------- czy Oper ma multiwydruk='tak'
- declare @multiwydruk INT
- SELECT @multiwydruk = COUNT(*)
- FROM CDN.OpeKarty JOIN
- CDN.Atrybuty
- ON Ope_GIDNumer=Atr_ObiNumer AND Atr_OBITyp=128
- --JOIN CDN.AtrybutyKlasy ON AtK_ID=Atr_AtkId
- WHERE ATr_atkId = 20 AND Atr_Wartosc='TAK'
- AND Ope_GIDNumer = @OpeNumer
- --sprawdzenie ile //dany oper// juz wydrukowal egzeplarzy tego dokumentu
- If (@multiwydruk=0) AND (@ilosc_dozwolona>-1)
- BEGIN
- declare @ilosc INT
- SELECT @ilosc = COunt(*) FROM CDN.SED_TraNag_Multiwydruk
- WHERE
- SEDTmw_TrNTyp = @GIDTyp AND SEDTmw_TrNNumer = @GIDNumer AND SEDTMW_Typ = @typ
- -- AND SEDTmw_OperNumer = @OpeNumer;
- IF (@Ilosc >= @ilosc_dozwolona )
- Begin
- If @tylko_otrzezenie = 0
- Begin
- Set @Stop = 1
- RAISERROR('#CDN_INFO/#
- #CDN_1=Ten dokument już raz drukowałeś!!!/#
- #CDN_2=/#
- #CDN_3=/#', 16, 1)
- --RAISERROR ('Ten dokument już raz drukowałeś!!!', 16, 1)
- ROLLBACK TRANSACTION
- END
- --ELSE PRINT N'dfrtg'
- End
- END
- IF (@multiwydruk>0) OR (@Ilosc=0) or (1=1) AND (@Stop = 0)
- BEGIN
- INSERT INTO CDN.SED_TraNag_Multiwydruk (SedTMW_TrNTyp,SedTMW_TrNNumer,SedTMW_Data, SedTMW_Oper, SedTMW_OperNumer, SedTMW_Typ)
- VALUES ( @GIDTyp, @GIDNumer, getdate(), @operator, @OpeNumer, @Typ )
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement