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
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 |