e7eb50ec35
- Changed Seq ServerUrl from HTTPS to HTTP to align with the current server configuration.
96 lines
4.0 KiB
SQL
96 lines
4.0 KiB
SQL
-- =============================================================================
|
|
-- گزارش ساده: ورودیهای هر هفته باشگاه (+ اسامی)
|
|
-- =============================================================================
|
|
-- تعریف:
|
|
-- Users.Created داخل بازه هفته
|
|
-- و ClubMembership.Created هم داخل همان بازه
|
|
-- IsActive=1 → فعال | IsActive=0 → غیرفعال
|
|
-- =============================================================================
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
------------------------------------------------------------
|
|
-- ۱) خلاصه هر هفته
|
|
------------------------------------------------------------
|
|
SELECT
|
|
wd.DisplayName AS [هفته],
|
|
CONVERT(varchar(10), wd.StartDate, 23) AS [از],
|
|
CONVERT(varchar(10), wd.EndDate, 23) AS [تا],
|
|
|
|
COUNT(DISTINCT CASE
|
|
WHEN u.Id IS NOT NULL AND cm.IsActive = 1 THEN u.Id
|
|
END) AS [تعداد_فعال],
|
|
SUM(CASE
|
|
WHEN u.Id IS NOT NULL AND cm.IsActive = 1
|
|
THEN ISNULL(NULLIF(cm.InitialContribution, 0), ISNULL(p.ActivationFee, 0))
|
|
ELSE 0
|
|
END) AS [مبلغ_فعال],
|
|
|
|
COUNT(DISTINCT CASE
|
|
WHEN u.Id IS NOT NULL AND cm.IsActive = 0 THEN u.Id
|
|
END) AS [تعداد_غیرفعال],
|
|
SUM(CASE
|
|
WHEN u.Id IS NOT NULL AND cm.IsActive = 0
|
|
THEN ISNULL(NULLIF(cm.InitialContribution, 0), ISNULL(p.ActivationFee, 0))
|
|
ELSE 0
|
|
END) AS [مبلغ_غیرفعال],
|
|
|
|
ISNULL((
|
|
SELECT SUM(wp.TotalPoolAmount)
|
|
FROM CMS.WeeklyCommissionPools wp
|
|
WHERE wp.WeekDefinitionId = wd.Id
|
|
AND wp.IsDeleted = 0
|
|
), 0) AS [استخر_هفته]
|
|
|
|
FROM CMS.WeekDefinitions wd
|
|
LEFT JOIN CMS.Users u
|
|
ON u.IsDeleted = 0
|
|
AND u.Created >= wd.StartDate
|
|
AND u.Created < wd.EndDate
|
|
LEFT JOIN CMS.ClubMemberships cm
|
|
ON cm.UserId = u.Id
|
|
AND cm.IsDeleted = 0
|
|
AND cm.Created >= wd.StartDate
|
|
AND cm.Created < wd.EndDate
|
|
LEFT JOIN CMS.Packages p
|
|
ON p.Id = cm.LastPackageId
|
|
AND p.IsDeleted = 0
|
|
WHERE wd.IsDeleted = 0
|
|
GROUP BY
|
|
wd.Id,
|
|
wd.DisplayName,
|
|
wd.StartDate,
|
|
wd.EndDate
|
|
ORDER BY wd.StartDate DESC;
|
|
|
|
|
|
------------------------------------------------------------
|
|
-- ۲) جزئیات اسامی (هر نفر یک ردیف)
|
|
------------------------------------------------------------
|
|
SELECT
|
|
wd.DisplayName AS [هفته],
|
|
CONVERT(varchar(10), wd.StartDate, 23) AS [از],
|
|
CONVERT(varchar(10), wd.EndDate, 23) AS [تا],
|
|
u.Id AS [UserId],
|
|
LTRIM(RTRIM(ISNULL(u.FirstName, N'') + N' ' + ISNULL(u.LastName, N''))) AS [نام],
|
|
u.Mobile AS [موبایل],
|
|
CASE WHEN cm.IsActive = 1 THEN N'فعال' ELSE N'غیرفعال' END AS [وضعیت],
|
|
ISNULL(NULLIF(cm.InitialContribution, 0), ISNULL(p.ActivationFee, 0)) AS [مبلغ],
|
|
CONVERT(varchar(19), u.Created, 120) AS [تاریخ_ایجاد_کاربر],
|
|
CONVERT(varchar(19), cm.Created, 120) AS [تاریخ_ایجاد_عضویت]
|
|
FROM CMS.WeekDefinitions wd
|
|
INNER JOIN CMS.Users u
|
|
ON u.IsDeleted = 0
|
|
AND u.Created >= wd.StartDate
|
|
AND u.Created < wd.EndDate
|
|
INNER JOIN CMS.ClubMemberships cm
|
|
ON cm.UserId = u.Id
|
|
AND cm.IsDeleted = 0
|
|
AND cm.Created >= wd.StartDate
|
|
AND cm.Created < wd.EndDate
|
|
LEFT JOIN CMS.Packages p
|
|
ON p.Id = cm.LastPackageId
|
|
AND p.IsDeleted = 0
|
|
WHERE wd.IsDeleted = 0
|
|
ORDER BY wd.StartDate DESC, cm.IsActive DESC, u.Id;
|