Files
Fuchs_Intranet/Fuchs_Database/dbo/Stored Procedures/fds__setBankingtransaction_assignToIvoice.sql
T
Stefan 10ecdfa2e4 Add Fuchs_Database SSDT project (schema source of truth)
Adds the SQL Server Data Tools project for the fuchs_fds database — tables,
table types, functions and stored procedures that the backend calls (e.g.
fds__getInvoice, fds__merge_bankingtransactions, fds__tt__bankingtransactions,
fds__admin_getReportCatalog, fis_* auth). Build/model caches (bin, obj,
*.dbmdl, *.jfm, *.user) are git-ignored.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:50:54 +02:00

52 lines
1.7 KiB
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[fds__setBankingtransaction_assignToIvoice]
@taID varchar(10)
,@invoice_id varchar(10)
,@authuser varchar(25)
AS
BEGIN
SET NOCOUNT ON;
IF [dbo].[fis_getModuleAuth]('fds_bam', @authuser) < 1
THROW 60000, N'not authorized', 1;
IF NOT EXISTS (SELECT 0 FROM [dbo].[fds__invoices] as i_ WHERE i_.[id] = @invoice_id)
THROW 60000, N'Invoice not found', 1;
INSERT INTO [dbo].[fds__admin_activity] ([activity] ,[authuser] ,[info])
VALUES ('fds__setBankingtransaction_assignToIvoice' ,@authuser , ('banking_uid: ' + @taID + ', invoice_id: ' + @invoice_id));
DECLARE @now datetime = GETUTCDATE();
DECLARE @today date = @now;
DECLARE @OUT TABLE([uid] varchar(10), [assigned_invoice_id] varchar(25));
MERGE [dbo].[fds__bankingtransactions_settings] as TARGET
USING (SELECT TOP(1) * FROM [dbo].[fds__bankingtransactions] as b WHERE b.[taID] = @taID) as SOURCE ON TARGET.[taID] = SOURCE.[taID]
WHEN MATCHED THEN
UPDATE SET [assigned_invoice_id] = [dbo].[ott_merge_csv]([assigned_invoice_id], @invoice_id), [auto_invoice_id] = NULL
WHEN NOT MATCHED BY TARGET THEN
INSERT ([taID],[assigned_invoice_id]) VALUES (SOURCE.[taID], @invoice_id)
OUTPUT inserted.[taID], inserted.[assigned_invoice_id]
INTO @out;
;
--Process transactions and assignments
EXECUTE [dbo].[fds__setBankingtransaction_autoAssigns];
EXECUTE [dbo].[fds__setInvoicePaymentStatus_auto];
--output to confirm as boolean
SELECT CAST( (CASE WHEN ISNULL((SELECT TOP(1) [assigned_invoice_id] FROM @out), '') <> '' THEN 1 ELSE 0 END) as bit);
END