OrgFLOW Update, dadurch auch DD_ECM
This commit is contained in:
parent
25eeb6d310
commit
ba27b6989c
@ -1,5 +1,469 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.5';
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[PRDD_SEND_REJECTION_MAIL] Script Date: 15.05.2025 09:29:08 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
-- PRDD_SEND_REJECTION_MAIL
|
||||
-- =================================================================
|
||||
-- Die Procedure verschickt die Ablehnungsmails für
|
||||
-- - ZUGFeRD-Service
|
||||
-- - E-Mail Profiler
|
||||
--
|
||||
-- Dabei werden die codierten Ablehnungsgründe mit dem
|
||||
-- E-Mail-Template verknüpft.
|
||||
-- =================================================================
|
||||
-- Copyright (c) 2024 by Digital Data GmbH
|
||||
--
|
||||
-- Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
||||
-- Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
||||
-- =================================================================
|
||||
-- Creation Date / Author: 13.03.2024 / MP
|
||||
-- =================================================================
|
||||
-- History:
|
||||
-- 13.03.2024 / MP - Prozedur erstellt
|
||||
-- 10.04.2024 / MP - RECEIPT_EMAIL_PHRASE ergänzt
|
||||
-- 17.04.2024 / MP - ZUGFeRD Integration fertiggestellt
|
||||
-- 18.04.2024 / MP - DEPLOYMENT_ENVIRONMENT (PROD/TEST) auswerten, um 2. Mail zu verhindern.
|
||||
-- 22.04.2024 / MP - Verwende FNCUST_SPLIT_STRING_WITH_GUID, um Ablehnungsgründe zu splitten
|
||||
-- 24.04.2024 / MP - REMINDER_TYPE_ID muss ungleich 1 sein
|
||||
|
||||
CREATE PROCEDURE [dbo].[PRDD_SEND_REJECTION_MAIL]
|
||||
@REF_MSGID VARCHAR(250) -- E-Mail MessageID
|
||||
, @IDB_OBJ_ID BIGINT = 0 -- IDB_OBJ_ID
|
||||
, @SENDING_PROFILE INTEGER = 0 -- Absenderprofil
|
||||
, @REJ_SOURCE VARCHAR(50) -- Welcher Prozess lehnt ab?
|
||||
, @MAIL_TEMPLATE INTEGER -- Welches Template soll verwendet werden?
|
||||
, @REJ_REASONS VARCHAR(250) -- Liste mit IDs von Ablehnungsgründen, getrennt durch '|'
|
||||
, @REPLACE_PARAM1 VARCHAR(MAX) -- Zusätzlicher Text-Parameter, ersetzt Platzhalter @REPLACE_PARAM1
|
||||
, @REPLACE_PARAM2 VARCHAR(MAX) -- Zusätzlicher Text-Parameter, ersetzt Platzhalter @REPLACE_PARAM2
|
||||
, @WF_ID INTEGER = 0 -- WorkflowID
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @EMAIL_ADRESS VARCHAR(250), @EMAIL_SUBJECT VARCHAR(250), @EMAIL_BODY VARCHAR(MAX), @COMMENT VARCHAR(500), @EMAIL_PATH VARCHAR(512),
|
||||
@EMAIL_BODY1 VARCHAR(MAX), @EMAIL_BODY2 VARCHAR(MAX), @LANGUAGE VARCHAR(5), @CONNECTED_TEMPLATE_ID INTEGER,
|
||||
@EMAIL_BODY1_CON VARCHAR(MAX), @EMAIL_BODY2_CON VARCHAR(MAX), @LANGUAGE_CON VARCHAR(5),
|
||||
@REASON_ID VARCHAR(100), @REJ_REASON VARCHAR(900), @ORG_EMAIL_SUBJECT VARCHAR(250), @ORG_EMAIL_DATE VARCHAR(25),
|
||||
@FILENAME VARCHAR(512), @REL_PATH VARCHAR(250), @PROCEDURE_NAME VARCHAR(30), @ALREADY_SENT_TODAY BIT,
|
||||
@EMAIL_ADRESS_2 VARCHAR(250), @DEPLOYMENT_ENVIRONMENT VARCHAR(10);
|
||||
|
||||
DECLARE @REJ_REASON_TEMP_TABLE TABLE (REJ_ID VARCHAR(100), REJ_REASON VARCHAR(900), LANGUAGE VARCHAR(5));
|
||||
|
||||
SET @PROCEDURE_NAME = 'PRDD_SEND_REJECTION_MAIL'
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Prüfe Parameter
|
||||
-- ====================================================================================================================================
|
||||
|
||||
IF @REF_MSGID IS NULL OR LEN(@REF_MSGID) <= 0
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### Parameter @REF_MSGID is NULL or Empty! ###'
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF @REJ_SOURCE IS NULL OR LEN(@REJ_SOURCE) <= 0
|
||||
BEGIN
|
||||
SET @REJ_SOURCE = 'Unkown Source (PRDD_SEND_REJECTION_MAIL)'
|
||||
END
|
||||
|
||||
IF @MAIL_TEMPLATE <= 0
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### Parameter @MAIL_TEMPLATE is invalid! ###'
|
||||
RETURN;
|
||||
END
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Lade Daten des E-Mail-Eingangs
|
||||
-- ====================================================================================================================================
|
||||
DECLARE @TEMP_DATE DATETIME
|
||||
|
||||
SELECT
|
||||
@EMAIL_ADRESS = EMAIL_FROM,
|
||||
@ORG_EMAIL_SUBJECT = EMAIL_SUBJECT,
|
||||
@TEMP_DATE = EMAIL_DATE
|
||||
FROM [DD_ECM].[dbo].[TBEMLP_HISTORY]
|
||||
WHERE EMAIL_MSGID = @REF_MSGID;
|
||||
|
||||
IF @EMAIL_ADRESS IS NULL OR LEN(@EMAIL_ADRESS) <= 0
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### EMAIL_ADRESS IS NULL or Empty! ###'
|
||||
SET @EMAIL_ADRESS = 'm.schreiber@digitaldata.works'
|
||||
SET @ORG_EMAIL_SUBJECT = 'Default Subject!'
|
||||
SET @TEMP_DATE = '2024-01-01'
|
||||
END
|
||||
|
||||
SET @ALREADY_SENT_TODAY = 0
|
||||
IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
|
||||
BEGIN
|
||||
IF EXISTS(SELECT 1
|
||||
FROM TBEMLP_EMAIL_OUT
|
||||
WHERE REFERENCE_ID = @IDB_OBJ_ID AND EMAIL_ADRESS = @EMAIL_ADRESS AND ADDED_WHO = @REJ_SOURCE AND CONVERT(DATE,ADDED_WHEN) = CONVERT(DATE,GETDATE()))
|
||||
BEGIN
|
||||
SET @ALREADY_SENT_TODAY = 1
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF EXISTS(SELECT 1
|
||||
FROM TBEMLP_EMAIL_OUT
|
||||
WHERE REFERENCE_STRING = @REF_MSGID AND EMAIL_ADRESS = @EMAIL_ADRESS AND ADDED_WHO = @REJ_SOURCE AND CONVERT(DATE,ADDED_WHEN) = CONVERT(DATE,GETDATE()))
|
||||
BEGIN
|
||||
SET @ALREADY_SENT_TODAY = 1
|
||||
END
|
||||
END
|
||||
|
||||
IF @ALREADY_SENT_TODAY = 1
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### EMAIL with same reference already send today! ###'
|
||||
--RETURN;
|
||||
END
|
||||
|
||||
SET @ORG_EMAIL_DATE = CONVERT(VARCHAR(25), @TEMP_DATE, 120) -- yyyy-mm-dd hh:mm:ss
|
||||
|
||||
SELECT
|
||||
@EMAIL_ADRESS_2 = ITEM_VALUE
|
||||
FROM DD_ECM.dbo.TBEDMI_ITEM_VALUE
|
||||
WHERE REFERENCE_GUID = @REF_MSGID
|
||||
AND SPEC_NAME = 'INVOICE_SELLER_EMAIL';
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- E-Mail-Absender
|
||||
-- ====================================================================================================================================
|
||||
|
||||
IF @SENDING_PROFILE <= 0
|
||||
BEGIN
|
||||
SELECT @SENDING_PROFILE = CONVERT(INTEGER, CAT_STRING)
|
||||
FROM IDB.dbo.TBIDB_CATALOG
|
||||
WHERE CAT_TITLE = 'REJECTION_EMAIL_PROFILE'
|
||||
END
|
||||
|
||||
IF @SENDING_PROFILE <= 0
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### No SENDING PROFILE found! ###'
|
||||
RETURN;
|
||||
END
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Lade Konfiguration aus TBIDB_CATALOG
|
||||
-- ====================================================================================================================================
|
||||
|
||||
SELECT @DEPLOYMENT_ENVIRONMENT = CAT_STRING
|
||||
FROM IDB.dbo.TBIDB_CATALOG
|
||||
WHERE CAT_TITLE = 'DEPLOYMENT_ENVIRONMENT';
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Lade E-Mail-Template(s)
|
||||
-- ====================================================================================================================================
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE] WHERE GUID = @MAIL_TEMPLATE)
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### No EMAIL TEMPLATE found! ###'
|
||||
RETURN;
|
||||
END
|
||||
|
||||
SELECT
|
||||
@EMAIL_SUBJECT = EMAIL_SUBJECT,
|
||||
@EMAIL_BODY1 = EMAIL_BODY1,
|
||||
@EMAIL_BODY2 = EMAIL_BODY2,
|
||||
@LANGUAGE = [LANGUAGE],
|
||||
@CONNECTED_TEMPLATE_ID = CONNECTED_TEMPLATE
|
||||
FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE]
|
||||
WHERE GUID = @MAIL_TEMPLATE;
|
||||
|
||||
IF @CONNECTED_TEMPLATE_ID > 0
|
||||
BEGIN
|
||||
SELECT
|
||||
@EMAIL_BODY1_CON = EMAIL_BODY1,
|
||||
@EMAIL_BODY2_CON = EMAIL_BODY2,
|
||||
@LANGUAGE_CON = [LANGUAGE]
|
||||
FROM [DD_ECM].[dbo].[TBDD_EMAIL_TEMPLATE]
|
||||
WHERE GUID = @CONNECTED_TEMPLATE_ID;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @LANGUAGE_CON = @LANGUAGE
|
||||
END
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Lade Ablehnungsgründe in temporäre Tabelle
|
||||
-- ====================================================================================================================================
|
||||
|
||||
IF @REJ_REASONS IS NULL OR LEN(@REJ_REASONS) <= 0
|
||||
BEGIN
|
||||
PRINT @PROCEDURE_NAME + ' - ### NO Rejection Reasons! ###'
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF @REJ_REASONS LIKE '%|%'
|
||||
BEGIN
|
||||
-- Es gibt mehrere Gründe
|
||||
DECLARE cursorGetRejReasons CURSOR LOCAL FAST_FORWARD FOR
|
||||
|
||||
SELECT Item FROM DD_ECM.[dbo].[FNCUST_SPLIT_STRING_WITH_GUID] (@REJ_REASONS, '|')
|
||||
|
||||
OPEN cursorGetRejReasons
|
||||
FETCH NEXT FROM cursorGetRejReasons INTO @REASON_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
INSERT INTO @REJ_REASON_TEMP_TABLE (REJ_ID, REJ_REASON, [LANGUAGE])
|
||||
SELECT TITLE AS REJ_ID, STRING1 AS REJ_REASON, [LANGUAGE]
|
||||
FROM [DD_ECM].[dbo].[TBDD_GUI_LANGUAGE_PHRASE]
|
||||
WHERE [TITLE] = 'RejectReason' + @REASON_ID AND [LANGUAGE] IN (@LANGUAGE, @LANGUAGE_CON);
|
||||
|
||||
FETCH NEXT FROM cursorGetRejReasons INTO @REASON_ID
|
||||
END
|
||||
CLOSE cursorGetRejReasons
|
||||
DEALLOCATE cursorGetRejReasons
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO @REJ_REASON_TEMP_TABLE (REJ_ID, REJ_REASON, [LANGUAGE])
|
||||
SELECT TITLE AS REJ_ID, STRING1 AS REJ_REASON, [LANGUAGE]
|
||||
FROM [DD_ECM].[dbo].[TBDD_GUI_LANGUAGE_PHRASE]
|
||||
WHERE [TITLE] = @REJ_REASONS AND [LANGUAGE] IN (@LANGUAGE, @LANGUAGE_CON);
|
||||
END
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Stelle E-Mail Body zusammen
|
||||
-- ====================================================================================================================================
|
||||
DECLARE @REASON_COUNTER INTEGER
|
||||
|
||||
SET @REASON_COUNTER = 1
|
||||
|
||||
SET @EMAIL_BODY = '<html><body style=''font-family:""Arial"";font-size:10.0pt''>'
|
||||
SET @EMAIL_BODY += @EMAIL_BODY1
|
||||
|
||||
DECLARE cursorSelectRejReasons CURSOR LOCAL FAST_FORWARD FOR
|
||||
|
||||
SELECT REJ_ID, REJ_REASON
|
||||
FROM @REJ_REASON_TEMP_TABLE
|
||||
WHERE [LANGUAGE] = @LANGUAGE;
|
||||
|
||||
OPEN cursorSelectRejReasons
|
||||
FETCH NEXT FROM cursorSelectRejReasons INTO @REASON_ID, @REJ_REASON
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
IF @REASON_COUNTER > 1
|
||||
BEGIN
|
||||
SET @EMAIL_BODY += '<br/>' + @REJ_REASON;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- 1. Zeile
|
||||
SET @EMAIL_BODY += @REJ_REASON
|
||||
END
|
||||
|
||||
SET @REASON_COUNTER += 1;
|
||||
FETCH NEXT FROM cursorSelectRejReasons INTO @REASON_ID, @REJ_REASON
|
||||
END
|
||||
CLOSE cursorSelectRejReasons
|
||||
DEALLOCATE cursorSelectRejReasons
|
||||
|
||||
SET @EMAIL_BODY += @EMAIL_BODY2
|
||||
|
||||
IF @CONNECTED_TEMPLATE_ID > 0
|
||||
BEGIN
|
||||
SET @REASON_COUNTER = 1
|
||||
SET @EMAIL_BODY += '<p>====================================================================================================================================<p/>'
|
||||
SET @EMAIL_BODY += @EMAIL_BODY1_CON
|
||||
|
||||
DECLARE cursorSelectRejReasonsCon CURSOR LOCAL FAST_FORWARD FOR
|
||||
|
||||
SELECT REJ_ID, REJ_REASON
|
||||
FROM @REJ_REASON_TEMP_TABLE
|
||||
WHERE [LANGUAGE] = @LANGUAGE_CON;
|
||||
|
||||
OPEN cursorSelectRejReasonsCon
|
||||
FETCH NEXT FROM cursorSelectRejReasonsCon INTO @REASON_ID, @REJ_REASON
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
IF @REASON_COUNTER > 1
|
||||
BEGIN
|
||||
SET @EMAIL_BODY += '<br/>' + @REJ_REASON;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- 1. Zeile
|
||||
SET @EMAIL_BODY += @REJ_REASON
|
||||
END
|
||||
|
||||
SET @REASON_COUNTER += 1;
|
||||
FETCH NEXT FROM cursorSelectRejReasonsCon INTO @REASON_ID, @REJ_REASON
|
||||
END
|
||||
CLOSE cursorSelectRejReasonsCon
|
||||
DEALLOCATE cursorSelectRejReasonsCon
|
||||
|
||||
SET @EMAIL_BODY += @EMAIL_BODY2_CON
|
||||
END
|
||||
|
||||
SET @EMAIL_BODY += '<p>(' + @REJ_REASONS + ')</p>'
|
||||
SET @EMAIL_BODY += '</body></html>'
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Ersetze Platzhalter in SUBJECT und BODY
|
||||
-- ====================================================================================================================================
|
||||
DECLARE @LAST_USER VARCHAR(100), @LAST_USER_EMAIL VARCHAR(100), @ORG_INVOICE_NR VARCHAR(50), @INVOICE_NR_VALUE VARCHAR(50)
|
||||
|
||||
SET @ORG_INVOICE_NR = '[KEINE BELEGNR GEFUNDEN/GELIEFERT]'
|
||||
SET @INVOICE_NR_VALUE = ''
|
||||
SET @LAST_USER = 'No User so far'
|
||||
SET @LAST_USER_EMAIL = ''
|
||||
SET @ORG_EMAIL_SUBJECT = REPLACE(@ORG_EMAIL_SUBJECT,'[EXTERNAL] ', '')
|
||||
|
||||
IF EXISTS(SELECT ITEM_VALUE FROM [DD_ECM].[dbo].TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @REF_MSGID and SPEC_NAME = 'INVOICE_NUMBER')
|
||||
BEGIN
|
||||
SELECT @INVOICE_NR_VALUE = ITEM_VALUE
|
||||
FROM [DD_ECM].[dbo].TBEDMI_ITEM_VALUE
|
||||
WHERE REFERENCE_GUID = @REF_MSGID and SPEC_NAME = 'INVOICE_NUMBER';
|
||||
|
||||
SET @ORG_INVOICE_NR = @INVOICE_NR_VALUE;
|
||||
END
|
||||
|
||||
IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
|
||||
BEGIN
|
||||
SELECT
|
||||
@LAST_USER = PRENAME + ' ' + COALESCE([NAME],''),
|
||||
@LAST_USER_EMAIL = EMAIL
|
||||
FROM [DD_ECM].[dbo].TBDD_USER
|
||||
--WHERE USERNAME = [DD_ECM].[dbo].[FNPM_LAST_WORKUSER_DOC] (@IDB_OBJ_ID)
|
||||
END
|
||||
--PRINT '@REPLACE_PARAM1:' + @REPLACE_PARAM1
|
||||
SET @EMAIL_SUBJECT = REPLACE(@EMAIL_SUBJECT, '@ORG_INVOICE_NR', @ORG_INVOICE_NR)
|
||||
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_MSGID', @REF_MSGID)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_INVOICE_NR', @ORG_INVOICE_NR)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_SUBJECT', @ORG_EMAIL_SUBJECT)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@ORG_EMAIL_DATE', @ORG_EMAIL_DATE)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@LAST_USER', @LAST_USER)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@LAST_USER_EMAIL', @LAST_USER_EMAIL)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@REPLACE_PARAM1', @REPLACE_PARAM1)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@REPLACE_PARAM2', @REPLACE_PARAM2)
|
||||
--Print @EMAIL_BODY
|
||||
-- ====================================================================================================================================
|
||||
-- Ersetze Platzhalter @RECEIPT_EMAIL_PHRASE / @RECEIPT_EMAIL_PHRASE_EN im BODY
|
||||
-- ====================================================================================================================================
|
||||
DECLARE @RECEIPT_EMAIL_DE_PHRASE VARCHAR(100), @RECEIPT_EMAIL_EN_PHRASE VARCHAR(100)
|
||||
|
||||
SET @RECEIPT_EMAIL_DE_PHRASE = 'Email'
|
||||
SET @RECEIPT_EMAIL_EN_PHRASE = 'Email'
|
||||
|
||||
-- Wenn Belegnummer vorliegt, dann konkreter Text
|
||||
IF LEN(@INVOICE_NR_VALUE) > 1
|
||||
BEGIN
|
||||
SET @RECEIPT_EMAIL_DE_PHRASE = 'Rechnung ' + @INVOICE_NR_VALUE
|
||||
SET @RECEIPT_EMAIL_EN_PHRASE = 'Invoice ' + @INVOICE_NR_VALUE
|
||||
END
|
||||
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@RECEIPT_EMAIL_DE_PHRASE', @RECEIPT_EMAIL_DE_PHRASE)
|
||||
SET @EMAIL_BODY = REPLACE(@EMAIL_BODY, '@RECEIPT_EMAIL_EN_PHRASE', @RECEIPT_EMAIL_EN_PHRASE)
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Evtl. vorhandener Dateianhang
|
||||
-- ====================================================================================================================================
|
||||
|
||||
SET @EMAIL_PATH = ''
|
||||
IF @IDB_OBJ_ID > 0 AND @IDB_OBJ_ID <> 99999
|
||||
BEGIN
|
||||
SELECT @REL_PATH = [CAT_STRING] FROM [IDB].[dbo].[TBIDB_CATALOG] WHERE [CAT_TITLE] = 'FILESTORE_PRAEFIX';
|
||||
SELECT @FILENAME = RELATIVE_PATH FROM [IDB].[dbo].[TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID;
|
||||
IF LEN(@FILENAME) > 0
|
||||
BEGIN
|
||||
BEGIN
|
||||
IF @FILENAME NOT LIKE @REL_PATH + '%'
|
||||
BEGIN
|
||||
SET @FILENAME = @REL_PATH + @FILENAME
|
||||
END
|
||||
END
|
||||
SET @EMAIL_PATH = @FILENAME
|
||||
END
|
||||
ELSE
|
||||
SET @EMAIL_PATH = 'F:\DocumentProcessing\Output\File\DocumentKindAssigned\ZUGFeRD\Success\archive\'
|
||||
END
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Füge E-Mail-Daten in Tabelle ein
|
||||
-- ====================================================================================================================================
|
||||
|
||||
INSERT INTO [DD_ECM].[dbo].[TBEMLP_EMAIL_OUT]
|
||||
(
|
||||
[SENDING_PROFILE] -- REQUIRED
|
||||
, [REFERENCE_ID] -- REQUIRED
|
||||
, [REFERENCE_STRING]
|
||||
, [WF_ID] -- REQUIRED
|
||||
, [EMAIL_ADRESS] -- REQUIRED
|
||||
, [EMAIL_SUBJ] -- REQUIRED
|
||||
, [EMAIL_BODY] -- REQUIRED
|
||||
, [COMMENT]
|
||||
, [ADDED_WHO] -- REQUIRED
|
||||
, [EMAIL_ATTMT1]
|
||||
, [REMINDER_TYPE_ID]
|
||||
) VALUES (
|
||||
@SENDING_PROFILE
|
||||
, @IDB_OBJ_ID
|
||||
, @REF_MSGID
|
||||
, @WF_ID
|
||||
, @EMAIL_ADRESS
|
||||
, @EMAIL_SUBJECT
|
||||
, @EMAIL_BODY
|
||||
, @COMMENT
|
||||
, @REJ_SOURCE
|
||||
, @EMAIL_PATH
|
||||
, 77
|
||||
);
|
||||
|
||||
-- ====================================================================================================================================
|
||||
-- Füge E-Mail-Daten in Tabelle ein, falls 2. E-Mail-Adresse vorliegt, und
|
||||
-- diese sich von der 1. E-Mail-Adresse unterscheidet!
|
||||
-- ====================================================================================================================================
|
||||
|
||||
IF @DEPLOYMENT_ENVIRONMENT = 'PROD' AND
|
||||
LEN(@EMAIL_ADRESS_2) > 0 AND @EMAIL_ADRESS <> @EMAIL_ADRESS_2
|
||||
BEGIN
|
||||
INSERT INTO [DD_ECM].[dbo].[TBEMLP_EMAIL_OUT]
|
||||
(
|
||||
[SENDING_PROFILE] -- REQUIRED
|
||||
, [REFERENCE_ID] -- REQUIRED
|
||||
, [REFERENCE_STRING]
|
||||
, [WF_ID] -- REQUIRED
|
||||
, [EMAIL_ADRESS] -- REQUIRED
|
||||
, [EMAIL_SUBJ] -- REQUIRED
|
||||
, [EMAIL_BODY] -- REQUIRED
|
||||
, [COMMENT]
|
||||
, [ADDED_WHO] -- REQUIRED
|
||||
, [EMAIL_ATTMT1]
|
||||
, [REMINDER_TYPE_ID]
|
||||
) VALUES (
|
||||
@SENDING_PROFILE
|
||||
, @IDB_OBJ_ID
|
||||
, @REF_MSGID
|
||||
, @WF_ID
|
||||
, @EMAIL_ADRESS_2 -- EMAIL_ADRESS_2
|
||||
, @EMAIL_SUBJECT
|
||||
, @EMAIL_BODY
|
||||
, @COMMENT
|
||||
, @REJ_SOURCE
|
||||
, @EMAIL_PATH
|
||||
, 77
|
||||
);
|
||||
END
|
||||
END
|
||||
GO
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
DELETE FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE;
|
||||
Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
|
||||
|
||||
109
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
Normal file
109
00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.6.sql
Normal file
@ -0,0 +1,109 @@
|
||||
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.6';
|
||||
GO
|
||||
|
||||
|
||||
DELETE FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE;
|
||||
Insert INTO TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
|
||||
(SPECNAME, Row_Caption, Area, xPosition, SequenceItem, Y_eq_lastrow, Display) values
|
||||
('INVOICE_TYPE', '', 'TYPE', 10, 1, 0, 0),
|
||||
('INVOICE_CURRENCY', '', 'TYPE', 10, 2, 0, 0),
|
||||
('INVOICE_NUMBER', 'Rechnungsnummer/Invoice-No:', 'HEAD', 10, 3, 0, 1),
|
||||
('INVOICE_DATE', 'Datum/Date:', 'HEAD', 10, 4, 0, 1),
|
||||
('INVOICE_SERVICE_DATE','Leistungsdatum/Service date:', 'HEAD', 10, 5, 0, 1),
|
||||
('INVOICE_SELLER_NAME', '', 'SELLER', 10, 6, 0, 1),
|
||||
('INVOICE_SELLER_ADDRESS', '', 'SELLER', 10, 7, 0, 1),
|
||||
('INVOICE_SELLER_POSTALCODE', '', 'SELLER', 10, 8, 0, 1),
|
||||
('INVOICE_SELLER_CITY', '', 'SELLER', 35, 9, 1, 1),
|
||||
('INVOICE_SELLER_TAX_ID', 'USt-ID/Seller tax ID:', 'SELLER', 10, 10, 0, 1),
|
||||
('INVOICE_SELLER_ID', 'Lieferant-Nr/Seller ID:', 'SELLER', 10, 11, 0, 1),
|
||||
('INVOICE_BUYER_NAME', '', 'BUYER', 10, 12, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS2', '', 'BUYER', 10, 13, 0, 1),
|
||||
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 14, 0, 1),
|
||||
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 15, 0, 1),
|
||||
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 16, 1, 1),
|
||||
--('STATIC_Y_SWITCH', '271', 'INTERNAL', 35, 15, 0, 0),
|
||||
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 17, 0, 0),
|
||||
('INVOICE_POSITION_UNIT_TYPE', '', 'POSITION', 10, 18, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 19, 0, 0),
|
||||
('INVOICE_POSITION_ARTICLE_DESC', '', 'POSITION', 10, 20, 0, 0),
|
||||
('INVOICE_POSITION_NOTE', '', 'POSITION', 10, 21, 0, 0),
|
||||
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 22, 0, 0),
|
||||
('INVOICE_POSITION_TAX_AMOUNT', '', 'POSITION', 10, 23, 0, 1),
|
||||
('INVOICE_TOTAL_NET', 'Nettobetrag/Net amount:', 'AMOUNT', 10, 400, 0, 1),
|
||||
('INVOICE_TOTAL_TAX', 'Steuerbetrag/Tax amount:', 'AMOUNT', 10, 401, 0, 1),
|
||||
('INVOICE_TOTAL_GROSS', 'Bruttobetrag/Gross amount:', 'AMOUNT', 10, 402, 0, 1),
|
||||
('INVOICE_TAXPOS_RATE', '', 'TAXPOS', 10, 403, 1, 0),
|
||||
('INVOICE_TAXPOS_AMOUNT', '', 'TAXPOS', 10, 404, 0, 0),
|
||||
('INVOICE_TAXPOS_TYPE', '', 'TAXPOS', 10, 405, 1, 1),
|
||||
('INVOICE_TAXPOS_EXEMPTION_REASON', '', 'EXEMPTION', 10, 406, 0, 1),
|
||||
('INVOICE_TAXPOS_EXEMPTION_REASON_CODE', '', 'EXEMPTION', 10, 407, 0, 1),
|
||||
('INVOICE_PAYMENT_TERMS','', 'PAYMENT', 10, 500, 0, 1),
|
||||
('INVOICE_PAYMENT_IBAN','IBAN:', 'PAYMENT', 10, 501, 0, 1),
|
||||
('INVOICE_PAYMENT_BIC','BIC:', 'PAYMENT', 10, 502, 0, 1);
|
||||
GO
|
||||
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
||||
--CHANGED 06.03.2025 INV_POS_NOTE integriert
|
||||
ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (@pMSGID VARCHAR(100))
|
||||
RETURNS TABLE
|
||||
AS RETURN
|
||||
(
|
||||
SELECt A.SPEC_NAME,A.ITEM_VALUE,A.Area,A.Row_Caption,A.xPosition,A.Y_eq_lastrow,A.SequenceItem ORDER_SEQ,A.Display FROM VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS A
|
||||
WHERE REFERENCE_GUID = @pMSGID
|
||||
AND A.SPEC_NAME NOT IN ('INVOICE_POSITION_AMOUNT','INVOICE_POSITION_UNIT_TYPE','INVOICE_POSITION_NOTE',
|
||||
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_ARTICLE_DESC','INVOICE_TAXPOS_AMOUNT',
|
||||
'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE','INVOICE_POSITION_TAX_AMOUNT')
|
||||
UNION
|
||||
SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID)
|
||||
UNION
|
||||
SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID)
|
||||
UNION
|
||||
SELECT SPECNAME SPEC_NAME,Row_Caption,Area,Row_Caption Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, Display FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Area = 'INTERNAL'
|
||||
)
|
||||
GO
|
||||
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
--CHANGED 02.06.2025 Nur Items mit INhalt
|
||||
--CHANGED 25.04.2025 INV_POSITION_UNIT_TYPE integriert
|
||||
--CHANGED 06.03.2025 INV_POS_NOTE integriert
|
||||
ALTER FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID VARCHAR(100))
|
||||
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),SequenceItem INT,Display BIT)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @GROUP_COUNTER INT,@INDEX INT = 15
|
||||
DECLARE cursGroupCounter CURSOR FOR
|
||||
select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_POSITION_AMOUNT' ORDER BY GROUP_COUNTER
|
||||
OPEN cursGroupCounter
|
||||
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @SPEC_NAME VARCHAR(100),@ITEM_VALUE VARCHAR(100),@Display BIT
|
||||
DECLARE cursPosItems CURSOR FOR
|
||||
select A.SPEC_NAME,ITEM_VALUE,Display from TBEDMI_ITEM_VALUE A INNER JOIN TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE B ON A.SPEC_NAME = B.SPECNAME WHERE REFERENCE_GUID = @pMSGID And A.SPEC_NAME IN ('INVOICE_POSITION_AMOUNT','INVOICE_POSITION_UNIT_TYPE',
|
||||
'INVOICE_TAXPOS_TAX_RATE','INVOICE_POSITION_NOTE','INVOICE_POSITION_ARTICLE','INVOICE_POSITION_ARTICLE_DESCRIPTION','INVOICE_POSITION_TAX_AMOUNT') AND GROUP_COUNTER = @GROUP_COUNTER
|
||||
AND LEN(ITEM_VALUE) > 0
|
||||
ORDER BY B.SequenceItem
|
||||
OPEN cursPosItems
|
||||
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @INDEX += 1
|
||||
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem,Display) VALUES
|
||||
(@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX,@Display)
|
||||
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Display
|
||||
END
|
||||
CLOSE cursPosItems
|
||||
DEALLOCATE cursPosItems
|
||||
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
|
||||
END
|
||||
CLOSE cursGroupCounter
|
||||
DEALLOCATE cursGroupCounter
|
||||
RETURN
|
||||
END
|
||||
GO
|
||||
@ -11,8 +11,15 @@
|
||||
####################################*/
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.4' where NAME = 'Record-Organizer'
|
||||
GO
|
||||
|
||||
INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN)
|
||||
IF EXISTS(select GUID from TBDD_USER_MODULES where USER_ID = (SELECT GUID AS USRID FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER')
|
||||
AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'))
|
||||
BEGIN
|
||||
PRINT 'USER-MODULE ZO GIBT ES SCHON!'
|
||||
UPDATE TBDD_USER_MODULES SET IS_ADMIN = 1 WHERE GUID = (select GUID from TBDD_USER_MODULES where USER_ID = (SELECT GUID AS USRID FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER')
|
||||
AND MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'))
|
||||
END
|
||||
ELSE
|
||||
INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID,IS_ADMIN)
|
||||
SELECT GUID,(SELECT GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'ADDI'),1 FROM TBDD_USER where USERNAME = '@INSTALL_ADMIN_USER';
|
||||
GO
|
||||
|
||||
|
||||
@ -0,0 +1,93 @@
|
||||
DECLARE @REMOTE_CONF_ID INT,@LOCAL_ENT_ID INT = 15,@PARID INT
|
||||
DECLARE cursControls CURSOR FOR
|
||||
SELECT GUID,PARENT_NODE
|
||||
FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE ENTITY_ID = 15 ORDER BY PARENT_NODE
|
||||
OPEN cursControls
|
||||
FETCH NEXT FROM cursControls INTO @REMOTE_CONF_ID,@PARID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @LOCAL_CTRL_ID INT, @LOCAL_CTRL_SCR_ID INT
|
||||
INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES_CONFIGURATION]
|
||||
([PARENT_NODE]
|
||||
,[CONTROL_ID]
|
||||
,[NAME]
|
||||
,[ENTITY_ID]
|
||||
,[TYPE_NODE]
|
||||
,[NODE_IMAGE]
|
||||
,[CREATE_RECORD]
|
||||
,[COMMENT]
|
||||
,[EXPAND]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
)
|
||||
|
||||
SELECT
|
||||
[PARENT_NODE]
|
||||
,[CONTROL_ID]
|
||||
,[NAME]
|
||||
,15
|
||||
,[TYPE_NODE]
|
||||
,[NODE_IMAGE]
|
||||
,[CREATE_RECORD]
|
||||
,[COMMENT]
|
||||
,[EXPAND]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_STRUCTURE_NODES_CONFIGURATION] WHERE GUID = 1
|
||||
SELECT @LOCAL_CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL;
|
||||
--CONTROL-SCREEN INSERTEN
|
||||
INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN]
|
||||
([CONTROL_ID]
|
||||
,[SCREEN_ID]
|
||||
,[CONTROL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
,[TAB_INDEX]
|
||||
,[TAB_STOP] )
|
||||
SELECT
|
||||
@LOCAL_CTRL_ID
|
||||
,[SCREEN_ID]
|
||||
,[CONTROL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
,[TAB_INDEX]
|
||||
,[TAB_STOP]
|
||||
FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CONF_ID;
|
||||
SELECT @LOCAL_CTRL_SCR_ID = MAX(GUID) FROM [TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @LOCAL_CTRL_ID;
|
||||
INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE]
|
||||
([LANGUAGE_TYPE]
|
||||
,[CONTROL_SCREEN_ID]
|
||||
,[CAPTION]
|
||||
,[HINT])
|
||||
SELECT [LANGUAGE_TYPE]
|
||||
,@LOCAL_CTRL_SCR_ID
|
||||
,[CAPTION]
|
||||
,[HINT] FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_LANGUAGE] WHERE CONTROL_SCREEN_ID = (
|
||||
SELECT GUID FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CONF_ID)
|
||||
FETCH NEXT FROM cursControls INTO @REMOTE_CONF_ID,@PARID
|
||||
END
|
||||
CLOSE cursControls
|
||||
DEALLOCATE cursControls
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,78 @@
|
||||
DECLARE @NC_PERSONAL INT,@NC_SF INT,@SN_MAIN_GUID INTEGER,@NODE_PERSONAL INTEGER,@ID1 VARCHAR(100)
|
||||
SELECT @NC_PERSONAL = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Hauptknoten Personal'
|
||||
SELECT @NC_SF = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Dateiablage'
|
||||
SELECT @SN_MAIN_GUID = [CAT_STRING] FROM TBDD_CATALOG where CAT_TITLE = 'PA_NODE_GUID_STAMM';
|
||||
|
||||
|
||||
DECLARE cursMA CURSOR FOR
|
||||
SELECT A.Personal FROM
|
||||
(select 'Fuchs, Nadine' as Personal union
|
||||
select 'König, Klaus' as Personal union
|
||||
select 'Müller, Gabriele' as Personal union
|
||||
select 'Schröder, Anke' as Personal union
|
||||
select 'Li, Kim' as Personal union
|
||||
select 'Zimmer, Klaus' as Personal union
|
||||
select 'Faber, Sandra' as Personal union
|
||||
select 'Hofamnn, Thomas' as Personal) A -- WHERE NOT EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE ID1 = A.Personal)
|
||||
OPEN cursMA
|
||||
FETCH NEXT FROM cursMA INTO @ID1
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM [TBPMO_STRUCTURE_NODES] WHERE ID1 = @ID1 and NODE_CONFIG_ID = @NC_PERSONAL AND PARENT_GUID = @SN_MAIN_GUID)
|
||||
INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES]
|
||||
([NODE_CONFIG_ID]
|
||||
,[NODE_CAPTION]
|
||||
,[ID1]
|
||||
,[PARENT_GUID])
|
||||
VALUES
|
||||
(@NC_PERSONAL,
|
||||
@ID1,
|
||||
@ID1,
|
||||
@SN_MAIN_GUID);
|
||||
ELSE
|
||||
PRINT 'MITARBEITER-KNOTEN GIBT ES SChon'
|
||||
SELECT @NODE_PERSONAL = GUID FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @ID1 AND NODE_CONFIG_ID = @NC_PERSONAL;
|
||||
DECLARE @Folder Varchar(100)
|
||||
DECLARE CursDokFolder CURSOR FOR
|
||||
select 'Urlaub' as DOK_FOLDER UNION
|
||||
select 'Vertragsunterlagen' as DOK_FOLDER UNION
|
||||
select 'Einstellungsunterlagen' as DOK_FOLDER UNION
|
||||
select 'Urlaub' as DOK_FOLDER UNION
|
||||
select 'Weiterbildung' as DOK_FOLDER UNION
|
||||
select 'Meldungen' as DOK_FOLDER UNION
|
||||
select 'Lohn und Gehalt' as DOK_FOLDER
|
||||
OPEN CursDokFolder
|
||||
FETCH NEXT FROM CursDokFolder INTO @Folder
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM [TBPMO_STRUCTURE_NODES] WHERE ID1 = @ID1 + '-' + @Folder AND PARENT_GUID = @NODE_PERSONAL)
|
||||
--Dokumentenordner anlegen
|
||||
INSERT INTO [dbo].[TBPMO_STRUCTURE_NODES]
|
||||
([NODE_CONFIG_ID]
|
||||
,[NODE_CAPTION]
|
||||
,[ID1]
|
||||
,[PARENT_GUID])
|
||||
VALUES
|
||||
(@NC_SF,
|
||||
@Folder,
|
||||
@ID1 + '-' + @Folder,
|
||||
@NODE_PERSONAL);
|
||||
ELSE
|
||||
PRINT 'Knoten ' + @ID1 + '-' + @Folder + ' gibt es schon!'
|
||||
FETCH NEXT FROM CursDokFolder INTO @Folder
|
||||
END
|
||||
CLOSE CursDokFolder
|
||||
DEALLOCATE CursDokFolder
|
||||
|
||||
FETCH NEXT FROM cursMA INTO @ID1
|
||||
END
|
||||
CLOSE cursMA
|
||||
DEALLOCATE cursMA
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,85 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: <Digital Data - Schreiber, Marlon>
|
||||
-- Description: <Diese Prozedur erstellt die Records und Cotnrols für die Mitarbeiter
|
||||
|
||||
BEGIN
|
||||
DECLARE
|
||||
@NODE_GUID INTEGER,
|
||||
@NODE_CONFIG_ID INTEGER,
|
||||
@ENTITY_ID INTEGER,
|
||||
@CAPTION VARCHAR(100),
|
||||
@ID1 VARCHAR(100),
|
||||
@TYPE_NODE SMALLINT,
|
||||
@PARENT_GUID INTEGER,
|
||||
@NODES_CREATED INTEGER,
|
||||
@NC_PERSON_BASE INTEGER,
|
||||
@CTRL_ID_NN INTEGER,
|
||||
@CTRL_ID_VN INTEGER
|
||||
|
||||
|
||||
SELECt @NC_PERSON_BASE = GUID FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE NAME = 'Hauptknoten Personal';
|
||||
SELECT @ENTITY_ID = GUID FROM TBPMO_FORM WHERE NAME = 'Personalakte';
|
||||
SELECT @CTRL_ID_NN = GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID AND NAME = 'txtNachname'
|
||||
SELECT @CTRL_ID_VN = GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID AND NAME = 'txtVorname'
|
||||
DECLARE MYCURSOR CURSOR LOCAL FOR
|
||||
select T.GUID, T1.GUID as NODE_CONFIG_ID, T1.[ENTITY_ID],T.NODE_CAPTION,T.ID1,T1.TYPE_NODE,T.PARENT_GUID
|
||||
from
|
||||
TBPMO_STRUCTURE_NODES T,
|
||||
TBPMO_STRUCTURE_NODES_CONFIGURATION T1
|
||||
WHERE
|
||||
T.NODE_CONFIG_ID = T1.GUID AND T1.CREATE_RECORD = 1
|
||||
AND T1.ENTITY_ID = 5 AND T1.NAME in ('Dateiablage','Hauptknoten Personal')
|
||||
and T.GUID <> 3
|
||||
|
||||
--select * from TBPMO_STRUCTURE_NODES where NODE_CONFIG_ID = 19
|
||||
|
||||
OPEN MYCURSOR
|
||||
FETCH NEXT FROM MYCURSOR INTO @NODE_GUID,@NODE_CONFIG_ID,@ENTITY_ID,@CAPTION,@ID1,@TYPE_NODE,@PARENT_GUID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @RECORD_ID INTEGER
|
||||
|
||||
|
||||
BEGIN
|
||||
IF NOT EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE NODE_GUID = @NODE_GUID)
|
||||
BEGIN
|
||||
EXEC PRPMO_CREATE_RECORD @RECORD_ID Output,@ENTITY_ID,'DDPA_CREATE'
|
||||
|
||||
IF @RECORD_ID > 0
|
||||
BEGIN
|
||||
UPDATE TBPMO_RECORD SET NODE_GUID = @NODE_GUID WHERE GUID = @RECORD_ID
|
||||
SET @NODES_CREATED += 1
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @RECORD_ID = GUID FROM TBPMO_RECORD WHERE NODE_GUID = @NODE_GUID
|
||||
END
|
||||
|
||||
IF NOT EXISTS(SELECT GUID FROM TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_GUID AND RECORD_ID = @RECORD_ID)
|
||||
BEGIN
|
||||
UPDATE TBPMO_STRUCTURE_NODES SET RECORD_ID = @RECORD_ID WHERE GUID = @NODE_GUID
|
||||
END
|
||||
|
||||
IF @NODE_CONFIG_ID = @NC_PERSON_BASE
|
||||
BEGIN
|
||||
DECLARE @NACHNAME VARCHAR(50),@VORNAME VARCHAR(50),@NEW_CONTR_VAL_ID INTEGER
|
||||
SELECT @NACHNAME = Data FROM dbo.FNDD_SPLIT_STRING(@ID1,',') where SequentialOrder = 1;
|
||||
SELECT @VORNAME = Data FROM dbo.FNDD_SPLIT_STRING(@ID1,',') where SequentialOrder = 2;
|
||||
|
||||
EXEC PRPMO_CREATE_CONTROL_VALUE @NEW_CONTR_VAL_ID Output,@CTRL_ID_NN,@RECORD_ID,@NACHNAME,'Digital Data'
|
||||
EXEC PRPMO_CREATE_CONTROL_VALUE @NEW_CONTR_VAL_ID Output,@CTRL_ID_VN,@RECORD_ID,@VORNAME,'Digital Data'
|
||||
END
|
||||
|
||||
END
|
||||
--########
|
||||
FETCH NEXT FROM MYCURSOR INTO @NODE_GUID,@NODE_CONFIG_ID,@ENTITY_ID,@CAPTION,@ID1,@TYPE_NODE,@PARENT_GUID
|
||||
END
|
||||
CLOSE MYCURSOR
|
||||
DEALLOCATE MYCURSOR
|
||||
PRINT 'RECORDS CREATED: ' + CONVERT(VARCHAR(20),@NODES_CREATED)
|
||||
END
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,107 @@
|
||||
DECLARE @REMOTE_CTRL_ID INT,@LOCAL_ENT_ID INT = 15
|
||||
DECLARE cursControls CURSOR FOR
|
||||
SELECT GUID
|
||||
FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL] WHERE FORM_ID = 5 and guid <> 1
|
||||
OPEN cursControls
|
||||
FETCH NEXT FROM cursControls INTO @REMOTE_CTRL_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @LOCAL_CTRL_ID INT, @LOCAL_CTRL_SCR_ID INT
|
||||
INSERT INTO [dbo].[TBPMO_CONTROL]
|
||||
(FORM_ID
|
||||
,[CONTROL_TYPE_ID]
|
||||
,[NAME]
|
||||
,[FORMAT_TYPE]
|
||||
,[SHOW_COLUMN]
|
||||
,[COL_NAME]
|
||||
,[REQUIRED]
|
||||
,[PARENT_CONTROL_ID]
|
||||
,[MASTER_DATA_ID]
|
||||
,[MULTILINE]
|
||||
,[STATIC_LIST]
|
||||
,[DEFAULT_VALUE]
|
||||
,[SQL_COMMAND_1]
|
||||
,[SQL_COMMAND_2]
|
||||
,[CONNECTION_ID_1]
|
||||
,[CONNECTION_ID_2]
|
||||
,[READ_ONLY]
|
||||
,[VALIDATION]
|
||||
,[VISIBLE]
|
||||
,[TREE_VIEW]
|
||||
,[SELECT_ONLY]
|
||||
,[AUTO_SUGGEST])
|
||||
SELECT
|
||||
@LOCAL_ENT_ID
|
||||
,[CONTROL_TYPE_ID]
|
||||
,[NAME]
|
||||
,[FORMAT_TYPE]
|
||||
,[SHOW_COLUMN]
|
||||
,[COL_NAME]
|
||||
,[REQUIRED]
|
||||
,[PARENT_CONTROL_ID]
|
||||
,[MASTER_DATA_ID]
|
||||
,[MULTILINE]
|
||||
,[STATIC_LIST]
|
||||
,[DEFAULT_VALUE]
|
||||
,[SQL_COMMAND_1]
|
||||
,[SQL_COMMAND_2]
|
||||
,[CONNECTION_ID_1]
|
||||
,[CONNECTION_ID_2]
|
||||
,[READ_ONLY]
|
||||
,[VALIDATION]
|
||||
,[VISIBLE]
|
||||
,[TREE_VIEW]
|
||||
,[SELECT_ONLY]
|
||||
,[AUTO_SUGGEST]
|
||||
FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL] WHERE GUID = @REMOTE_CTRL_ID
|
||||
SELECT @LOCAL_CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL;
|
||||
--CONTROL-SCREEN INSERTEN
|
||||
INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN]
|
||||
([CONTROL_ID]
|
||||
,[SCREEN_ID]
|
||||
,[CONTROL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
,[TAB_INDEX]
|
||||
,[TAB_STOP] )
|
||||
SELECT
|
||||
@LOCAL_CTRL_ID
|
||||
,[SCREEN_ID]
|
||||
,[CONTROL_TEXT]
|
||||
,[X_LOC]
|
||||
,[Y_LOC]
|
||||
,[HEIGHT]
|
||||
,[WIDTH]
|
||||
,[FONT_FAMILY]
|
||||
,[FONT_COLOR]
|
||||
,[FONT_SIZE]
|
||||
,[FONT_STYLE]
|
||||
,[BACK_COLOR]
|
||||
,[TAB_INDEX]
|
||||
,[TAB_STOP]
|
||||
FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CTRL_ID;
|
||||
SELECT @LOCAL_CTRL_SCR_ID = MAX(GUID) FROM [TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @LOCAL_CTRL_ID;
|
||||
INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE]
|
||||
([LANGUAGE_TYPE]
|
||||
,[CONTROL_SCREEN_ID]
|
||||
,[CAPTION]
|
||||
,[HINT])
|
||||
SELECT [LANGUAGE_TYPE]
|
||||
,@LOCAL_CTRL_SCR_ID
|
||||
,[CAPTION]
|
||||
,[HINT] FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_LANGUAGE] WHERE CONTROL_SCREEN_ID = (
|
||||
SELECT GUID FROM [172.24.130.1].[DD_ECM].[dbo].[TBPMO_CONTROL_SCREEN] WHERE CONTROL_ID = @REMOTE_CTRL_ID)
|
||||
FETCH NEXT FROM cursControls INTO @REMOTE_CTRL_ID
|
||||
END
|
||||
CLOSE cursControls
|
||||
DEALLOCATE cursControls
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -103,7 +103,7 @@ SELECT TOP 100 PERCENT
|
||||
MAX(T.dwDocID) as DocID
|
||||
,T.dwParentID
|
||||
,dbo.FNPMO_GET_WINDREAM_FILE_PATH (MAX(T.dwDocID)) AS FULL_FILENAME
|
||||
,(SELECT szLongName from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Filename]
|
||||
,(SELECT szLongName from windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Filename]
|
||||
|
||||
,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype
|
||||
,(SELECT MAX(ISNULL(T.dwVersionNumber,'1')) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Version]
|
||||
@ -112,14 +112,14 @@ SELECT TOP 100 PERCENT
|
||||
,T1.szDocTypeName AS OBJECTTYPE
|
||||
,T.dwObjectTypeID
|
||||
FROM
|
||||
DD_VMP01_APS01_windream60.dbo.BaseAttributes T
|
||||
,DD_VMP01_APS01_windream60.dbo.ObjectType T1
|
||||
windream60.dbo.BaseAttributes T
|
||||
,windream60.dbo.ObjectType T1
|
||||
WHERE
|
||||
--T.dwParentID = 1896955 AND
|
||||
T.dwCatalogID = 1
|
||||
AND T.dwObjectTypeID = 10005
|
||||
AND T.dwObjectTypeID = T1.dwObjectTypeID
|
||||
AND T.szText30 = 'ADDI-RELATION'
|
||||
AND T.szText38 = 'ADDI-RELATION'
|
||||
GROUP BY
|
||||
T.dwVersionID
|
||||
,T.dwParentID
|
||||
|
||||
@ -21,14 +21,14 @@ BEGIN
|
||||
-- SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||||
|
||||
--SELECT @SHAREPATH = WMPATH_PREFIX FROM TBPMO_KONFIGURATION WHERE GUID = 1;
|
||||
SELECT @FSFLAGS = dwFSFlags FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
SELECT @FSFLAGS = dwFSFlags FROM [windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
IF @FSFLAGS = 16
|
||||
BEGIN
|
||||
SET @RESULT = 'THIS IS NOT A FILE!'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
WHILE @a > 0
|
||||
BEGIN
|
||||
IF @i = 0
|
||||
@ -58,7 +58,7 @@ BEGIN
|
||||
END
|
||||
END
|
||||
|
||||
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [SDD-VMP04-SQL17\DD_DEVELOP01].[sDD_VMP01_APS01_windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
|
||||
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].dbo.BaseAttributes WHERE dwDocID = @DOCID
|
||||
SET @i = @i + 1
|
||||
END
|
||||
END
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql
Normal file
BIN
01_SMART_UP_TOOLS/08_ORGFLOW/SQL/UPDATE_SCRIPTS/2.5.6.sql
Normal file
Binary file not shown.
@ -37,6 +37,8 @@ SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
--Changed 12.05.2025 MS Status 3004 when Messages sent
|
||||
--Changed 09.05.2025 MS Withdrawn nur als Status in History
|
||||
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
|
||||
--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
|
||||
--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
|
||||
@ -56,13 +58,19 @@ BEGIN TRY
|
||||
@STATUS = STATUS,
|
||||
@USER_REFERENCE = USER_REFERENCE
|
||||
FROM INSERTED
|
||||
PRINT '@USER_REFERENCE: ' + @USER_REFERENCE
|
||||
PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
|
||||
--PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
|
||||
IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
|
||||
BEGIN
|
||||
PRINT 'REGULÄRER 1erStatus.. '
|
||||
IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009) /*ENVELOPE QUEUED*/
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID
|
||||
IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009)
|
||||
BEGIN
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID;
|
||||
--IF @STATUS In (1009,10009) AND @USER_REFERENCE <> 'API'
|
||||
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3006,GETDATE(),GETDATE()); --MessageWithdrawn/Deleted Sent
|
||||
END
|
||||
|
||||
END
|
||||
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
|
||||
BEGIN
|
||||
@ -88,7 +96,6 @@ BEGIN TRY
|
||||
SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
|
||||
SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
|
||||
SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
|
||||
SELECT BODY,SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
|
||||
SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
|
||||
SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
|
||||
|
||||
@ -117,9 +124,10 @@ BEGIN TRY
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
|
||||
SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
|
||||
PRINT 'EMAIL2...'
|
||||
PRINT '@REC_EMAIL: ' + COALESCE(@REC_EMAIL,'IS NULL')
|
||||
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
|
||||
VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
|
||||
|
||||
PRINT 'EMAIL2 inserted...'
|
||||
/*Andere Receiver über die Ablehnung informieren*/
|
||||
SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
|
||||
DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
|
||||
@ -145,7 +153,8 @@ BEGIN TRY
|
||||
END
|
||||
CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
|
||||
DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/;
|
||||
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,STATUS,USER_REFERENCE, ADDED_WHEN,ACTION_DATE) VALUES (@ENVELOPE_ID,3004,@USER_REFERENCE,GETDATE(),GETDATE()); --MessageDeletion Sent
|
||||
END
|
||||
END
|
||||
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
|
||||
@ -167,6 +176,8 @@ BEGIN CATCH
|
||||
+ ' - ERROR-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
|
||||
|
||||
GO
|
||||
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV ALL_USER_THIS_MONTH','EXEC PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT 0')
|
||||
GO
|
||||
|
||||
150
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
Normal file
150
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/1.5.4.4.sql
Normal file
@ -0,0 +1,150 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.5.4.4' WHERE SHORT_NAME = 'SIG_ENV_CR'
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
--Changed 22.05.2025 MS Ablehnung über insert mit Envelope-Creator als User
|
||||
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
|
||||
--CHANGED 06.06.2024 MS Status 2007, emailMeldungen integriert
|
||||
--CHANGED 11.06.2024 MS Status 2007, Cursor für andere REceiver
|
||||
ALTER TRIGGER [dbo].[TBSIG_ENVELOPE_HISTORY_AFT_INS] ON [dbo].[TBSIG_ENVELOPE_HISTORY]
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR INSERT
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@GUID BIGINT,
|
||||
@ENVELOPE_ID INTEGER,
|
||||
@STATUS INTEGER,
|
||||
@USER_REFERENCE VARCHAR(100)
|
||||
SELECT
|
||||
@GUID = GUID,
|
||||
@ENVELOPE_ID = ENVELOPE_ID,
|
||||
@STATUS = STATUS,
|
||||
@USER_REFERENCE = USER_REFERENCE
|
||||
FROM INSERTED
|
||||
PRINT 'STATUS IS: ' + CONVERT(VARCHAR(10),@STATUS)
|
||||
--PRÜFEN OB ES EIN STATUS VOM WEBCLIENT IST 0 2
|
||||
IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 1
|
||||
BEGIN
|
||||
PRINT 'REGULÄRER 1erStatus.. '
|
||||
IF @STATUS IN (1001, 1002, 1003, 1007, 1008, 1009,10009) /*ENVELOPE QUEUED*/
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = @STATUS WHERE GUID = @ENVELOPE_ID
|
||||
END
|
||||
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 2
|
||||
BEGIN
|
||||
|
||||
IF @STATUS = 2005 /*DOKUMENT SIGINIERT*/
|
||||
BEGIN
|
||||
DECLARE @COUNT_SIGNED INT, @COUNT_SIGNERS INT
|
||||
SELECT @COUNT_SIGNED = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 2005
|
||||
SELECT @COUNT_SIGNERS = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
|
||||
IF @COUNT_SIGNED = @COUNT_SIGNERS
|
||||
BEGIN
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 1006 WHERE GUID = @ENVELOPE_ID /*FULLY SIGNED*/
|
||||
INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID, USER_REFERENCE, STATUS, ACTION_DATE) VALUES (@ENVELOPE_ID, 'System', 1006, DATEADD(second, 5, GETDATE()))
|
||||
END
|
||||
ELSE
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 1005 WHERE GUID = @ENVELOPE_ID /*PARTLY SIGNED*/
|
||||
END
|
||||
ELSE IF @STATUS = 2007 /*VORGANG DURCH USER ABGELEHNT*/
|
||||
BEGIN
|
||||
DECLARE @COMMENT VARCHAR(500),@REC_EMAIL VARCHAR(200),@EML_BODY_ADM VARCHAR(3000),@EML_SUBJ_ADM VARCHAR(3000),@EML_BODY_REC VARCHAR(3000),@EML_SUBJ_REC VARCHAR(3000),
|
||||
@EML_BODY_REC2 VARCHAR(3000),@EML_SUBJ_REC2 VARCHAR(3000)
|
||||
,@ADM_MAIL VARCHAR(250),@ADM_NAME VARCHAR(200),@TITLE VARCHAR(200),@NAME_PORTAL VARCHAR(100),@NAME_RECEIVER VARCHAR(150),@SENDING_PROFILE INT,@ENV_UUID VARCHAR(200)
|
||||
SELECT @COMMENT = COMMENT,@REC_EMAIL = USER_REFERENCE FROM INSERTED
|
||||
SELECT @NAME_PORTAL = [EXTERNAL_PROGRAM_NAME],@SENDING_PROFILE = SENDING_PROFILE FROM [DD_ECM].[dbo].[TBSIG_CONFIG];
|
||||
SELECT @EML_BODY_ADM = BODY,@EML_SUBJ_ADM = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
|
||||
SELECT BODY,SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_ADM'
|
||||
SELECT @EML_BODY_REC = BODY,@EML_SUBJ_REC = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC'
|
||||
SELECT @EML_BODY_REC2 = BODY,@EML_SUBJ_REC2 = SUBJECT FROM TBSIG_EMAIL_TEMPLATE WHERE NAME = 'DocumentRejected_REC_2'
|
||||
|
||||
SELECT @ADM_MAIL = USER_EMAIL,@ADM_NAME = USER_PRE_NAME, @TITLE = TITLE,@ENV_UUID = [ENVELOPE_UUID] FROM VWSIG_ENVELOPE_DATA WHERE ENVELOPE_ID = @ENVELOPE_ID
|
||||
|
||||
SELECT @NAME_RECEIVER = [NAME] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL = @REC_EMAIL
|
||||
IF @NAME_RECEIVER IS NULL
|
||||
BEGIN
|
||||
SET @NAME_RECEIVER = 'signFLOW - SYSTEM'
|
||||
END
|
||||
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_RECEIVER]',@NAME_RECEIVER)
|
||||
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_SENDER]',@ADM_NAME)
|
||||
--PRINT '#1' + @EML_BODY_ADM
|
||||
--PRINT '#2' + @EML_BODY_ADM
|
||||
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[DOCUMENT_TITLE]',@TITLE)
|
||||
--PRINT '#3' + @EML_BODY_ADM
|
||||
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[REASON]',@COMMENT)
|
||||
--PRINT '#4' + @EML_BODY_ADM
|
||||
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_PORTAL]',@NAME_PORTAL)
|
||||
PRINT '@EML_BODY_ADM: '
|
||||
PRINT @EML_BODY_ADM
|
||||
SET @EML_SUBJ_ADM = REPLACE(@EML_SUBJ_ADM,'[DOCUMENT_TITLE]',@TITLE)
|
||||
PRINT '@EML_SUBJ_ADM: '
|
||||
PRINT @EML_SUBJ_ADM
|
||||
PRINT 'EMAIL1...'
|
||||
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
|
||||
VALUES (@ADM_MAIL, @EML_SUBJ_ADM, @EML_BODY_ADM, 'SIG RECEIVER REJECTED1', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_SENDER]',@ADM_NAME)
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_RECEIVER]',@NAME_RECEIVER)
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[REASON]',@COMMENT)
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[NAME_PORTAL]',@NAME_PORTAL)
|
||||
SET @EML_BODY_REC = REPLACE(@EML_BODY_REC,'[DOCUMENT_TITLE]',@TITLE)
|
||||
SET @EML_SUBJ_REC = REPLACE(@EML_SUBJ_REC,'[DOCUMENT_TITLE]',@TITLE)
|
||||
|
||||
IF @REC_EMAIL <> @ADM_MAIL
|
||||
BEGIN
|
||||
PRINT 'EMAIL2...'
|
||||
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
|
||||
VALUES (@REC_EMAIL, @EML_SUBJ_REC, @EML_BODY_REC, 'SIG RECEIVER REJECTED2', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
|
||||
END
|
||||
|
||||
/*Andere Receiver über die Ablehnung informieren*/
|
||||
SET @EML_SUBJ_REC2 = REPLACE(@EML_SUBJ_REC2,'[DOCUMENT_TITLE]',@TITLE)
|
||||
DECLARE @BODY_RECEIVER NVARCHAR(MAX),@EML_RECEIVER2 VARCHAR(250)
|
||||
DECLARE cursReceiver_TBSIG_ENVELOPE_HISTORY CURSOR FOR
|
||||
SELECT [NAME], [REC_EMAIL] FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_RECEIVER] where ENV_ID = @ENVELOPE_ID AND REC_EMAIL <> @REC_EMAIL
|
||||
OPEN cursReceiver_TBSIG_ENVELOPE_HISTORY
|
||||
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
PRINT '@EML_BODY_REC2: ' + @EML_BODY_REC2
|
||||
SET @BODY_RECEIVER = @EML_BODY_REC2
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_SENDER]',@ADM_NAME)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_RECEIVER]',@NAME_RECEIVER)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[REASON]',@COMMENT)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[NAME_PORTAL]',@NAME_PORTAL)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
|
||||
SET @BODY_RECEIVER = REPLACE(@BODY_RECEIVER,'[DOCUMENT_TITLE]',@TITLE)
|
||||
PRINT 'EMAIL3...'
|
||||
INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] (EMAIL_ADRESS, EMAIL_SUBJ, EMAIL_BODY, ADDED_WHO, SENDING_PROFILE, REFERENCE_ID, REFERENCE_STRING, REMINDER_TYPE_ID, WF_ID)
|
||||
VALUES (@EML_RECEIVER2, @EML_SUBJ_REC2, @BODY_RECEIVER, 'SIG RECEIVER REJECTED3', @SENDING_PROFILE, @ENVELOPE_ID, @ENV_UUID, 202377, @STATUS);
|
||||
FETCH NEXT FROM cursReceiver_TBSIG_ENVELOPE_HISTORY INTO @NAME_RECEIVER,@EML_RECEIVER2
|
||||
END
|
||||
CLOSE cursReceiver_TBSIG_ENVELOPE_HISTORY
|
||||
DEALLOCATE cursReceiver_TBSIG_ENVELOPE_HISTORY
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 10007 WHERE GUID = @ENVELOPE_ID /*Umschlag abgelehnt*/
|
||||
END
|
||||
END
|
||||
ELSE IF LEFT(CONVERT(VARCHAR(5),@STATUS),1) = 3
|
||||
IF @STATUS = 3001 /*EMAIL OUT SIGNATUREINLADUNG*/
|
||||
BEGIN
|
||||
DECLARE @COUNT_MSG_OUT INT, @COUNT_USERS2_SIGN INT
|
||||
SELECT @COUNT_MSG_OUT = COUNT(GUID) FROM TBSIG_ENVELOPE_HISTORY WHERE ENVELOPE_ID = @ENVELOPE_ID AND STATUS = 3001
|
||||
PRINT '@COUNT_MSG_OUT:' + CONVERT(VARCHAR(3),@COUNT_MSG_OUT)
|
||||
SELECT @COUNT_USERS2_SIGN = COUNT(REC_ID) FROM VWSIG_ENVELOPE_RECEIVER WHERE ENV_ID = @ENVELOPE_ID
|
||||
PRINT '@@COUNT_USERS2_SIGN:' + CONVERT(VARCHAR(3),@COUNT_USERS2_SIGN)
|
||||
IF @COUNT_MSG_OUT = @COUNT_USERS2_SIGN
|
||||
UPDATE TBSIG_ENVELOPE SET STATUS = 1004 WHERE GUID = @ENVELOPE_ID /*ALL INVITATIONS SENT*/
|
||||
-- INSERT INTO TBSIG_ENVELOPE_HISTORY (ENVELOPE_ID,USER_REFERENCE,STATUS,ACTION_DATE) VALUES (@ENVELOPE_ID,'Digital Data Email-Service',1004,GETDATE())
|
||||
END
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||||
+ ' - ERROR-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
Loading…
x
Reference in New Issue
Block a user