From 6a43883d08df99f6bddadaaf68e23558b16b327d Mon Sep 17 00:00:00 2001 From: yiming Date: Sun, 19 Oct 2025 21:59:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=A9=A2=E7=AF=84=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/查詢範例.xlsx | Bin 0 -> 451157 bytes web/App_Code/Model/ViewModel/bed.cs | 71 +- web/App_Code/api/pivot01Controller.cs | 246 +++++ web/App_Code/api/pivotController.cs | 1142 ++++++++++++++++++++ web/admin/pivot/README-pivot-01.md | 1401 +++++++++++++++++++++++++ web/admin/pivot/README.md | 768 ++++++++++++++ web/admin/pivot/index.aspx | 185 ++++ web/admin/pivot/index.aspx.cs | 10 + web/admin/pivot/pivot-01.aspx | 1374 ++++++++++++++++++++++++ web/admin/pivot/pivot-01.aspx.cs | 11 + web/admin/pivot/query.aspx | 1128 ++++++++++++++++++++ web/admin/pivot/query.aspx.cs | 10 + 12 files changed, 6293 insertions(+), 53 deletions(-) create mode 100644 data/查詢範例.xlsx create mode 100644 web/App_Code/api/pivot01Controller.cs create mode 100644 web/App_Code/api/pivotController.cs create mode 100644 web/admin/pivot/README-pivot-01.md create mode 100644 web/admin/pivot/README.md create mode 100644 web/admin/pivot/index.aspx create mode 100644 web/admin/pivot/index.aspx.cs create mode 100644 web/admin/pivot/pivot-01.aspx create mode 100644 web/admin/pivot/pivot-01.aspx.cs create mode 100644 web/admin/pivot/query.aspx create mode 100644 web/admin/pivot/query.aspx.cs diff --git a/data/查詢範例.xlsx b/data/查詢範例.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..91a4678588c4fca42b4a26a9777c04000bda4c95 GIT binary patch literal 451157 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

Qp7GdN-uR_y#^S3CVR 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ℑ!X%xPvI9<;-bA!PRxCe1vhmwdp~^xp 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 literal 0 HcmV?d00001 diff --git a/web/App_Code/Model/ViewModel/bed.cs b/web/App_Code/Model/ViewModel/bed.cs index 7832f2d..59c565c 100644 --- a/web/App_Code/Model/ViewModel/bed.cs +++ b/web/App_Code/Model/ViewModel/bed.cs @@ -1,73 +1,38 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Data; -using System.Configuration; -using System.Collections; -using Newtonsoft.Json; -using System.ComponentModel; -using System.Globalization; -using System.Web.UI; - -using System; using System.Collections; using System.Collections.Generic; -using System.Data; -using System.IO; -using System.IO.Compression; -using System.Net.Mail; -using System.Configuration; -using System.Drawing; -using System.Drawing.Imaging; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using System.Data.OleDb; -using Microsoft.VisualBasic; -using System.Text; -using System.Text.RegularExpressions; -using System.Web.Security; -using System.Security.Cryptography; -using System.Web.UI; -using System.Collections; using System.Collections.Specialized; using System.ComponentModel; +using System.ComponentModel.DataAnnotations; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; +using System.Configuration; +using System.Data; +using System.Data.OleDb; +using System.Drawing; +using System.Drawing.Imaging; +using System.Globalization; using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Net; +using System.Net.Mail; +using System.Reflection; +using System.Security.Cryptography; using System.Security.Principal; +using System.Text; +using System.Text.RegularExpressions; +using System.Web; using System.Web.Caching; using System.Web.ModelBinding; using System.Web.Routing; +using System.Web.Security; using System.Web.SessionState; +using System.Web.UI; using System.Web.UI.Adapters; using System.Web.UI.HtmlControls; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Collections; -using System.Data; -using System.Data.OleDb; -using System.Configuration; -using System.Web.UI; using System.Web.UI.WebControls; using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.IO; -using System.Web; -using System.Web.UI; -using System.Text; -using System.Text.RegularExpressions; -using System.Net; -using System.Reflection; -using System.ComponentModel; -using System.Web.UI.WebControls; -using System.Collections.Generic; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations; namespace Model.ViewModel diff --git a/web/App_Code/api/pivot01Controller.cs b/web/App_Code/api/pivot01Controller.cs new file mode 100644 index 0000000..5131171 --- /dev/null +++ b/web/App_Code/api/pivot01Controller.cs @@ -0,0 +1,246 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Web.Http; +using System.Configuration; + +///

+/// pivot01Controller - 法會報名統計分析 API +/// 設計理念:直接查詢 SQL VIEW,保持彈性與簡潔 +/// +[ezAuthorize] +public class pivot01Controller : ApiController +{ + // 連線字串 + private readonly string _connectionString; + + public pivot01Controller() + { + // 優先使用 shopConn 連線字串(純 SQL Server 連線字串) + var shopConnectionString = ConfigurationManager.ConnectionStrings["shopConn"]?.ConnectionString; + if (!string.IsNullOrEmpty(shopConnectionString)) + { + // 移除不相容的 Provider 參數 + _connectionString = shopConnectionString.Replace("Provider=SQLOLEDB;", ""); + } + else + { + // 備用方案:從 Entity Framework 連線字串中提取 SQL Server 連線字串 + var efConnectionString = ConfigurationManager.ConnectionStrings["ezEntities"]?.ConnectionString; + if (!string.IsNullOrEmpty(efConnectionString)) + { + // 解析 EF 連線字串,提取 provider connection string 部分 + var startIndex = efConnectionString.IndexOf("provider connection string="") + "provider connection string="".Length; + var endIndex = efConnectionString.LastIndexOf("""); + if (startIndex > 0 && endIndex > startIndex) + { + _connectionString = efConnectionString.Substring(startIndex, endIndex - startIndex); + } + else + { + throw new InvalidOperationException("無法解析 Entity Framework 連線字串"); + } + } + else + { + throw new InvalidOperationException("找不到可用的資料庫連線字串"); + } + } + } + + #region 通用 VIEW 查詢方法 + + /// + /// 執行 SQL 查詢並回傳 DataTable + /// + /// SQL 查詢語句 + /// 參數陣列 + /// 查詢結果 DataTable + private DataTable ExecuteSqlQuery(string sql, SqlParameter[] parameters = null) + { + var dataTable = new DataTable(); + + try + { + using (var connection = new SqlConnection(_connectionString)) + using (var command = new SqlCommand(sql, connection)) + { + // 設定逾時時間為 60 秒 + command.CommandTimeout = 60; + + // 加入參數 + if (parameters != null && parameters.Length > 0) + { + command.Parameters.AddRange(parameters); + } + + // 開啟連線並執行查詢 + connection.Open(); + using (var adapter = new SqlDataAdapter(command)) + { + adapter.Fill(dataTable); + } + } + } + catch (SqlException ex) + { + throw new Exception($"SQL 查詢錯誤: {ex.Message}", ex); + } + catch (Exception ex) + { + throw new Exception($"執行查詢時發生錯誤: {ex.Message}", ex); + } + + return dataTable; + } + + /// + /// DataTable 轉換為動態物件列表(保留中文欄位名) + /// + /// DataTable + /// Dictionary 列表 + private List> DataTableToDictionary(DataTable dt) + { + var list = new List>(); + + foreach (DataRow row in dt.Rows) + { + var dict = new Dictionary(); + foreach (DataColumn col in dt.Columns) + { + // 保留原始欄位名稱(包含中文) + dict[col.ColumnName] = row[col] == DBNull.Value ? null : row[col]; + } + list.Add(dict); + } + + return list; + } + + #endregion + + #region API 端點 + + /// + /// GET /api/pivot01/activity_stats + /// 查詢法會統計(對應「法會統計」VIEW) + /// + /// 查詢年份 + /// 法會統計資料 + [HttpGet] + [Route("api/pivot01/activity_stats")] + public IHttpActionResult GetActivityStats(int year) + { + try + { + // 驗證年份參數 + if (year < 1900 || year > 2100) + { + return BadRequest("年份參數不正確,請輸入 1900 ~ 2100 之間的年份"); + } + + // 建立 SQL 查詢(包含當年度及無日期的法會) + string sql = @" + SELECT * FROM [法會統計] + WHERE (YEAR(開始日期) = @year OR 開始日期 IS NULL) + ORDER BY + CASE WHEN 開始日期 IS NULL THEN 1 ELSE 0 END, + 開始日期 DESC, + 結束日期 DESC + "; + + // 建立參數 + var parameters = new[] + { + new SqlParameter("@year", SqlDbType.Int) { Value = year } + }; + + // 執行查詢 + var dataTable = ExecuteSqlQuery(sql, parameters); + var data = DataTableToDictionary(dataTable); + + // 回應結果 + var result = new + { + success = true, + data = data, + message = "查詢成功", + rowCount = data.Count + }; + + return Ok(result); + } + catch (Exception ex) + { + var errorResponse = new + { + success = false, + message = $"查詢失敗:{ex.Message}", + error = ex.ToString() + }; + return Content(System.Net.HttpStatusCode.BadRequest, errorResponse); + } + } + + /// + /// GET /api/pivot01/registration_details + /// 查詢報名明細(對應「報名明細查詢」VIEW) + /// + /// 法會編號(必填) + /// 報名明細資料 + [HttpGet] + [Route("api/pivot01/registration_details")] + public IHttpActionResult GetRegistrationDetails(int? activityNum = null) + { + try + { + // 驗證參數 + if (!activityNum.HasValue || activityNum.Value <= 0) + { + return BadRequest("請提供有效的法會編號(activityNum)"); + } + + // 建立查詢 SQL + string sql = @" + SELECT * FROM [報名明細查詢] + WHERE 法會ID = @activityNum + ORDER BY 報名日期 DESC, 報名編號 DESC + "; + + // 建立參數 + var parameters = new[] + { + new SqlParameter("@activityNum", SqlDbType.Int) { Value = activityNum.Value } + }; + + // 執行查詢 + var dataTable = ExecuteSqlQuery(sql, parameters); + var data = DataTableToDictionary(dataTable); + + // 回應結果 + var result = new + { + success = true, + data = data, + message = "查詢成功", + rowCount = data.Count + }; + + return Ok(result); + } + catch (Exception ex) + { + var errorResponse = new + { + success = false, + message = $"查詢失敗:{ex.Message}", + error = ex.ToString() + }; + return Content(System.Net.HttpStatusCode.BadRequest, errorResponse); + } + } + + #endregion +} diff --git a/web/App_Code/api/pivotController.cs b/web/App_Code/api/pivotController.cs new file mode 100644 index 0000000..78ede99 --- /dev/null +++ b/web/App_Code/api/pivotController.cs @@ -0,0 +1,1142 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Web.Http; +using PagedList; +using Newtonsoft.Json; +using System.Collections; +using System.Data.Entity; + +// api/pivot +[ezAuthorize] +public class pivotController : ApiController +{ + private Model.ezEntities _db = new Model.ezEntities(); + + #region 報表查詢 API + + /// + /// 報名明細查詢 - 對應 Excel 中的視圖結構 + /// GET api/pivot/registration_details + /// + /// 開始日期 + /// 結束日期 + /// 法會編號 + /// 信眾編號 + /// 頁碼 + /// 每頁筆數 + /// + [HttpGet] + [Route("api/pivot/registration_details")] + public IHttpActionResult GetRegistrationDetails(string startDate = null, string endDate = null, + int? activityNum = null, int? followerNum = null, int page = 1, int pageSize = 1000) + { + try + { + // 對應 README.md 中的視圖查詢結構,按顏色分類欄位 + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join ai in _db.actItems on pod.actItem_num equals ai.num + join act in _db.activities on po.activity_num equals act.num + join f in _db.followers on po.f_num equals f.num + join aik in _db.actItem_kind on ai.kind equals aik.num + select new + { + // 🟠 橘色欄位 - 法會基礎資料 (法會相關的直接來源) + 法會ID = act.num, + 法會名稱 = act.subject, + 開始日期 = act.startDate_solar, + 結束日期 = act.endDate_solar, + + // 🔵 藍色欄位 - 信眾基礎資料 (信眾相關的直接來源) + 信眾編號 = f.f_number, + 信眾姓名 = f.u_name, + 報名編號 = po.order_no, + 報名日期 = po.up_time, + + // 🟢綠色欄位 - 功德資訊欄位 (功德相關資訊) + 功德主 = pod.parent_num != null ? "是" : "否", + 功德類型 = aik.kind, + 功德名稱 = ai.subject, + + // 🟣 紫色欄位 - 計算欄位 (需要計算) + 數量 = pod.qty, + 金額 = pod.price, + 已收 = 0, // 業務邏輯:固定為 0 + 未收 = pod.price * pod.qty - 0, // 計算未收金額 + + // 額外提供原始資料供進階計算 + _metadata = new + { + parent_num = pod.parent_num, + unit_price = pod.price, + quantity = pod.qty, + total_amount = pod.price * pod.qty, + kind_num = aik.num, + item_num = ai.num, + activity_num = act.num, + follower_num = f.num + } + }; + + // 日期篩選 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.開始日期 >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.結束日期 <= end); + } + + // 法會篩選 + if (activityNum.HasValue) + { + query = query.Where(x => x.法會ID == activityNum.Value); + } + + // 信眾篩選 + if (followerNum.HasValue) + { + query = query.Where(x => x.信眾編號 == followerNum.ToString()); + } + + // 分頁處理 + var totalCount = query.Count(); + var pagedQuery = query.OrderByDescending(x => x.報名日期) + .ThenByDescending(x => x.法會ID) + .Skip((page - 1) * pageSize) + .Take(pageSize) + .ToList(); + + var result = new + { + success = true, + data = new + { + list = pagedQuery, + total = totalCount, + page = page, + pageSize = pageSize, + totalPages = (int)Math.Ceiling((double)totalCount / pageSize) + }, + message = "查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + /// + /// 報名明細查詢 - Excel 匯出格式 + /// GET api/pivot/registration_details_export + /// + /// 開始日期 + /// 結束日期 + /// 法會編號 + /// 信眾編號 + /// + [HttpGet] + [Route("api/pivot/registration_details_export")] + public IHttpActionResult GetRegistrationDetailsForExport(string startDate = null, string endDate = null, + int? activityNum = null, int? followerNum = null) + { + try + { + // 完全對應 Excel 中的欄位結構 + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join ai in _db.actItems on pod.actItem_num equals ai.num + join act in _db.activities on po.activity_num equals act.num + join f in _db.followers on po.f_num equals f.num + join aik in _db.actItem_kind on ai.kind equals aik.num + select new + { + // 完全對應 Excel 欄位名稱 + 法會ID = act.num, + 法會名稱 = act.subject, + 開始日期 = act.startDate_solar, + 結束日期 = act.endDate_solar, + 信眾編號 = f.f_number, + 信眾姓名 = f.u_name, + 報名編號 = po.order_no, + 報名日期 = po.up_time, + 功德主 = pod.parent_num != null ? "是" : "否", + 功德類型 = aik.kind, + 功德名稱 = ai.subject, + 數量 = pod.qty, + 金額 = pod.price, + 已收 = 0, + 未收 = pod.price * pod.qty + }; + + // 套用篩選條件 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.開始日期 >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.結束日期 <= end); + } + if (activityNum.HasValue) + { + query = query.Where(x => x.法會ID == activityNum.Value); + } + if (followerNum.HasValue) + { + query = query.Where(x => x.信眾編號 == followerNum.ToString()); + } + + var exportData = query.OrderByDescending(x => x.報名日期) + .ThenByDescending(x => x.法會ID) + .ToList() + .Select(x => new + { + x.法會ID, + x.法會名稱, + 開始日期 = x.開始日期.HasValue ? x.開始日期.Value.ToString("yyyy/MM/dd") : "", + 結束日期 = x.結束日期.HasValue ? x.結束日期.Value.ToString("yyyy/MM/dd") : "", + x.信眾編號, + x.信眾姓名, + x.報名編號, + 報名日期 = x.報名日期.HasValue ? x.報名日期.Value.ToString("yyyy/MM/dd HH:mm") : "", + x.功德主, + x.功德類型, + x.功德名稱, + x.數量, + x.金額, + x.已收, + x.未收 + }) + .ToList(); + + // 統計資訊 + var summary = new + { + 總筆數 = exportData.Count, + 總金額 = exportData.Sum(x => x.金額 * x.數量), + 參與法會數 = exportData.Select(x => x.法會ID).Distinct().Count(), + 參與信眾數 = exportData.Select(x => x.信眾編號).Distinct().Count(), + 功德主數量 = exportData.Count(x => x.功德主 == "是") + }; + + var result = new + { + success = true, + data = new + { + details = exportData, + summary = summary, + export_time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"), + filters = new + { + startDate, + endDate, + activityNum, + followerNum + } + }, + message = "匯出資料準備完成" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"匯出失敗:{ex.Message}"); + } + } + + /// + /// 取得法會報名統計 + /// GET api/pivot/activity_stats + /// + /// 開始日期 + /// 結束日期 + /// 法會編號 + /// + [HttpGet] + [Route("api/pivot/activity_stats")] + public IHttpActionResult GetActivityStats(string startDate = null, string endDate = null, int? activityNum = null) + { + try + { + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join act in _db.activities on po.activity_num equals act.num + join ai in _db.actItems on pod.actItem_num equals ai.num + join aik in _db.actItem_kind on ai.kind equals aik.num + join f in _db.followers on po.f_num equals f.num + select new + { + ActivityNum = act.num, + ActivityName = act.subject, + StartDate = act.startDate_solar, + EndDate = act.endDate_solar, + FollowerNum = f.num, + FollowerName = f.u_name, + OrderNo = po.order_no, + OrderDate = po.up_time, + KindName = aik.kind, + ItemName = ai.subject, + Qty = pod.qty, + Price = pod.price, + Amount = pod.qty * pod.price + }; + + // 日期篩選 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.StartDate >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.EndDate <= end); + } + + // 法會篩選 + if (activityNum.HasValue) + { + query = query.Where(x => x.ActivityNum == activityNum.Value); + } + + // 統計資料 + var stats = query.GroupBy(x => new { x.ActivityNum, x.ActivityName, x.StartDate, x.EndDate }) + .Select(g => new + { + activity_num = g.Key.ActivityNum, + activity_name = g.Key.ActivityName, + start_date = g.Key.StartDate, + end_date = g.Key.EndDate, + total_orders = g.Select(x => x.OrderNo).Distinct().Count(), + total_followers = g.Select(x => x.FollowerNum).Distinct().Count(), + total_amount = g.Sum(x => x.Amount), + total_qty = g.Sum(x => x.Qty), + avg_amount_per_follower = g.GroupBy(x => x.FollowerNum).Average(fg => fg.Sum(x => x.Amount)) + }) + .OrderByDescending(x => x.start_date) + .ToList(); + + var result = new + { + success = true, + data = stats, + message = "查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + /// + /// 取得信眾參與分析 + /// GET api/pivot/follower_analysis + /// + /// 開始日期 + /// 結束日期 + /// 信眾編號 + /// + [HttpGet] + [Route("api/pivot/follower_analysis")] + public IHttpActionResult GetFollowerAnalysis(string startDate = null, string endDate = null, int? followerNum = null) + { + try + { + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join act in _db.activities on po.activity_num equals act.num + join ai in _db.actItems on pod.actItem_num equals ai.num + join aik in _db.actItem_kind on ai.kind equals aik.num + join f in _db.followers on po.f_num equals f.num + select new + { + FollowerNum = f.num, + FollowerName = f.u_name, + FollowerCode = f.f_number, + ActivityNum = act.num, + ActivityName = act.subject, + StartDate = act.startDate_solar, + EndDate = act.endDate_solar, + OrderDate = po.up_time, + KindName = aik.kind, + ItemName = ai.subject, + Amount = pod.qty * pod.price, + HasParent = pod.parent_num != null + }; + + // 日期篩選 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.StartDate >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.EndDate <= end); + } + + // 信眾篩選 + if (followerNum.HasValue) + { + query = query.Where(x => x.FollowerNum == followerNum.Value); + } + + // 信眾統計分析 + var followerStats = query.GroupBy(x => new { x.FollowerNum, x.FollowerName, x.FollowerCode }) + .Select(g => new + { + follower_num = g.Key.FollowerNum, + follower_name = g.Key.FollowerName, + follower_code = g.Key.FollowerCode, + total_activities = g.Select(x => x.ActivityNum).Distinct().Count(), + total_amount = g.Sum(x => x.Amount), + total_orders = g.Select(x => x.OrderDate).Count(), + avg_amount_per_activity = g.GroupBy(x => x.ActivityNum).Average(ag => ag.Sum(x => x.Amount)), + is_patron_count = g.Count(x => x.HasParent), + participation_rate = Math.Round((double)g.Select(x => x.ActivityNum).Distinct().Count() / _db.activities.Count() * 100, 2), + favorite_kinds = g.GroupBy(x => x.KindName) + .OrderByDescending(kg => kg.Sum(x => x.Amount)) + .Take(3) + .Select(kg => new { kind = kg.Key, amount = kg.Sum(x => x.Amount) }) + .ToList(), + recent_activities = g.OrderByDescending(x => x.OrderDate) + .Take(5) + .Select(x => new { + activity_name = x.ActivityName, + order_date = x.OrderDate, + amount = x.Amount + }) + .ToList() + }) + .OrderByDescending(x => x.total_amount) + .ToList(); + + var result = new + { + success = true, + data = followerStats, + message = "查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + /// + /// 取得收入統計 + /// GET api/pivot/income_stats + /// + /// 開始日期 + /// 結束日期 + /// 分組方式 (monthly/yearly/activity) + /// + [HttpGet] + [Route("api/pivot/income_stats")] + public IHttpActionResult GetIncomeStats(string startDate = null, string endDate = null, string groupBy = "monthly") + { + try + { + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join act in _db.activities on po.activity_num equals act.num + join ai in _db.actItems on pod.actItem_num equals ai.num + join aik in _db.actItem_kind on ai.kind equals aik.num + select new + { + ActivityNum = act.num, + ActivityName = act.subject, + StartDate = act.startDate_solar, + OrderDate = po.up_time, + KindNum = aik.num, + KindName = aik.kind, + ItemName = ai.subject, + Amount = pod.qty * pod.price + }; + + // 日期篩選 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.StartDate >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.StartDate <= end); + } + + object stats = null; + + switch (groupBy?.ToLower()) + { + case "monthly": + stats = query.GroupBy(x => new { + Year = x.StartDate.Value.Year, + Month = x.StartDate.Value.Month + }) + .Select(g => new + { + period = $"{g.Key.Year}/{g.Key.Month:00}", + year = g.Key.Year, + month = g.Key.Month, + total_amount = g.Sum(x => x.Amount), + total_activities = g.Select(x => x.ActivityNum).Distinct().Count(), + kind_breakdown = g.GroupBy(x => x.KindName) + .Select(kg => new { + kind = kg.Key, + amount = kg.Sum(x => x.Amount) + }).ToList() + }) + .OrderBy(x => x.year).ThenBy(x => x.month) + .ToList(); + break; + + case "yearly": + stats = query.GroupBy(x => x.StartDate.Value.Year) + .Select(g => new + { + period = g.Key.ToString(), + year = g.Key, + total_amount = g.Sum(x => x.Amount), + total_activities = g.Select(x => x.ActivityNum).Distinct().Count(), + kind_breakdown = g.GroupBy(x => x.KindName) + .Select(kg => new { + kind = kg.Key, + amount = kg.Sum(x => x.Amount) + }).ToList(), + monthly_trend = g.GroupBy(x => x.StartDate.Value.Month) + .Select(mg => new { + month = mg.Key, + amount = mg.Sum(x => x.Amount) + }).OrderBy(x => x.month).ToList() + }) + .OrderBy(x => x.year) + .ToList(); + break; + + case "activity": + stats = query.GroupBy(x => new { x.ActivityNum, x.ActivityName, x.StartDate }) + .Select(g => new + { + activity_num = g.Key.ActivityNum, + activity_name = g.Key.ActivityName, + start_date = g.Key.StartDate, + total_amount = g.Sum(x => x.Amount) + }) + .OrderByDescending(x => x.start_date) + .ToList() + .Select(g => new + { + g.activity_num, + g.activity_name, + g.start_date, + g.total_amount, + kind_breakdown = query.Where(x => x.ActivityNum == g.activity_num) + .GroupBy(x => x.KindName) + .Select(kg => new + { + kind = kg.Key, + amount = kg.Sum(x => x.Amount), + percentage = g.total_amount.HasValue && g.total_amount.Value > 0 + ? Math.Round((double)(kg.Sum(x => x.Amount) ?? 0) / (double)g.total_amount.Value * 100, 2) + : 0 + }) + .OrderByDescending(x => x.amount) + .ToList() + }) + .ToList(); + break; + + default: + return BadRequest("不支援的分組方式,請使用 monthly, yearly 或 activity"); + } + + var result = new + { + success = true, + data = stats, + groupBy = groupBy, + message = "查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + #endregion + + #region 數據分析 API + + /// + /// 樞紐分析 + /// POST api/pivot/pivot_analysis + /// + /// 分析請求參數 + /// + [HttpPost] + [Route("api/pivot/pivot_analysis")] + public IHttpActionResult PostPivotAnalysis(dynamic request) + { + try + { + // TODO: 實作樞紐分析邏輯 + var result = new + { + success = true, + data = new + { + rows = new List(), + columns = new List(), + values = new List() + }, + message = "分析完成" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"分析失敗:{ex.Message}"); + } + } + + /// + /// 趨勢分析 + /// GET api/pivot/trend_analysis + /// + /// 指標名稱 + /// 開始日期 + /// 結束日期 + /// 時間間隔 + /// + [HttpGet] + [Route("api/pivot/trend_analysis")] + public IHttpActionResult GetTrendAnalysis(string metric, string startDate = null, string endDate = null, string interval = "monthly") + { + try + { + if (string.IsNullOrEmpty(metric)) + { + return BadRequest("請指定分析指標"); + } + + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join act in _db.activities on po.activity_num equals act.num + join f in _db.followers on po.f_num equals f.num + select new + { + ActivityDate = act.startDate_solar, + OrderDate = po.up_time, + Amount = pod.qty * pod.price, + FollowerNum = f.num, + ActivityNum = act.num + }; + + // 日期篩選 + if (!string.IsNullOrEmpty(startDate) && DateTime.TryParse(startDate, out DateTime start)) + { + query = query.Where(x => x.ActivityDate >= start); + } + if (!string.IsNullOrEmpty(endDate) && DateTime.TryParse(endDate, out DateTime end)) + { + query = query.Where(x => x.ActivityDate <= end); + } + + object trendData = null; + string trendDirection = "stable"; + + switch (metric?.ToLower()) + { + case "income": // 收入趨勢 + if (interval == "monthly") + { + var monthlyIncome = query.GroupBy(x => new { + Year = x.ActivityDate.Value.Year, + Month = x.ActivityDate.Value.Month + }) + .Select(g => new + { + period = $"{g.Key.Year}/{g.Key.Month:00}", + value = g.Sum(x => x.Amount), + date = new DateTime(g.Key.Year, g.Key.Month, 1) + }) + .OrderBy(x => x.date) + .ToList(); + + // 計算趨勢方向 + if (monthlyIncome.Count >= 2) + { + var firstHalf = monthlyIncome.Take(monthlyIncome.Count / 2).Average(x => (double)x.value); + var secondHalf = monthlyIncome.Skip(monthlyIncome.Count / 2).Average(x => (double)x.value); + trendDirection = secondHalf > firstHalf * 1.05 ? "up" : (secondHalf < firstHalf * 0.95 ? "down" : "stable"); + } + + trendData = new + { + labels = monthlyIncome.Select(x => x.period).ToList(), + values = monthlyIncome.Select(x => x.value).ToList(), + growth_rates = monthlyIncome.Select((x, i) => i == 0 ? 0.0 : + Math.Round((double)(x.value - monthlyIncome[i-1].value) / (double)monthlyIncome[i-1].value * 100, 2)) + .ToList() + }; + } + break; + + case "followers": // 參與信眾數趨勢 + if (interval == "monthly") + { + var monthlyFollowers = query.GroupBy(x => new { + Year = x.ActivityDate.Value.Year, + Month = x.ActivityDate.Value.Month + }) + .Select(g => new + { + period = $"{g.Key.Year}/{g.Key.Month:00}", + value = g.Select(x => x.FollowerNum).Distinct().Count(), + date = new DateTime(g.Key.Year, g.Key.Month, 1) + }) + .OrderBy(x => x.date) + .ToList(); + + // 計算趨勢方向 + if (monthlyFollowers.Count >= 2) + { + var firstHalf = monthlyFollowers.Take(monthlyFollowers.Count / 2).Average(x => (double)x.value); + var secondHalf = monthlyFollowers.Skip(monthlyFollowers.Count / 2).Average(x => (double)x.value); + trendDirection = secondHalf > firstHalf * 1.05 ? "up" : (secondHalf < firstHalf * 0.95 ? "down" : "stable"); + } + + trendData = new + { + labels = monthlyFollowers.Select(x => x.period).ToList(), + values = monthlyFollowers.Select(x => x.value).ToList(), + growth_rates = monthlyFollowers.Select((x, i) => i == 0 ? 0.0 : + Math.Round((double)(x.value - monthlyFollowers[i-1].value) / (double)monthlyFollowers[i-1].value * 100, 2)) + .ToList() + }; + } + break; + + case "activities": // 法會數量趨勢 + var monthlyActivities = query.GroupBy(x => new { + Year = x.ActivityDate.Value.Year, + Month = x.ActivityDate.Value.Month + }) + .Select(g => new + { + period = $"{g.Key.Year}/{g.Key.Month:00}", + value = g.Select(x => x.ActivityNum).Distinct().Count(), + date = new DateTime(g.Key.Year, g.Key.Month, 1) + }) + .OrderBy(x => x.date) + .ToList(); + + trendData = new + { + labels = monthlyActivities.Select(x => x.period).ToList(), + values = monthlyActivities.Select(x => x.value).ToList() + }; + break; + + default: + return BadRequest("不支援的指標,請使用 income, followers 或 activities"); + } + + var result = new + { + success = true, + data = new + { + metric = metric, + interval = interval, + trend = trendDirection, + chart_data = trendData + }, + message = "分析完成" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"分析失敗:{ex.Message}"); + } + } + + /// + /// 對比分析 + /// GET api/pivot/comparative_analysis + /// + /// 對比類型 + /// 期間1 + /// 期間2 + /// + [HttpGet] + [Route("api/pivot/comparative_analysis")] + public IHttpActionResult GetComparativeAnalysis(string compareType, string period1, string period2) + { + try + { + // TODO: 實作對比分析邏輯 + var result = new + { + success = true, + data = new + { + period1_data = new List(), + period2_data = new List(), + comparison = new + { + growth_rate = 0.0, + difference = 0.0 + } + }, + message = "對比完成" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"對比失敗:{ex.Message}"); + } + } + + #endregion + + #region 報表管理 API + + /// + /// 取得自訂報表清單 + /// GET api/pivot/custom_reports + /// + /// 頁碼 + /// 每頁筆數 + /// + [HttpGet] + [Route("api/pivot/custom_reports")] + public IHttpActionResult GetCustomReports(int page = 1, int pageSize = 10) + { + try + { + // TODO: 實作自訂報表查詢邏輯 + var result = new + { + success = true, + data = new + { + list = new List(), + total = 0, + page = page, + pageSize = pageSize + }, + message = "查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + /// + /// 建立自訂報表 + /// POST api/pivot/custom_reports + /// + /// 報表設定 + /// + [HttpPost] + [Route("api/pivot/custom_reports")] + public IHttpActionResult PostCustomReport(dynamic request) + { + try + { + // TODO: 實作自訂報表建立邏輯 + var result = new + { + success = true, + data = new { id = 1 }, + message = "報表建立成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"建立失敗:{ex.Message}"); + } + } + + /// + /// 匯出報表 + /// GET api/pivot/export/{reportId} + /// + /// 報表編號 + /// 匯出格式 (excel/pdf/csv) + /// + [HttpGet] + [Route("api/pivot/export/{reportId}")] + public IHttpActionResult GetReportExport(int reportId, string format = "excel") + { + try + { + // TODO: 實作報表匯出邏輯 + var result = new + { + success = true, + data = new + { + download_url = $"/admin/pivot/downloads/report_{reportId}.{format}", + file_name = $"report_{reportId}_{DateTime.Now:yyyyMMdd}.{format}" + }, + message = "匯出成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"匯出失敗:{ex.Message}"); + } + } + + #endregion + + #region Excel 數據連接 API + + /// + /// Excel 數據連接專用 - 簡化格式 + /// GET api/pivot/excel_data + /// + /// 回傳格式 (json/csv) + /// 限制筆數 + /// + [HttpGet] + [Route("api/pivot/excel_data")] + [AllowAnonymous] // 允許 Excel 直接呼叫 + public IHttpActionResult GetExcelData(string format = "json", int limit = 5000) + { + try + { + // 直接查詢,對應視圖結構 + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join ai in _db.actItems on pod.actItem_num equals ai.num + join act in _db.activities on po.activity_num equals act.num + join f in _db.followers on po.f_num equals f.num + join aik in _db.actItem_kind on ai.kind equals aik.num + orderby po.up_time descending, act.num descending + select new + { + ActivityId = act.num, + ActivityName = act.subject, + StartDate = act.startDate_solar, + EndDate = act.endDate_solar, + FollowerCode = f.f_number, + FollowerName = f.u_name, + OrderNo = po.order_no, + OrderDate = po.up_time, + IsPatron = pod.parent_num != null ? "是" : "否", + KindName = aik.kind, + ItemName = ai.subject, + Quantity = pod.qty, + Price = pod.price, + Received = 0, + Outstanding = pod.price * pod.qty + }; + + var data = query.Take(limit).ToList(); + + if (format?.ToLower() == "csv") + { + // CSV 格式回傳 + var csv = "法會ID,法會名稱,開始日期,結束日期,信眾編號,信眾姓名,報名編號,報名日期,功德主,功德類型,功德名稱,數量,金額,已收,未收\n"; + foreach (var item in data) + { + csv += $"{item.ActivityId},{item.ActivityName},{item.StartDate:yyyy/MM/dd},{item.EndDate:yyyy/MM/dd}," + + $"{item.FollowerCode},{item.FollowerName},{item.OrderNo},{item.OrderDate:yyyy/MM/dd HH:mm}," + + $"{item.IsPatron},{item.KindName},{item.ItemName},{item.Quantity},{item.Price},{item.Received},{item.Outstanding}\n"; + } + + return Ok(csv); + } + + // JSON 格式回傳 (預設) + var result = new + { + success = true, + data = data, + count = data.Count, + generated_at = DateTime.Now, + message = "資料查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"資料查詢失敗:{ex.Message}"); + } + } + + /// + /// Excel 數據連接專用 - 按欄位顏色分類格式 + /// GET api/pivot/excel_data_structured + /// + /// 是否包含元數據 + /// 限制筆數 + /// + [HttpGet] + [Route("api/pivot/excel_data_structured")] + [AllowAnonymous] + public IHttpActionResult GetExcelDataStructured(bool includeMetadata = false, int limit = 5000) + { + try + { + var query = from pod in _db.pro_order_detail + join po in _db.pro_order on pod.order_no equals po.order_no + join ai in _db.actItems on pod.actItem_num equals ai.num + join act in _db.activities on po.activity_num equals act.num + join f in _db.followers on po.f_num equals f.num + join aik in _db.actItem_kind on ai.kind equals aik.num + orderby po.up_time descending, act.num descending + select new + { + // 🟠 橘色欄位 - 法會基礎資料 + activity_fields = new + { + 法會ID = act.num, + 法會名稱 = act.subject, + 開始日期 = act.startDate_solar, + 結束日期 = act.endDate_solar + }, + + // 🔵 藍色欄位 - 信眾基礎資料 + follower_fields = new + { + 信眾編號 = f.f_number, + 信眾姓名 = f.u_name, + 報名編號 = po.order_no, + 報名日期 = po.up_time + }, + + // 🟢 綠色欄位 - 功德資訊欄位 + merit_info_fields = new + { + 功德主 = pod.parent_num != null ? "是" : "否", + 功德類型 = aik.kind, + 功德名稱 = ai.subject + }, + + // 🟣 紫色欄位 - 計算欄位 + calculated_fields = new + { + 數量 = pod.qty, + 金額 = pod.price, + 已收 = 0, + 未收 = pod.price * pod.qty, + 小計 = pod.price * pod.qty + }, + + // 📊 元數據 (可選) + metadata = includeMetadata ? new + { + 原始資料 = new + { + parent_num = pod.parent_num, + kind_num = aik.num, + item_num = ai.num, + activity_num = act.num, + follower_num = f.num + }, + 欄位分類說明 = new + { + 橘色欄位_法會資料 = "法會相關的基礎資料,用於法會維度分析", + 藍色欄位_信眾資料 = "信眾相關的基礎資料,用於信眾維度分析", + 綠色欄位_功德資訊 = "功德相關的資訊欄位,包含功德主、功德類型和名稱", + 紫色欄位_計算欄位 = "需要數學計算或統計的欄位" + } + } : null + }; + + var data = query.Take(limit).ToList(); + + var result = new + { + success = true, + data = new + { + records = data, + field_categories = new + { + 橘色_法會基礎資料 = new[] { "法會ID", "法會名稱", "開始日期", "結束日期" }, + 藍色_信眾基礎資料 = new[] { "信眾編號", "信眾姓名", "報名編號", "報名日期" }, + 綠色_功德資訊欄位 = new[] { "功德主", "功德類型", "功德名稱" }, + 紫色_計算欄位 = new[] { "數量", "金額", "已收", "未收" } + }, + usage_notes = new + { + 橘色欄位說明 = "法會相關基礎資料,適合用於法會維度的篩選和分組", + 藍色欄位說明 = "信眾相關基礎資料,適合用於信眾維度的篩選和分組", + 綠色欄位說明 = "功德資訊欄位,包含功德主判斷、功德類型和名稱,適合用於功德維度的篩選和分組", + 紫色欄位說明 = "計算統計欄位,適合用於樞紐分析的值區域進行加總", + Excel樞紐分析建議 = new + { + 篩選器 = "橘色(法會名稱) + 藍色(報名日期) + 綠色(功德類型)", + 列標籤 = "藍色(信眾姓名) + 綠色(功德主)", + 欄標籤 = "橘色(法會名稱) 或時間維度", + 值區域 = "紫色(金額加總、數量計數)" + } + } + }, + count = data.Count, + generated_at = DateTime.Now, + message = "結構化資料查詢成功" + }; + + return Ok(result); + } + catch (Exception ex) + { + return BadRequest($"查詢失敗:{ex.Message}"); + } + } + + #endregion + + #region 工具方法 + + /// + /// 釋放資源 + /// + /// + protected override void Dispose(bool disposing) + { + if (disposing) + { + _db?.Dispose(); + } + base.Dispose(disposing); + } + + #endregion +} \ No newline at end of file diff --git a/web/admin/pivot/README-pivot-01.md b/web/admin/pivot/README-pivot-01.md new file mode 100644 index 0000000..005f749 --- /dev/null +++ b/web/admin/pivot/README-pivot-01.md @@ -0,0 +1,1401 @@ +# 法會報名統計 + +## 相關檢視VIEW + +### 法會統計 +```SQL +CREATE VIEW [dbo].[法會統計] +AS +SELECT TOP (100) PERCENT dbo.activity.num, dbo.activity.category_kind, dbo.activity_category_kind.kind AS 活動主類型, dbo.activity.kind, + dbo.activity_kind.kind AS 活動詳細分類, dbo.activity.subject AS 活動名稱, dbo.activity.startDate_solar AS 開始日期, + dbo.activity.endDate_solar AS 結束日期, dbo.activity.dueDate AS 報名截止日, SUM(dbo.pro_order_detail.qty) AS 功德數量, + SUM(dbo.pro_order_detail.price) AS 合計 +FROM dbo.pro_order_detail LEFT OUTER JOIN + dbo.pro_order ON dbo.pro_order_detail.order_no = dbo.pro_order.order_no RIGHT OUTER JOIN + dbo.activity ON dbo.pro_order.activity_num = dbo.activity.num LEFT OUTER JOIN + dbo.activity_kind ON dbo.activity.kind = dbo.activity_kind.num LEFT OUTER JOIN + dbo.activity_category_kind ON dbo.activity.category_kind = dbo.activity_category_kind.num +GROUP BY dbo.activity.num, dbo.activity.category_kind, dbo.activity_category_kind.kind, dbo.activity.kind, dbo.activity_kind.kind, dbo.activity.subject, + dbo.activity.startDate_solar, dbo.activity.endDate_solar, dbo.activity.dueDate +GO +``` + +### 報名明細查詢 +```SQL +CREATE VIEW [dbo].[報名明細查詢] +AS +SELECT dbo.activity.num AS 法會ID, dbo.activity.subject AS 法會名稱, dbo.activity.startDate_solar AS 開始日期, dbo.activity.endDate_solar AS 結束日期, + dbo.followers.f_number AS 信眾編號, dbo.followers.u_name AS 信眾姓名, dbo.pro_order.order_no AS 報名編號, dbo.pro_order.up_time AS 報名日期, + CASE WHEN parent_num IS NOT NULL THEN '是' ELSE '否' END AS 功德主, dbo.actItem_kind.kind AS 功德類型, dbo.actItem.subject AS 功德名稱, + dbo.pro_order_detail.qty AS 數量, dbo.pro_order_detail.price AS 金額, 0 AS 已收, dbo.pro_order_detail.price * dbo.pro_order_detail.qty - 0 AS 未收 +FROM dbo.pro_order_detail INNER JOIN + dbo.pro_order ON dbo.pro_order_detail.order_no = dbo.pro_order.order_no INNER JOIN + dbo.actItem ON dbo.pro_order_detail.actItem_num = dbo.actItem.num INNER JOIN + dbo.activity ON dbo.pro_order.activity_num = dbo.activity.num INNER JOIN + dbo.followers ON dbo.pro_order.f_num = dbo.followers.num INNER JOIN + dbo.actItem_kind ON dbo.actItem.kind = dbo.actItem_kind.num +GO +``` +#### 欄位分類 +``` +// 🟠 橘色欄位 - 法會基礎資料 (法會相關的直接來源) +法會ID = act.num, +法會名稱 = act.subject, +開始日期 = act.startDate_solar, +結束日期 = act.endDate_solar, + +// 🔵 藍色欄位 - 信眾基礎資料 (信眾相關的直接來源) +信眾編號 = f.f_number, +信眾姓名 = f.u_name, +報名編號 = po.order_no, +報名日期 = po.up_time, + +// 🟢綠色欄位 - 功德資訊欄位 (功德相關資訊) +功德主 = pod.parent_num != null ? "是" : "否", +功德類型 = aik.kind, +功德名稱 = ai.subject, + +// 🟣 紫色欄位 - 計算欄位 (需要計算) +數量 = pod.qty, +金額 = pod.price, +已收 = 0, // 業務邏輯:固定為 0 +未收 = pod.price * pod.qty - 0, // 計算未收金額 +``` + +## API設計 +- pivot01Controller +- 查詢: 法會統計, 條件參數: 年份 +- 查詢: 報名明細查詢, 條件參數: 法會ID +- 因為: 希望能隨時加上新的檢視, 不需要動到EF-MODEL +- 所以: 直接用SQL SELECT指令查詢, VIEW名稱也以字串命名 +- 各檢視的查詢, 都用很固定的模式. +- 例: SELECT * FROM {VIEW名稱} WHERE {條件欄位} = {條件值(參數傳入)} { AND/OR 其他固定條件} ORDER BY {欄位, 欄位, ...} +- 傳回欄位: 都以中文名稱為主, 故不用定義對照表 +- 其它統計, 都以VUE/JS, 在瀏覽器端操作 + + +## 頁面設計需求 +- 檔名: pivot/pivot01.aspx + - .cs只是個空架子, 參考: D:\dev\ez\17168erp\git_17888\web\admin\pivot\query.aspx.cs +- 頁籤式操作介面 +- Tab1 : 法會選擇頁面 + - 相關檢視: 法會統計 + - 一開始只有Tab1, 其它隱藏 + - 年份選擇, 預設今年, 切換年份時重新查詢 + - 表格顯示資料條件: + - 當年度(日期範圍涵蓋), 及無日期範圍(NULL) + - 排序: 日期 + - 表格按鈕: "選擇", 點選後, 以該場法會活動, 為查詢條件 + - 查詢: 報名明細查詢, where: 指定法會的所有資料 + - 按"選擇"後, 才出現Tab2~5 +- Tab2 : 牌位分析 + - PIVOT TABLE, 詳見說明 +- Tab3 : 信眾報名分析 + - PIVOT TABLE, 詳見說明 +- Tab4 : 功德主查詢分析 + - PIVOT TABLE, 詳見說明 +- Tab5 : 報名明細資料 + - 相關檢視: 報名明細查詢 + - 以表格呈現資料 + - Tab1所選擇法會的所有明細資料 + +### Tab1 : 法會選擇頁面 + +- 查詢列: + - 下拉:年份選擇, + - 今年起前後5年, 預設今年 + - 可自行輸入, 也可輸入前後5年以外的年份 + - "查看"按鈕, + - 按下即查詢所選年份的所有活動 + - 更新下方表格 +- 法會表格: + - 頁面載入時, 依下拉預設查詢當年度所有法會(包含) + - 直接列出所有欄位 +### Tab2 : 牌位分析 +- 參考的EXCEL樞紐分析表 + - 篩選: 法會名稱(不用處理, 因為我們的查詢, 已經只限一場法會了) + - 列: 功德類型, 功德名稱 + - 欄: 無 + - 值: 數量:加總, 金額加總 +- UI呈現: + - 以vuetify Table呈現樞紐分析表 + - 用JS把該法會明細資料變成PIVOT TABLE的型式 + - 可以2層收合表格列(功德類型, 功德名稱) + - 分別顯示: 該類型, 或該功德項目名稱的: 加總數量, 加總金額 + - 若無法2層, 就直接呈現4個欄位: 功德類型, 功德名稱, 數量, 金額 + - 上下層, 樣式要有明顯區隔 + - 最後一列, 要有全部總計, 若vuetify table有footer也可以 +### Tab3 : 信眾報名分析 +- 搜尋欄位: 關鍵字: 姓名過濾 +- 也是先做PIVOT運算, 欄位如下: + - 信眾編號 + - 信眾姓名 + - 功德主(功德主=是)數量 + - 功德主(功德主=是)金額 + - 功德數量(功德主=否) + - 功德金額(功德主=否) +### Tab4 : 功德主查詢分析 +- 搜尋欄位: + - 關鍵字: 姓名過濾 + - 功德類型下拉: 全部或單一分類 + - RADIO : 切換值: 金額, 或:數量 + - CHECK : 功德主: 是/否 +- PIVOT TABLE + - 第一欄: 信眾姓名, FIXED + - 第二欄: 總計(金額或數量) + - 第三欄以後: + - 標題: 所選功德類型(或全部)的功德項目 + - 資料列: (依選取) 金額或數量 (該信眾/該功德) + +### Tab5 : 報名明細資料 +(細節待補充) +- 表格: 欄位: 報名明細查詢的所有欄位 +- 各欄位表頭顏色標示為前述分組 + +## 實作計劃 + +### Phase 1 : implement controller + +#### 目標 +創建 `pivot01Controller.cs`,提供簡單直觀的 API 端點 + +#### 設計原則 +- **VIEW 導向**: 直接使用 SQL 查詢 VIEW,不依賴 EF Model +- **動態查詢**: VIEW 名稱以字串參數傳遞,便於新增 VIEW 而不需改程式 +- **固定查詢模式**: `SELECT * FROM {VIEW名稱} WHERE {條件欄位} = {參數值} ORDER BY {排序欄位}` +- **中文欄位名**: 查詢結果保留 VIEW 的中文欄位名,前端直接使用 + +#### API 端點設計 + +##### 1. GET /api/pivot01/activity_stats +**功能**: 查詢法會統計(對應「法會統計」VIEW) + +**參數**: +- `year` (int, required): 查詢年份 +- `includeNoDate` (bool, optional, default=true): 是否包含無日期的法會 + +**查詢邏輯**: +```sql +SELECT * FROM [法會統計] +WHERE (YEAR(開始日期) = @year OR YEAR(結束日期) = @year) + OR (@includeNoDate = 1 AND (開始日期 IS NULL OR 結束日期 IS NULL)) +ORDER BY 開始日期 DESC, 結束日期 DESC +``` + +**回應格式**: +```json +{ + "success": true, + "data": [ + { + "num": 123, + "category_kind": 1, + "活動主類型": "法會", + "kind": 5, + "活動詳細分類": "法會-梁皇寶懺", + "活動名稱": "2025年梁皇寶懺", + "開始日期": "2025-03-01", + "結束日期": "2025-03-10", + "報名截止日": "2025-02-25", + "功德數量": 150, + "合計": 500000 + } + ], + "message": "查詢成功", + "rowCount": 10 +} +``` + +##### 2. GET /api/pivot01/registration_details +**功能**: 查詢報名明細(對應「報名明細查詢」VIEW) + +**參數**: +- `activityNum` (int, required): 法會編號(法會ID) +- `page` (int, optional, default=1): 頁碼 +- `pageSize` (int, optional, default=50): 每頁筆數(最大 10000) + +**查詢邏輯**: +```sql +SELECT * FROM [報名明細查詢] +WHERE 法會ID = @activityNum +ORDER BY 報名日期 DESC, 報名編號 DESC +OFFSET (@page - 1) * @pageSize ROWS +FETCH NEXT @pageSize ROWS ONLY +``` + +**回應格式**: +```json +{ + "success": true, + "data": { + "list": [ + { + "法會ID": 123, + "法會名稱": "2025年梁皇寶懺", + "開始日期": "2025-03-01", + "結束日期": "2025-03-10", + "信眾編號": "F12345", + "信眾姓名": "王大明", + "報名編號": "ORD20250101001", + "報名日期": "2025-01-15T10:30:00", + "功德主": "是", + "功德類型": "牌位", + "功德名稱": "消災大牌位", + "數量": 1, + "金額": 3000, + "已收": 0, + "未收": 3000 + } + ], + "pagination": { + "currentPage": 1, + "pageSize": 50, + "totalRows": 523, + "totalPages": 11 + } + }, + "message": "查詢成功" +} +``` + +#### 實作檔案 +``` +D:\dev\ez\17168erp\git_17888\web\App_Code\api\pivot01Controller.cs +``` + +#### 程式架構 +```csharp +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Web.Http; +using System.Configuration; + +[ezAuthorize] +public class pivot01Controller : ApiController +{ + private string _connectionString = ConfigurationManager.ConnectionStrings["ezEntities"].ConnectionString; + + // 通用 VIEW 查詢方法 + private DataTable ExecuteSqlQuery(string sql, SqlParameter[] parameters = null); + private List> DataTableToDictionary(DataTable dt); + + // API 端點 + [HttpGet] + [Route("api/pivot01/activity_stats")] + public IHttpActionResult GetActivityStats(int year, bool includeNoDate = true); + + [HttpGet] + [Route("api/pivot01/registration_details")] + public IHttpActionResult GetRegistrationDetails(int activityNum, int page = 1, int pageSize = 50); +} +``` + +#### 開發步驟 +- [x] 確認資料庫中 VIEW 已建立 +- [x] 建立 `pivot01Controller.cs` +- [x] 實作通用 SQL 查詢方法 +- [x] 實作 `GetActivityStats` 端點 +- [x] 實作 `GetRegistrationDetails` 端點 +- [ ] 使用 Postman/瀏覽器測試 API +- [ ] 調整錯誤處理和回應格式 + +--- + +### Phase 2 : implement aspx/cs, basic + +#### 目標 +建立前端頁面 `pivot-01.aspx`,實作 Tab1(法會選擇)和 Tab5(報名明細資料) + +#### 實作檔案 +``` +D:\dev\ez\17168erp\git_17888\web\admin\pivot\pivot-01.aspx +D:\dev\ez\17168erp\git_17888\web\admin\pivot\pivot-01.aspx.cs +``` + +#### 設計原則 +- **頁籤式介面**: 使用 Vuetify Tabs 元件 +- **動態顯示**: 只在選擇法會後才顯示 Tab2-56 +- **響應式設計**: 適配桌面和平板 +- **資料快取**: 選擇法會後一次載入全部明細,供所有 Tab 使用 + +#### Tab1: 法會選擇頁面 + +##### UI 結構 +``` +┌─────────────────────────────────────────────────┐ +│ 📊 法會報名統計分析 │ +├─────────────────────────────────────────────────┤ +│ Tab1: 法會選擇 │ Tab2 │ Tab3 │ Tab4 │ Tab5 │ │ +├─────────────────────────────────────────────────┤ +│ 查詢條件 │ +│ ┌──────────┐ ┌─────────┐ │ +│ │ 年份: 2025 ▼│ │ [查看] │ │ +│ └──────────┘ └─────────┘ │ +│ │ +│ 法會清單 (共 15 場) │ +│ ┌─────────────────────────────────────────────┐│ +│ │編號│法會名稱│日期│報名數│金額│動作│ ││ +│ ├─────────────────────────────────────────────┤│ +│ │123│2025梁皇...│3/1-3/10│150│50萬│[選擇]│ ││ +│ │124│2025地藏...│4/5-4/12│200│60萬│[選擇]│ ││ +│ └─────────────────────────────────────────────┘│ +└─────────────────────────────────────────────────┘ +``` + +##### 功能規格 +1. **年份選擇器** + - 下拉選單,範圍:今年 ± 5 年 + - 預設值:當前年份(2025) + - 可手動輸入其他年份 + +2. **查看按鈕** + - 點擊後呼叫 API: `GET /api/pivot01/activity_stats?year={year}` + - 顯示 Loading 動畫 + - 更新法會清單表格 + +3. **法會清單表格** + - 欄位:編號、法會名稱、日期範圍、報名數、總金額、操作按鈕 + - 排序:日期降序 + - 可搜尋、可排序 + +4. **選擇按鈕** + - 點擊後呼叫 API: `GET /api/pivot01/registration_details?activityNum={num}&pageSize=10000` + - 儲存完整資料到 Vue data (`rawData`) + - 顯示 Tab2-6 + - 自動切換到 Tab5 + +#### Tab5: 報名明細資料 + +##### UI 結構 +``` +┌─────────────────────────────────────────────────┐ +│ Tab1 │ Tab2 │ Tab3 │ Tab4 │ Tab5: 報名明細資料 │ │ +├─────────────────────────────────────────────────┤ +│ 📌 當前法會: 2025年梁皇寶懺 (3/1-3/10) │ +│ 📊 總筆數: 523 筆 │ 總金額: NT$ 1,569,000 │ +│ │ +│ 🔍 搜尋: [____________________] [匯出Excel] │ +│ │ +│ 報名明細表格 │ +│ ┌─────────────────────────────────────────────┐│ +│ │法會│信眾│姓名│日期│類型│名稱│主│量│金額│收│ ││ +│ ├─────────────────────────────────────────────┤│ +│ │梁皇│F001│王大│1/15│牌位│消災│是│1│3000│3K│ ││ +│ │梁皇│F002│李小│1/16│供養│供僧│否│2│1000│1K│ ││ +│ └─────────────────────────────────────────────┘│ +│ 顯示 1-50 / 共 523 筆 [1][2][3]...[11] │ +└─────────────────────────────────────────────────┘ +``` + +##### 功能規格 +1. **資訊列** + - 顯示當前法會名稱和日期 + - 顯示總筆數和總金額(從 `rawData` 計算) + +2. **搜尋框** + - 可搜尋:信眾編號、信眾姓名、功德類型、功德名稱 + - 即時過濾(前端) + +3. **匯出 Excel 按鈕** + - 匯出當前過濾後的資料 + - 使用 CSV 格式(UTF-8 BOM) + - 檔名:`報名明細_{法會名稱}_{時間戳記}.csv` + +4. **報名明細表格** + - 欄位顏色標示: + - 🟠 橘色:法會相關(法會名稱、日期) + - 🔵 藍色:信眾相關(編號、姓名、報名日期) + - 🟢 綠色:功德相關(類型、名稱、功德主) + - 🟣 紫色:計算欄位(數量、金額、已收、未收) + - 可排序所有欄位 + - 分頁顯示(前端分頁) + +##### CSS 樣式 +```css +/* 欄位色彩標記 */ +.field-activity { border-left: 4px solid #ff9800; } /* 橘色 */ +.field-follower { border-left: 4px solid #2196f3; } /* 藍色 */ +.field-merit { border-left: 4px solid #4caf50; } /* 綠色 */ +.field-calculated { border-left: 4px solid #9c27b0; } /* 紫色 */ +``` + +#### Vue 資料結構 +```javascript +data() { + return { + activeTab: 0, // 當前頁籤 + + // Tab1: 法會選擇 + tab1: { + year: 2025, // 預設今年 + yearOptions: [2020, 2021, ..., 2030], + loading: false, + activities: [], // 法會清單 + selectedActivity: null + }, + + // 全域資料(所有 Tab 共用) + rawData: [], // 完整報名明細資料 + + // Tab5: 報名明細 + tab5: { + headers: [ + { text: '信眾姓名', value: '信眾姓名', class: 'field-follower' }, + { text: '報名日期', value: '報名日期', class: 'field-follower' }, + { text: '功德類型', value: '功德類型', class: 'field-merit' }, + { text: '功德名稱', value: '功德名稱', class: 'field-merit' }, + { text: '功德主', value: '功德主', class: 'field-merit' }, + { text: '數量', value: '數量', class: 'field-calculated' }, + { text: '金額', value: '金額', class: 'field-calculated' }, + { text: '已收', value: '已收', class: 'field-calculated' }, + { text: '未收', value: '未收', class: 'field-calculated' } + ], + search: '' + } + } +}, +computed: { + hasData() { return this.rawData && this.rawData.length > 0; }, + filteredData() { /* 搜尋過濾邏輯 */ }, + totalAmount() { /* 總金額計算 */ } +}, +methods: { + async loadActivities() { /* 載入法會清單 */ }, + async selectActivity(activity) { /* 選擇法會並載入明細 */ }, + exportToExcel() { /* 匯出 CSV */ } +} +``` + +#### 開發步驟 +- [x] 建立 `pivot-01.aspx.cs`(空架子,參考 query.aspx.cs) +- [x] 建立 `pivot-01.aspx` 基本框架(MasterPage、Content) +- [x] 實作 Tab1 UI(年份選擇、法會表格) +- [x] 實作 Tab1 邏輯(API 呼叫、資料綁定) +- [x] 實作 Tab5 UI(資訊列、搜尋框、明細表格) +- [x] 實作 Tab5 邏輯(過濾、排序、分頁) +- [x] 實作匯出 Excel 功能 +- [x] 調整 CSS 樣式(欄位顏色標示) +- [ ] 測試所有功能 + +#### 資料流程 +``` +使用者選擇年份 → API查詢法會列表 → 顯示法會表格 + ↓ +使用者點選法會 → API載入完整明細 → 儲存到rawData + ↓ + 切換到Tab5 → 顯示表格 → 可搜尋/排序/匯出 +``` + +--- + +### Phase 3 : Tab2 牌位分析實作計劃 + +##### 目標 +實作 Tab2 牌位分析功能,將 `rawData` 轉換為樞紐分析表格式,提供功德類型和功德名稱的分層統計 + +##### 設計規格 + +###### 資料結構分析 +- **來源資料**: `rawData`(從 Tab1 選擇法會後載入的完整報名明細) +- **分組維度**: + - 第一層:功德類型 (`功德類型` 欄位) + - 第二層:功德名稱 (`功德名稱` 欄位) +- **統計值**: + - 數量總計:sum(`數量`) + - 金額總計:sum(`金額`) + +###### Vue 資料結構設計 +```javascript +// Tab2: 牌位分析 +tab2: { + expanded: [], // 展開的功德類型 ID 陣列 + pivotData: [], // 處理後的樞紐資料 + loading: false, + headers: [ + { text: '功德項目', value: 'name', width: 300 }, + { text: '數量總計', value: 'totalQty', width: 120, align: 'end' }, + { text: '金額總計', value: 'totalAmount', width: 150, align: 'end' }, + { text: '', value: 'data-table-expand', width: 50 } // 展開按鈕欄位 + ] +} +``` + +###### 樞紐資料轉換演算法 +```javascript +computed: { + tab2PivotData() { + if (!this.rawData || this.rawData.length === 0) return []; + + // Step 1: 按功德類型分組 + const typeGroups = {}; + this.rawData.forEach(row => { + const type = row.功德類型 || '未分類'; + const name = row.功德名稱 || '未命名'; + const qty = parseInt(row.數量) || 0; + const amount = parseFloat(row.金額) || 0; + + if (!typeGroups[type]) { + typeGroups[type] = { + name: type, + isGroup: true, + totalQty: 0, + totalAmount: 0, + children: {} + }; + } + + // Step 2: 按功德名稱分組 + if (!typeGroups[type].children[name]) { + typeGroups[type].children[name] = { + name: name, + isGroup: false, + totalQty: 0, + totalAmount: 0, + parentType: type + }; + } + + // Step 3: 累計統計 + typeGroups[type].children[name].totalQty += qty; + typeGroups[type].children[name].totalAmount += amount; + typeGroups[type].totalQty += qty; + typeGroups[type].totalAmount += amount; + }); + + // Step 4: 轉換為表格資料 + const result = []; + Object.values(typeGroups).forEach(group => { + result.push(group); + Object.values(group.children).forEach(child => { + result.push(child); + }); + }); + + return result; + } +} +``` + +###### UI 實作規格 + +**表格結構**: +```html + + + + + + + + + + + + + +``` + +**樣式設計**: +```css +/* Tab2 樞紐分析表樣式 */ +.pivot-group-row { + background-color: #f5f5f5 !important; + border-left: 4px solid #ff9800; +} + +.pivot-detail-row { + border-left: 4px solid #4caf50; +} + +.pivot-total-row { + background-color: #e3f2fd !important; + border-left: 4px solid #2196f3; + font-weight: bold !important; +} +``` + +##### 實作步驟 + +1. **需求分析與設計** (1 小時) + - 確認樞紐分析表的確切需求 + - 設計資料轉換演算法 + - 規劃 UI 元件結構 + +2. **資料處理邏輯** (2 小時) + - 實作 `tab2PivotData` computed 屬性 + - 實作資料分組和統計演算法 + - 添加總計計算邏輯 + +3. **UI 元件實作** (2 小時) + - 在 `pivot-01.aspx` 中添加 Tab2 內容 + - 實作樞紐分析表格元件 + - 添加展開/收合功能 + +4. **樣式與視覺化** (1 小時) + - 設計分層樣式(群組 vs 明細) + - 添加圖示區分功德類型和名稱 + - 實作總計列樣式 + +5. **測試與優化** (1 小時) + - 測試不同資料量的效能 + - 驗證統計數字正確性 + - 調整使用者體驗 + +##### 預期成果 + +**功能完成標準**: +- ✅ 可正確按功德類型和功德名稱分組顯示 +- ✅ 統計數字正確(數量總計、金額總計) +- ✅ 支援展開/收合功德類型 +- ✅ 有明顯的視覺層級區分 +- ✅ 表格底部顯示全部總計 +- ✅ 響應式設計適配不同螢幕 + +**資料範例展示**: +``` +┌─────────────────────────────────────────────────┐ +│ 📊 牌位分析 │ +├─────────────────────────────────────────────────┤ +│ ▼ 🏷️ 牌位 │ 150 │ NT$ 450,000 │ │ +│ ● 消災大牌位 │ 80 │ NT$ 240,000 │ │ +│ ● 祈福小牌位 │ 70 │ NT$ 210,000 │ │ +│ ▼ 🏷️ 供養 │ 95 │ NT$ 285,000 │ │ +│ ● 供僧 │ 45 │ NT$ 135,000 │ │ +│ ● 供燈 │ 50 │ NT$ 150,000 │ │ +├─────────────────────────────────────────────────┤ +│ 總計 │ 245 │ NT$ 735,000 │ │ +└─────────────────────────────────────────────────┘ +``` + +### Phase 4 : Tab3 信眾報名分析實作計劃 + +##### 目標 +實作 Tab3 信眾報名分析功能,統計每位信眾的報名情況,區分功德主和一般信眾的數量與金額 + +##### 設計規格 + +###### 需求分析 +根據文件說明: +- **搜尋欄位**: 關鍵字(姓名過濾) +- **PIVOT 運算欄位**: + - 信眾編號 + - 信眾姓名 + - 功德主數量(功德主=是) + - 功德主金額(功德主=是) + - 功德數量(功德主=否) + - 功德金額(功德主=否) + +###### 資料結構分析 +- **來源資料**: `rawData` +- **分組維度**: 信眾(`信眾編號` + `信眾姓名`) +- **統計維度**: + - 按 `功德主` 欄位分類("是" / "否") + - 計算數量和金額 + +###### Vue 資料結構設計 +```javascript +// Tab3: 信眾報名分析 +tab3: { + search: '', // 搜尋關鍵字 + headers: [ + { text: '信眾編號', value: '信眾編號', width: 120, class: 'field-follower' }, + { text: '信眾姓名', value: '信眾姓名', width: 120, class: 'field-follower' }, + { text: '功德主數量', value: '功德主數量', width: 120, align: 'end', class: 'field-calculated' }, + { text: '功德主金額', value: '功德主金額', width: 150, align: 'end', class: 'field-calculated' }, + { text: '功德數量', value: '功德數量', width: 120, align: 'end', class: 'field-calculated' }, + { text: '功德金額', value: '功德金額', width: 150, align: 'end', class: 'field-calculated' } + ] +} +``` + +###### 樞紐資料轉換演算法 +```javascript +computed: { + tab3PivotData() { + if (!this.rawData || this.rawData.length === 0) return []; + + // Step 1: 按信眾分組 + const followerGroups = {}; + this.rawData.forEach(row => { + const fNumber = row.信眾編號 || ''; + const fName = row.信眾姓名 || ''; + const key = fNumber + '_' + fName; + const qty = parseInt(row.數量) || 0; + const amount = parseFloat(row.金額) || 0; + const isMaster = row.功德主 === '是'; + + if (!followerGroups[key]) { + followerGroups[key] = { + 信眾編號: fNumber, + 信眾姓名: fName, + 功德主數量: 0, + 功德主金額: 0, + 功德數量: 0, + 功德金額: 0 + }; + } + + // Step 2: 累計統計 + if (isMaster) { + followerGroups[key].功德主數量 += qty; + followerGroups[key].功德主金額 += amount; + } else { + followerGroups[key].功德數量 += qty; + followerGroups[key].功德金額 += amount; + } + }); + + // Step 3: 轉換為陣列並排序 + return Object.values(followerGroups) + .sort((a, b) => { + // 依功德主金額降序,再依姓名升序 + const amountDiff = (b.功德主金額 + b.功德金額) - (a.功德主金額 + a.功德金額); + return amountDiff !== 0 ? amountDiff : a.信眾姓名.localeCompare(b.信眾姓名); + }); + }, + + // 搜尋過濾 + tab3FilteredData() { + if (!this.tab3.search) return this.tab3PivotData; + + const keyword = this.tab3.search.toLowerCase(); + return this.tab3PivotData.filter(row => { + return row.信眾編號.toLowerCase().includes(keyword) || + row.信眾姓名.toLowerCase().includes(keyword); + }); + }, + + // 總計統計 + tab3Summary() { + const data = this.tab3FilteredData; + return { + 總人數: data.length, + 功德主數量合計: data.reduce((sum, row) => sum + row.功德主數量, 0), + 功德主金額合計: data.reduce((sum, row) => sum + row.功德主金額, 0), + 功德數量合計: data.reduce((sum, row) => sum + row.功德數量, 0), + 功德金額合計: data.reduce((sum, row) => sum + row.功德金額, 0) + }; + } +} +``` + +###### UI 實作規格 + +**表格結構**: +```html + + + mdi-account-multiple + 信眾報名分析 + + + {{ tab1.selectedActivity.法會名稱 }} + + + + + + + + + + + + mdi-download + 匯出 Excel + + + + + +
+ + +
總人數
+
{{ tab3Summary.總人數 }} 人
+
+ +
功德主數量
+
{{ tab3Summary.功德主數量合計.toLocaleString() }}
+
+ +
功德主金額
+
{{ formatCurrency(tab3Summary.功德主金額合計) }}
+
+ +
總金額
+
+ {{ formatCurrency(tab3Summary.功德主金額合計 + tab3Summary.功德金額合計) }} +
+
+
+
+ + + + + + + + + + + +
+
+``` + +**樣式設計**: +```css +/* Tab3 信眾分析樣式 */ +.info-bar { + background-color: #f5f5f5; + border-radius: 8px; + padding: 16px; +} + +.info-bar .text-h6 { + color: #1976d2; + margin-top: 4px; +} + +/* 功德主高亮 */ +.follower-master-highlight { + background-color: #fff3e0 !important; +} +``` + +##### 實作步驟 + +1. **資料處理邏輯** (2 小時) + - 實作 `tab3PivotData` computed 屬性 + - 實作信眾分組演算法 + - 區分功德主和一般功德統計 + - 實作搜尋過濾邏輯 + +2. **UI 元件實作** (2 小時) + - 在 `pivot-01.aspx` 中添加 Tab3 內容 + - 實作搜尋框和過濾功能 + - 實作統計資訊列 + - 實作信眾統計表格 + +3. **匯出功能** (1 小時) + - 實作 `exportTab3ToCSV()` 方法 + - 處理 CSV 格式和編碼 + +4. **測試與優化** (1 小時) + - 測試不同搜尋條件 + - 驗證統計數字正確性 + - 測試匯出功能 + +##### 預期成果 + +**功能完成標準**: +- ✅ 可正確按信眾分組並統計 +- ✅ 區分功德主和一般功德的數量/金額 +- ✅ 搜尋功能正常運作 +- ✅ 統計資訊列顯示正確 +- ✅ 支援匯出 CSV +- ✅ 資料排序合理(按金額降序) + +**資料範例展示**: +``` +┌────────────────────────────────────────────────────────────────┐ +│ 👥 信眾報名分析 114年法會報名統計分析 │ +├────────────────────────────────────────────────────────────────┤ +│ 🔍 [搜尋信眾... ] [匯出Excel] │ +│ │ +│ 📊 總人數: 85 人 │ 功德主數量: 150 │ 總金額: NT$ 1,569,000 │ +├────────────────────────────────────────────────────────────────┤ +│ 編號 │ 姓名 │ 功德主數量 │ 功德主金額 │ 功德數量 │ 功德金額 │ +│ F001 │ 王大明 │ 5 │ NT$ 15,000 │ 3 │ NT$ 9,000│ +│ F002 │ 李小華 │ 3 │ NT$ 9,000 │ 5 │ NT$ 5,000│ +│ F003 │ 張美麗 │ 0 │ NT$ 0 │ 2 │ NT$ 6,000│ +└────────────────────────────────────────────────────────────────┘ +``` + +--- + +### Phase 5 : Tab4 功德主查詢分析實作計劃 + +##### 目標 +實作 Tab4 功德主查詢分析功能,提供動態樞紐分析表,可按功德類型和功德項目查看每位信眾的數量或金額 + +##### 設計規格 + +###### 需求分析 +根據文件說明: +- **搜尋欄位**: + - 關鍵字:姓名過濾 + - 功德類型下拉:全部或單一分類 + - RADIO:切換值:金額 或 數量 + - CHECK:功德主:是/否 +- **PIVOT TABLE**: + - 第一欄:信眾姓名(FIXED) + - 第二欄:總計(金額或數量) + - 第三欄以後:所選功德類型(或全部)的功德項目(橫向展開) + - 資料列:該信眾在該功德項目的金額或數量 + +###### 資料結構分析 +- **來源資料**: `rawData` +- **動態維度**: + - 列:信眾姓名 + - 欄:功德項目(依選擇的功德類型過濾) + - 值:數量 或 金額(可切換) +- **過濾條件**: + - 姓名關鍵字 + - 功德類型 + - 功德主狀態 + +###### Vue 資料結構設計 +```javascript +// Tab4: 功德主查詢分析 +tab4: { + search: '', // 姓名關鍵字 + meritType: '全部', // 功德類型選擇 + meritTypeOptions: [], // 功德類型下拉選項 + valueType: 'amount', // 'amount' 或 'quantity' + showMasterOnly: false, // 只顯示功德主 + loading: false +} +``` + +###### 樞紐資料轉換演算法 +```javascript +computed: { + // 功德類型選項(從 rawData 動態產生) + tab4MeritTypeOptions() { + if (!this.rawData || this.rawData.length === 0) return ['全部']; + + const types = new Set(this.rawData.map(row => row.功德類型).filter(Boolean)); + return ['全部', ...Array.from(types).sort()]; + }, + + // 過濾後的原始資料 + tab4FilteredRawData() { + let data = this.rawData; + + // 功德主過濾 + if (this.tab4.showMasterOnly) { + data = data.filter(row => row.功德主 === '是'); + } + + // 功德類型過濾 + if (this.tab4.meritType !== '全部') { + data = data.filter(row => row.功德類型 === this.tab4.meritType); + } + + // 姓名過濾 + if (this.tab4.search) { + const keyword = this.tab4.search.toLowerCase(); + data = data.filter(row => + row.信眾姓名.toLowerCase().includes(keyword) + ); + } + + return data; + }, + + // 取得功德項目清單(橫向欄位) + tab4MeritItems() { + const items = new Set( + this.tab4FilteredRawData.map(row => row.功德名稱).filter(Boolean) + ); + return Array.from(items).sort(); + }, + + // 動態表頭 + tab4Headers() { + const headers = [ + { text: '信眾姓名', value: '信眾姓名', width: 150, fixed: true, class: 'field-follower' } + ]; + + // 總計欄 + const valueLabel = this.tab4.valueType === 'amount' ? '總金額' : '總數量'; + headers.push({ + text: valueLabel, + value: '總計', + width: 120, + align: 'end', + class: 'field-calculated font-weight-bold' + }); + + // 功德項目欄(動態) + this.tab4MeritItems.forEach(item => { + headers.push({ + text: item, + value: item, + width: 100, + align: 'end', + class: 'field-merit' + }); + }); + + return headers; + }, + + // 樞紐分析資料 + tab4PivotData() { + if (!this.tab4FilteredRawData || this.tab4FilteredRawData.length === 0) return []; + + // Step 1: 按信眾和功德項目分組 + const followerMeritMap = {}; + this.tab4FilteredRawData.forEach(row => { + const fName = row.信眾姓名; + const mName = row.功德名稱; + const qty = parseInt(row.數量) || 0; + const amount = parseFloat(row.金額) || 0; + + if (!followerMeritMap[fName]) { + followerMeritMap[fName] = { 信眾姓名: fName }; + } + + if (!followerMeritMap[fName][mName]) { + followerMeritMap[fName][mName] = { qty: 0, amount: 0 }; + } + + followerMeritMap[fName][mName].qty += qty; + followerMeritMap[fName][mName].amount += amount; + }); + + // Step 2: 轉換為表格格式 + const result = Object.values(followerMeritMap).map(follower => { + const row = { 信眾姓名: follower.信眾姓名 }; + let total = 0; + + // 計算每個功德項目的值 + this.tab4MeritItems.forEach(item => { + if (follower[item]) { + const value = this.tab4.valueType === 'amount' + ? follower[item].amount + : follower[item].qty; + row[item] = value; + total += value; + } else { + row[item] = 0; + } + }); + + row.總計 = total; + return row; + }); + + // Step 3: 依總計降序排列 + return result.sort((a, b) => b.總計 - a.總計); + } +} +``` + +###### UI 實作規格 + +**表格結構**: +```html + + + mdi-table-pivot + 功德主查詢分析 + + + {{ tab1.selectedActivity.法會名稱 }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 信眾數: {{ tab4PivotData.length }} 人 + + + 功德項目: {{ tab4MeritItems.length }} 項 + + + + mdi-download + 匯出 Excel + + + +
+ + + + + + + + + + + + +
+
+``` + +**樣式設計**: +```css +/* Tab4 橫向樞紐表樣式 */ +.pivot-table-horizontal { + overflow-x: auto; +} + +.pivot-table-horizontal .v-data-table__wrapper { + overflow-x: auto; + max-height: 600px; +} + +/* 固定第一欄 */ +.pivot-table-horizontal th:first-child, +.pivot-table-horizontal td:first-child { + position: sticky; + left: 0; + z-index: 2; + background-color: #fff; + box-shadow: 2px 0 4px rgba(0,0,0,0.1); +} + +/* 總計欄樣式 */ +.pivot-table-horizontal th:nth-child(2), +.pivot-table-horizontal td:nth-child(2) { + background-color: #f5f5f5; + font-weight: bold; +} + +/* 零值淡化 */ +.grey--text { + color: #9e9e9e !important; +} +``` + +##### 實作步驟 + +1. **資料處理邏輯** (3 小時) + - 實作過濾條件邏輯 + - 實作動態表頭生成 + - 實作橫向樞紐分析演算法 + - 處理金額/數量切換 + +2. **UI 元件實作** (3 小時) + - 實作搜尋與過濾區塊 + - 實作動態表頭的 v-data-table + - 實作固定第一欄(信眾姓名) + - 處理橫向滾動 + +3. **互動功能** (1 小時) + - 實作即時過濾更新 + - 實作值類型切換 + - 實作功德主過濾 + +4. **匯出功能** (1 小時) + - 實作 `exportTab4ToCSV()` 方法 + - 處理動態欄位的 CSV 匯出 + +5. **測試與優化** (1 小時) + - 測試各種過濾組合 + - 測試橫向滾動和固定欄 + - 驗證統計數字正確性 + - 優化大量欄位時的效能 + +##### 預期成果 + +**功能完成標準**: +- ✅ 動態產生功德項目欄位 +- ✅ 支援姓名、功德類型、功德主過濾 +- ✅ 可切換金額/數量顯示 +- ✅ 第一欄(姓名)固定,橫向滾動 +- ✅ 總計欄醒目顯示 +- ✅ 支援匯出 CSV(包含動態欄位) +- ✅ 零值適當淡化顯示 + +**資料範例展示**: +``` +┌───────────────────────────────────────────────────────────────┐ +│ 📊 功德主查詢分析 114年法會報名統計分析 │ +├───────────────────────────────────────────────────────────────┤ +│ 🔍[姓名] [功德類型:全部▼] ⚪金額 ⚪數量 ☑只顯示功德主 │ +│ │ +│ 信眾數: 35 人 │ 功德項目: 8 項 │ [匯出Excel] │ +├───────────────────────────────────────────────────────────────┤ +│ 姓名 │ 總金額 │ 消災大牌位│ 祈福小牌位│ 供僧 │ 供燈 │...│ +│ 王大明 │ 50,000 │ 15,000 │ 10,000 │ 15K │ 10K │... │ +│ 李小華 │ 35,000 │ 20,000 │ 5,000 │ 5K │ 5K │... │ +│ 張美麗 │ 28,000 │ 0 │ 18,000 │ 5K │ 5K │... │ +└───────────────────────────────────────────────────────────────┘ + ↑固定欄 ↑ 橫向滾動區域 → +``` + +--- + +## 測試計劃 + +### Phase 1 測試 +1. **API 端點測試**(使用 Postman) + - 測試 `/api/pivot01/activity_stats?year=2025` + - 測試不同年份參數 + - 測試 `includeNoDate` 參數 + - 測試 `/api/pivot01/registration_details?activityNum=123` + - 測試分頁參數 + - 驗證回應格式和資料正確性 + +### Phase 2 測試 +1. **UI 功能測試** + - 測試年份選擇器 + - 測試法會清單載入 + - 測試選擇法會功能 + - 測試 Tab 切換(Tab2-6 在選擇前應隱藏) + +2. **資料顯示測試** + - 驗證 Tab5 資料正確顯示 + - 測試搜尋功能(信眾、功德類型等) + - 測試排序功能 + - 測試分頁功能 + +3. **匯出測試** + - 測試匯出 CSV 檔案 + - 驗證檔案格式正確(UTF-8 BOM) + - 測試特殊字元處理 + - 測試中文編碼 + +4. **瀏覽器相容性** + - Chrome + - Edge + - Firefox + +--- + +## 預期成果 + +### Phase 1 完成後 +✅ `pivot01Controller.cs` 正常運作 +✅ API 端點可正確查詢資料 +✅ 回應格式符合前端需求 +✅ 錯誤處理完善 + +### Phase 2 完成後 +✅ `pivot-01.aspx` 頁面正常運作 +✅ Tab1 可正常查詢和選擇法會 +✅ Tab5 可正常顯示報名明細 +✅ 搜尋、排序、分頁功能正常 +✅ 匯出 Excel 功能正常 +✅ 使用者體驗良好 \ No newline at end of file diff --git a/web/admin/pivot/README.md b/web/admin/pivot/README.md new file mode 100644 index 0000000..d134cdf --- /dev/null +++ b/web/admin/pivot/README.md @@ -0,0 +1,768 @@ +# Pivot Module 執行計劃 + +## 概述 +建立多頁籤數據透視查詢模組,參考 transfer 模組的設計架構,使用相同的技術棧與 UI/UX 模式,實現法會報名資料的多維度分析與展示。 + +--- + +## 技術架構 + +### 前端技術 +- **框架**: Vue.js 2.x + Vuetify 2.x(與 transfer 模組一致) +- **表格元件**: v-data-table(Vuetify 內建表格元件) +- **頁籤元件**: v-tabs / v-tab / v-tab-item(Vuetify 頁籤) +- **UI 框架**: Bootstrap 5 + Bootstrap Icons(MasterPage) +- **樣式**: 與 transfer 模組保持一致的視覺風格 + +### 後端 API +- **框架**: ASP.NET Web API(C#) +- **ORM**: Entity Framework + LINQ +- **控制器**: `App_Code/api/pivotController.cs`(已建立) +- **資料庫視圖**: `報名明細查詢`(SQL View) + +### 資料流架構(重要)★ +``` +查詢流程: +┌─────────────┐ +│ Tab 1 │ → 選擇法會 → API 查詢一次 → +│ 查詢條件 │ (完整資料集) +└─────────────┘ + ↓ +┌─────────────────────────────────────────┐ +│ Vue Data (存於前端 this.rawData) │ +│ - 完整報名明細 │ +│ - 一次性載入,不重複查詢 │ +└─────────────────────────────────────────┘ + ↓ +┌──────┬──────┬──────┬──────┬──────┐ +│Tab 2 │Tab 3 │Tab 4 │Tab 5 │Tab 6 │ +│明細 │信眾 │收入 │趨勢 │對比 │ +│ │ │ │ │ │ +│ 純前端計算 / 過濾 / 分組 / 統計 │ +│ 使用 computed / methods / filters │ +└──────────────────────────────────────┘ +``` + +**優點**: +1. ✅ **效能優化**: API 只查詢一次,減少伺服器負載 +2. ✅ **即時響應**: 切換頁籤無延遲,使用者體驗佳 +3. ✅ **離線分析**: 資料載入後可離線操作(過濾、排序、統計) +4. ✅ **減少流量**: 不重複傳輸相同資料 +5. ✅ **一致性**: 所有頁籤基於同一份資料,確保一致性 + +**技術實現**: +- `this.rawData`: 原始完整資料(Tab 1 查詢後存入) +- `computed properties`: 各頁籤的資料來源(動態計算) +- `methods`: 過濾、分組、統計邏輯 +- `watch`: 監聽過濾條件變化 + +### 元件規格 +1. **日期選擇器**: `v-date-picker` 或 `` +2. **下拉選單**: `v-select`(年份、月份、法會選擇) +3. **資料表格**: `v-data-table`(分頁、排序、過濾) +4. **頁籤切換**: `v-tabs`(Tab 1~N) +5. **按鈕群組**: `v-btn`(查詢、匯出、重設) +6. **載入狀態**: `:loading="loading"` +7. **視覺標記**: Bootstrap Badge(橙、藍、綠、紫色標籤) + +--- + +## 頁籤設計 + +### Tab 1: 查詢條件設定 +**功能目標**: 提供查詢條件,篩選法會並選擇目標法會 + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [查詢條件] | +|--------------------------------------------------------------| +| 時間範圍: [年份 ▼] [月份 ▼] [查詢法會] | +|--------------------------------------------------------------| +| 法會清單: | +| +----------------------------------------------------------+ | +| | 序號 | 法會名稱 | 開始日期 | 結束日期 | 報名人數 | 操作 | | +| +----------------------------------------------------------+ | +| | 1 | 2025春季法會 | 2025-03-01 | 2025-03-15 | 120 | [選擇] | | +| | 2 | 2025夏季法會 | 2025-06-01 | 2025-06-20 | 85 | [選擇] | | +| +----------------------------------------------------------+ | ++--------------------------------------------------------------+ +``` + +#### 查詢流程 +1. 選擇年份(2020~2025)或月份(1~12) +2. 點擊「查詢法會」按鈕 +3. API 回傳該期間的法會清單(`api/pivot/activity_stats`) +4. 表格呈現法會清單(法會名稱、日期、統計) +5. 點擊「選擇」按鈕,載入該法會的詳細資料 +6. 自動切換到 Tab 2(詳細資料頁籤) + +#### API 整合 +- **端點**: `GET api/pivot/activity_stats?startDate={start}&endDate={end}` +- **回傳**: 法會清單(含報名統計) + +#### 資料查詢策略 +```javascript +// 選擇法會後,一次性載入完整資料 +selectActivity(item) { + this.loading = true; + this.selectedActivity = item; + + // 一次性查詢完整報名明細(不分頁) + axios.get('/api/pivot/registration_details', { + params: { + activityNum: item.法會ID, + pageSize: 9999 // 取得全部資料 + } + }).then(response => { + // 存入原始資料(供所有頁籤使用) + this.rawData = response.data.data.list; + + // 自動切換到 Tab 2 + this.activeTab = 1; + this.loading = false; + }); +} +``` + +#### 元件範例 +```html + + +查詢法會 + + + + +``` + +--- + +### Tab 2: 報名明細資料 +**功能目標**: 完整呈現該場法會的所有報名明細 + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [報名明細] 法會: 2025春季法會 (2025-03-01 ~ 2025-03-15) | +|--------------------------------------------------------------| +| 過濾: [信眾姓名] [功德類型 ▼] [狀態 ▼] [查詢] [匯出Excel] | +|--------------------------------------------------------------| +| +----------------------------------------------------------+ | +| | 報名編號 | 報名日期 | 信眾姓名 | 功德名稱 | 數量 | 金額 | | +| +----------------------------------------------------------+ | +| | 20250301001 | 2025-03-01 | 張三 | 點燈 | 1 | 500 | | +| | 20250301002 | 2025-03-01 | 李四 | 安太歲 | 1 | 300 | | +| +----------------------------------------------------------+ | +| 第 1 頁,共 10 頁(共 200 筆) | ++--------------------------------------------------------------+ +``` + +#### 功能特性 +1. **欄位顯示**: 報名編號、報名日期、信眾姓名、功德名稱、數量、金額、已收、未收 +2. **過濾條件**: 信眾姓名(模糊搜尋)、功德類型(下拉選單)、功德主(是/否) +3. **排序**: 可依任意欄位排序(升序/降序) +4. **分頁**: 預設每頁 50 筆,可調整(10/20/50/100) +5. **匯出**: 匯出 Excel/CSV + +#### 欄位色彩標記(參考 Excel 視圖) +- **橙色(法會資料)**: 法會ID、法會名稱、開始日期、結束日期 +- **藍色(信眾資料)**: 信眾編號、信眾姓名 +- **綠色(功德資訊)**: 報名編號、報名日期、功德主、功德類型、功德名稱 +- **紫色(計算欄位)**: 數量、金額、已收、未收 + +使用 Bootstrap Badge 或背景色區隔: +```html +法會 +信眾 +功德 +計算 +``` + +#### 資料來源(前端計算) +```javascript +computed: { + // Tab 2: 報名明細(前端分頁、過濾) + filteredRegistrations() { + let data = this.rawData; + + // 過濾:信眾姓名 + if (this.filter.followerName) { + data = data.filter(x => x.信眾姓名.includes(this.filter.followerName)); + } + + // 過濾:功德類型 + if (this.filter.itemKind) { + data = data.filter(x => x.功德類型 === this.filter.itemKind); + } + + // 過濾:功德主 + if (this.filter.isParent !== null) { + data = data.filter(x => x.功德主 === (this.filter.isParent ? '是' : '否')); + } + + return data; + }, + + // 前端分頁 + paginatedRegistrations() { + const start = (this.currentPage - 1) * this.pageSize; + const end = start + this.pageSize; + return this.filteredRegistrations.slice(start, end); + } +} +``` + +#### 元件範例 +```html + + + + +``` + +--- + +### Tab 3: 信眾參與分析 +**功能目標**: 統計信眾的參與情況(參與次數、金額、最近參與) + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [信眾參與分析] | +|--------------------------------------------------------------| +| 過濾: [信眾編號] [參與次數 ≥] [總金額 ≥] [查詢] | +|--------------------------------------------------------------| +| +----------------------------------------------------------+ | +| | 信眾編號 | 姓名 | 參與次數 | 總金額 | 最近參與日期 | | +| +----------------------------------------------------------+ | +| | F001 | 張三 | 5 | 2500 | 2025-03-01 | | +| | F002 | 李四 | 3 | 1500 | 2025-02-15 | | +| +----------------------------------------------------------+ | ++--------------------------------------------------------------+ +``` + +#### 功能特性 +1. **統計欄位**: 參與次數、總金額、平均金額、最近參與日期 +2. **過濾條件**: 信眾編號、參與次數閾值、總金額閾值 +3. **排序**: 預設依參與次數降序 +4. **分頁**: 預設每頁 50 筆 + +#### 資料來源(前端計算) +```javascript +computed: { + // Tab 3: 信眾參與分析(從 rawData 計算) + followerAnalysis() { + const followerMap = {}; + + this.rawData.forEach(item => { + const fNum = item.信眾編號; + if (!followerMap[fNum]) { + followerMap[fNum] = { + 信眾編號: fNum, + 姓名: item.信眾姓名, + 參與次數: 0, + 總金額: 0, + 最近參與日期: item.報名日期 + }; + } + + followerMap[fNum].參與次數++; + followerMap[fNum].總金額 += (item.金額 * item.數量); + + // 更新最近參與日期 + if (new Date(item.報名日期) > new Date(followerMap[fNum].最近參與日期)) { + followerMap[fNum].最近參與日期 = item.報名日期; + } + }); + + // 轉換為陣列,並計算平均金額 + return Object.values(followerMap).map(f => ({ + ...f, + 平均金額: Math.round(f.總金額 / f.參與次數) + })).sort((a, b) => b.參與次數 - a.參與次數); // 依參與次數降序 + } +} +``` + +--- + +### Tab 4: 收入統計分析 +**功能目標**: 依時間、法會、功德類型統計收入 + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [收入統計分析] | +|--------------------------------------------------------------| +| 分組方式: ( ) 月份 ( ) 年度 (•) 法會 ( ) 功德類型 | +|--------------------------------------------------------------| +| +----------------------------------------------------------+ | +| | 分組名稱 | 報名人數 | 總金額 | 已收 | 未收 | 收款率 | | +| +----------------------------------------------------------+ | +| | 2025春季法會 | 120 | 60000 | 50000 | 10000 | 83.3% | | +| | 2025夏季法會 | 85 | 45000 | 40000 | 5000 | 88.9% | | +| +----------------------------------------------------------+ | ++--------------------------------------------------------------+ +``` + +#### 功能特性 +1. **分組方式**: 月份、年度、法會、功德類型 +2. **統計欄位**: 報名人數、總金額、已收、未收、收款率 +3. **圖表呈現**: 可加入 CanvasJS 長條圖/圓餅圖(選配) +4. **匯出**: 支援 Excel/CSV + +#### 資料來源(前端計算) +```javascript +computed: { + // Tab 4: 收入統計分析(從 rawData 計算) + incomeStats() { + const statsMap = {}; + const groupBy = this.groupBy; // 'monthly', 'yearly', 'activity', 'itemKind' + + this.rawData.forEach(item => { + let key; + switch(groupBy) { + case 'monthly': + key = item.報名日期.substring(0, 7); // YYYY-MM + break; + case 'yearly': + key = item.報名日期.substring(0, 4); // YYYY + break; + case 'activity': + key = item.法會名稱; + break; + case 'itemKind': + key = item.功德類型; + break; + } + + if (!statsMap[key]) { + statsMap[key] = { + 分組名稱: key, + 報名人數: 0, + 總金額: 0, + 已收: 0, + 未收: 0 + }; + } + + statsMap[key].報名人數++; + const amount = item.金額 * item.數量; + statsMap[key].總金額 += amount; + statsMap[key].已收 += item.已收 || 0; + statsMap[key].未收 += item.未收 || amount; + }); + + // 計算收款率 + return Object.values(statsMap).map(s => ({ + ...s, + 收款率: s.總金額 > 0 ? ((s.已收 / s.總金額) * 100).toFixed(1) + '%' : '0%' + })); + } +} +``` + +--- + +### Tab 5: 趨勢分析 +**功能目標**: 顯示時間序列趨勢(收入、參與人數、法會數量) + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [趨勢分析] | +|--------------------------------------------------------------| +| 指標: ( ) 收入 (•) 參與人數 ( ) 法會數量 | +| 時間間隔: ( ) 月份 (•) 季度 ( ) 年度 | +|--------------------------------------------------------------| +| [折線圖] | +| | +| +----------------------------------------------------------+ | +| | 時間 | 數值 | 成長率 | | +| +----------------------------------------------------------+ | +| | 2025-01 | 120 | +10% | | +| | 2025-02 | 132 | +10% | | +| +----------------------------------------------------------+ | ++--------------------------------------------------------------+ +``` + +#### 功能特性 +1. **指標選擇**: 收入、參與人數、法會數量 +2. **時間間隔**: 月份、季度、年度 +3. **成長率計算**: 較前期成長率 +4. **圖表**: CanvasJS 折線圖(選配) + +#### 資料來源(前端計算) +```javascript +computed: { + // Tab 5: 趨勢分析(從 rawData 計算) + trendAnalysis() { + const metric = this.trendMetric; // 'income', 'followers', 'count' + const interval = this.trendInterval; // 'monthly', 'quarterly', 'yearly' + const trendMap = {}; + + this.rawData.forEach(item => { + let key; + switch(interval) { + case 'monthly': + key = item.報名日期.substring(0, 7); // YYYY-MM + break; + case 'quarterly': + const month = parseInt(item.報名日期.substring(5, 7)); + const quarter = Math.ceil(month / 3); + key = `${item.報名日期.substring(0, 4)}-Q${quarter}`; + break; + case 'yearly': + key = item.報名日期.substring(0, 4); // YYYY + break; + } + + if (!trendMap[key]) { + trendMap[key] = { 時間: key, 收入: 0, 人數: 0, 次數: 0 }; + } + + trendMap[key].收入 += (item.金額 * item.數量); + trendMap[key].人數++; // 簡化計算,實際可用 Set 去重 + trendMap[key].次數++; + }); + + // 轉換為陣列並排序 + const result = Object.values(trendMap).sort((a, b) => a.時間.localeCompare(b.時間)); + + // 計算成長率 + return result.map((item, index) => { + if (index === 0) { + return { ...item, 數值: item[metric === 'income' ? '收入' : metric === 'followers' ? '人數' : '次數'], 成長率: '-' }; + } + const prev = result[index - 1]; + const currentValue = item[metric === 'income' ? '收入' : metric === 'followers' ? '人數' : '次數']; + const prevValue = prev[metric === 'income' ? '收入' : metric === 'followers' ? '人數' : '次數']; + const growthRate = prevValue > 0 ? (((currentValue - prevValue) / prevValue) * 100).toFixed(1) : '0'; + return { ...item, 數值: currentValue, 成長率: growthRate + '%' }; + }); + } +} +``` + +--- + +### Tab 6: 對比分析(選配) +**功能目標**: 不同時期、法會的對比分析 + +#### UI 布局 +``` ++--------------------------------------------------------------+ +| [對比分析] | +|--------------------------------------------------------------| +| 對比類型: (•) 法會對比 ( ) 年度對比 | +| 期間1: [2025春季法會 ▼] 期間2: [2024春季法會 ▼] | +|--------------------------------------------------------------| +| +----------------------------------------------------------+ | +| | 指標 | 期間1 | 期間2 | 差異 | 差異率 | | +| +----------------------------------------------------------+ | +| | 報名人數 | 120 | 100 | +20 | +20% | | +| | 總金額 | 60000 | 50000 | +10000 | +20% | | +| +----------------------------------------------------------+ | ++--------------------------------------------------------------+ +``` + +#### 資料來源(前端計算) +```javascript +computed: { + // Tab 6: 對比分析(從 rawData 計算) + // 注意:對比分析可能需要跨法會資料,如需要可額外查詢 + comparativeAnalysis() { + // 如果只在單一法會內對比(如月份對比),可用 rawData + // 如果需要跨法會對比,建議另外查詢或在 Tab 1 時一併載入多場法會資料 + const period1Data = this.rawData.filter(x => { + // 依 period1 條件過濾 + return this.isPeriod1(x); + }); + + const period2Data = this.rawData.filter(x => { + // 依 period2 條件過濾 + return this.isPeriod2(x); + }); + + const stats1 = this.calculateStats(period1Data); + const stats2 = this.calculateStats(period2Data); + + return [ + { 指標: '報名人數', 期間1: stats1.count, 期間2: stats2.count, 差異: stats1.count - stats2.count }, + { 指標: '總金額', 期間1: stats1.amount, 期間2: stats2.amount, 差異: stats1.amount - stats2.amount }, + // ... 其他指標 + ]; + } +} +``` + +--- + +## 視覺設計規範 + +### 色彩系統(參考 transfer) +- **主色調**: Bootstrap 5 預設配色 +- **成功/確認**: `bg-success` / `text-success` +- **警告**: `bg-warning` / `text-warning` +- **危險/錯誤**: `bg-danger` / `text-danger` +- **資訊**: `bg-info` / `text-info` +- **次要**: `bg-secondary` / `text-muted` + +### 欄位色彩標記(對應 Excel) +```html + + + + + + + +功德 + + + +``` + +### 表格樣式 +```css +/* 與 transfer 保持一致 */ +.v-data-table th { + background-color: #f5f5f5 !important; + font-weight: bold; +} + +.v-data-table tbody tr:hover { + background-color: #f0f8ff !important; +} + +/* 欄位色彩標記 */ +.field-activity { border-left: 3px solid #ffc107; } /* 橙 */ +.field-follower { border-left: 3px solid #17a2b8; } /* 藍 */ +.field-merit { border-left: 3px solid #28a745; } /* 綠 */ +.field-calculated { border-left: 3px solid #6c757d; } /* 紫 */ +``` + +--- + +## API 端點總覽 + +| 端點 | 方法 | 功能 | 對應頁籤 | 使用時機 | +|------|------|------|----------|----------| +| `/api/pivot/activity_stats` | GET | 查詢法會清單與統計 | Tab 1 | 選擇查詢條件時 | +| `/api/pivot/registration_details` | GET | 報名明細查詢(**完整資料**) | Tab 1 | **選擇法會後一次性載入** ★ | +| `/api/pivot/registration_details_export` | GET | 報名明細匯出 | Tab 2 | 匯出 Excel 時(選配) | +| `/api/pivot/excel_data_structured` | GET | Excel 數據連接 | 外部 | Power Query/Power Pivot | + +**重要說明**: +- ✅ **Tab 2~6 不呼叫 API**,全部使用前端 `computed` 計算 +- ✅ `registration_details` 查詢時使用 `pageSize=9999` 取得完整資料 +- ✅ 原 `follower_analysis`, `income_stats`, `trend_analysis`, `comparative_analysis` 端點**保留備用**,但前端優先使用 computed +- ✅ 如資料量過大(>5000 筆),可調整策略改用分頁查詢 + +--- + +## 檔案結構 + +``` +admin/pivot/ +├── index.aspx # 首頁(已完成) +├── index.aspx.cs # 首頁邏輯(已完成) +├── query.aspx # 多頁籤查詢頁面(待建立)★ +├── query.aspx.cs # 查詢頁面邏輯(待建立)★ +└── README.md # 本文件 + +App_Code/api/ +└── pivotController.cs # API 控制器(已完成) +``` + +--- + +## 實作步驟 + +### Phase 1: 建立查詢頁面骨架 +1. ✅ 建立 `query.aspx`(參考 transfer/verify.aspx) +2. ✅ 建立 `query.aspx.cs`(參考 transfer/verify.aspx.cs) +3. ✅ 引入 Vue.js + Vuetify +4. ✅ 建立頁籤結構(v-tabs) + +### Phase 2: 實作 Tab 1(查詢條件) +1. ✅ 年份/月份選擇器 +2. ✅ 查詢法會按鈕與 API 整合(`activity_stats`) +3. ✅ 法會清單表格(v-data-table) +4. ✅ 選擇法會邏輯(一次性載入完整資料) +5. ✅ `this.rawData` 資料結構設計 + +### Phase 3: 實作 Tab 2(報名明細) +1. ✅ 報名明細表格(前端分頁、排序、過濾) +2. ✅ `computed: filteredRegistrations` 實作 +3. ✅ 欄位色彩標記(badge) +4. ✅ 匯出功能(選配) + +### Phase 4: 實作 Tab 3~6(分析頁籤) +1. ✅ 信眾參與分析(Tab 3)- `computed: followerAnalysis` +2. ✅ 收入統計分析(Tab 4)- `computed: incomeStats` +3. ✅ 趨勢分析(Tab 5)- `computed: trendAnalysis` +4. ✅ 對比分析(Tab 6,選配)- `computed: comparativeAnalysis` + +### Phase 5: 優化與測試 +1. ✅ UI/UX 調整(與 transfer 保持一致) +2. ✅ 效能優化(分頁、快取) +3. ✅ 瀏覽器相容性測試 +4. ✅ 權限控制(ezAuthorize) + +--- + +## 參考範例 + +### 1. transfer/verify.aspx +- 多階段流程設計(程序1、程序2) +- v-data-table 表格元件使用 +- 信眾選擇對話框(v-dialog) +- 狀態選擇(v-select) + +### 2. transfer/verify1.aspx +- 單階段流程設計 +- 簡潔的查詢與確認流程 + +### 3. transfer/index.aspx +- 功能入口頁面設計 +- Bootstrap Icons + Badge +- 三欄式布局 + +--- + +## 注意事項 + +1. **元件一致性**: 所有元件、樣式、命名均與 transfer 模組保持一致 +2. **API 規範**: 遵循 RESTful 設計,統一回傳格式 +3. **權限控制**: 所有 API 加上 `[ezAuthorize]` +4. **效能考量**: + - ✅ **前端計算策略**: Tab 1 查詢一次,Tab 2~6 使用 Vue computed 計算 + - ✅ **資料量控制**: 單一法會報名明細預估 <5000 筆,適合前端處理 + - ⚠️ **大資料處理**: 若單場法會 >5000 筆,可改用 API 分頁查詢 + - ✅ **記憶體管理**: 切換法會時清除舊資料(`this.rawData = []`) +5. **視覺區隔**: 使用 Badge、邊框色、背景色標記欄位類型 +6. **使用者體驗**: 載入狀態(loading)、錯誤提示(alert)、空資料提示 +7. **前端效能優化**: + - 使用 `computed` 而非 `methods`(自動快取) + - 大型陣列操作使用 `Object.freeze()` 凍結原始資料 + - v-data-table 啟用虛擬滾動(`:virtual-scroll="true"`,資料量 >1000 時) + +--- + +## SQL View 參考 + +```SQL +CREATE VIEW [dbo].[報名明細查詢] +AS +SELECT dbo.activity.num AS 法會ID, dbo.activity.subject AS 法會名稱, dbo.activity.startDate_solar AS 開始日期, dbo.activity.endDate_solar AS 結束日期, + dbo.followers.f_number AS 信眾編號, dbo.followers.u_name AS 信眾姓名, dbo.pro_order.order_no AS 報名編號, dbo.pro_order.up_time AS 報名日期, + CASE WHEN parent_num IS NOT NULL THEN '是' ELSE '否' END AS 功德主, dbo.actItem_kind.kind AS 功德類型, dbo.actItem.subject AS 功德名稱, + dbo.pro_order_detail.qty AS 數量, dbo.pro_order_detail.price AS 金額, 0 AS 已收, dbo.pro_order_detail.price * dbo.pro_order_detail.qty - 0 AS 未收 +FROM dbo.pro_order_detail INNER JOIN + dbo.pro_order ON dbo.pro_order_detail.order_no = dbo.pro_order.order_no INNER JOIN + dbo.actItem ON dbo.pro_order_detail.actItem_num = dbo.actItem.num INNER JOIN + dbo.activity ON dbo.pro_order.activity_num = dbo.activity.num INNER JOIN + dbo.followers ON dbo.pro_order.f_num = dbo.followers.num INNER JOIN + dbo.actItem_kind ON dbo.actItem.kind = dbo.actItem_kind.num +GO +``` + +--- + +## 資料結構範例 + +```javascript +// Vue data 結構 +data() { + return { + // 原始完整資料(Tab 1 查詢後存入,供所有頁籤使用) + rawData: [], // Array<報名明細物件> + + // 選中的法會 + selectedActivity: null, + + // 當前頁籤索引 + activeTab: 0, // 0=Tab1, 1=Tab2, 2=Tab3... + + // Tab 2 過濾條件 + filter: { + followerName: '', + itemKind: null, + isParent: null + }, + + // Tab 4 分組方式 + groupBy: 'activity', // 'monthly', 'yearly', 'activity', 'itemKind' + + // Tab 5 趨勢設定 + trendMetric: 'income', // 'income', 'followers', 'count' + trendInterval: 'monthly', // 'monthly', 'quarterly', 'yearly' + + // 載入狀態 + loading: false + } +} +``` + +## Vue Computed 效能考量 + +```javascript +computed: { + // 使用 Object.freeze() 凍結大型陣列,提升效能 + frozenRawData() { + return Object.freeze(this.rawData); + }, + + // 各頁籤 computed 基於 frozenRawData + filteredRegistrations() { + return this.frozenRawData.filter(/* 過濾邏輯 */); + } +} +``` + +## 執行確認 + +請檢視以上計劃,確認以下事項: + +1. ✅ 頁籤設計(Tab 1~6)符合需求 +2. ✅ 查詢流程(年/月 → 法會清單 → 明細資料)清晰 +3. ✅ 視覺區隔(色彩標記、Badge)符合 Excel 概念 +4. ✅ 技術架構(Vue + Vuetify + API)與 transfer 一致 +5. ✅ 功能完整性(查詢、過濾、排序、匯出) +6. ✅ **資料流架構(一次查詢 + 前端計算)**合理且高效 ★ + +**確認後即開始實作 Phase 1(建立查詢頁面骨架)。** \ No newline at end of file diff --git a/web/admin/pivot/index.aspx b/web/admin/pivot/index.aspx new file mode 100644 index 0000000..776832a --- /dev/null +++ b/web/admin/pivot/index.aspx @@ -0,0 +1,185 @@ +<%@ Page Title="數據透視管理" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="index.aspx.cs" Inherits="admin_pivot_index" %> + + + + + +

數據透視管理

+
+ + + \ No newline at end of file diff --git a/web/admin/pivot/index.aspx.cs b/web/admin/pivot/index.aspx.cs new file mode 100644 index 0000000..9dd5b99 --- /dev/null +++ b/web/admin/pivot/index.aspx.cs @@ -0,0 +1,10 @@ +using System; +using System.Web.UI; + +public partial class admin_pivot_index : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + // 頁面初始化(暫無邏輯) + } +} \ No newline at end of file diff --git a/web/admin/pivot/pivot-01.aspx b/web/admin/pivot/pivot-01.aspx new file mode 100644 index 0000000..842e83b --- /dev/null +++ b/web/admin/pivot/pivot-01.aspx @@ -0,0 +1,1374 @@ +<%@ Page Title="法會報名統計分析" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="pivot-01.aspx.cs" Inherits="admin_pivot_pivot01" %> + + + + + + +
+ 法會報名統計分析 +
+
+ + +
+ +
+ +
+ + + + + + mdi-calendar-search + 法會選擇 + + + mdi-tablet-dashboard + 牌位分析 + + + mdi-account-group + 信眾報名分析 + + + mdi-account-star + 功德主查詢分析 + + + mdi-table-large + 報名明細資料 + {{ rawData.length }} + + + + + + + + + + mdi-filter + 查詢條件 + + +
+ + + + + + + mdi-magnify + 查看 + + + + + 共查詢到 {{ tab1.activities.length }} 場法會活動 + + + +
+ + + + + + + + + + + +
+
+
+ + + + + + mdi-tablet-dashboard + 牌位分析 + + + {{ tab1.selectedActivity.活動名稱 }} + + + + +
+ + +
+ mdi-chart-pie + 樞紐分析表 +
+
+ 按功德類型和功德名稱分組統計 +
+
+ +
+ 項目總數: {{ tab2PivotData.filter(item => !item.isGroup).length }} 項 +
+
+ 類型總數: {{ tab2PivotData.filter(item => item.isGroup).length }} 類 +
+
+
+
+ + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + mdi-account-multiple + 信眾報名分析 + + + {{ tab1.selectedActivity.活動名稱 }} + + + + + + + + + + + +
+ + +
總人數
+
{{ tab3Summary.總人數 }} 人
+
+ +
功德主數量
+
{{ tab3Summary.功德主數量合計.toLocaleString() }}
+
+ +
功德主金額
+
{{ formatCurrency(tab3Summary.功德主金額合計) }}
+
+ +
總金額
+
+ {{ formatCurrency(tab3Summary.功德主金額合計 + tab3Summary.功德金額合計) }} +
+
+
+
+ + + + + + + + + + + + +
+
+
+ + + + + mdi-table-pivot + 功德主查詢分析 + + + {{ tab1.selectedActivity.活動名稱 }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 信眾數: {{ tab4PivotData.length }} 人 + + + 功德項目: {{ tab4MeritItems.length }} 項 + + +
+ + +
+ + + + + + + + + + +
+
+
+
+ + + + + + mdi-table-large + 報名明細資料 + + + {{ tab1.selectedActivity.活動名稱 }} + + + + +
+ + +
+ mdi-calendar-range + {{ tab1.selectedActivity.活動名稱 }} +
+
+ + {{ formatDate(tab1.selectedActivity.開始日期) }} ~ + {{ formatDate(tab1.selectedActivity.結束日期) }} + +
+
+ +
+ 總筆數: {{ filteredData.length }} 筆 +
+
+ 總金額: {{ formatCurrency(totalAmount) }} +
+
+
+
+ + + + + + + + + mdi-file-excel + 匯出 Excel + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ + + + + + diff --git a/web/admin/pivot/pivot-01.aspx.cs b/web/admin/pivot/pivot-01.aspx.cs new file mode 100644 index 0000000..765b00f --- /dev/null +++ b/web/admin/pivot/pivot-01.aspx.cs @@ -0,0 +1,11 @@ +using System; +using System.Web.UI; + +public partial class admin_pivot_pivot01 : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + // 頁面初始化(暫無邏輯) + // 前端直接呼叫 API + } +} diff --git a/web/admin/pivot/query.aspx b/web/admin/pivot/query.aspx new file mode 100644 index 0000000..43a9afa --- /dev/null +++ b/web/admin/pivot/query.aspx @@ -0,0 +1,1128 @@ +<%@ Page Title="數據透視查詢" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="query.aspx.cs" Inherits="admin_pivot_query" %> + + + + + + +
+ 數據透視查詢 +
+
+ + +
+ + +
+ +
+ + + + + + mdi-magnify + 查詢條件 + + + mdi-table + 報名明細 + {{ rawData.length }} + + + mdi-account-group + 信眾分析 + + + mdi-currency-usd + 收入統計 + + + mdi-chart-line + 趨勢分析 + + + mdi-compare + 對比分析 + + + + + + + + + + mdi-filter + 查詢條件設定 + + + + + + + + + + + + mdi-magnify + 查詢法會 + + + + + mdi-refresh + 重設 + + + + + + +
+ mdi-format-list-bulleted + 法會清單 + + 共 {{ activities.length }} 場 + +
+ + + + + + + + +
+
+
+ + + + + + mdi-table + 報名明細 + + + {{ selectedActivity ? selectedActivity.activity_name : '未選擇' }} + + + + +
+ + + + + + + + + + + + + mdi-download + 匯出 Excel + + + +
+ + + + + + +
{{ filteredRegistrations.length }}
+
報名筆數
+
+
+
+ + + +
{{ uniqueFollowersCount }}
+
報名人數
+
+
+
+ + + +
{{ formatCurrency(totalAmount) }}
+
總金額
+
+
+
+ + + +
{{ formatCurrency(averageAmount) }}
+
平均金額
+
+
+
+
+ + + + + + + + + + + +
+
+
+ + + + + + mdi-account-group + 信眾參與分析 + + + 共 {{ followerAnalysis.length }} 位信眾 + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + +
+
+
+ + + + + + mdi-currency-usd + 收入統計分析 + + + + + + + + mdi-calendar-month + 月份 + + + mdi-calendar + 年度 + + + mdi-star + 法會 + + + mdi-tag + 功德類型 + + + + + + + + + + + + + + + + + + + + + + mdi-chart-line + 趨勢分析 + + + + + 趨勢分析功能開發中... + + + + + + + + + + mdi-compare + 對比分析 + + + + + 對比分析功能開發中... + + + + +
+
+
+
+
+ + + + + + + + + + + diff --git a/web/admin/pivot/query.aspx.cs b/web/admin/pivot/query.aspx.cs new file mode 100644 index 0000000..62057d4 --- /dev/null +++ b/web/admin/pivot/query.aspx.cs @@ -0,0 +1,10 @@ +using System; +using System.Web.UI; + +public partial class admin_pivot_query : MyWeb.config +{ + protected void Page_Load(object sender, EventArgs e) + { + // 頁面初始化(暫無邏輯) + } +}