DD_ECM, Addedscripts DDECM

orgFLOW, signFLOW
This commit is contained in:
Developer01
2025-05-07 13:20:18 +02:00
parent 93802e4995
commit d46e67d4b6
16 changed files with 453 additions and 26 deletions

View File

@@ -24,13 +24,7 @@ FROM
order by
ENVELOPE_ID desc
GO
USE [DD_ECM]
GO
/****** Object: StoredProcedure [dbo].[PRDD_CUST_SUPPORT_ERR_7001001] Script Date: 28.03.2025 09:12:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: DD MS
-- Hier werden Envelopes gefunden, die seit mehr als 20 Minuten unterschrieben sind, wo aber keine Unterschriften gebrannt wurden!

View File

@@ -9,7 +9,330 @@ AND COLUMN_NAME = 'CULTURE')
ALTER TABLE [dbo].TBSIG_RECEIVER ADD CULTURE VARCHAR(10);
END
GO
--Changed 23.04.2025 MS Neuer Dokumenten und Withdrawn-Status
ALTER PROCEDURE [dbo].[PRSIG_GET_CLOSED_ENVELOPES_FOR_USER] @pUSRID INT
AS
BEGIN
SELECT * FROM [dbo].[TBSIG_ENVELOPE] WHERE USER_ID = @pUSRID AND STATUS IN (1006,1007,1008,1009,10007,10009) ORDER BY CHANGED_WHEN Desc
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--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
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_SENDER]',@ADM_NAME)
--PRINT '#1' + @EML_BODY_ADM
SET @EML_BODY_ADM = REPLACE(@EML_BODY_ADM,'[NAME_RECEIVER]',@NAME_RECEIVER)
--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
SET @EML_SUBJ_ADM = REPLACE(@EML_SUBJ_ADM,'[DOCUMENT_TITLE]',@TITLE)
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)
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);
/*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
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
INSERT INTO TBDD_SQL_COMMANDS(TITLE,SQL_COMMAND) VALUES ('REPORT ENV ALL_USER_LAST_MONTH','EXEC PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT 1')
GO
DROP VIEW [VWSIG_REPORT_ENVELOPES_OPENED_DELETED]
GO
CREATE VIEW [dbo].[VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT] AS
SELECT
DEL.*,CASE DEL.POS_STATUS WHEN 1009 THEN 'Envelope Deleted/Send'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END STATUS_STRING
FROM
(SELECT * FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS In (10007,10009,1009)) DEL INNER JOIN -- EnvelopeRejected, EnvelopeWithdrawn, EnvelopeDeleted
(SELECT * FROM [DD_ECM].[dbo].[VWSIG_ENVELOPE_REPORT] A where POS_STATUS = 3001) REQ ON DEL.ENVELOPE_ID = REQ.ENVELOPE_ID --MessageInvitationSend
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--Changed 24.04.2025 MS Neuer View ViewSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT
ALTER 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 = CAT_STRING FROM TBDD_CATALOG WHERE CAT_TITLE = 'SIG_CUSTOMER_NAME';
SELECT @EML_RECEIPIANTS = CAT_STRING 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_REJ_WITHDRAWN_SENT 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_REJ_WITHDRAWN_SENT 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 @SUM_MONTH > 0
BEGIN
PRINT 'Erzeugend er Emails ...'
EXEC PREMAIL_NEW_EMAIL 1,@EML_RECEIPIANTS,@SUBJ,@Body,'sigFLOW-EnvCount',9000,9000,'signFLOW-EnvelopeCount'
END
ELSE
PRINT 'ES WIRD KEIN REPORT ERZEUGT'
END
GO
CREATE PROCEDURE PRSIG_ADMIN_GET_ALL_ENV_INV_REPORT @pMonthDiffas Integer
AS
BEGIN
DECLARE @MONTH INTEGER,@YEAR INTEGER
SET @MONTH = DATEPART(Month,GETDATE()) - @pMonthDiffas
SET @YEAR = DATEPART(YEAR,GETDATE())
IF @MONTH = 1
BEGIN
SET @YEAR = @YEAR -1
END
BEGIN
SELECT DISTINCT
B.ENVELOPE_ID [Envelope-ID],B.USER_EMAIL [Envelope-Creator], TITLE As [Envelope-Title] , ENVELOPE_STATE [Envelope-State],
CASE ENVELOPE_STATE WHEN 1009 THEN 'Envelope Deleted/Send'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END [Envelope-State-Description],
B.CHANGED_WHEN as [Envelope-Changed]
FROM
VWSIG_REPORT_ENVELOPES_REJ_WITHDRAWN_SENT A INNER JOIN
VWSIG_ENVELOPE_DATA B ON A.ENVELOPE_ID = B.ENVELOPE_ID
WHERE
DATEPART(Month,B.CHANGED_WHEN) = @MONTH
AND DATEPART(YEAR,B.CHANGED_WHEN) = @YEAR
UNION
SELECT DISTINCT
B.ENVELOPE_ID [Envelope-ID],B.USER_EMAIL [Envelope-Creator], TITLE As [Envelope-Title] , ENVELOPE_STATE [Envelope-State],
CASE ENVELOPE_STATE WHEN 1008 THEN 'Envelope Comletely signed'
WHEN 10007 THEN 'Envelope Rejected/Send'
WHEN 10009 THEN 'Envelope Withdrawn/Send' END [Envelope-State-Description],
B.CHANGED_WHEN as [Envelope-Changed]
FROM
VWSIG_ENVELOPE_DATA B
WHERE
envelope_State = 1008 AND
DATEPART(Month,B.CHANGED_WHEN) = @MONTH
AND DATEPART(YEAR,B.CHANGED_WHEN) = @YEAR
ORDER BY [Envelope-Changed] DESC
END
END
GO
-- =============================================
-- Author: DD MS
-- Changed:
-- =============================================
ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_ENVELOPE] @USER_ID INTEGER,
@TITLE VARCHAR(128),
@TFAEnabled BIT,
@MESSAGE VARCHAR(250),
@OUT_UID VARCHAR(36) OUTPUT
AS
BEGIN
DECLARE @UID VARCHAR(36)
SET @OUT_UID = ''
SELECT @UID = NEWID()
INSERT INTO TBSIG_ENVELOPE
(USER_ID,STATUS,ENVELOPE_UUID,MESSAGE,TITLE,TFA_ENABLED)
VALUES
(@USER_ID,1002,@UID,@MESSAGE,@TITLE,CONVERT(BIT,@TFAEnabled));
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @UID)
SET @OUT_UID = @UID
PRINT @OUT_UID
END
GO
CREATE OR ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_RECEIVER] @ENV_UID VARCHAR(36),
@EMAIL_ADRESS VARCHAR(250),
@SALUTATION VARCHAR(100),
@PHONE VARCHAR(20),
@OUT_RECEIVER_ID INTEGER OUTPUT
AS
BEGIN
DECLARE
@RECEIVER_ID INTEGER,
@ENV_ID INTEGER,
@SIGNATUREID VARCHAR(64),
@SEQUENCE INTEGER,
@ACCESS_CODE VARCHAR(5)
IF @SALUTATION IS NULL
SET @SALUTATION = 'Bitte unterzeichnen Sie das Dokument/Please sign the document'
IF @PHONE IS NULL OR LEN(@PHONE) < 9
SET @PHONE = ''
SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID;
SET @OUT_RECEIVER_ID = 0
IF NOT EXISTS(SELECT GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS)
BEGIN
SELECT @SIGNATUREID = CONVERT(VARCHAR(40), HASHBYTES('SHA1', UPPER(@EMAIL_ADRESS)), 2);
INSERT INTO TBSIG_RECEIVER(EMAIL_ADDRESS,[SIGNATURE]) VALUES (@EMAIL_ADRESS,@SIGNATUREID);
END
SELECT @RECEIVER_ID = GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS;
IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID)
BEGIN
PRINT 'RECEIVER IS ALREADY EXISTING FOR THIS ENVELOPE!'
END
ELSE
BEGIN
SELECT @SEQUENCE = COALESCE(MAX(SEQUENCE),0) FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID;
SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] ();
INSERT INTO TBSIG_ENVELOPE_RECEIVER (ENVELOPE_ID,RECEIVER_ID,SEQUENCE,NAME,ACCESS_CODE,PHONE_NUMBER )
VALUES
(@ENV_ID,@RECEIVER_ID,@SEQUENCE,@SALUTATION,@ACCESS_CODE,@PHONE);
END
SELECT @OUT_RECEIVER_ID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID;
END
GO