Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IF EXISTS (SELECT * FROM sys.procedures WHERE name= 'pv_NGastroKontrahent' AND type='P')
- DROP PROCEDURE [dbo].[pv_NGastroKontrahent]
- GO
- PRINT 'Tworzę procedurę pv_NGastroKontrahent'
- GO
- CREATE PROCEDURE [dbo].[pv_NGastroKontrahent]
- (
- @cID UNIQUEIDENTIFIER = NULL, --[METADATA]--[DESC] id kontrahenta [/DESC]--[AUTHOR] dbiskup [/AUTHOR]--[/METADATA]--
- @cTypKontrahenta TINYINT = 2 --[METADATA]--[DESC] typ kontrahenta:0 - osoba fizyczna,1 - firma,2 - wszystkie [/DESC]--[AUTHOR] dbiskup [/AUTHOR]--[/METADATA]--
- )
- --WITH ENCRYPTION
- AS
- BEGIN
- ------------------------------------------------
- --------------------[HEADER]--------------------
- SET NOCOUNT ON
- SET TRANSACTION ISOLATION LEVEL READ COMMITTED
- --------------------[/HEADER]-------------------
- ------------------------------------------------
- BEGIN TRY
- ------------------------------------------------
- -------------------[BODY]-----------------------
- IF ISNULL(@cTypKontrahenta,2)=2
- BEGIN
- SELECT
- k.ID,
- -----------------------------------------
- RTRIM(LTRIM(k._c_SymbolPelny)) SymbolPelny,
- k.Symbol,
- k.Haslo,
- k.Skrot,
- k.Nazwa,
- k.FlgFirma,
- k.FlgPlatnikVAT as FlgPlatnikVat,
- k.FlgRolnikRyczaltowy,
- k.FlgDostawcaAutoryzowany,
- k.NumerDokumentu,
- k.DataWydaniaDokumentu,
- k.OrganWydajacy,
- -----------------------------------------
- k.GrupaKontrahentowID,
- gk.Nazwa GrupaKontrahentowNazwa,
- -----------------------------------------
- k.KrajID,
- kr.Nazwa AS KrajNazwa,
- k.Kontakt,
- k.NIP,
- k.CzyPowiazanyKapitalowo,
- k.KontoKsiegowe,
- k.Regon,
- -----------------------------------------
- k.PoziomCenowyID,
- pc.Nazwa AS PoziomCenowyNazwa,
- -----------------------------------------
- k.JezykID,
- j.Nazwa AS JezykNazwa,
- -----------------------------------------
- k.FormatPlikow,
- k.FlgNipJednoznaczny,
- k.EuroNIP,
- k.FlgDostawca,
- k.FlgOdbiorca,
- k.FlgPlatnik,
- k.IndeksZewnetrzny,
- k.NazwaBanku,
- k.KontoBankowe,
- k.Imie,
- k.Nazwisko,
- -----------------------------------------
- ISNULL(kaz.Email, '') AS Email,
- -----------------------------------------
- k.KontrahentID,
- kk.Skrot AS KontrahentSkrot,
- kk.Nazwa AS KontrahentNazwa,
- LTRIM( RTRIM( CAST(ISNULL(kk.Nazwa, '') + ' ' + ISNULL(kk.Imie,'') + ' ' + ISNULL(kk.Nazwisko,'') AS VARCHAR(300)) ) ) AS KontrahentNazwaUniwersalna,
- -----------------------------------------
- k.DataUrodzenia,
- k.Plec,
- k.Pesel,
- k.Tytul,
- k.BluePocketId,
- -----------------------------------------
- k.DostawaObiektID,
- do.Nazwa DostawaObiektNazwa,
- -----------------------------------------
- kadr.Ulica,
- kadr.NrDomu,
- kadr.NrLokalu,
- kadr.KodPocztowy,
- kadr.Miejscowosc,
- -----------------------------------------
- kon.KontrahentKontakt,
- -----------------------------------------
- LTRIM( RTRIM( CAST(ISNULL(k.Nazwa, '') + ' ' + ISNULL(k.Imie,'') + ' ' + ISNULL(k.Nazwisko,'') AS VARCHAR(300)) ) ) AS NazwaUniwersalna,
- -----------------------------------------
- isnull(lok.ID,lokcentr.ID) AS KontrahentLokalID,
- case when lokcentr.ID is null then lok.Symbol else isnull(lok.Symbol,lokcentr.Symbol) end AS KontrahentLokalSymbol,
- -----------------------------------------
- CAST(0 AS TINYINT) AS _FlgTCF
- FROM NGastroKontrahent k WITH (INDEX (PK_NGastroKontrahent_ID))
- LEFT JOIN NGastroKontrahentAdres kadr WITH (INDEX (I_NGastroKontrahentAdres_KontrahentID)) ON kadr.KontrahentID = k.ID AND kadr.FlgDomyslny = 1
- LEFT JOIN NGastroGrupaKontrahentow gk ON k.GrupaKontrahentowID = gk.ID
- LEFT JOIN NSysKraj kr ON k.KrajID = kr.ID
- LEFT JOIN NGastroPoziomCenowy pc ON k.PoziomCenowyID = pc.ID
- LEFT JOIN NGastroJezyk j ON k.JezykID = j.ID
- LEFT JOIN NGastroKontrahent kk ON k.KontrahentID = kk.ID
- LEFT JOIN NGastroDostawaObiekt do ON k.DostawaObiektID = do.ID
- LEFT JOIN NGastroKontrahentLokal kl ON kl.KontrahentID = k.ID
- LEFT JOIN NSysLokal lok ON lok.ID = kl.LokalID
- LEFT JOIN NSysLokal lokcentr ON lokcentr.FlgCentrala = 2
- LEFT JOIN
- (
- SELECT TOP 1 ISNULL(kaz.Email, '') AS Email,kontrahentId
- FROM NGastroKontrahentAdresZamowien kaz
- INNER JOIN NGastroKontrahentAdresZamowienLokal kazl ON kazl.AdresZamowienID = kaz.ID
- WHERE kazl.LokalID = (SELECT TOP 1 LokalID FROM NGastroLokal WHERE FlgMojLokal = 1)
- ) kaz ON kaz.KontrahentID = k.ID
- OUTER APPLY
- (
- SELECT TOP 1 kk.Kontakt AS KontrahentKontakt, kkn.KontrahentID FROM NGastroKontrahentKontakt kk
- INNER JOIN NGastroKontrahentKontaktNazwa kkn ON kkn.ID = kk.KontrahentKontaktNazwaID
- AND kkn.KontrahentID = k.ID
- ) kon
- WHERE (k.ID = @cID OR @cID IS NULL) AND k.FlgFirma = k.FlgFirma
- END
- ELSE
- BEGIN
- SELECT
- k.ID,
- -----------------------------------------
- RTRIM(LTRIM(k._c_SymbolPelny)) SymbolPelny,
- k.Symbol,
- k.Haslo,
- k.Skrot,
- k.Nazwa,
- k.FlgFirma,
- k.FlgPlatnikVAT as FlgPlatnikVat,
- k.FlgRolnikRyczaltowy,
- k.FlgDostawcaAutoryzowany,
- k.NumerDokumentu,
- k.DataWydaniaDokumentu,
- k.OrganWydajacy,
- -----------------------------------------
- k.GrupaKontrahentowID,
- gk.Nazwa GrupaKontrahentowNazwa,
- -----------------------------------------
- k.KrajID,
- kr.Nazwa AS KrajNazwa,
- k.Kontakt,
- k.NIP,
- k.CzyPowiazanyKapitalowo,
- k.KontoKsiegowe,
- k.Regon,
- -----------------------------------------
- k.PoziomCenowyID,
- pc.Nazwa AS PoziomCenowyNazwa,
- -----------------------------------------
- k.JezykID,
- j.Nazwa AS JezykNazwa,
- -----------------------------------------
- k.FormatPlikow,
- k.FlgNipJednoznaczny,
- k.EuroNIP,
- k.FlgDostawca,
- k.FlgOdbiorca,
- k.FlgPlatnik,
- k.IndeksZewnetrzny,
- k.NazwaBanku,
- k.KontoBankowe,
- k.Imie,
- k.Nazwisko,
- -----------------------------------------
- ISNULL(kaz.Email, '') AS Email,
- -----------------------------------------
- k.KontrahentID,
- kk.Skrot AS KontrahentSkrot,
- kk.Nazwa AS KontrahentNazwa,
- LTRIM( RTRIM( CAST(ISNULL(kk.Nazwa, '') + ' ' + ISNULL(kk.Imie,'') + ' ' + ISNULL(kk.Nazwisko,'') AS VARCHAR(300)) ) ) AS KontrahentNazwaUniwersalna,
- -----------------------------------------
- k.DataUrodzenia,
- k.Plec,
- k.Pesel,
- k.Tytul,
- k.BluePocketId,
- -----------------------------------------
- k.DostawaObiektID,
- do.Nazwa DostawaObiektNazwa,
- -----------------------------------------
- kadr.Ulica,
- kadr.NrDomu,
- kadr.NrLokalu,
- kadr.KodPocztowy,
- kadr.Miejscowosc,
- -----------------------------------------
- kon.KontrahentKontakt,
- -----------------------------------------
- LTRIM( RTRIM( CAST(ISNULL(k.Nazwa, '') + ' ' + ISNULL(k.Imie,'') + ' ' + ISNULL(k.Nazwisko,'') AS VARCHAR(300)) ) ) AS NazwaUniwersalna,
- -----------------------------------------
- isnull(lok.ID,lokcentr.ID) AS KontrahentLokalID,
- case when lokcentr.ID is null then lok.Symbol else isnull(lok.Symbol,lokcentr.Symbol) end AS KontrahentLokalSymbol,
- -----------------------------------------
- CAST(0 AS TINYINT) AS _FlgTCF
- FROM NGastroKontrahent k WITH (INDEX (PK_NGastroKontrahent_ID))
- LEFT JOIN NGastroKontrahentAdres kadr WITH (INDEX (I_NGastroKontrahentAdres_KontrahentID)) ON kadr.KontrahentID = k.ID AND kadr.FlgDomyslny = 1
- LEFT JOIN NGastroGrupaKontrahentow gk ON k.GrupaKontrahentowID = gk.ID
- LEFT JOIN NSysKraj kr ON k.KrajID = kr.ID
- LEFT JOIN NGastroPoziomCenowy pc ON k.PoziomCenowyID = pc.ID
- LEFT JOIN NGastroJezyk j ON k.JezykID = j.ID
- LEFT JOIN NGastroKontrahent kk ON k.KontrahentID = kk.ID
- LEFT JOIN NGastroDostawaObiekt do ON k.DostawaObiektID = do.ID
- LEFT JOIN NGastroKontrahentLokal kl ON kl.KontrahentID = k.ID
- LEFT JOIN NSysLokal lok ON lok.ID = kl.LokalID
- LEFT JOIN NSysLokal lokcentr ON lokcentr.FlgCentrala = 2
- LEFT JOIN
- (
- SELECT TOP 1 ISNULL(kaz.Email, '') AS Email,kontrahentId
- FROM NGastroKontrahentAdresZamowien kaz
- INNER JOIN NGastroKontrahentAdresZamowienLokal kazl ON kazl.AdresZamowienID = kaz.ID
- WHERE kazl.LokalID = (SELECT TOP 1 LokalID FROM NGastroLokal WHERE FlgMojLokal = 1)
- ) kaz ON kaz.KontrahentID = k.ID
- OUTER APPLY
- (
- SELECT TOP 1 kk.Kontakt AS KontrahentKontakt, kkn.KontrahentID FROM NGastroKontrahentKontakt kk
- INNER JOIN NGastroKontrahentKontaktNazwa kkn ON kkn.ID = kk.KontrahentKontaktNazwaID
- AND kkn.KontrahentID = k.ID
- ) kon
- WHERE (k.ID = @cID OR @cID IS NULL)
- AND k.FlgFirma = @cTypKontrahenta
- END
- -------------------[/BODY]----------------------
- ------------------------------------------------
- ------------------------------------------------
- ----------------[SUCCESS_BLOCK]-----------------
- RETURN 0
- ----------------[/SUCCESS_BLOCK]----------------
- ------------------------------------------------
- END TRY
- BEGIN CATCH
- ------------------------------------------------
- -----------------[CATCH_BLOCK]------------------
- DECLARE @cErrMsg NVARCHAR(2048)
- SET @cErrMsg= ERROR_MESSAGE()
- RAISERROR (@cErrMsg, 16, 1) WITH NOWAIT, SETERROR
- RETURN(99)
- -----------------[/CATCH_BLOCK]-----------------
- ------------------------------------------------
- END CATCH
- END
- GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement