You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

244 lines
8.1 KiB

/****** Object: UserDefinedFunction [dbo].[get_offener_betrag] Script Date: 12.05.2018 07:51:54 ******/
DROP FUNCTION [dbo].[get_offener_betrag]
GO
/****** Object: UserDefinedFunction [dbo].[get_offener_betrag] Script Date: 12.05.2018 07:51:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[get_offener_betrag]
(
-- Add the parameters for the function here
@fakturanr INT
)
RETURNS DECIMAL(10,2)
AS
BEGIN
DECLARE @RESULT FLOAT
DECLARE @result1 FLOAT
SELECT @result=total FROM faktura WHERE nrfaktura=@fakturanr
SELECT @RESULT1=ISNULL(SUM(Betrag), 0)
FROM dbo.Zahlung
WHERE (Status <> 9) AND (Nrfaktura = @fakturanr) AND (CAST(aktiv AS INT) = 1)
RETURN @RESULT-@RESULt1
END
GO
/****** Object: UserDefinedFunction [dbo].[get_adresse_direkt] Script Date: 12.05.2018 07:52:22 ******/
DROP FUNCTION [dbo].[get_adresse_direkt]
GO
/****** Object: UserDefinedFunction [dbo].[get_adresse_direkt] Script Date: 12.05.2018 07:52:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[get_adresse_direkt]
(
@keyvalue INT,
@einzeilig INT=0
)
RETURNS VARCHAR(255)
AS
BEGIN
DECLARE @Adresstype int
DECLARE @Nrprivat int
DECLARE @res VARCHAR(255)
DECLARE @res2 VARCHAR(255)
DECLARE @garant INT
DECLARE @ansprechpartner INT
declare @adresse varchar(255)
DECLARE @crlf varchar(2)
SET @crlf = char(13) + char(10)
IF @einzeilig=1 SET @crlf = ' '
SET @garant=@keyvalue
SET @nrprivat=@keyvalue
IF @garant > 0 AND @garant > 49000 GOTO Firmenadresse
SET @adresse=''
SELECT @res=dbo.anrede.Anrede_D FROM dbo.anrede INNER JOIN dbo.privat ON dbo.anrede.NRANREDE = dbo.privat.NRANREDE
WHERE (dbo.privat.NRPRIVAT = @Nrprivat)
SET @adresse=@res
SET @res=''
SELECT @res=ISNULL(dbo.titel.titel_d,'') FROM dbo.Titel INNER JOIN dbo.privat ON dbo.titel.nrtitel = dbo.privat.nrtitel
WHERE (dbo.privat.NRPRIVAT = @Nrprivat)
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res= vorname+' '+name FROM privat WHERE NRPRIVAT=@Nrprivat
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(COADRESSE,'') FROM privat WHERE (dbo.privat.NRPRIVAT = @Nrprivat)
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(COADRESSE,'') FROM privat WHERE (dbo.privat.NRPRIVAT = @Nrprivat)
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res= STRASSE FROM privat WHERE NRPRIVAT=@Nrprivat
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=plz+' '+ort FROM privat WHERE NRPRIVAT=@Nrprivat
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SET @res=@adresse
GOTO ende
firmenadresse:
SET @adresse=''
SET @res=''
SELECT @adresse=name1 FROM firma WHERE NRFIRMA=@garant
SELECT @res=ISNULL(name2,'') FROM dbo.FIRMA WHERE NRFIRMA=@garant
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(dbo.ANREDE.Anrede_D +' '+ dbo.firmaap.NAME,'') FROM dbo.ANREDE LEFT OUTER JOIN dbo.FIRMAAP ON dbo.ANREDE.NRANREDE = dbo.FIRMAAP.NRANREDE
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(strasse,'') FROM dbo.FIRMA WHERE NRFIRMA=@garant
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(POSTFACH,'') FROM dbo.FIRMA WHERE NRFIRMA=@garant
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SELECT @res=ISNULL(plz+' '+ort,'') FROM dbo.FIRMA WHERE NRFIRMA=@garant
IF @res<>'' SET @adresse=@adresse+@crlf+@res
SET @res=@adresse
--SET @res=''
--IF @zeilenr=1 BEGIN
-- SELECT @res=name1 FROM firma WHERE nrfirma=@garant
--END
--IF @ZeileNr=2 BEGIN
-- IF @ansprechpartner<>0 BEGIN
-- SELECT @res=dbo.ANREDE.Anrede_D +' '+ dbo.firmaap.NAME FROM dbo.ANREDE LEFT OUTER JOIN dbo.FIRMAAP ON dbo.ANREDE.NRANREDE = dbo.FIRMAAP.NRANREDE
-- END ELSE begin
-- SELECT @res=ISNULL(name2,'') FROM firma WHERE NRFIRMA=@garant
--end
--END
--IF @ZeileNr=3 BEGIN
-- IF @ansprechpartner<>0 BEGIN
-- SELECT @res=ISNULL(name2,'') FROM firma WHERE NRFIRMA=@garant
--END ELSE BEGIN
-- SELECT @res=ISNULL(Strasse,'') FROM firma WHERE NRFIRMA=@garant
-- END
--end
--IF @ZeileNr=4 BEGIN
-- IF @ansprechpartner<>0 BEGIN
-- SELECT @res=ISNULL(Strasse,'') FROM firma WHERE NRFIRMA=@garant
--END ELSE BEGIN
-- SELECT @res2=ISNULL(postfach,'') FROM firma WHERE NRFIRMA=@garant
--IF @res2='' SELECT @res=plz + ' '+ort FROM dbo.FIRMA WHERE NRFIRMA=@garant ELSE SET @res=@res2
-- END
--end
--IF @ZeileNr=5 BEGIN
-- IF @ansprechpartner<>0 BEGIN
-- SELECT @res=plz + ' '+ort FROM dbo.FIRMA WHERE NRFIRMA=@garant
--END ELSE BEGIN
-- SELECT @res=ISNULL(Postfach,'') FROM firma WHERE NRFIRMA=@garant
-- END
--end
--RETURN @res
ende:
RETURN @res
END
GO
/****** Object: UserDefinedFunction [dbo].[get_offener_betrag] Script Date: 12.05.2018 07:52:46 ******/
DROP FUNCTION [dbo].[get_offener_betrag]
GO
/****** Object: UserDefinedFunction [dbo].[get_offener_betrag] Script Date: 12.05.2018 07:52:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[get_offener_betrag]
(
-- Add the parameters for the function here
@fakturanr INT
)
RETURNS DECIMAL(10,2)
AS
BEGIN
DECLARE @RESULT FLOAT
DECLARE @result1 FLOAT
SELECT @result=total FROM faktura WHERE nrfaktura=@fakturanr
SELECT @RESULT1=ISNULL(SUM(Betrag), 0)
FROM dbo.Zahlung
WHERE (Status <> 9) AND (Nrfaktura = @fakturanr) AND (CAST(aktiv AS INT) = 1)
RETURN @RESULT-@RESULt1
END
GO
/****** Object: StoredProcedure [dbo].[sp_reset_Mahnstufe] Script Date: 12.05.2018 08:56:39 ******/
DROP PROCEDURE [dbo].[sp_reset_Mahnstufe]
GO
/****** Object: StoredProcedure [dbo].[sp_reset_Mahnstufe] Script Date: 12.05.2018 08:56:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_reset_Mahnstufe]
@stufe INT,
@nrfaktura INT
AS
BEGIN
SET NOCOUNT ON;
IF @stufe=1 UPDATE faktura SET Mahndatum1=NULL, Mahnfaelligkeit1=NULL,Mahngebuehr1=0 WHERE Nrfaktura=@nrfaktura
IF @stufe=2 UPDATE faktura SET Mahndatum2=NULL, Mahnfaelligkeit2=NULL,Mahngebuehr2=0 WHERE Nrfaktura=@nrfaktura
IF @stufe=3 UPDATE faktura SET Mahndatum3=NULL, Mahnfaelligkeit3=NULL,Mahngebuehr3=0 WHERE Nrfaktura=@nrfaktura
END
GO
DROP VIEW [dbo].[View_Offene_Rechnungen]
GO
/****** Object: View [dbo].[View_Offene_Rechnungen] Script Date: 12.05.2018 09:11:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[View_Offene_Rechnungen]
AS
SELECT TOP (100) PERCENT dbo.DEBITOR.Nreintrag, dbo.Faktura.Nrfaktura, dbo.DEBITOR.Faelligam, dbo.DEBITOR.Betrag, dbo.DEBITOR.Status, dbo.get_adresse_direkt(dbo.DEBITOR.Nrpatient, 1) AS Patient,
ISNULL(dbo.get_adresse_direkt(dbo.DEBITOR.Nrdebitor, 1), '') AS Debitor, dbo.DEBITOR.Nrpatient, dbo.get_offener_betrag(dbo.Faktura.Nrfaktura) AS Offener_Betrag, dbo.DEBITOR.Nrdebitor, dbo.Faktura.Mahndatum1,
dbo.Faktura.Mahnfaelligkeit1, dbo.Faktura.Mahngebuehr1, dbo.Faktura.Mahndatum2, dbo.Faktura.Mahnfaelligkeit2, dbo.Faktura.Mahngebuehr2, dbo.Faktura.Mahndatum3, dbo.Faktura.Mahnfaelligkeit3,
dbo.Faktura.Mahngebuehr3
FROM dbo.DEBITOR INNER JOIN
dbo.Faktura ON dbo.DEBITOR.Nrfaktura = dbo.Faktura.Nrfaktura
WHERE (dbo.DEBITOR.Status <> 9) AND (dbo.DEBITOR.Betrag <> 0) AND (dbo.DEBITOR.aktiv = 1) AND (dbo.get_offener_betrag(dbo.Faktura.Nrfaktura) > 0)
ORDER BY dbo.DEBITOR.Faelligam DESC
GO