chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,233 @@
|
||||
|
||||
# 領據資料作業
|
||||
|
||||
## 前端程式碼:
|
||||
* 使用 Vue.js 實現動態資料綁定與操作。
|
||||
* 不使用 Server control
|
||||
* script 部分分離出來放置到 Scripts 目錄
|
||||
* 使用現代寫法,不要管 IE 相容性
|
||||
* 比照 付款設定.ascx 以及 付款設定.js 的作法
|
||||
|
||||
## 後端程式碼:
|
||||
* 使用 WebService 實現非同步資料交換。
|
||||
* 提供 API 端點處理領據、勞務費、差旅費資料的新增、修改、刪除、作廢、列印等需求。
|
||||
|
||||
## 主畫面檔:~/Forms/領據系統/領據資料作業.aspx
|
||||
|
||||
### 子畫面檔
|
||||
* Tab、MultiView、View 以及 User Control 已經放好了:
|
||||
* 查詢: ~/Forms/領據系統/領據查詢.ascx
|
||||
* 領據登錄與修改:~/Forms/領據系統/領據處理.ascx
|
||||
* 列印: ~/Forms/領據系統/領據列印.ascx
|
||||
* 匯入與匯出: ~/Forms/領據系統/領據匯出匯入.ascx
|
||||
|
||||
### 寫碼規範
|
||||
* 把 script 部分分開寫在 Scripts 目錄
|
||||
* 使用現代寫法,不要管 IE 相容性
|
||||
* 比照 付款設定.ascx 以及 付款設定.js 的作法
|
||||
|
||||
## 資料存取類別
|
||||
### Education.DAC_領據
|
||||
* 既有程式
|
||||
* 分為兩個檔案 ~/DAC/領據系統/DAC_領據1.cs 和 ~/DAC/領據系統/DAC_領據2.cs
|
||||
* 若需要擴充,加在結尾 2.cs 裡
|
||||
* DAC_領據:資料處理類別
|
||||
* 分頁查詢資料:public 領據List SelectPage(bool noInputReturnAll, int startRowIndex, int maximumRows, DateTime? 活動日期_1, DateTime? 活動日期_2, string 身分別, string 講師_非講師編號, string 憑證類別, string 計畫代號, string 計畫名稱, string 活動類別, string 付款方式, string orderBy = "")
|
||||
* 查詢筆數: public int SelectCount(bool noInputReturnAll, DateTime? 活動日期_1, DateTime? 活動日期_2, string 身分別, string 講師_非講師編號, string 憑證類別, string 計畫代號, string 計畫名稱, string 活動類別, string 付款方式, string orderBy = "")
|
||||
* 新增: public 領據Item InsertOne(領據Item value)
|
||||
* 修改: public 領據Item UpdateOne(領據Item value)
|
||||
* 刪除: public int DeleteOne(string 編號, int DB_APPNO)
|
||||
* 領據List:資料集類別
|
||||
* 領據Item:資料項目類別
|
||||
|
||||
### Education.DAC_勞務費
|
||||
* 既有程式
|
||||
* 分為兩個檔案 ~/DAC/領據系統/DAC_勞務費1.cs 和 ~/DAC/領據系統/DAC_勞務費2.cs
|
||||
* 若需要擴充,加在結尾 2.cs 裡
|
||||
* DAC_勞務費:資料處理類別
|
||||
* 查詢:SelectOne(string 領據編號)
|
||||
* 新增:InsertOne(勞務費Item value)
|
||||
* 修改:UpdateOne(勞務費Item value)
|
||||
* 刪除:DeleteOne(string 領據編號, int DB_APPNO)
|
||||
|
||||
### Education.DAC_差旅費
|
||||
* 既有程式
|
||||
* 分為兩個檔案 ~/DAC/領據系統/DAC_差旅費1.cs 和 ~/DAC/領據系統/DAC_差旅費2.cs
|
||||
* 若需要擴充,加在結尾 2.cs 裡
|
||||
* DAC_差旅費:資料處理類別
|
||||
* 查詢:SelectOne(string 領據編號)
|
||||
* 新增:InsertOne(差旅費Item value)
|
||||
* 修改:UpdateOne(差旅費Item value)
|
||||
* 刪除:DeleteOne(string 領據編號, int DB_APPNO)
|
||||
|
||||
### 資料關聯
|
||||
* 1 領據 (編號) <-----> 0-1 勞務費 (領據編號)
|
||||
* 1 領據 (編號) <-----> 0-1 差旅費 (領據編號)
|
||||
|
||||
|
||||
## WebService 端點
|
||||
|
||||
### 領據資料:Services/領據處理.asmx
|
||||
|
||||
* EnableSession(True)
|
||||
|
||||
* SelectPage(int pageIndex, int pageSize, DateTime? 活動日期_1, DateTime? 活動日期_2, string 身分別, string 講師_非講師編號, string 憑證類別, string 計畫代號, string 計畫名稱, string 活動類別, string 付款方式, string orderBy = "")
|
||||
- pageIndex 從 1 開始
|
||||
- pageSize 預設 20
|
||||
- 查詢 function 用 DAC_領據.SelectPage
|
||||
- 筆數 function 用 DAC_領據.SelectCount
|
||||
bool noInputReturnAll (固定傳 true)
|
||||
int startRowIndex (分頁起點)
|
||||
int maximumRows (分頁大小)
|
||||
|
||||
- 空白條件視為不限制(noInputReturnAll = true)
|
||||
- 回傳:ServiceResponse(Success, Message, Data: 領據List, TotalCount: 總筆數 )
|
||||
|
||||
* Save(bool isNew, 領據Item mainItem, 勞務費Item laborItem, 差旅費Item travelItem):存檔
|
||||
- isNew:是否為新增
|
||||
- mainItem:新增或更正的領據資料
|
||||
- laborItem:新增或更正的勞務費資料
|
||||
- travelItem:新增或更正的差旅費資料
|
||||
- 新增呼叫 DAC_領據.InsertOne(領據Item value)
|
||||
- 修改呼叫 DAC_領據.UpdateOne(領據Item value)
|
||||
- 回傳:ServiceResponse(Success, Message)
|
||||
|
||||
* Delete(string no):刪除領據
|
||||
- no:要刪除的領據編號
|
||||
- 呼叫 DAC_領據.DeleteOne(string 編號, int DB_APPNO)
|
||||
- 一併刪除關聯的勞務費與差旅費資料
|
||||
- 回傳:ServiceResponse(Success, Message)
|
||||
|
||||
* Void(string no):作廢/取消作廢領據
|
||||
- no:要作廢/取消作廢的領據編號
|
||||
- 呼叫 DAC_領據.UpdateOne(領據Item value) 只修改作廢欄位 1=作廢 0=未作廢
|
||||
- 回傳:ServiceResponse(Success, Message)
|
||||
|
||||
* CalcTax(int laborFee, string category):計算稅額
|
||||
* 輸入勞務費計算稅額
|
||||
* 執行業務 (category 是 9A, 9B 開頭) laborFee >= 20000:laborFee * 10% 四捨五入至整數
|
||||
* 薪資 (category 是 50) laborFee >= 88501:laborFee * 5% 四捨五入至整數
|
||||
|
||||
* Print(List<int> iDList): 列印領據
|
||||
* 一張一張的列印領據
|
||||
* 領據列印有兩個單據:勞務費和差旅費
|
||||
* 先實作取資料以及跑迴圈部分,列印的實作先留空,我後續補充
|
||||
* 若有勞務費,且勞務費的編號是空的,要給勞務費自動編號,詳情我自己寫,你加個 TODO 就好
|
||||
* 若有差旅費,且差旅費的編號是空的,要給差旅費自動編號,詳情我自己寫,你加個 TODO 就好
|
||||
* 如同火車票價匯出一樣返回一個 Excel 檔
|
||||
|
||||
### 火車票價:Services/火車票價.asmx
|
||||
|
||||
* EnableSession(True)
|
||||
* 車站自動完成搜尋:SelectStation(string key)
|
||||
* 查詢呼叫 DAC_火車票價.查詢車站(key)
|
||||
* 回傳:ServiceResponse(Success, Message, Data: 查詢結果)
|
||||
* 計算票價:SelectFare(起點, 訖點)
|
||||
* 查詢呼叫 DAC_火車票價.查詢票價(起點, 訖點)
|
||||
* 回傳:ServiceResponse(Success, Message, Data: 票價)
|
||||
|
||||
## 畫面排列:
|
||||
### 查詢:
|
||||
|
||||
* 上方:搜尋列
|
||||
- 查詢條件
|
||||
| 編號 | 顯示名稱 | 查詢參數 | 輸入元件 | 下拉資料來源 |
|
||||
| ---- | ------------ | ---------- | -------- | ----------------------------------- |
|
||||
| 1 | 計畫代號 | 計畫代號 | 文字 | |
|
||||
| 2 | 計畫名稱 | 計畫名稱 | 文字 | |
|
||||
| 3 | 活動日期(起) | 活動日期_1 | 日期 | |
|
||||
| 4 | 活動日期(迄) | 活動日期_2 | 日期 | |
|
||||
| 5 | 身分別 | 身分別 | 下拉 | Education.身分別.SearchSelectList |
|
||||
| 6 | 憑證類別 | 憑證類別 | 下拉 | Education.憑證類別.SearchSelectList |
|
||||
| 7 | 活動類別 | 活動類別 | 文字 | |
|
||||
| 8 | 付款方式 | 付款方式 | 下拉 | Education.付款方式.SearchSelectList |
|
||||
|
||||
- 操作按鈕
|
||||
- 查詢
|
||||
- 列印領據
|
||||
- 製作勾選項目的領據單據
|
||||
- 作廢
|
||||
- 作廢 / 取消作廢勾選項目
|
||||
- 領據登錄
|
||||
- 新增領據,跳至 "領據登錄與修改" 分頁標籤
|
||||
* 下方:搜尋結果列表
|
||||
- 分頁大小選項 10, 20, 30 / 預設 20
|
||||
- 標題一律水平齊中
|
||||
- 顯示欄位
|
||||
| 編號 | 表頭文字 | 資料欄位 | 輸入元件 | 格式化 | 水平對齊 |
|
||||
| ---- | -------------- | -------------- | -------- | --------- | -------- |
|
||||
| 1 | 操作 | | 勾選 | | 中 |
|
||||
| 2 | 計畫代號 | 計畫代號 | | | 中 |
|
||||
| 3 | 活動日期 | 活動日期 | | | 中 |
|
||||
| 4 | 領款人姓名 | 領款人姓名 | | | 中 |
|
||||
| 5 | 身分證字號 | 身分證字號 | | | 中 |
|
||||
| 6 | 憑證類別 | 憑證類別 | | | 中 |
|
||||
| 7 | 活動類別 | 活動類別 | | | 中 |
|
||||
| 8 | 活動名稱事由 | 活動名稱事由 | | | 左 |
|
||||
| 9 | 費用別 | 費用別 | | | 中 |
|
||||
| 10 | 單價 | 單價 | | | 右 |
|
||||
| 11 | 數量 | 數量 | | | 右 |
|
||||
| 12 | 單位 | 單位 | | | 右 |
|
||||
| 13 | 扣繳類別 | 扣繳類別 | | | 中 |
|
||||
| 14 | 勞務費合計金額 | 勞務費合計金額 | | | 右 |
|
||||
| 15 | 應扣繳稅額 | 應扣繳稅額 | | | 右 |
|
||||
| 16 | 服務費 | 服務費 | | | 右 |
|
||||
| 17 | 差旅費合計金額 | 差旅費合計金額 | | | 右 |
|
||||
| 18 | 付款金額 | 付款金額 | | | 右 |
|
||||
| 19 | 製單人員 | 製單人員 | | | 中 |
|
||||
| 20 | 作廢紀錄 | 作廢 | | 1=是 0=否 | 中 |
|
||||
| 21 | 列印次數 | 列印次數 | | | 中 |
|
||||
|
||||
### 領據登錄與修改:
|
||||
|
||||
* 從上到下分三個區塊
|
||||
* 領據
|
||||
|
||||
| 編號 | 顯示名稱 | 資料欄位 | 輸入元件 | 必要 | 唯讀 | 最大長度 | 下拉資料來源 | 自動帶入 / 自動完成 |
|
||||
| ---- | ------------- | ------------ | -------- | ---- | ---- | -------- | ----------------------------------- | ---------------------- |
|
||||
| 1 | 表單編號 | 表單編號 | 文字 | | 是 | | | 自動編號,細節我來處理 |
|
||||
| 2 | 活動日期 | 活動日期 | 日期 | | | | | |
|
||||
| 3 | 身分別 | 身分別 | 下拉 | 是 | | | | |
|
||||
| 4 | 領款人姓名 | 領款人姓名 | 文字 | 是 | | | | |
|
||||
| 5 | 身分證字號 | 身分證字號 | 文字 | | | | | 領款人姓名自動完成帶出 |
|
||||
| 6 | 憑證類別 | 憑證類別 | 下拉 | | | | Education.憑證類別.SearchSelectList | |
|
||||
| 7 | 計畫代號 | 計畫代號 | 文字 | 是 | | | | |
|
||||
| 8 | 計畫名稱 | 計畫名稱 | 文字 | | 是 | | | |
|
||||
| 9 | 活動地點 | 活動地點 | 文字 | | | | | |
|
||||
| 10 | 活動類別 | 活動類別 | 文字 | | | | | |
|
||||
| 11 | 活動名稱/事由 | 活動名稱事由 | 文字 | | | | | |
|
||||
| 12 | 製單人員 | DB_CRUSR | 文字 | | | | | CurrentUserId |
|
||||
| 13 | 付款方式 | 付款方式 | 下拉 | | | | Education.付款方式.SearchSelectList | |
|
||||
|
||||
|
||||
* 勞務費
|
||||
| 編號 | 顯示名稱 | 資料欄位 | 輸入元件 | 必要 | 唯讀 | 最大長度 | 下拉資料來源 | 計算 |
|
||||
| ---- | ---------- | ---------- | -------- | ---- | ---- | -------- | ---------------------------------------- | --------------------------------------------------------------------- |
|
||||
| 1 | 費用別 | 費用別 | 下拉 | 否 | | | Education.勞務費_費用別.SearchSelectList | |
|
||||
| 2 | 單價 | 單價 | 數字 | 否 | | | | |
|
||||
| 3 | 數量 | 數量 | 數字 | 否 | | | | |
|
||||
| 4 | 單位 | 單位 | 文字 | 否 | | | | |
|
||||
| 5 | 扣繳類別 | 扣繳類別 | 下拉 | 否 | | | Education.扣繳類別.SearchSelectList | |
|
||||
| 6 | 合計金額 | 合計金額 | 數字 | 否 | 是 | | | 單價 * 數量 |
|
||||
| 7 | 應扣繳稅額 | 應扣繳稅額 | 數字 | 否 | | | | Services/領據處理.asmx/CalcTax (laborFee=合計金額, category=扣繳類別) |
|
||||
| 8 | 服務費 | 服務費 | 數字 | 否 | | | | |
|
||||
|
||||
* 差旅費
|
||||
| 編號 | 顯示名稱 | 資料欄位 | 輸入元件 | 必要 | 唯讀 | 最大長度 | 資料來源 | 計算 |
|
||||
| ---- | ------------- | ------------ | -------- | ---- | ---- | -------- | ---------------------------------------- | ---------------------------------------------------------- |
|
||||
| 1 | 費用別 | 費用別 | 下拉 | | | | Education.差旅費_費用別.SearchSelectList | |
|
||||
| 2 | 起點 | 起點 | 自動完成 | | | | Services/火車票價.asmx/SelectStation | |
|
||||
| 3 | 訖點 | 訖點 | 自動完成 | | | | Services/火車票價.asmx/SelectStation | |
|
||||
| 4 | 捷運/公車 | 捷運公車 | 數字 | | | | | |
|
||||
| 5 | 火車 | 火車 | 數字 | | | | | Services/火車票價.asmx/SelectFare(起點, 訖點) |
|
||||
| 6 | 計程車 | 計程車 | 數字 | | | | | |
|
||||
| 7 | 高鐵/飛機 | 高鐵飛機 | 數字 | | | | | |
|
||||
| 8 | 自行開車 | 自行開車 | 數字 | | | | | |
|
||||
| 9 | 過路費/停車費 | 過路費停車費 | 數字 | | | | | |
|
||||
| 10 | 住宿費 | 住宿費 | 數字 | | | | | |
|
||||
| 11 | 合計金額 | 合計 | 純顯示 | | 是 | | | 捷運公車+火車+計程車+高鐵飛機+自行開車+過路費停車費+住宿費 |
|
||||
|
||||
### 列印:
|
||||
將勾選的領據編號發送到後端 Print 方法,會如同匯出那樣回傳一個 Excel 檔,儲存起來就可以了
|
||||
### 匯入與匯出:
|
||||
* 待補充
|
||||
Reference in New Issue
Block a user