You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.9 KiB
111 lines
2.9 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_GetNumber_LuckyDraw] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
DROP PROCEDURE [dbo].[proc_GetNumber_LuckyDraw]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_GetNumber_LuckyDraw] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[proc_GetNumber_LuckyDraw]
|
|
@flag CHAR(1) = 's'
|
|
,@user VARCHAR(50)
|
|
|
|
AS
|
|
SET NOCOUNT ON;
|
|
/*
|
|
|
|
EXEC [proc_GetNumber_LuckyDraw] @flag='s' ,@user='admin'
|
|
*/
|
|
DECLARE
|
|
@fromDate DATETIME, @toDate DATETIME,@sCountry VARCHAR(100), @sAgent VARCHAR(100), @sAgent1 VARCHAR(100)
|
|
,@pAgent1 VARCHAR(100), @pAgent2 VARCHAR(100), @pAgent3 VARCHAR(100), @pAgent4 VARCHAR(100), @pAgent5 VARCHAR(100)
|
|
,@luckyDrawType VARCHAR(50), @controlNo VARCHAR(20), @id BIGINT,@prize VARCHAR(50)
|
|
,@dateField VARCHAR(50), @drawTypeCode CHAR(1)
|
|
|
|
SELECT @luckyDrawType = 'Sender_NewYear',@drawTypeCode='NY'
|
|
|
|
SET @prize= CASE @luckyDrawType
|
|
WHEN 'Sender_NewYear' THEN 'KRW 2,075,000 '
|
|
ELSE 'Unknown'
|
|
END
|
|
|
|
SET @drawTypeCode= CASE @luckyDrawType
|
|
WHEN 'Sender_NewYear' THEN 'NY'
|
|
ELSE 'Unknown'
|
|
END
|
|
|
|
IF(SELECT COUNT(1) FROM WinnerHistory(NOLOCK))=3
|
|
BEGIN
|
|
SELECT
|
|
ErrorCode = '0'
|
|
,Pin = dbo.FNADecryptString(rt.controlNo)
|
|
,Name = rt.senderName
|
|
,[Date] = CONVERT(VARCHAR, rt.approveddate, 107)
|
|
,Prize = @prize
|
|
,Agent = rt.sAgentName
|
|
,Country = rt.pCountry
|
|
FROM remitTran rt WITH(NOLOCK)
|
|
INNER JOIN WinnerHistory ts WITH(NOLOCK) ON rt.id = ts.id
|
|
order by ts.drawnDate
|
|
RETURN
|
|
END
|
|
DECLARE @luckyNumbers TABLE(Id bigint, controlNo VARCHAR(20))
|
|
|
|
INSERT INTO @luckyNumbers(Id, controlNo)
|
|
SELECT Id,controlNo
|
|
FROM remitTran rt WITH(NOLOCK)
|
|
WHERE approvedDate BETWEEN '2019-11-18' AND '2019-12-31 23:59:59'
|
|
AND pCountry = 'Bangladesh'
|
|
AND tranStatus <> 'cancel'
|
|
|
|
DELETE FROM @luckyNumbers
|
|
FROM @luckyNumbers t
|
|
INNER JOIN WinnerHistory h (NOLOCK) ON t.Id = h.Id
|
|
|
|
SELECT TOP 1
|
|
@controlNo = controlNo, @id = Id
|
|
FROM (
|
|
SELECT TOP 90 PERCENT
|
|
IDL2 = NEWID(),*
|
|
FROM (
|
|
SELECT
|
|
IDL = NEWID(), *
|
|
FROM @luckyNumbers
|
|
) round1 ORDER BY IDL ASC
|
|
) round2 ORDER BY IDL2 ASC
|
|
|
|
|
|
IF @controlNo IS NULL
|
|
BEGIN
|
|
SELECT
|
|
ErrorCode = '0'
|
|
,Pin = 'ERROR'
|
|
,Name = 'ERROR'
|
|
,Date = 'ERROR'
|
|
,Prize = @luckyDrawType
|
|
,Agent = 'ERROR'
|
|
,Country = 'ERROR'
|
|
RETURN
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO WinnerHistory(ID,controlNo, drawnDate,createdBy, srFlag, drawType)
|
|
SELECT @id,@controlNo, GETDATE(),@user, @flag, @drawTypeCode
|
|
BEGIN
|
|
SELECT
|
|
ErrorCode = case when @controlNo = rt.controlNo then '1' else '0' end
|
|
,Pin = dbo.FNADecryptString(rt.controlNo)
|
|
,Name = rt.senderName
|
|
,[Date] = CONVERT(VARCHAR, rt.approveddate, 107)
|
|
,Prize = @prize
|
|
,Agent = rt.sAgentName
|
|
,Country = rt.pCountry
|
|
FROM remitTran rt WITH(NOLOCK)
|
|
INNER JOIN WinnerHistory ts WITH(NOLOCK) ON rt.id = ts.id
|
|
order by ts.drawnDate
|
|
END
|
|
END
|
|
|
|
GO
|