diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.1.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.1.sql index 2502caa..14a718e 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.1.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.1.sql @@ -1,5 +1,4 @@ UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.8.1'; -GO IF NOT EXISTS(SELECT 1 FROM sys.columns WHERE Name = N'GENERAL_VIEWER' 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')) BEGIN ALTER TABLE TBDD_USER - ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0 + ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0; 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; diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.2.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.2.sql new file mode 100644 index 0000000..bb13a33 --- /dev/null +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/1.9.8.2.sql @@ -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 + + + diff --git a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/Added2Main_script/1.9.7.5.sql b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/Added2Main_script/1.9.7.5.sql index 843ccc4..c5edaa8 100644 --- a/00_DB_SETUP_SINGLE/01_DD_ECM/Update/Added2Main_script/1.9.7.5.sql +++ b/00_DB_SETUP_SINGLE/01_DD_ECM/Update/Added2Main_script/1.9.7.5.sql @@ -1,7 +1,7 @@ -USE [DD_ECM] - -UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.5' -GO +USE [DD_ECM] + +UPDATE TBDD_BASECONFIG SET DB_VERSION = '1.9.7.5' +GO if NOT EXISTS (select 1 from sysobjects where name = '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) ); 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; GO \ No newline at end of file diff --git a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.1.0.sql b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.1.0.sql index 4dc66bc..82f6822 100644 Binary files a/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.1.0.sql and b/01_SMART_UP_TOOLS/02_TASKFLOW/Updates/2.4.1.0.sql differ diff --git a/01_SMART_UP_TOOLS/03_EASYFLOW/Updates/2.2.0.0.sql b/01_SMART_UP_TOOLS/03_EASYFLOW/Updates/2.2.0.0.sql index 30d90e4..32a3b75 100644 Binary files a/01_SMART_UP_TOOLS/03_EASYFLOW/Updates/2.2.0.0.sql and b/01_SMART_UP_TOOLS/03_EASYFLOW/Updates/2.2.0.0.sql differ diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.0.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.0.sql index 9e00458..3f65e4a 100644 --- a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.0.sql +++ b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.0.sql @@ -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 COLUMN TFA_ENABLED; END + IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TBSIG_CONFIG' @@ -20,6 +21,8 @@ ALTER TABLE [dbo].TBSIG_ENVELOPE ADD TFA_ENABLED BIT NOT NULL DEFAULT 0; GO ALTER TABLE [dbo].TBSIG_CONFIG ADD DEF_TFA_ENABLED BIT NOT NULL DEFAULT 0; 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 07.01.2025 MS VerifType integriert ALTER VIEW [dbo].[VWSIG_ENVELOPE_DATA] AS @@ -55,7 +58,7 @@ SELECT FROM [TBSIG_ENVELOPE] ENV INNER JOIN TBDD_USER USR ON ENV.USER_ID = USR.GUID GO -IF EXISTS(SELECT * +IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER' AND COLUMN_NAME = 'PHONE_NUMBER') @@ -63,6 +66,7 @@ BEGIN ALTER TABLE [dbo].TBSIG_ENVELOPE_RECEIVER ADD PHONE_NUMBER VARCHAR(30) NOT NULL DEFAULT ''; END GO +--CHANGED 13.11.2024 MS RECEIVER_TERM integriert ALTER VIEW [dbo].[VWSIG_ENVELOPE_RECEIVER] AS SELECT ENV.GUID ENV_ID, @@ -154,4 +158,72 @@ CREATE TRIGGER [dbo].[TBSIG_CHART_AFT_UPD] ON [dbo].[TBSIG_CHART] FOR UPDATE AS UPDATE TBSIG_CHART SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBSIG_CHART.GUID = INSERTED.GUID -GO \ No newline at end of file +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:

' + SET @Body += 'Kunde: ' + @CUSTOMER + '

' + SET @Body += 'Monat: ' + @Month + '

' + + 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: ' + Convert(Varchar(5),@AM_FINISHED) + '
' + SET @Body += 'Anzahl Gelöschte aber geöffnete Envelopes: ' + Convert(Varchar(5),@AM_SENT_DELETED) + '

' + SET @Body += 'Summe abrechenbare Envelopes: ' + Convert(Varchar(5),@SUM_MONTH) + '

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