219 lines
13 KiB
Markdown
219 lines
13 KiB
Markdown
# DOCS
|
||
|
||
## files
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\activity\index.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\follower\index.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\follower\reg.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\order\index.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\order\reg.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\accounting\kind_reg.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\accounting\kind_reg2.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\accounting\index.aspx.cs
|
||
D:\dev\ez\17168erp\git_gitea\web\admin\accounting\news_reg.aspx.cs
|
||
|
||
D:\dev\ez\17168erp\git_gitea\web\App_Code\api\orderController.cs
|
||
|
||
## DESC
|
||
|
||
### 檔案主要功能說明
|
||
|
||
1. `activity/index.aspx.cs`:活動管理系統主頁,負責活動分類建立、管理及活動資料匯出Excel。
|
||
2. `follower/index.aspx.cs`:信眾管理系統主頁,負責信眾資料查詢、管理及匯出。
|
||
3. `order/index.aspx.cs`、`order/reg.aspx.cs`:訂單管理系統,負責訂單查詢與登記。
|
||
4. `accounting/index.aspx.cs`:會計系統主頁。
|
||
5. `accounting/kind_reg.aspx.cs`、`kind_reg2.aspx.cs`:會計科目分類登記。
|
||
6. `accounting/news_reg.aspx.cs`:會計相關新聞或公告登記。
|
||
|
||
系統採用 ASP.NET Web Forms 與 Entity Framework,涵蓋信眾、活動、訂單、會計等模組。
|
||
|
||
---
|
||
|
||
### 訂單收款記錄管理作業流程
|
||
|
||
1. 使用者點擊「收款紀錄」按鈕,開啟對話框並呼叫 `payOrderList2()` 載入資料。
|
||
2. 前端檢查訂單編號與明細編號,設定分頁參數,呼叫API取得收款記錄。
|
||
3. 後端API接收查詢條件,查詢 `pro_order_record`,回傳付款日期、方式、金額、機構、銀行代碼等資訊。
|
||
4. 前端以Vuetify資料表格顯示收款記錄,支援搜尋、分頁、排序。
|
||
5. 支援新增、編輯、刪除收款記錄。
|
||
6. 表格排序或分頁設定改變時自動重新載入資料。
|
||
|
||
用途:追蹤訂單收款狀況、管理多筆收款記錄、查詢與管理介面、支援多種付款方式。
|
||
|
||
---
|
||
# 功能延伸
|
||
|
||
## 信眾-登錄匯款
|
||
|
||
### TABLE結構
|
||
|
||
新增暫存表 `remittance_register_tmp`:
|
||
|
||
| 欄位名稱 | 型態 | 說明 |
|
||
|------------------|----------------|----------------------------|
|
||
| id | int, PK, AI | 主鍵,自動編號 |
|
||
| activity_id | int | 對應法會/活動ID(可選) |
|
||
| name | nvarchar(50) | 姓名/暱稱/法號 |
|
||
| phone | nvarchar(30) | 聯絡電話 |
|
||
| pay_type | nvarchar(20) | 付款方式(現金/匯款等) |
|
||
| account_last5 | nvarchar(10) | 帳號後五碼 |
|
||
| amount | decimal(12,2) | 付款金額 |
|
||
| pay_mode | nvarchar(10) | 付款型態(個人/共同) |
|
||
| note | nvarchar(200) | 備註 |
|
||
| proof_img | nvarchar(200) | 憑證圖檔路徑 |
|
||
| status | nvarchar(20) | 狀態(待核對/已入帳/作廢) |
|
||
| create_time | datetime | 建立時間 |
|
||
| verify_time | datetime | 核對/入帳時間 |
|
||
| verify_user | nvarchar(50) | 核對人員 |
|
||
| verify_note | nvarchar(200) | 核對說明 |
|
||
| recaptcha_token | nvarchar(200) | reCAPTCHA驗證(可選) |
|
||
|
||
---
|
||
|
||
### 畫面設計說明
|
||
|
||
1. 進入方式:法會/活動頁面連結或QRcode進入,可帶入活動ID參數。
|
||
2. 表單欄位:姓名(可匿名/暱稱/法號)、電話、付款方式、帳號後5碼、付款金額、付款型態、備註、匯款憑證上傳、reCAPTCHA驗證。
|
||
3. 操作流程:填寫表單送出,資料以JSON送API,成功後顯示訊息或QRcode,所有資料進入暫存表,不直接入帳,後台人工核對後正式入帳。
|
||
4. 設計重點:手機友善、圖片上傳、送出後明確回饋、不強制檢查資料正確性但利於後續人工核對、加reCAPTCHA防灌單。
|
||
|
||
---
|
||
## 核對入帳資訊
|
||
|
||
### TABLE結構說明
|
||
|
||
主表 `remittance_check`,記錄每筆待核對與已核對入帳資料。
|
||
|
||
| 欄位名稱 | 型態 | 說明 |
|
||
|------------------|----------------|----------------------------------------|
|
||
| id | int, PK, AI | 主鍵,自動編號 |
|
||
| tmp_id | int | 對應暫存登錄表(remittance_register_tmp)的ID |
|
||
| match_signup_id | int | 自動或人工比對到的報名信眾ID |
|
||
| match_status | nvarchar(20) | 比對狀態(自動/人工/未比對) |
|
||
| pay_type | nvarchar(20) | 付款方式(登錄資料) |
|
||
| account_last5 | nvarchar(10) | 帳號後五碼(登錄資料) |
|
||
| amount | decimal(12,2) | 付款金額(登錄資料) |
|
||
| payer_name | nvarchar(50) | 付款人/登錄人(登錄資料) |
|
||
| phone | nvarchar(30) | 電話(登錄資料) |
|
||
| proof_img | nvarchar(200) | 憑證圖檔路徑 |
|
||
| check_amount | decimal(12,2) | 實際入帳金額(出納填寫) |
|
||
| check_date | datetime | 入帳日期(出納填寫) |
|
||
| check_type | nvarchar(20) | 入帳方式(出納填寫) |
|
||
| check_note | nvarchar(200) | 入帳備註(出納填寫) |
|
||
| status | nvarchar(20) | 狀態(待核對/已確認/無效/沖帳) |
|
||
| create_time | datetime | 建立時間 |
|
||
| update_time | datetime | 最後更新時間 |
|
||
| verify_user | nvarchar(50) | 核對人員 |
|
||
|
||
---
|
||
|
||
### 畫面設計說明
|
||
|
||
1. 資料來源與自動比對:左側顯示信眾登錄匯款資訊,系統自動比對報名信眾,結果顯示於DE欄,若失敗可手動選擇。
|
||
2. 付款資訊與核對欄位:F~J欄顯示報名者填寫的付款資訊,K~O欄由出納填寫實際入帳資料。
|
||
3. 核對狀態管理:O欄標註「確認」或「無效」後,該筆資料完成核對,下次不再顯示,未完成資料持續顯示。
|
||
4. 輔助說明與操作提示:下方提供人工核對重點、注意事項、歷史紀錄查詢、憑證比對等輔助說明,支援人工補正、標註特殊狀況。
|
||
5. 沖帳與分攤明細:支援沖帳與分攤金額明細管理,方便人工確認。
|
||
|
||
---
|
||
|
||
## 個人-沖帳流程
|
||
|
||
### TABLE結構說明
|
||
|
||
沖帳結果寫入 `pro_order_record`:
|
||
|
||
| 欄位名稱 | 型態 | 說明 |
|
||
|------------------|----------------|----------------------------------------|
|
||
| num | int, PK, AI | 主鍵,自動編號 |
|
||
| detail_num | int | 對應訂單明細(pro_order_detail)的ID |
|
||
| price | decimal(12,2) | 沖帳金額 |
|
||
| payment | int | 付款方式(對應會計科目細分類ID) |
|
||
| reg_time | datetime | 沖帳登記時間 |
|
||
| pay_date | datetime | 實際付款日期 |
|
||
| organization | nvarchar(100) | 匯款機構/銀行名稱 |
|
||
| bank_code | nvarchar(20) | 銀行代碼 |
|
||
| status | nvarchar(20) | 狀態(有效/作廢等) |
|
||
| note | nvarchar(200) | 備註 |
|
||
|
||
---
|
||
|
||
### 畫面設計說明
|
||
|
||
1. 信眾沖帳清單:左側顯示所有待沖帳信眾及其入帳金額與沖帳狀態,點選信眾後彈出沖帳分配視窗。
|
||
2. 彈窗內容:顯示信眾所有有報名但尚未完成繳費的項目清單,可自動分配入帳金額,也可人工調整分攤金額,支援部分繳費、溢繳、未繳等情境,並即時顯示分攤結果。
|
||
3. 沖帳操作:可調整每個項目的沖帳金額,總金額需與入帳金額一致才能送出,確認後寫入 `pro_order_record`,完成核銷,沖帳完成後狀態更新避免重複處理。
|
||
4. 輔助說明與彈性設計:下方提供沖帳規則、人工調整注意事項、分攤原則等輔助說明,支援查詢歷史沖帳紀錄。
|
||
|
||
---
|
||
|
||
# TABLE CREATE SQL
|
||
```
|
||
-- 信眾-登錄匯款暫存表
|
||
CREATE TABLE remittance_register_tmp (
|
||
id INT IDENTITY(1,1) PRIMARY KEY COMMENT '主鍵,自動編號',
|
||
activity_id INT NULL COMMENT '對應法會/活動ID(可選)',
|
||
name NVARCHAR(50) NOT NULL COMMENT '姓名/暱稱/法號',
|
||
phone NVARCHAR(30) NULL COMMENT '聯絡電話',
|
||
pay_type NVARCHAR(20) NOT NULL COMMENT '付款方式(現金/匯款等)',
|
||
account_last5 NVARCHAR(10) NULL COMMENT '帳號後五碼',
|
||
amount DECIMAL(12,2) NOT NULL COMMENT '付款金額',
|
||
pay_mode NVARCHAR(10) NOT NULL COMMENT '付款型態(個人/共同)',
|
||
note NVARCHAR(200) NULL COMMENT '備註',
|
||
proof_img NVARCHAR(200) NULL COMMENT '憑證圖檔路徑',
|
||
status NVARCHAR(20) NOT NULL DEFAULT '待核對' COMMENT '狀態(待核對/已入帳/作廢)',
|
||
create_time DATETIME NOT NULL DEFAULT GETDATE() COMMENT '建立時間',
|
||
verify_time DATETIME NULL COMMENT '核對/入帳時間',
|
||
verify_user NVARCHAR(50) NULL COMMENT '核對人員',
|
||
verify_note NVARCHAR(200) NULL COMMENT '核對說明',
|
||
recaptcha_token NVARCHAR(200) NULL COMMENT 'reCAPTCHA驗證(可選)'
|
||
);
|
||
|
||
-- 入帳核對主表
|
||
CREATE TABLE remittance_check (
|
||
id INT IDENTITY(1,1) PRIMARY KEY COMMENT '主鍵,自動編號',
|
||
tmp_id INT NOT NULL COMMENT '對應暫存登錄表(remittance_register_tmp)的ID',
|
||
match_signup_id INT NULL COMMENT '自動或人工比對到的報名信眾ID',
|
||
match_status NVARCHAR(20) NOT NULL DEFAULT '未比對' COMMENT '比對狀態(自動/人工/未比對)',
|
||
pay_type NVARCHAR(20) NOT NULL COMMENT '付款方式(登錄資料)',
|
||
account_last5 NVARCHAR(10) NULL COMMENT '帳號後五碼(登錄資料)',
|
||
amount DECIMAL(12,2) NOT NULL COMMENT '付款金額(登錄資料)',
|
||
payer_name NVARCHAR(50) NULL COMMENT '付款人/登錄人(登錄資料)',
|
||
phone NVARCHAR(30) NULL COMMENT '電話(登錄資料)',
|
||
proof_img NVARCHAR(200) NULL COMMENT '憑證圖檔路徑',
|
||
check_amount DECIMAL(12,2) NULL COMMENT '實際入帳金額(出納填寫)',
|
||
check_date DATETIME NULL COMMENT '入帳日期(出納填寫)',
|
||
check_type NVARCHAR(20) NULL COMMENT '入帳方式(出納填寫)',
|
||
check_note NVARCHAR(200) NULL COMMENT '入帳備註(出納填寫)',
|
||
status NVARCHAR(20) NOT NULL DEFAULT '待核對' COMMENT '狀態(待核對/已確認/無效/沖帳)',
|
||
create_time DATETIME NOT NULL DEFAULT GETDATE() COMMENT '建立時間',
|
||
update_time DATETIME NULL COMMENT '最後更新時間',
|
||
verify_user NVARCHAR(50) NULL COMMENT '核對人員'
|
||
);
|
||
|
||
-- 個人沖帳紀錄表
|
||
CREATE TABLE pro_order_record (
|
||
num INT IDENTITY(1,1) PRIMARY KEY COMMENT '主鍵,自動編號',
|
||
detail_num INT NOT NULL COMMENT '對應訂單明細(pro_order_detail)的ID',
|
||
price DECIMAL(12,2) NOT NULL COMMENT '沖帳金額',
|
||
payment INT NOT NULL COMMENT '付款方式(對應會計科目細分類ID)',
|
||
reg_time DATETIME NOT NULL DEFAULT GETDATE() COMMENT '沖帳登記時間',
|
||
pay_date DATETIME NULL COMMENT '實際付款日期',
|
||
organization NVARCHAR(100) NULL COMMENT '匯款機構/銀行名稱',
|
||
bank_code NVARCHAR(20) NULL COMMENT '銀行代碼',
|
||
status NVARCHAR(20) NOT NULL DEFAULT '有效' COMMENT '狀態(有效/作廢等)',
|
||
note NVARCHAR(200) NULL COMMENT '備註'
|
||
);
|
||
```
|
||
|
||
# HTML 檔名及路徑規劃
|
||
|
||
| 功能 | 建議檔名/路徑 | 說明 |
|
||
|----------------------|----------------------------------------------------|--------------------------|
|
||
| 信眾-登錄匯款 | `/web/transfer/register.html` | 信眾匯款登錄前台 |
|
||
| 核對入帳資訊 | `/web/admin/finance/remit_check.html` | 後台入帳核對作業 |
|
||
| 個人-沖帳流程 | `/web/admin/finance/personal_offset.html` | 後台個人沖帳分攤 |
|
||
| 共同-沖帳流程 | `/web/admin/finance/group_offset.html` | 後台多人/批次沖帳 |
|
||
| 訂單收款紀錄 | `/web/admin/order/reg.aspx` | 現有訂單收款紀錄 |
|
||
|
||
前台頁面可用 `.html` 或 `.aspx`,依現有架構調整。後台建議統一於 `/web/admin/finance/` 目錄下,便於管理。API建議集中於 `/web/App_Code/api/`。
|