# 相關頁面 ## 基本功能 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 ```