diff --git a/README.md b/README.md index 1a3fdd9..7105565 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # CMS Microservice Documentation moved to [totalDoc/INDEX.md](../totalDoc/INDEX.md). - \ No newline at end of file + \ No newline at end of file diff --git a/k8s/staging/cms-config.yaml b/k8s/staging/cms-config.yaml index 9dbe3f8..3269829 100644 --- a/k8s/staging/cms-config.yaml +++ b/k8s/staging/cms-config.yaml @@ -126,7 +126,7 @@ stringData: "Audience": "domain_api" }, "Seq": { - "ServerUrl": "https://seq.afrino.co", + "ServerUrl": "http://iseq.afrino.co", "ApiKey": "oxpvpUzU1pZxMS4s3Fqq" } } diff --git a/scripts/report-weekly-club-inputs.sql b/scripts/report-weekly-club-inputs.sql new file mode 100644 index 0000000..04cbbff --- /dev/null +++ b/scripts/report-weekly-club-inputs.sql @@ -0,0 +1,95 @@ +-- ============================================================================= +-- گزارش ساده: ورودی‌های هر هفته باشگاه (+ اسامی) +-- ============================================================================= +-- تعریف: +-- 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;