4.7 KiB
4.7 KiB
個人費用彙整表 - 實施指南
概述
已完成「個人費用彙整表」的前端和框架實施。本文檔說明需要用戶完成的後端邏輯部分。
完成的工作
1. 前端 UI (Forms\領據系統\財稅作業與領據關帳.aspx)
✅ 完成內容:
- Tab 0 查詢表單 (起日、迄日、身分別、付款方式)
- 查詢/匯出按鈕
- 查詢結果表格 (9 個欄位)
- 完整的 CSS 樣式
2. Vue.js 邏輯 (Scripts\財稅作業與領據關帳.js)
✅ 完成內容:
- summaryTable 資料物件初始化
- 下拉清單加載邏輯 (
loadSummaryTableDropdowns) - 查詢方法 (
searchSummaryTable) - 匯出方法 (
exportSummaryTable) - 輔助方法 (
parseDate,formatCurrency,downloadExcel)
3. WebService 方法簽名 (Services\領據處理.asmx.cs)
✅ 完成內容:
SearchSummaryTable方法框架個人費用彙整表Item資料模型類
需要用戶完成的工作
1. SearchSummaryTable 後端實現
位置: Services\領據處理.asmx.cs - SearchSummaryTable 方法
需要實現:
// 在此處替換 TODO 註解的部分
// 根據查詢參數取得資料:
using (var conn = DAC.NewConnection())
{
// 你的查詢邏輯應該:
// 1. 根據 startDate (起日), endDate (迄日) 篩選日期範圍
// 2. 如果 身分別 有值,篩選身分別
// 3. 如果 付款方式 有值,篩選付款方式
// 4. 返回 List<個人費用彙整表Item>
// 查詢應該返回以下欄位:
var summaryData = new List<個人費用彙整表Item>();
// TODO: 實現查詢邏輯
// var result = dac.SearchSummaryTable(startDate, endDate, 身分別, 付款方式);
// summaryData = result.ToList();
return summaryData;
}
輸出欄位 (9 個):
領款人姓名(string) - 講師/非講師姓名身分證字號(string)堂數(string) - 格式:「數量 + 單位」,例如「5堂」扣繳類別(string)帳戶名(string)付款金額(decimal)匯款帳號(string)銀行分行代碼(string)銀行分行(string)
參數:
startDate(DateTime?) - 起日endDate(DateTime?) - 迄日身分別(string) - 身分別 (可空)付款方式(string) - 付款方式 (可空)
2. Excel 匯出實現
位置: Services\領據處理.asmx.cs - SearchSummaryTable 方法中的 EXPORT 部分
需要實現:
if (輸出方式 == "EXPORT")
{
// TODO: 實現 Excel 匯出邏輯
// 1. 使用相同的查詢取得 summaryData
// 2. 生成 Excel 檔案 (使用 NPOI 或其他庫)
// 3. 將 Excel 檔案轉換為 Base64 編碼
// 4. 返回 excelData (Base64) 和 fileName
var excelResult = new
{
excelData = excelBase64String, // Base64 編碼的 Excel 檔案內容
fileName = $"講師個人費用彙整表_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx"
};
return ServiceResponse.CreateSuccess("匯出成功", excelResult);
}
測試檢查清單
- 在 Visual Studio 中構建項目 (確無編譯錯誤)
- 在瀏覽器中開啟財稅作業與領據關帳頁面
- 驗證 Tab 0 個人費用彙整表是否顯示正確
- 驗證下拉清單是否正確加載身分別和付款方式
- 點擊查詢按鈕,驗證是否呼叫後端
SearchSummaryTable方法 - 驗證查詢結果表格是否正確顯示 (如有 TODO 實現)
- 點擊匯出按鈕,驗證是否下載 Excel 檔案 (如有 TODO 實現)
後續建議
-
數據庫查詢
- 建立 DAC 類別
DAC_個人費用彙整或在現有 DAC 中添加查詢方法 - 優化 SQL 查詢效能 (考慮分組、合計等)
- 建立 DAC 類別
-
Excel 匯出
- 建議使用 NPOI 庫生成 Excel
- 可參考現有的
Report.領據列印實現方式
-
數據驗證
- 驗證日期範圍的合理性
- 驗證身分別和付款方式的有效值
-
錯誤處理
- 新增更詳細的錯誤訊息
- 記錄查詢日誌用於除錯
技術棧
- 前端: Vue.js 2.x, HTML5, CSS3
- 後端: ASP.NET (C#), WebService
- 資料庫: SQL Server (假設)
- .NET 版本: Framework 3.5
支援的瀏覽器
- Chrome (推薦)
- Firefox
- Edge
- Safari
常見問題
Q: 如何修改查詢結果欄位?
A: 修改 個人費用彙整表Item 類別的屬性,並更新前端表格 HTML。
Q: 如何添加更多查詢條件? A:
- 在 ASPX 中添加新的表單控制項
- 在 Vue data 中添加新屬性
- 在
searchSummaryTable方法中傳遞新參數 - 在後端
SearchSummaryTable方法中處理新參數
Q: 如何修改 Excel 匯出格式? A: 在 EXPORT 邏輯中自訂 Excel 生成代碼,調整欄寬、字體、顏色等。