Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE [cdnxl_szkola]
- GO
- /****** Object: UserDefinedFunction [CDN].[SED_WezStanTowaru3] Script Date: 08/28/2012 15:46:51 ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- =============================================
- -- Author:
- -- Create date: 2011-07-21
- -- Description: Stan towaru na danym magazynie, na dziś, z uwględnieniem rezerwacji i nierotów
- -- =============================================
- ALTER FUNCTION [CDN].[SED_WezStanTowaru3]
- (
- @magId int, @twrId int--, @oswietlenieDekoracyjne int
- )
- RETURNS decimal(15,4)
- AS
- BEGIN
- --const
- --DECLARE @ileDniMMP INT
- --SET @ileDniMMP = 21
- -- Declare the return variable here
- DECLARE @wynik DECIMAL(15,4)
- DECLARE @ilosc decimal(15,4)
- --declare @iloscRez decimal(15,4)
- --DECLARE @iloscZal decimal(15,4)
- --DECLARE @iloscMin decimal(15,4)
- --DECLARE @iloscnazielonychzw decimal(15,4)
- --set @iloscnazielonychzw=0
- --2011-09-05
- --DECLARE @iloscZam decimal(15,4)
- --DECLARE @filiaReg int -- czy dana filia @magId jest regionalna
- --DECLARE @iloscMMP decimal(15,4)
- --2011-09-08
- --DECLARE @oswietlenieDekoracyjne int
- --ilosc na MMP
- --select @iloscMMP = IsNull(Sum(TrE_Ilosc),0)
- --from cdn.TraNag WITH (NOLOCK)
- --JOIN CDN.TraElem WITH (NOLOCK) ON TrN_GIDTyp = TrE_GIDTyp AND TrN_GIDNumer = TrE_GIDNumer
- --where
- --TrN_GIDTyp = 1604
- --AND
- --TrN_MagDNumer = @magId
- --AND
- --TrE_TwrNumer = @twrId
- --AND
- --TrN_Stan <> 6
- --AND TrN_Data2 > (datediff(DAY, '18001228', getdate())) - @ileDniMMP
- --Ilość na zielonych ZW
- --select @iloscnazielonychzw=isnull(sum(zae_ilosc) ,0)from cdn.zamnag
- --join cdn.zamelem on zan_gidnumer=zae_gidnumer and zan_gidtyp = zae_gidtyp
- --where
- --ZaN_ZamTyp=1280 and ZaN_Rodzaj =8
- ----and ZaN_DataPotwierdz=0--and ZaN_Stan=2
- --and zan_datawystawienia = DateDiff(day,'18001228',getdate())
- --and ZaN_MagNumer=@magId
- --and zae_twrnumer=@twrId
- --czy dana filia @magId jest filią regionalną?
- --select
- --@filiaReg =
- --CASE
- --WHEN Left(MAG_Kod,1) IN ('A','J','F') THEN 1
- --ELSE 0 END from cdn.Magazyny WITH (NOLOCK)
- --where MAG_GIDNumer = @magId
- select
- @ilosc = sum(twz_ilspr)
- --,@iloscRez = (SELECT (sum(isnull(rez_ilosc,0)) - sum(isnull(rez_zrealizowano,0)))
- --FROM cdn.rezerwacje (nolock)
- --WHERE rez_twrnumer = twr_gidnumer and rez_aktywna = 1
- --and Rez_MagNumer= @magId
- --and rez_datawaznosci>=convert(int,dateadd(dd, -datediff(dd, getdate(), 1), 1))+36163),
- --@iloscZal = IsNull((SELECT Twr_SED_Ilosc FROM [CDN].[SEDZalegaczeView] as V WITH (NOLOCK)
- --WHERE V.Twr_GIDNumer = TwrKarty.Twr_GIDNumer AND Left(Mag_kod,1) = Filia AND Right(mag_kod,3)='TOW'),0)
- --,@iloscMin = IsNull(Tpm_IloscMin,0),
- --@iloscZam = IsNull(Tpm_IloscZam,0)
- from cdn.twrkarty WITH (NOLOCK)
- --LEFT JOIN CDN.TwrParMag WITH (NOLOCK) ON Tpm_TwrNumer = Twr_GIDNumer AND Tpm_MagNumer = @magId
- join cdn.twrzasoby WITH (NOLOCK) on Twr_GIDNumer=TwZ_TwrNumer
- --magazyn
- and twz_magnumer = @magId
- left JOIN CDN.Magazyny WITH (NOLOCK) oN Mag_GIDNumer = @magId
- where twr_archiwalny= 0 AND Twr_GIDNumer = @twrId
- --group by twr_kod, twr_gidnumer, mag_kod--, IsNull(Tpm_IloscMin,0), TpM_IloscZam
- SET @ilosc = IsNull(@ilosc,0)
- --SET @iloscRez = IsNull(@iloscRez,0)
- --set @ilosc=@ilosc - @iloscnazielonychzw
- -- Return the result of the function
- --SET @wynik = ??
- --SET @ilosc = @ilosc - @iloscRez
- --if (@filiaReg = 1) AND (@oswietlenieDekoracyjne <> 1)
- --Begin
- ---- filia regionalna
- -- if @iloscZal > 0
- -- BEGIN
- -- SET @wynik = @ilosc - @iloscMMP
- -- End
- -- Else
- -- Begin
- -- SET @wynik = @ilosc - @iloscMin - @iloscZam
- -- End
- --End --if @filiaReg = 1
- --ELSE
- --BEGIN
- -- if @iloscZal > 0
- -- BEGIN
- -- -- filia nieregionalna (podległa)
- -- -- z zalegaczem
- -- SET @wynik = @ilosc - @iloscMin - @iloscZam
- -- END
- -- Else
- -- Begin
- -- -- filia nieregionalna (podległa)
- -- -- bez zalegacza
- -- SET @wynik = @ilosc - @iloscMin - @iloscZam
- -- End
- --End
- -- If @wynik < = 0
- -- SET @wynik = 0
- --SET @wynik = IsNull(@wynik,0)
- --If @magId = 1
- -- Begin
- -- SET @wynik = @wynik + CDN.SED_WezStanTowaru2(62,@twrid)
- -- End
- RETURN @ilosc --@wynik
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement