13 KiB
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
檔案主要功能說明
activity/index.aspx.cs:活動管理系統主頁,負責活動分類建立、管理及活動資料匯出Excel。follower/index.aspx.cs:信眾管理系統主頁,負責信眾資料查詢、管理及匯出。order/index.aspx.cs、order/reg.aspx.cs:訂單管理系統,負責訂單查詢與登記。accounting/index.aspx.cs:會計系統主頁。accounting/kind_reg.aspx.cs、kind_reg2.aspx.cs:會計科目分類登記。accounting/news_reg.aspx.cs:會計相關新聞或公告登記。
系統採用 ASP.NET Web Forms 與 Entity Framework,涵蓋信眾、活動、訂單、會計等模組。
訂單收款記錄管理作業流程
- 使用者點擊「收款紀錄」按鈕,開啟對話框並呼叫
payOrderList2()載入資料。 - 前端檢查訂單編號與明細編號,設定分頁參數,呼叫API取得收款記錄。
- 後端API接收查詢條件,查詢
pro_order_record,回傳付款日期、方式、金額、機構、銀行代碼等資訊。 - 前端以Vuetify資料表格顯示收款記錄,支援搜尋、分頁、排序。
- 支援新增、編輯、刪除收款記錄。
- 表格排序或分頁設定改變時自動重新載入資料。
用途:追蹤訂單收款狀況、管理多筆收款記錄、查詢與管理介面、支援多種付款方式。
功能延伸
信眾-登錄匯款
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驗證(可選) |
畫面設計說明
- 進入方式:法會/活動頁面連結或QRcode進入,可帶入活動ID參數。
- 表單欄位:姓名(可匿名/暱稱/法號)、電話、付款方式、帳號後5碼、付款金額、付款型態、備註、匯款憑證上傳、reCAPTCHA驗證。
- 操作流程:填寫表單送出,資料以JSON送API,成功後顯示訊息或QRcode,所有資料進入暫存表,不直接入帳,後台人工核對後正式入帳。
- 設計重點:手機友善、圖片上傳、送出後明確回饋、不強制檢查資料正確性但利於後續人工核對、加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) | 核對人員 |
畫面設計說明
- 資料來源與自動比對:左側顯示信眾登錄匯款資訊,系統自動比對報名信眾,結果顯示於DE欄,若失敗可手動選擇。
- 付款資訊與核對欄位:F
J欄顯示報名者填寫的付款資訊,KO欄由出納填寫實際入帳資料。 - 核對狀態管理:O欄標註「確認」或「無效」後,該筆資料完成核對,下次不再顯示,未完成資料持續顯示。
- 輔助說明與操作提示:下方提供人工核對重點、注意事項、歷史紀錄查詢、憑證比對等輔助說明,支援人工補正、標註特殊狀況。
- 沖帳與分攤明細:支援沖帳與分攤金額明細管理,方便人工確認。
個人-沖帳流程
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) | 備註 |
畫面設計說明
- 信眾沖帳清單:左側顯示所有待沖帳信眾及其入帳金額與沖帳狀態,點選信眾後彈出沖帳分配視窗。
- 彈窗內容:顯示信眾所有有報名但尚未完成繳費的項目清單,可自動分配入帳金額,也可人工調整分攤金額,支援部分繳費、溢繳、未繳等情境,並即時顯示分攤結果。
- 沖帳操作:可調整每個項目的沖帳金額,總金額需與入帳金額一致才能送出,確認後寫入
pro_order_record,完成核銷,沖帳完成後狀態更新避免重複處理。 - 輔助說明與彈性設計:下方提供沖帳規則、人工調整注意事項、分攤原則等輔助說明,支援查詢歷史沖帳紀錄。
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/。