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.
80 lines
2.0 KiB
80 lines
2.0 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
|
|
/****** Object: StoredProcedure [dbo].[proc_CouponOperation] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
ALTER PROC [dbo].[proc_CouponOperation]
|
|
(
|
|
@schemeId VARCHAR(20)=NULL,
|
|
@flag VARCHAR(20)=NULL,
|
|
@serviceCharge MONEY = NULL
|
|
)
|
|
AS
|
|
BEGIN
|
|
IF(@flag='SearchCoupon')
|
|
BEGIN
|
|
DECLARE @CurrentCount int = 0,
|
|
@discountvalue MONEY = 0,
|
|
@discountType VARCHAR(2) = NULL
|
|
IF ISNULL(@schemeId,'') <> ''
|
|
|
|
BEGIN
|
|
IF EXISTS (SELECT '1'
|
|
FROM CouponIssue(NOLOCK) AS CI
|
|
INNER JOIN CouponSetup(NOLOCK) AS CS
|
|
ON CI.couponId = CS.rowId
|
|
WHERE CI.rowId = @schemeId
|
|
AND CI.endDate >= GETDATE()
|
|
AND CI.isActive = 'Y'
|
|
AND CS.endDate >= GETDATE()
|
|
AND CS.isActive = 'Y'
|
|
AND CS.couponType = '1'
|
|
AND (ISNULL(CS.usageLimit,0) = 0
|
|
OR ISNULL(CS.usageLimit,0) > ISNULL(CI.usedCount,0))
|
|
)
|
|
BEGIN
|
|
|
|
SELECT TOP(1)
|
|
(CASE CS.discountType WHEN '1' THEN @serviceCharge * (CS.discountValue/100)
|
|
WHEN '2' THEN CS.discountValue END) AS discountValue
|
|
FROM CouponIssue(NOLOCK) CI
|
|
INNER JOIN CouponSetup CS
|
|
ON CI.couponId = CS.rowId
|
|
WHERE CI.isActive = 'Y'
|
|
AND CI.endDate >= GETDATE()
|
|
AND CS.endDate >= GETDATE()
|
|
AND CS.isActive = 'Y'
|
|
AND CS.couponType = '1'
|
|
AND CI.rowId = @schemeId
|
|
AND (ISNULL(CS.usageLimit,0) = 0
|
|
OR ISNULL(CS.usageLimit,0) > ISNULL(CI.usedCount,0))
|
|
ORDER BY CI.rowId ASC
|
|
END
|
|
ELSE
|
|
SELECT 0 AS discountValue
|
|
END
|
|
ELSE
|
|
SELECT 0 AS discountValue
|
|
END
|
|
ELSE IF @flag = 'GetCouponList'
|
|
BEGIN
|
|
SELECT CI.rowId, CS.endDate, CS.couponName, CS.couponType, CS.discountType,
|
|
CAST(CS.discountValue AS INT) AS discountValue, CI.startDate
|
|
FROM CouponIssue CI (NOLOCK)
|
|
INNER JOIN CouponSetup AS CS
|
|
ON CI.couponId = CS.rowId
|
|
WHERE CI.customerId = @customerId
|
|
AND CI.endDate > GETDATE()
|
|
AND CS.endDATE > GETDATE()
|
|
AND CI.isActive = 'Y'
|
|
AND CS.isActive = 'Y'
|
|
AND CS.usageLimit > CI.usedCount
|
|
RETURN
|
|
END
|
|
|
|
END
|
|
GO
|