easy/signFLOW Updates

This commit is contained in:
Developer01 2025-02-11 16:48:09 +01:00
parent f1409427f7
commit 294bb8bfd0
7 changed files with 328 additions and 77 deletions

View File

@ -1,5 +1,4 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.1'; UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.1';
GO
IF NOT EXISTS(SELECT 1 FROM sys.columns IF NOT EXISTS(SELECT 1 FROM sys.columns
WHERE Name = N'GENERAL_VIEWER' WHERE Name = N'GENERAL_VIEWER'
AND Object_ID = Object_ID(N'TBDD_USER')) AND Object_ID = Object_ID(N'TBDD_USER'))
@ -13,5 +12,17 @@ IF NOT EXISTS(SELECT 1 FROM sys.columns
AND Object_ID = Object_ID(N'TBDD_USER')) AND Object_ID = Object_ID(N'TBDD_USER'))
BEGIN BEGIN
ALTER TABLE TBDD_USER ALTER TABLE TBDD_USER
ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0 ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0;
END END
CREATE OR ALTER VIEW [dbo].[VWDD_GROUPS_USER] AS
select
USR.GUID AS USR_ID
,USR.USERNAME,
GRP.GUID AS GRP_ID
,GRP.NAME AS GRP_NAME
,GU.ADDED_WHEN
,GU.ADDED_WHO
from
TBDD_GROUPS GRP INNER JOIN TBDD_GROUPS_USER GU ON GRP.GUID = GU.GROUP_ID
INNER JOIN TBDD_USER USR ON GU.USER_ID = USR.GUID;

View File

@ -0,0 +1,164 @@
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.2';
--DROP TABLE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
CREATE TABLE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
(
GUID INT IDENTITY(1,1),
SPECNAME VARCHAR(100) NOT NULL,
Row_Caption VARCHAR(250) NOT NULL,
Area VARCHAR(100) NOT NULL,
xPosition INTEGER NOT NULL DEFAULT 10,
--yPosition INTEGER NOT NULL,
SequenceItem INTEGER NOT NULL DEFAULT 1,
Y_eq_lastrow BIT NOT NULL DEFAULT 0,
Display BIT NOT NULL DEFAULT 1,
Active BIT NOT NULL DEFAULT 1,
AddedWho VARCHAR(50) DEFAULT 'DD_ECM DEFAULT' NOT NULL,
AddedWhen DATETIME DEFAULT GETDATE(),
ChangedWho VARCHAR(50),
ChangedWhen DATETIME,
CONSTRAINT PK_TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE PRIMARY KEY (GUID),
CONSTRAINT UNIQUE_TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE UNIQUE(SPECNAME)
)
GO
------------------------------------------------------------------------------
CREATE TRIGGER TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_AFT_UPD ON TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE
FOR UPDATE
AS
UPDATE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE SET ChangedWhen = GETDATE() FROM INSERTED WHERE TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE.GUID = INSERTED.GUID
GO
CREATE VIEW VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS AS
SELECT
A.SPEC_NAME,
A.ITEM_VALUE,
B.Area,
B.Row_Caption,
B.xPosition,
B.Y_eq_lastrow,
B.SequenceItem,
B.Display,
A.REFERENCE_GUID
FROM
(SELECT * FROM TBEDMI_ITEM_VALUE ) A INNER JOIN
(SELECT * FROM TBDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE WHERE Active = 1) B ON A.SPEC_NAME = B.SPECNAME
GO
CREATE FUNCTION [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID VARCHAR(100))
RETURNS @TABLE TABLE(SPEC_NAME VARCHAR(100),ITEM_VALUE VARCHAR(250),Area VARCHAR(60),Row_Caption Varchar(100), SequenceItem INT)
AS
BEGIN
DECLARE @GROUP_COUNTER INT,@INDEX INT = 60
DECLARE cursGroupCounter CURSOR FOR
select GROUP_COUNTER from TBEDMI_ITEM_VALUE WHERE REFERENCE_GUID = @pMSGID And SPEC_NAME = 'INVOICE_TAXPOS_RATE' 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),@Row_Caption VARCHAR(100)
DECLARE cursPosItems CURSOR FOR
select A.SPEC_NAME,ITEM_VALUE, B.Row_Caption 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_TAXPOS_AMOUNT',
'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE') AND GROUP_COUNTER = @GROUP_COUNTER ORDER BY B.SequenceItem
OPEN cursPosItems
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE,@Row_Caption
WHILE @@FETCH_STATUS = 0
BEGIN
SET @INDEX += 1
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,Row_Caption,SequenceItem) VALUES
(@SPEC_NAME,@ITEM_VALUE,'TAXPOS',@Row_Caption,@INDEX)
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE, @Row_Caption
END
CLOSE cursPosItems
DEALLOCATE cursPosItems
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
END
CLOSE cursGroupCounter
DEALLOCATE cursGroupCounter
RETURN
END
GO
CREATE 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)
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)
DECLARE cursPosItems CURSOR FOR
select A.SPEC_NAME,ITEM_VALUE 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_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE') AND GROUP_COUNTER = @GROUP_COUNTER ORDER BY B.SequenceItem
OPEN cursPosItems
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE
WHILE @@FETCH_STATUS = 0
BEGIN
SET @INDEX += 1
INSERT INTO @TABLE (SPEC_NAME,ITEM_VALUE,Area,SequenceItem) VALUES
(@SPEC_NAME,@ITEM_VALUE,'POSITION',@INDEX)
FETCH NEXT FROM cursPosItems INTO @SPEC_NAME,@ITEM_VALUE
END
CLOSE cursPosItems
DEALLOCATE cursPosItems
FETCH NEXT FROM cursGroupCounter INTO @GROUP_COUNTER
END
CLOSE cursGroupCounter
DEALLOCATE cursGroupCounter
RETURN
END
GO
CREATE 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_TAXPOS_TAX_RATE','INVOICE_POSITION_ARTICLE','INVOICE_TAXPOS_AMOUNT',
'INVOICE_TAXPOS_RATE','INVOICE_TAXPOS_TYPE')
UNION
SELECT SPEC_NAME,ITEM_VALUE,Area,'' Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, 1 Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_POSITIONS] (@pMSGID)
UNION
SELECT SPEC_NAME,ITEM_VALUE,Area,Row_Caption Row_Caption,10 xPosition, 0 Y_eq_lastrow,SequenceItem ORDER_SEQ, 1 Display FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_TAX] (@pMSGID)
)
GO
DELETE FROM TBDD_SQL_COMMANDS WHERE TITLE = 'VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS';
INSERT INTO TBDD_SQL_COMMANDS (TITLE,SQL_COMMAND) VALUES
('VWDD_ZUGFERD_VIEW_RECEIPT_TEMPLATE_ITEMS','
SELECT * FROM [dbo].[FNDD_ZUGFERD_VIEW_RECEIPT_CUST_RESULT] (''@MSG_ID'') ORDER BY ORDER_SEQ')
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_ADRESS', '', '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_BUYER_NAME', '', 'BUYER', 10, 11, 0, 1),
('INVOICE_BUYER_ADRESS', '', 'BUYER', 10, 12, 0, 1),
('INVOICE_BUYER_POSTALCODE', '', 'BUYER', 10, 13, 0, 1),
('INVOICE_BUYER_CITY', '', 'BUYER', 35, 14, 1, 1),
('INVOICE_POSITION_AMOUNT', '', 'POSITION', 10, 15, 0, 0),
('INVOICE_POSITION_ARTICLE', '', 'POSITION', 10, 16, 0, 0),
('INVOICE_TAXPOS_TAX_RATE', '', 'POSITION', 10, 17, 0, 1),
('INVOICE_TOTAL_NET', 'Nettobetrag/Net amount:', 'AMOUNT', 10, 58, 0, 1),
('INVOICE_TOTAL_GROSS', 'Bruttobetrag/Gross amount:', 'AMOUNT', 10, 59, 0, 1),
('INVOICE_TAXPOS_RATE', '', 'TAXPOS', 10, 60, 1, 0),
('INVOICE_TAXPOS_AMOUNT', '', 'TAXPOS', 10, 61, 0, 0),
('INVOICE_TAXPOS_TYPE', '', 'TAXPOS', 10, 62, 1, 1),
('INVOICE_PAYMENT_TERMS','', 'PAYMENT', 10, 100, 0, 1),
('INVOICE_PAYMENT_IBAN','IBAN:', 'PAYMENT', 10, 101, 0, 1),
('INVOICE_PAYMENT_BIC','BIC:', 'PAYMENT', 10, 102, 0, 1);
GO

View File

@ -1,7 +1,7 @@
USE [DD_ECM] USE [DD_ECM]
UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.5' UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.5'
GO GO
if NOT EXISTS (select 1 from sysobjects where name = 'TBDD_EMAIL_TEMPLATE' ) if NOT EXISTS (select 1 from sysobjects where name = 'TBDD_EMAIL_TEMPLATE' )
CREATE TABLE TBDD_EMAIL_TEMPLATE CREATE TABLE TBDD_EMAIL_TEMPLATE
( (
@ -21,6 +21,6 @@ if NOT EXISTS (select 1 from sysobjects where name = 'TBDD_EMAIL_TEMPLATE' )
CONSTRAINT UQ_TBCUST_EMAIL_TEMPLATE_TITLE UNIQUE (TITLE) CONSTRAINT UQ_TBCUST_EMAIL_TEMPLATE_TITLE UNIQUE (TITLE)
); );
ELSE ELSE
ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [LANGUAGE] varchar(5) DEFAULT 'de-DE'; ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [LANGUAGE] varchar(5) DEFAULT 'de-DE';
ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [CONNECTED_TEMPLATE] int DEFAULT 0; ALTER TABLE [dbo].[TBDD_EMAIL_TEMPLATE] ADD [CONNECTED_TEMPLATE] int DEFAULT 0;
GO GO

View File

@ -8,6 +8,7 @@ BEGIN
ALTER TABLE [dbo].[TBSIG_ENVELOPE_RECEIVER] DROP CONSTRAINT [DF_TBSIG_ENVELOPE_RECEIVER_TFA_ENABLED]; ALTER TABLE [dbo].[TBSIG_ENVELOPE_RECEIVER] DROP CONSTRAINT [DF_TBSIG_ENVELOPE_RECEIVER_TFA_ENABLED];
ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER DROP COLUMN TFA_ENABLED; ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER DROP COLUMN TFA_ENABLED;
END END
IF EXISTS(SELECT * IF EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_CONFIG' WHERE TABLE_NAME = 'TBSIG_CONFIG'
@ -20,6 +21,8 @@ ALTER TABLE [dbo].TBSIG_ENVELOPE ADD TFA_ENABLED BIT NOT NULL DEFAULT 0;
GO GO
ALTER TABLE [dbo].TBSIG_CONFIG ADD DEF_TFA_ENABLED BIT NOT NULL DEFAULT 0; ALTER TABLE [dbo].TBSIG_CONFIG ADD DEF_TFA_ENABLED BIT NOT NULL DEFAULT 0;
GO GO
ALTER TABLE [dbo].TBSIG_CONFIG ADD DEF_TFA_WITH_PHONE BIT NOT NULL DEFAULT 0;
GO
-- Changed 23.01.2025 MS TFA_ENABLED -- Changed 23.01.2025 MS TFA_ENABLED
-- Changed 07.01.2025 MS VerifType integriert -- Changed 07.01.2025 MS VerifType integriert
ALTER VIEW [dbo].[VWSIG_ENVELOPE_DATA] AS ALTER VIEW [dbo].[VWSIG_ENVELOPE_DATA] AS
@ -55,7 +58,7 @@ SELECT
FROM FROM
[TBSIG_ENVELOPE] ENV INNER JOIN TBDD_USER USR ON ENV.USER_ID = USR.GUID [TBSIG_ENVELOPE] ENV INNER JOIN TBDD_USER USR ON ENV.USER_ID = USR.GUID
GO GO
IF EXISTS(SELECT * IF NOT EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER' WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER'
AND COLUMN_NAME = 'PHONE_NUMBER') AND COLUMN_NAME = 'PHONE_NUMBER')
@ -63,6 +66,7 @@ BEGIN
ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER ADD PHONE_NUMBER VARCHAR(30) NOT NULL DEFAULT ''; ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER ADD PHONE_NUMBER VARCHAR(30) NOT NULL DEFAULT '';
END END
GO GO
--CHANGED 13.11.2024 MS RECEIVER_TERM integriert
ALTER VIEW [dbo].[VWSIG_ENVELOPE_RECEIVER] AS ALTER VIEW [dbo].[VWSIG_ENVELOPE_RECEIVER] AS
SELECT SELECT
ENV.GUID ENV_ID, ENV.GUID ENV_ID,
@ -154,4 +158,72 @@ CREATE TRIGGER [dbo].[TBSIG_CHART_AFT_UPD] ON [dbo].[TBSIG_CHART]
FOR UPDATE FOR UPDATE
AS AS
UPDATE TBSIG_CHART SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBSIG_CHART.GUID = INSERTED.GUID UPDATE TBSIG_CHART SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBSIG_CHART.GUID = INSERTED.GUID
GO GO
IF NOT EXISTS(SELECT 1 FROM TBDD_GROUPS WHERE NAME = 'ENVELOPE-ADMIN')
INSERT INTO TBDD_GROUPS (NAME, INTERNAL,ACTIVE) VALUES ('ENVELOPE-ADMIN',1,1)
GO
CREATE VIEW [dbo].[VWSIG_REPORT_ENVELOPES_OPENED_DELETED] AS
SELECT
DEL.* FROM
(SELECT [ENVELOPE_ID],POS_WHEN FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS = 1009) DEL INNER JOIN --DELETED
(SELECT [ENVELOPE_ID],POS_WHEN FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS = 3002) REQ ON DEL.ENVELOPE_ID = REQ.ENVELOPE_ID INNER JOIN --AccessCodeSent
(SELECT [ENVELOPE_ID],POS_WHEN FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS = 2004) OP ON REQ.ENVELOPE_ID = OP.ENVELOPE_ID --DocOpened
GO
CREATE TABLE [dbo].[TBSIG_REORT_ENV_COUNT](
GUID INTEGER IDENTITY(1,1) NOT NULL,
ENV_ID INTEGER NOT NULL,
MONTH_REPORT VARCHAR(50) NOT NULL,
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CONSTRAINT PK_TBSIG_REORT_ENV_COUNT PRIMARY KEY (GUID)
)
GO
INSERT INTO TBDD_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('SIG_REPORT_RECEIVER_ENV_MONTHLY','m.schreiber@digitaldata.works;a.truebenbach@digitaldata.works');
GO
INSERT INTO TBDD_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('SIG_CUSTOMER_NAME','Digital Data Testsystem');
GO
CREATE PROCEDURE [dbo].[PRSIG_EMAIL_REPORT_MONTHLY_ENVELOPES] AS
BEGIN
Declare @Body VARCHAR(MAX),@AM_FINISHED INT,@AM_SENT_DELETED INT, @Month VARCHAR(100),@SUM_MONTH INT,@CUSTOMER VARCHAR(100),@EML_RECEIPIANTS VARCHAR(500)
SELECT @CUSTOMER FROM TBDD_CATALOG WHERE CAT_TITLE = 'SIG_CUSTOMER_NAME';
SELECT @EML_RECEIPIANTS FROM TBDD_CATALOG WHERE CAT_TITLE = 'SIG_REPORT_RECEIVER_ENV_MONTHLY';
Declare @SUBJ VARCHAR(250) = 'Verbrauchsmeldung signFLOW - Kunde: ' + @CUSTOMER
SELECT @Month = DATENAME(MONTH, GETDATE() -1)
SET @Body = 'Automatisch erzeugte Email zur Abrechnung signFLOW-Envelopes: <p>'
SET @Body += 'Kunde: <b>' + @CUSTOMER + '</b><p>'
SET @Body += 'Monat: <b>' + @Month + '</b><p>'
SELECT
@AM_FINISHED = COUNT(ENVELOPE_ID)
FROM
[DD_ECM].[dbo].[VWSIG_ENVELOPE_DATA] A LEFT JOIN TBSIG_REORT_ENV_COUNT B ON A.ENVELOPE_ID = B.ENV_ID
WHERE
envelope_State = 1008 and DATEDIFF(month,CHANGED_WHEN,GETDATE()) = 1
AND B.GUID IS NULL;
SELECT
@AM_SENT_DELETED = COUNT(ENVELOPE_ID)
FROM
VWSIG_REPORT_ENVELOPES_OPENED_DELETED A LEFT JOIN TBSIG_REORT_ENV_COUNT B ON A.ENVELOPE_ID = B.ENV_ID
WHERE
DATEDIFF(month,POS_WHEN,GETDATE()) = 1
AND B.GUID IS NULL;
INSERT INTO TBSIG_REORT_ENV_COUNT (ENV_ID,MONTH_REPORT)
SELECT ENVELOPE_ID,@Month FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_DATA] where envelope_State = 1008 and DATEDIFF(month,CHANGED_WHEN,GETDATE()) = 1;
INSERT INTO TBSIG_REORT_ENV_COUNT (ENV_ID,MONTH_REPORT)
SELECT ENVELOPE_ID,@Month FROM VWSIG_REPORT_ENVELOPES_OPENED_DELETED WHERE DATEDIFF(month,POS_WHEN,GETDATE()) = 1;
SET @SUM_MONTH = @AM_FINISHED + @AM_SENT_DELETED
SET @Body += 'Anzahl final signierte Envelopes: <b>' + Convert(Varchar(5),@AM_FINISHED) + '</b> <br>'
SET @Body += 'Anzahl Gelöschte aber geöffnete Envelopes: <b>' + Convert(Varchar(5),@AM_SENT_DELETED) + '</b> <p>'
SET @Body += 'Summe abrechenbare Envelopes: <b>' + Convert(Varchar(5),@SUM_MONTH) + '</b> <p>'
IF LEN(@EML_RECEIPIANTS) > 0 AND LEN(@EML_RECEIPIANTS) > 0
EXEC PREMAIL_NEW_EMAIL 1,@EML_RECEIPIANTS,@SUBJ,@Body,'sigFLOW-EnvCount',9000,9000,'signFLOW-EnvelopeCount'
END

View File

@ -1,87 +1,91 @@
--DROP TABLE TBMigrationLog --DROP TABLE TBDD_MigrationScripts
CREATE TABLE TBMigrationLog CREATE TABLE TBDD_MigrationLog
( (
MigrationID INTEGER NOT NULL, MigrationID INTEGER NOT NULL,
ScriptName VARCHAR(255) NOT NULL,
ExecutedWhen DATETIME NOT NULL, ExecutedWhen DATETIME NOT NULL,
ExecutedWho VARCHAR(50) NOT NULL, ExecutedWho VARCHAR(50) NOT NULL,
ExecState VARCHAR(50), ExecState VARCHAR(50),
ErrorMessage VARCHAR(500), ErrorMessage VARCHAR(500),
CONSTRAINT PK_TBMigrationLog PRIMARY KEY (MigrationID) CONSTRAINT PK_TBDD_MigrationLog PRIMARY KEY (MigrationID)
) )
GO GO
--DROP TABLE TBMigrationScripts --DROP TABLE TBDD_MigrationScripts
CREATE TABLE TBMigrationScripts CREATE TABLE TBDD_MigrationScripts
( (
MigrationID INTEGER IDENTITY(1,1), MigrationID INTEGER IDENTITY(1,1),
ScriptName VARCHAR(255) NOT NULL, ScriptName VARCHAR(255) NOT NULL,
ScriptDescription VARCHAR(255), ModuleName VARCHAR(100) NOT NULL,
ScriptType VARCHAR(255),
ScriptPath_Command NVARCHAR(MAX), ScriptPath_Command NVARCHAR(MAX),
IsActive BIT NOT NULL DEFAULT 0, IsActive BIT NOT NULL DEFAULT 0,
AddedWhen DATETIME NOT NULL DEFAULT GETDATE() AddedWhen DATETIME NOT NULL DEFAULT GETDATE()
CONSTRAINT PK_TBMigrationScripts PRIMARY KEY (MigrationID) CONSTRAINT PK_TBDD_MigrationScripts PRIMARY KEY (MigrationID)
) )
GO GO
INSERT INTO TBMigrationScripts (ScriptName, ScriptDescription, ScriptPath_Command, IsActive) INSERT INTO TBDD_MigrationScripts (ScriptName, ModuleName, ScriptType, ScriptPath_Command, IsActive)
VALUES ('007', 'FILE', 'E:\TreeSizeFree\1.9.8.1.sql', 1); VALUES ('007', 'fileFLOW','FILE', 'E:\TreeSizeFree\1.9.8.1.sql', 1);
GO
CREATE PROCEDURE PRDD_MigrationsExecute @Test BIT
AS
BEGIN
DECLARE @MigrationID INT, @ScriptName VARCHAR(255), @ScriptPath_Command NVARCHAR(MAX), @SQL NVARCHAR(MAX),@ScriptType VARCHAR(20);
DECLARE @ROOT_FOLDER VARCHAR(500) = 'E:\DocumentProcessing\Manual\File\DBMigration\'
--CREATE PROCEDURE ExecuteMigrations DECLARE MigrationCursor CURSOR FOR
--AS SELECT MS.MigrationID, MS.ScriptName, ScriptPath_Command,MS.ScriptType
BEGIN FROM TBDD_MigrationScripts MS
DECLARE @MigrationID INT, @ScriptName VARCHAR(255), @ScriptPath_Command NVARCHAR(MAX), @SQL NVARCHAR(MAX),@ScriptDescription VARCHAR(20); LEFT JOIN TBDD_MigrationLog ML ON MS.MigrationID = ML.MigrationID
WHERE MS.IsActive = 1 AND ML.MigrationID IS NULL
DECLARE MigrationCursor CURSOR FOR ORDER BY MS.MigrationID;
SELECT MS.MigrationID, MS.ScriptName, ScriptPath_Command,MS.ScriptDescription OPEN MigrationCursor;
FROM TBMigrationScripts MS FETCH NEXT FROM MigrationCursor INTO @MigrationID, @ScriptName, @ScriptPath_Command,@ScriptType;
LEFT JOIN TBMigrationLog ML ON MS.MigrationID = ML.MigrationID
WHERE ML.MigrationID IS NULL AND MS.IsActive = 1 WHILE @@FETCH_STATUS = 0
ORDER BY MS.MigrationID; BEGIN
OPEN MigrationCursor; BEGIN TRY
FETCH NEXT FROM MigrationCursor INTO @MigrationID, @ScriptName, @ScriptPath_Command,@ScriptDescription; -- Lies das SQL-Skript aus der Datei
IF @ScriptType = 'FILE'
WHILE @@FETCH_STATUS = 0 BEGIN
BEGIN DECLARE @DynamicSQL NVARCHAR(500), @FileContent NVARCHAR(MAX);
BEGIN TRY SET @DynamicSQL = 'SELECT @FileContentOut = BulkColumn
-- Lies das SQL-Skript aus der Datei FROM OPENROWSET(BULK ''' + @ScriptPath_Command + ''', SINGLE_CLOB) AS FileContent';
IF @ScriptDescription = 'FILE'
BEGIN EXEC sp_executesql @DynamicSQL, N'@FileContentOut NVARCHAR(MAX) OUTPUT', @FileContent OUTPUT;
DECLARE @DynamicSQL NVARCHAR(500), @FileContent NVARCHAR(MAX); SET @SQL = @FileContent;
SET @DynamicSQL = 'SELECT @FileContentOut = BulkColumn PRINT '============= COMMAND FROM FILE ================='
FROM OPENROWSET(BULK ''' + @ScriptPath_Command + ''', SINGLE_CLOB) AS FileContent'; PRINT @SQL
PRINT '=============================='
EXEC sp_executesql @DynamicSQL, N'@FileContentOut NVARCHAR(MAX) OUTPUT', @FileContent OUTPUT; END
SET @SQL = @FileContent; ELSE
PRINT '==============================' SET @SQL = @ScriptPath_Command;
PRINT @SQL
PRINT '==============================' -- Führe das Skript aus
END IF @Test = 1
ELSE BEGIN
SET @SQL = @ScriptPath_Command; PRINT 'EXECUTING - MIGRATION SKRIPT [' + @ScriptName + '] ...'
EXEC sp_executesql @SQL;
-- Führe das Skript aus PRINT '########################################'
PRINT 'EXECUTING - MIGRATION SKRIPT [' + @ScriptName + '] ...' PRINT 'EXECUTION SUCCESSFUL!'
EXEC sp_executesql @SQL; PRINT '########################################'
PRINT '########################################' END
PRINT 'EXECUTION SUCCESSFUL!' IF @Test = 0
PRINT '########################################' -- Erfolgreiche Migration protokollieren
INSERT INTO TBDD_MigrationLog (MigrationID, ExecutedWhen, ExecutedWho, ExecState)
-- Erfolgreiche Migration protokollieren VALUES (@MigrationID, GETDATE(), SYSTEM_USER, 'Success');
INSERT INTO TBMigrationLog (MigrationID, ScriptName, ExecutedWhen, ExecutedWho, ExecState) END TRY
VALUES (@MigrationID, @ScriptName, GETDATE(), SYSTEM_USER, 'Success'); BEGIN CATCH
END TRY DECLARE @ERR VARCHAR(1500) = ERROR_MESSAGE();
BEGIN CATCH PRINT @ERR
DECLARE @ERR VARCHAR(1500) = ERROR_MESSAGE(); -- Fehler protokollieren
PRINT @ERR INSERT INTO TBDD_MigrationLog (MigrationID, ExecutedWhen, ExecutedWho, ExecState, ErrorMessage)
-- Fehler protokollieren VALUES (@MigrationID, GETDATE(), 'XXXX', 'Failed', @ERR);
INSERT INTO TBMigrationLog (MigrationID, ScriptName, ExecutedWhen, ExecutedWho, ExecState, ErrorMessage) BREAK;
VALUES (@MigrationID, @ScriptName, GETDATE(), 'XXXX', 'Failed', @ERR); END CATCH;
BREAK; PRINT ''
END CATCH; FETCH NEXT FROM MigrationCursor INTO @MigrationID, @ScriptName, @ScriptPath_Command,@ScriptType;
PRINT '' END;
FETCH NEXT FROM MigrationCursor INTO @MigrationID, @ScriptName, @ScriptPath_Command,@ScriptDescription;
END; CLOSE MigrationCursor;
DEALLOCATE MigrationCursor;
CLOSE MigrationCursor;
DEALLOCATE MigrationCursor;
END; END;