2025-02-11 16:48:09 +01:00

229 lines
8.1 KiB
Transact-SQL
Raw Blame History

UPDATE TBDD_MODULES SET DB_VERSION = '1.5.4.0' WHERE SHORT_NAME = 'SIG_ENV_CR'
GO
IF EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER'
AND COLUMN_NAME = 'TFA_ENABLED')
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'
AND COLUMN_NAME = 'DEF_VERIFICATION_TYPE')
BEGIN
ALTER TABLE [dbo].TBSIG_CONFIG DROP CONSTRAINT [DF__TBSIG_CON__DEF_V__0AF366ED];
ALTER TABLE [dbo].TBSIG_CONFIG DROP COLUMN DEF_VERIFICATION_TYPE;
END
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
SELECT
ENV.[GUID] ENVELOPE_ID
,[USER_ID]
,USR.EMAIL USER_EMAIL
,USR.PRENAME + ' ' + USR.NAME USER_PRE_NAME
,[STATUS] ENVELOPE_STATE
,ENV.VERIFICATION_TYPE
,TFA_ENABLED
,[ENVELOPE_UUID]
,[LANG_CODE] ENV_LANG_CODE
,[MESSAGE]
,[EXPIRES_WHEN]
,[EXPIRES_WARNING_WHEN]
,ENV.[ADDED_WHEN]
,ENV.[CHANGED_WHEN]
,[TITLE]
,[CONTRACT_TYPE]
,ENV.[LANGUAGE]
,[SEND_REMINDER_EMAILS]
,[FIRST_REMINDER_DAYS]
,[REMINDER_INTERVAL_DAYS]
,[ENVELOPE_TYPE]
,[CERTIFICATION_TYPE]
,[USE_ACCESS_CODE]
,[FINAL_EMAIL_TO_CREATOR]
,[FINAL_EMAIL_TO_RECEIVERS]
,[EXPIRES_WHEN_DAYS]
,[EXPIRES_WARNING_WHEN_DAYS]
FROM
[TBSIG_ENVELOPE] ENV INNER JOIN TBDD_USER USR ON ENV.USER_ID = USR.GUID
GO
IF NOT EXISTS(SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TBSIG_ENVELOPE_RECEIVER'
AND COLUMN_NAME = 'PHONE_NUMBER')
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,
ENV.ENVELOPE_UUID,
REC.EMAIL_ADDRESS REC_EMAIL,
REC.GUID REC_ID,
E_REC.NAME,
E_REC.PHONE_NUMBER,
E_REC.ADDED_WHEN
FROM
[DD_ECM].[dbo].[TBSIG_RECEIVER] REC INNER JOIN TBSIG_ENVELOPE_RECEIVER E_REC ON REC.GUID = E_REC.RECEIVER_ID
INNER JOIN TBSIG_ENVELOPE ENV ON E_REC.ENVELOPE_ID = ENV.GUID
GO
--CHANGED 23.01.2025 MS PhoneNumber
--CHANGED 13.11.2024 MS RECEIVER_TERM integriert
ALTER VIEW [dbo].[VWSIG_ENVELOPE_RECEIVERS] as
SELECT R.GUID,
ENV.USER_ID As ENV_USERID_CREATED,
R.EMAIL_ADDRESS,
R.SIGNATURE,
ER.ENVELOPE_ID,
ER.PRIVATE_MESSAGE,
ER.ACCESS_CODE,
ER.PHONE_NUMBER,
ER.[SEQUENCE],
ER.NAME,
ER.ADDED_WHEN,
R.EMAIL_ADDRESS + ' - ' + ER.[NAME] AS RECEIVER_TERM
FROM TBSIG_ENVELOPE_RECEIVER ER
INNER JOIN TBSIG_RECEIVER R ON ER.RECEIVER_ID = R.GUID
INNER JOIN TBSIG_ENVELOPE ENV ON ER.ENVELOPE_ID = ENV.GUID
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV USER THIS_MONTH','
Select
USER_EMAIL [ENVELOPE CREATOR]
,COUNT(ENVELOPE_ID) [SUM]
FROM
VWSIG_ENVELOPE_DATA
WHERE
DATEDIFF(MONTH,ADDED_WHEN,GETDATE()) = 0
GROUP BY USER_EMAIL')
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV USER LAST_MONTH','
Select
USER_EMAIL [ENVELOPE CREATOR]
,COUNT(ENVELOPE_ID) [SUM]
FROM
VWSIG_ENVELOPE_DATA
WHERE
DATEDIFF(MONTH,ADDED_WHEN,GETDATE()) = 1
GROUP BY USER_EMAIL')
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV USER YEAR','
Select
USER_EMAIL [ENVELOPE CREATOR]
,COUNT(ENVELOPE_ID) [SUM]
FROM
VWSIG_ENVELOPE_DATA
WHERE
DATEDIFF(YEAR,ADDED_WHEN,GETDATE()) = 0
GROUP BY USER_EMAIL')
GO
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV USER ALL','
Select
USER_EMAIL [ENVELOPE CREATOR]
,COUNT(ENVELOPE_ID) [SUM]
FROM
VWSIG_ENVELOPE_DATA
GROUP BY USER_EMAIL')
GO
CREATE TABLE [dbo].[TBSIG_CHART](
GUID INTEGER IDENTITY(1,1) NOT NULL,
SQL_COMMAND VARCHAR(MAX) NOT NULL,
TYPE_CHART VARCHAR(50) NOT NULL,
ARGUMENT VARCHAR(50) NOT NULL,
[VALUE] VARCHAR(50) NOT NULL,
TITLE VARCHAR(50) NOT NULL DEFAULT '',
ADDED_WHO VARCHAR(50) DEFAULT '',
ADDED_WHEN DATETIME DEFAULT GETDATE(),
CHANGED_WHO VARCHAR(50),
CHANGED_WHEN DATETIME,
GROUP_ID VARCHAR(50) DEFAULT '',
CONSTRAINT PK_TBSIG_CHART_GUID PRIMARY KEY (GUID)
)
GO
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
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<65>schte aber ge<67>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