From 7d57e292fedaacb77c7c54829753c222909fb575 Mon Sep 17 00:00:00 2001 From: yiming Date: Mon, 13 Oct 2025 00:04:59 +0800 Subject: [PATCH] update doc --- data/memo/report-view.md | 26 ++ data/memo/report-view.sql | 252 ++++++++++++++++++++ data/memo/report.md | 484 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 762 insertions(+) create mode 100644 data/memo/report-view.md create mode 100644 data/memo/report-view.sql create mode 100644 data/memo/report.md diff --git a/data/memo/report-view.md b/data/memo/report-view.md new file mode 100644 index 0000000..51209ed --- /dev/null +++ b/data/memo/report-view.md @@ -0,0 +1,26 @@ +# 報表系統規劃 +為每場活動(法會)建立報名到舉辦過程的報表, +要涵蓋以下面向的統計分析資訊 + +- 以單一場法會為核心 +- 時間面向: 當前狀況, 指定期間狀況 +- 維度: + - 信眾: 報名數量, 金額, 收款狀態 + - 牌位型態(活動品項表): 報名數量, 金額, 收款狀態 + - 收款狀態: 己收/未收 統計明細 + +## 法會報表系統查詢規劃** + +### 1. 核心基礎 VIEW + 1. `vw_activity_registration_base` - 單一活動的完整報名基礎資料 + 2. `vw_activity_payment_detail` - 單一活動的完整收款明細資料 +### 2. 統計分析 VIEW + 3. `vw_activity_follower_statistics` - 按信眾統計報名情況 + 4. `vw_activity_item_statistics` - 按品項統計報名情況 + 5. `vw_activity_payment_status` - 收款狀態統計分析 +### 3. 時間維度分析 VIEW + 6. `vw_activity_registration_trend` - 按日期統計報名趨勢 + 7. `vw_activity_payment_trend` - 按收款日期統計收款趨勢 +### 4. 詳細查詢 VIEW + 8. `vw_activity_unpaid_detail` - 未收款明細清單 + 9. `vw_activity_transfer_reconciliation` - 匯款對帳明細 diff --git a/data/memo/report-view.sql b/data/memo/report-view.sql new file mode 100644 index 0000000..e58d7ab --- /dev/null +++ b/data/memo/report-view.sql @@ -0,0 +1,252 @@ +drop view if exists vw_activity_registration_base; +drop view if exists vw_activity_payment_detail; +drop view if exists vw_activity_follower_statistics; +drop view if exists vw_activity_item_statistics; +drop view if exists vw_activity_payment_status; +drop view if exists vw_activity_registration_trend; +drop view if exists vw_activity_payment_trend; +drop view if exists vw_activity_unpaid_detail; +drop view if exists vw_activity_transfer_reconciliation; +GO +-- 1. 法會報名基礎資料 VIEW +CREATE VIEW vw_activity_registration_base AS +SELECT + a.num AS 活動編號, + a.subject AS 活動名稱, + a.startDate_solar AS 活動開始日期, + a.endDate_solar AS 活動結束日期, + po.order_no AS 報名單號, + po.up_time AS 報名日期, + po.keyin1 AS 報名狀態, + f.num AS 信眾編號, + f.f_number AS 信眾代號, + f.u_name AS 信眾姓名, + f.phone AS 聯絡電話, + f.identity_type AS 身分別, + f.country AS 國籍, + pod.num AS 報名明細編號, + ai.num AS 品項編號, + ai.subject AS 品項名稱, + ai.category AS 品項分類, + pod.price AS 單價, + pod.qty AS 數量, + pod.price * pod.qty AS 應繳金額, + pod.pay AS 已收金額, + (pod.price * pod.qty - ISNULL(pod.pay, 0)) AS 未收金額, + pod.pay_date AS 付款期限, + pod.start_date AS 開始日期, + pod.due_date AS 到期日期, + pod.keyin1 AS 明細狀態, + pod.demo AS 備註 +FROM activity a +INNER JOIN pro_order po ON a.num = po.activity_num +INNER JOIN followers f ON po.f_num = f.num +INNER JOIN pro_order_detail pod ON po.order_no = pod.order_no +INNER JOIN actItem ai ON pod.actItem_num = ai.num; +GO + +-- 2. 收款明細基礎資料 VIEW +CREATE VIEW vw_activity_payment_detail AS +SELECT + a.num AS 活動編號, + a.subject AS 活動名稱, + po.order_no AS 報名單號, + f.u_name AS 信眾姓名, + pod.num AS 報名明細編號, + ai.subject AS 品項名稱, + por.num AS 收款記錄編號, + por.price AS 收款金額, + por.payment AS 付款方式, + por.pay_date AS 收款日期, + por.organization AS 收款機構, + por.bank_code AS 銀行代碼, + por.transfer_id AS 匯款記錄ID, + por.reconcile_memo AS 對帳備註, + tr.name AS 匯款人姓名, + tr.phone AS 匯款人電話, + tr.amount AS 匯款金額, + tr.check_date AS 入帳日期, + tr.status AS 匯款狀態 +FROM activity a +INNER JOIN pro_order po ON a.num = po.activity_num +INNER JOIN followers f ON po.f_num = f.num +INNER JOIN pro_order_detail pod ON po.order_no = pod.order_no +INNER JOIN actItem ai ON pod.actItem_num = ai.num +LEFT JOIN pro_order_record por ON pod.num = por.detail_num +LEFT JOIN transfer_register tr ON por.transfer_id = tr.id; +GO + +-- 3. 信眾報名統計 VIEW +CREATE VIEW vw_activity_follower_statistics AS +SELECT + 活動編號, + 活動名稱, + 信眾編號, + 信眾代號, + 信眾姓名, + 聯絡電話, + 身分別, + 國籍, + COUNT(DISTINCT 報名單號) AS 報名單數, + COUNT(報名明細編號) AS 報名品項數, + SUM(應繳金額) AS 應繳總金額, + SUM(已收金額) AS 已收總金額, + SUM(未收金額) AS 未收總金額, + CASE + WHEN SUM(未收金額) = 0 THEN '已繳清' + WHEN SUM(未收金額) = SUM(應繳金額) THEN '未繳' + ELSE '部分繳款' + END AS 繳款狀態 +FROM vw_activity_registration_base +GROUP BY 活動編號, 活動名稱, 信眾編號, 信眾代號, 信眾姓名, 聯絡電話, 身分別, 國籍; +GO + +-- 4. 品項報名統計 VIEW +CREATE VIEW vw_activity_item_statistics AS +SELECT + 活動編號, + 活動名稱, + 品項編號, + 品項名稱, + 品項分類, + 單價, + COUNT(報名明細編號) AS 報名數量, + SUM(數量) AS 總數量, + SUM(應繳金額) AS 應繳總金額, + SUM(已收金額) AS 已收總金額, + SUM(未收金額) AS 未收總金額, + CASE + WHEN COUNT(報名明細編號) = 0 THEN 0 + ELSE AVG(已收金額) + END AS 平均已收金額, + CASE + WHEN SUM(未收金額) = 0 THEN '已收齊' + WHEN SUM(未收金額) = SUM(應繳金額) THEN '未收款' + ELSE '部分收款' + END AS 收款狀態 +FROM vw_activity_registration_base +GROUP BY 活動編號, 活動名稱, 品項編號, 品項名稱, 品項分類, 單價; +GO + +-- 5. 收款狀態統計 VIEW +CREATE VIEW vw_activity_payment_status AS +SELECT + 活動編號, + 活動名稱, + '總計' AS 統計項目, + COUNT(DISTINCT 報名單號) AS 報名單數, + COUNT(報名明細編號) AS 報名品項數, + SUM(應繳金額) AS 應繳總金額, + SUM(已收金額) AS 已收總金額, + SUM(未收金額) AS 未收總金額, + CASE + WHEN SUM(應繳金額) = 0 THEN 0 + ELSE ROUND(SUM(已收金額) * 100.0 / SUM(應繳金額), 2) + END AS 收款率 +FROM vw_activity_registration_base +GROUP BY 活動編號, 活動名稱 + +UNION ALL + +SELECT + 活動編號, + 活動名稱, + CASE + WHEN 未收金額 = 0 THEN '已繳清' + WHEN 未收金額 = 應繳金額 THEN '未繳' + ELSE '部分繳款' + END AS 統計項目, + COUNT(DISTINCT 報名單號) AS 報名單數, + COUNT(報名明細編號) AS 報名品項數, + SUM(應繳金額) AS 應繳總金額, + SUM(已收金額) AS 已收總金額, + SUM(未收金額) AS 未收總金額, + CASE + WHEN SUM(應繳金額) = 0 THEN 0 + ELSE ROUND(SUM(已收金額) * 100.0 / SUM(應繳金額), 2) + END AS 收款率 +FROM vw_activity_registration_base +GROUP BY 活動編號, 活動名稱, + CASE + WHEN 未收金額 = 0 THEN '已繳清' + WHEN 未收金額 = 應繳金額 THEN '未繳' + ELSE '部分繳款' + END; +GO + +-- 6. 報名趨勢分析 VIEW +CREATE VIEW vw_activity_registration_trend AS +SELECT + 活動編號, + 活動名稱, + CAST(報名日期 AS DATE) AS 報名日期, + COUNT(DISTINCT 報名單號) AS 當日報名單數, + COUNT(報名明細編號) AS 當日報名品項數, + SUM(應繳金額) AS 當日應繳金額, + SUM(已收金額) AS 當日已收金額, + SUM(未收金額) AS 當日未收金額 +FROM vw_activity_registration_base +GROUP BY 活動編號, 活動名稱, CAST(報名日期 AS DATE); +GO + +-- 7. 收款趨勢分析 VIEW +CREATE VIEW vw_activity_payment_trend AS +SELECT + 活動編號, + 活動名稱, + CAST(收款日期 AS DATE) AS 收款日期, + COUNT(收款記錄編號) AS 當日收款筆數, + SUM(收款金額) AS 當日收款金額, + COUNT(DISTINCT 報名單號) AS 當日收款單數, + CASE + WHEN COUNT(收款記錄編號) = 0 THEN 0 + ELSE AVG(收款金額) + END AS 平均收款金額 +FROM vw_activity_payment_detail +WHERE 收款日期 IS NOT NULL +GROUP BY 活動編號, 活動名稱, CAST(收款日期 AS DATE); +GO + +-- 8. 未收款明細 VIEW +CREATE VIEW vw_activity_unpaid_detail AS +SELECT + 活動編號, + 活動名稱, + 報名單號, + 信眾姓名, + 聯絡電話, + 品項名稱, + 應繳金額, + 已收金額, + 未收金額, + 付款期限, + CASE + WHEN 付款期限 < GETDATE() THEN '已逾期' + WHEN 付款期限 <= DATEADD(DAY, 3, GETDATE()) THEN '即將到期' + ELSE '未到期' + END AS 到期狀態 +FROM vw_activity_registration_base +WHERE 未收金額 > 0; +GO + +-- 9. 匯款對帳明細 VIEW +CREATE VIEW vw_activity_transfer_reconciliation AS +SELECT + 活動編號, + 活動名稱, + 匯款記錄ID, + 匯款人姓名, + 匯款人電話, + 匯款金額, + 入帳日期, + 匯款狀態, + COUNT(收款記錄編號) AS 關聯收款筆數, + SUM(收款金額) AS 已對帳金額, + CASE + WHEN SUM(收款金額) IS NULL THEN 匯款金額 + ELSE 匯款金額 - SUM(收款金額) + END AS 剩餘金額 +FROM vw_activity_payment_detail +WHERE 匯款記錄ID IS NOT NULL +GROUP BY 活動編號, 活動名稱, 匯款記錄ID, 匯款人姓名, 匯款人電話, 匯款金額, 入帳日期, 匯款狀態; +GO diff --git a/data/memo/report.md b/data/memo/report.md new file mode 100644 index 0000000..d2be0bd --- /dev/null +++ b/data/memo/report.md @@ -0,0 +1,484 @@ +# 相關頁面 +## 基本功能 +admin/order/index.aspx +admin/activity/index.aspx +admin/follower/index.aspx +admin/activity/index2.aspx +admin/transfer/index.aspx + +## 入帳沖帳 +D:\dev\ez\17168erp\git_17888\web\admin\transfer\balance_reconcile_query.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\balance_reconcile.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\group_reconcile.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\index.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\personal_reconcile.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\register.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\verify_order_record_query.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\verify.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\verify1.aspx +D:\dev\ez\17168erp\git_17888\web\admin\transfer\verify2.aspx + +# 資料結構 + +## 📊 17168ERP 系統使用的資料表架構 + +### 🎯 **核心業務資料表** + +#### 1. **報名管理系統** (`order/index.aspx`) +**主要資料表:** +- **`pro_order`** - 報名主表 + - `order_no` (單號)、`up_time` (報名日期)、`keyin1` (單據狀態) + - `f_num` (信眾編號)、`activity_num` (活動編號)、`phone` (聯絡電話) + +- **`pro_order_detail`** - 報名明細表 + - `order_no` (關聯主表)、`actItem_num` (活動品項)、`f_num` (報名者) + - `price` (金額)、`qty` (數量)、`pay` (已收金額)、`pay_date` (付款期限) + +- **`activity`** - 活動主表 + - `num`、`subject` (活動名稱)、`start_date` (開始日期)、`end_date` (結束日期) + +- **`actItem`** - 活動品項表 + - `num`、`subject` (品項名稱)、`category` (品項分類) + +#### 2. **信眾管理系統** (`follower/index.aspx`) +**主要資料表:** +- **`followers`** - 信眾基本資料表 + - `num`、`f_number` (信眾編號)、`u_name` (姓名)、`sex` (性別) + - `identity_type` (身分別)、`birthday` (生日)、`phone` (電話) + - `address` (地址)、`country` (國籍)、`refugedate` (皈依日期) + +- **`countries`** - 國籍資料表 + - `ID`、`name_zh` (中文名稱)、`name_en` (英文名稱) + +#### 3. **活動管理系統** (`activity/index.aspx`) +**主要資料表:** +- **`activity`** - 活動主表 + - `num`、`subject` (活動名稱)、`startDate_solar` (國曆開始日期) + - `startDate_lunar` (農曆開始日期)、`endDate_solar` (國曆結束日期) + - `endDate_lunar` (農曆結束日期)、`dueDate` (報名截止日期) + +- **`activity_kind`** - 活動分類表 + - `num`、`subject` (分類名稱) + +#### 4. **匯款沖帳系統** (`transfer/index.aspx`) +**主要資料表:** +- **`transfer_register`** - 匯款登錄表 + - `id`、`name` (匯款人姓名)、`phone` (電話)、`amount` (匯款金額) + - `pay_type` (付款方式)、`account_last5` (帳號後五碼) + - `proof_img` (匯款證明圖片)、`status` (狀態) + - `f_num_match` (配對信眾編號)、`check_amount` (核對金額) + +- **`accounting`** - 會計帳務表 + - `num`、`category` (科目分類)、`kind` (收支類型) + - `price` (金額)、`debtor` (債務人)、`activity_num` (關聯活動) + +- **`pro_order_record`** - 報名收款記錄表 + - `num`、`detail_num` (關聯明細)、`price` (金額)、`payment` (付款方式) + - `pay_date` (收款日期)、`transfer_id` (關聯匯款記錄) + +### 🔗 **關聯關係** + +#### **主要外鍵關聯:** +``` +pro_order → followers (f_num) +pro_order → activity (activity_num) +pro_order_detail → pro_order (order_no) +pro_order_detail → actItem (actItem_num) +pro_order_detail → followers (f_num) +transfer_register → followers (f_num) +transfer_register → activity (activity_num) +accounting → pro_order_detail (pro_order_detail_num) +``` + +### 📈 **資料表統計** + +| 功能模組 | 主要資料表數量 | 核心業務表 | +|---------|-------------|-----------| +| 報名管理 | 5個 | `pro_order`, `pro_order_detail` | +| 信眾管理 | 2個 | `followers`, `countries` | +| 活動管理 | 2個 | `activity`, `activity_kind` | +| 匯款沖帳 | 3個 | `transfer_register`, `accounting`, `pro_order_record` | + +### 🎯 **系統特色** + +1. **模組化設計**:每個功能模組都有獨立的資料表群組 +2. **關聯完整**:透過外鍵建立完整的業務關聯關係 +3. **狀態管理**:多個狀態表支援複雜的業務流程 +4. **UUID設計**:新模組採用UUID作為主鍵,提升擴展性 +5. **軟刪除機制**:使用`IsDeleted`欄位而非物理刪除 + +這個資料表架構支援了一個完整的宗教活動管理ERP系統,涵蓋了從信眾管理、活動報名、床位安排到財務沖帳的全流程管理。 + +# 入帳沖帳 +``` +報名者匯款 → transfer_register (status: pending) + ↓ +出納核對身份 → transfer_register (status: verified, f_num_match) + ↓ +出納核對金額 → transfer_register (status: confirmed, check_amount) + ↓ +會計個人沖帳 → pro_order_record + accounting + ↓ +會計共同沖帳 → pro_order_record + accounting (多筆) + ↓ +會計餘額核銷 → transfer_register (remain_amount) + ↓ +查詢統計報表 → 各表關聯查詢 +``` + +# DB SCHEMA +我來為您使用 Mermaid 語法繪製 17168ERP 系統的 ER 圖,展示各個資料表之間的關聯關係。 + + +[1 tool called] + +我無法直接創建 Mermaid 圖表,但我可以為您提供完整的 Mermaid ER 圖代碼,您可以複製到支援 Mermaid 的工具中查看(如 GitHub、GitLab、或 Mermaid Live Editor)。 + +以下是 17168ERP 系統的 ER 圖 Mermaid 代碼: + +```mermaid +erDiagram + %% 信眾管理系統 + followers { + int num PK + string f_number + string u_name + string sex + int identity_type + datetime birthday + string phone + string email + datetime refugedate + string refuge_name + string address + string demo + int leader + string socialid1 + string socialid2 + string tab + string contactor + string contactor_phone + string blood + string customize_data + } + + countries { + int ID PK + string name_zh + string name_en + string range + } + + %% 活動管理系統 + activity { + int num PK + string subject + datetime startDate_solar + datetime startDate_lunar + datetime endDate_solar + datetime endDate_lunar + datetime dueDate + int kind + string demo + string customize_data + } + + activity_kind { + int num PK + string subject + string demo + } + + actItem { + int num PK + int activity_num FK + string subject + int category + string demo + string customize_data + } + + %% 報名管理系統 + pro_order { + string order_no PK + datetime up_time + datetime reg_time + string keyin1 + int f_num FK + string phone + int activity_num FK + string address + string demo + string customize_data + int introducer FK + boolean send_receipt + string receipt_title + } + + pro_order_detail { + int num PK + string order_no FK + int actItem_num FK + int f_num FK + string f_num_tablet + string address + int from_id FK + string from_id_tablet + datetime due_date + int bed_type + float price + int qty + datetime start_date + datetime extend_date + float pay + datetime pay_date + int keyin1 + string demo + datetime UpdateTime + } + + %% 匯款沖帳系統 + transfer_register { + int id PK + int activity_num FK + string name + string phone + string pay_type + string account_last5 + decimal amount + string pay_mode + string note + string proof_img + string status + datetime create_time + int f_num_match FK + int f_num FK + int acc_num + datetime check_date + decimal check_amount + string check_memo + string check_status + int acc_kind + int member_num + datetime verify_time + string verify_note + string draft + decimal remain_amount + int balance_act_item FK + int balance_pro_order_detail FK + } + + accounting { + int num PK + datetime uptime + int category + int kind + int kind2 + float price + float tax + string demo + int mem_num + string debtor + int activity_num FK + string excerpt + datetime reg_time + int pro_order_detail_num FK + } + + pro_order_record { + int num PK + int detail_num FK + float price + int payment + datetime reg_time + datetime pay_date + string organization + string bank_code + int transfer_id FK + string reconcile_memo + } + + %% 區域床位管理系統 + Region { + Guid Uuid PK + string Name + boolean Gender + boolean IsActive + boolean IsDeleted + } + + Room { + Guid Uuid PK + string Name + boolean Gender + int BedCount + boolean IsActive + datetime CreatedAt + datetime UpdatedAt + boolean IsDeleted + Guid RegionUuid FK + } + + RegionRoomBed { + Guid Uuid PK + string Name + boolean IsActive + boolean Gender + boolean IsDeleted + Guid RoomUuid FK + string StatusCode FK + } + + RegionRoomBedStatus { + string Code PK + string Name + string Description + int Category + boolean IsDeleted + } + + %% 掛單管理系統 + GuaDanOrder { + Guid Uuid PK + datetime StartDate + datetime EndDate + int CreateUser FK + datetime CreatedAt + datetime UpdatedAt + string Notes + string GuaDanOrderNo + int BookerFollowerNum FK + string BookerName + string BookerPhone + boolean IsDeleted + int ActivityNum FK + boolean IsCancel + } + + GuaDanOrderGuest { + Guid Uuid PK + string GuaDanOrderNo FK + int FollowerNum FK + boolean IsDeleted + Guid RoomUuid FK + Guid BedUuid FK + datetime CheckInAt + datetime CheckOutAt + string StatusCode FK + } + + RegionAndRoomAndBedSchedule { + Guid Uuid PK + Guid TargetUuid FK + string GuaDanOrderNo + date ScheduleDate + boolean IsCancel + boolean IsDeleted + int UseType + string Title + string Description + string CreatedBy + datetime CreatedAt + Guid GuaDanOrderGuestUuid FK + } + + %% 關聯關係 + followers ||--o{ pro_order : "報名" + followers ||--o{ pro_order_detail : "報名明細" + followers ||--o{ transfer_register : "匯款人" + followers ||--o{ GuaDanOrderGuest : "掛單客人" + + activity ||--o{ pro_order : "活動報名" + activity ||--o{ actItem : "活動品項" + activity ||--o{ transfer_register : "活動匯款" + activity ||--o{ GuaDanOrder : "掛單活動" + + pro_order ||--o{ pro_order_detail : "報名明細" + pro_order ||--o{ pro_order_record : "收款記錄" + + pro_order_detail ||--o{ pro_order_record : "明細收款" + pro_order_detail ||--o{ accounting : "會計分錄" + pro_order_detail ||--o{ transfer_register : "沖帳明細" + + transfer_register ||--o{ pro_order_record : "匯款記錄" + transfer_register ||--o{ accounting : "會計記錄" + + Region ||--o{ Room : "區域房間" + Room ||--o{ RegionRoomBed : "房間床位" + RegionRoomBedStatus ||--o{ RegionRoomBed : "床位狀態" + RegionRoomBedStatus ||--o{ GuaDanOrderGuest : "客人狀態" + + GuaDanOrder ||--o{ GuaDanOrderGuest : "掛單客人" + GuaDanOrderGuest ||--o{ RegionAndRoomAndBedSchedule : "床位排程" + + countries ||--o{ followers : "國籍" + activity_kind ||--o{ activity : "活動分類" +``` + +## 📊 **ER 圖說明** + +### **主要實體群組:** + +1. **信眾管理群組** + - `followers` (信眾基本資料) + - `countries` (國籍資料) + +2. **活動管理群組** + - `activity` (活動主表) + - `activity_kind` (活動分類) + - `actItem` (活動品項) + +3. **報名管理群組** + - `pro_order` (報名主表) + - `pro_order_detail` (報名明細) + +4. **財務管理群組** + - `transfer_register` (匯款登錄) + - `accounting` (會計帳務) + - `pro_order_record` (收款記錄) + +5. **床位管理群組** + - `Region` (區域) + - `Room` (房間) + - `RegionRoomBed` (床位) + - `RegionRoomBedStatus` (床位狀態) + +6. **掛單管理群組** + - `GuaDanOrder` (掛單主表) + - `GuaDanOrderGuest` (掛單客人) + - `RegionAndRoomAndBedSchedule` (床位排程) + +### **關鍵關聯關係:** + +- **一對多關係**:使用 `||--o{` 表示 +- **外鍵關聯**:FK 標記顯示主要的外鍵關聯 +- **業務流程**:從信眾報名 → 匯款 → 沖帳 → 床位安排的完整流程 + +您可以将這個 Mermaid 代碼複製到 [Mermaid Live Editor](https://mermaid.live/) 或其他支援 Mermaid 的工具中查看完整的 ER 圖表。 + +--- +# 報表系統規劃 +為每場活動(法會)建立報名到舉辦過程的報表, +要涵蓋以下面向的統計分析資訊 + +- 以單一場法會為核心 +- 時間面向: 當前狀況, 指定期間狀況 +- 維度: + - 信眾: 報名數量, 金額, 收款狀態 + - 牌位型態(活動品項表): 報名數量, 金額, 收款狀態 + - 收款狀態: 己收/未收 統計明細 + +## 執行方式: +- 類似excel, 詳細資料->pivot table +- 先建立一個(或數個)最核心的sql view, 包含各項:報名資料, 收款明細 + - 先以單一活動編號為固定FILTER : activity.num=59 +- 再依不同面向, 建立第二級的sql view +- 再人工將以上:第一, 第二級的SQL VIEW, 以EXCEL查詢, 做資料分析/整理 +- 相關英文欄名, 在VIEW中以中文別名顯示 + +## 相關SQL VIEW +- (查詢清單) +### (查詢) +(說明) +```sql +``` \ No newline at end of file