MS DD_ECM
This commit is contained in:
41
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.1.sql
Normal file
41
01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/1.5.4.1.sql
Normal file
@@ -0,0 +1,41 @@
|
||||
UPDATE TBDD_MODULES SET DB_VERSION = '1.5.4.1' WHERE SHORT_NAME = 'SIG_ENV_CR'
|
||||
GO
|
||||
CREATE FUNCTION dbo.FNDD_Generate5DigitRandomCode()
|
||||
RETURNS CHAR(5)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @Code CHAR(5), @Rand1 INT, @Rand2 INT, @Rand3 INT, @Rand4 INT, @Rand5 INT
|
||||
|
||||
SET @Rand1 = ABS(CHECKSUM(CONVERT(VARBINARY, CURRENT_TIMESTAMP))) % 36
|
||||
SET @Rand2 = ABS(CHECKSUM(CONVERT(VARBINARY, CURRENT_TIMESTAMP) + CAST(@Rand1 AS VARBINARY))) % 36
|
||||
SET @Rand3 = ABS(CHECKSUM(CONVERT(VARBINARY, CURRENT_TIMESTAMP) + CAST(@Rand2 AS VARBINARY))) % 36
|
||||
SET @Rand4 = ABS(CHECKSUM(CONVERT(VARBINARY, CURRENT_TIMESTAMP) + CAST(@Rand3 AS VARBINARY))) % 36
|
||||
SET @Rand5 = ABS(CHECKSUM(CONVERT(VARBINARY, CURRENT_TIMESTAMP) + CAST(@Rand4 AS VARBINARY))) % 36
|
||||
|
||||
SET @Code =
|
||||
CHAR(CASE WHEN @Rand1 < 10 THEN 48 + @Rand1 ELSE 55 + @Rand1 END) +
|
||||
CHAR(CASE WHEN @Rand2 < 10 THEN 48 + @Rand2 ELSE 55 + @Rand2 END) +
|
||||
CHAR(CASE WHEN @Rand3 < 10 THEN 48 + @Rand3 ELSE 55 + @Rand3 END) +
|
||||
CHAR(CASE WHEN @Rand4 < 10 THEN 48 + @Rand4 ELSE 55 + @Rand4 END) +
|
||||
CHAR(CASE WHEN @Rand5 < 10 THEN 48 + @Rand5 ELSE 55 + @Rand5 END)
|
||||
|
||||
RETURN @Code
|
||||
END
|
||||
GO
|
||||
CREATE TRIGGER [dbo].TBSIG_ENVELOPE_RECEIVER_AFT_UPD ON [dbo].[TBSIG_ENVELOPE_RECEIVER]
|
||||
FOR INSERT
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @ENVELOPE_ID INT,@RECEIVER_ID INT,@ACCESS_CODE NVARCHAR(64)
|
||||
SELECT
|
||||
@ENVELOPE_ID = ENVELOPE_ID,
|
||||
@RECEIVER_ID = RECEIVER_ID,
|
||||
@ACCESS_CODE = ACCESS_CODE FROM inserted
|
||||
|
||||
IF LEN(@ACCESS_CODE) = 0
|
||||
BEGIN
|
||||
SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] ();
|
||||
UPDATE TBSIG_ENVELOPE_RECEIVER SET ACCESS_CODE = @ACCESS_CODE FROM INSERTED
|
||||
WHERE TBSIG_ENVELOPE_RECEIVER.ENVELOPE_ID = INSERTED.ENVELOPE_ID AND TBSIG_ENVELOPE_RECEIVER.RECEIVER_ID = INSERTED.RECEIVER_ID;
|
||||
END
|
||||
END
|
||||
Reference in New Issue
Block a user