Files
thinkyu/專案結構文件.md
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

528 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Thinkyu 專案結構與功能說明文件
> **公司**:新譽管理有限公司
> **解决方案**Visual Studio 2022
> **版控**Subversion (SVN)
> **主要語言**C# (ASP.NET WebForms)、Delphi、JavaScript
> **資料庫**SQL Server (人員派遣/教育訓練/報到系統)、SQLite (報到客戶端離線)
---
## 一、系統架構概覽
```
Thinkyu.sln # 主方案(人員派遣系統)
├── Web/ # ★ 主要 Web 應用(人員派遣管理系統)
├── BackupService/ # 備份 Web 服務
├── BackupClient/ # 備份主控台用戶端
其他獨立方案:
├── 教育訓練系統/ # 教育訓練管理系統(獨立 .sln)
├── 報到系統/ # 活動報到系統(獨立 .sln)
├── 報到系統客戶端/ # 報到桌面用戶端(WinForms
├── 報到系統客戶端安裝/ # 安裝專案(VS Installer
├── 報到系統客戶端安裝自訂動作/ # 安裝自訂動作(C#)
├── 年度開帳作業/ # 年度開帳(Delphi
├── DataTransfer/ # 資料轉換工具(Delphi)
├── Delphi/ # 舊版 Delphi 應用
├── Test/ # 測試專案
├── TestConsoleApp/ # 測試主控台應用
共享與建置:
├── PrecompiledWeb/ # Web 預編譯輸出
├── packages/ # NuGet 套件快取
├── Doc/ # 文件與規格
├── DB/ # 資料庫指令碼與舊版 Access
```
---
## 二、主方案:人員派遣管理系統(Thinkyu.sln
### 2.1 方案內容
| 專案 | 類型 | 說明 |
|------|------|------|
| `Web/` | ASP.NET WebForms 網站 | 核心人事派遣管理系統 |
| `BackupService/` | ASP.NET Web 服務 | 資料庫備份服務 |
| `BackupClient/` | C# 主控台應用程式 | 備份觸發用戶端 |
| `WNET` (外部) | 類別庫 | Wellan 共用程式庫 (`..\..\Wellan\WNet\WNET\`) |
| `CRAXHelper` (外部) | 類別庫 | Crystal Reports 輔助程式 (`..\CRAXViewer\CRAXHelper\`) |
### 2.2 功能模組與頁面說明
#### 2.2.1 人員管理(forms/worker/
| 頁面 | 功能說明 |
|------|---------|
| **fmBpsn.ascx** | 人員基本資料管理(CRUD) |
| **fmBpsl.ascx** | 非專案人員薪資資料處理 |
| **fmRpar.ascx** | 人員出缺勤記錄(請假、加班、電話費、油料費、差旅處理) |
| **fmRparWorker.ascx** | 人員出缺勤記錄(員工自行輸入版) |
| **fmRowk.ascx** | 加班匯總輸入 |
| **fmRsaj.ascx** | 人員薪資調整項目處理 |
| **fmRpir.ascx** | 勞健保加退保記錄與異動管理 |
| **fmRyer.ascx** | 年度特休設定與輸入 |
| **fmRbsa.ascx** | 補休補登作業 |
| **fmRTME.ascx** | 人員班表設定 |
| **fmSsms.ascx** | 薪資查詢及調整(未開放) |
| **fmSendSalaryStrip.ascx** | 發送薪資單與薪資單歷史查詢 |
| **fmBonus.ascx** | 獎金發放作業 |
| **UNBPSNP.ascx** | 使用者變更密碼 |
| **ucBonusInput.ascx** | 獎金輸入用子控制項 |
#### 2.2.2 客戶專案管理(forms/customer/
| 頁面 | 功能說明 |
|------|---------|
| **fmBcus.ascx** | 客戶基本資料管理 |
| **fmBprj.ascx** | 客戶專案資料處理 |
| **fmBpaa.ascx** | 年度接單設定 |
| **fmBpaaSub.ascx** | 年度接單子表單 |
| **fmBpab.ascx** | 年度科目設定(科目明細) |
| **fmBpabBig.ascx** | 年度科目設定(大類) |
| **fmBpabSmall.ascx** | 年度科目設定(小類) |
| **fmBpja.ascx** | 年度職稱設定 |
| **fmBpjb.ascx** | 職稱等級設定 |
| **fmBprm.ascx** | 專案處理人員指派 |
| **fmRasn.ascx** | 人員派遣記錄(專案人員派遣) |
| **fmRpfe.ascx** | 專案憑證處理 |
#### 2.2.3 基本資料設定(forms/basedata/
| 頁面 | 功能說明 |
|------|---------|
| **fmBTME.ascx** | 班表設定(班別定義) |
| **fmBPSE.ascx** | 片語設定(常用詞庫管理) |
| **fmBPAP.ascx** | 外部人員帳號設定 |
| **fmBhrd.ascx** | 行事曆設定(國定假日、休息日) |
| **fmBCLS.ascx** | 基本資料分類設定(人員類別、學歷、兵役、身分類別等下拉選單維護) |
#### 2.2.4 流程簽核(forms/flow/
| 頁面 | 功能說明 |
|------|---------|
| **fmSign.ascx** | 簽核表單(待簽核、已簽核、已申請、督導專案、出勤查詢、班表查詢) |
| **fmBSGP.ascx** | 差勤表單簽核人員設定 |
| **fmRparManager.ascx** | 人員出缺勤記錄管理端(主管檢視員工輸入資料) |
#### 2.2.5 打卡管理(forms/punchcard/
| 頁面 | 功能說明 |
|------|---------|
| **fmPunchCard.ascx** | 打卡作業 |
| **fmCardSearch.ascx** | 打卡查詢 / 補打卡 / 誤打卡處理 |
#### 2.2.6 報表(forms/report/
| 頁面 | 功能說明 |
|------|---------|
| **fmYearReport.ascx** | 專案報表(年度專案報表) |
| **fmMgmtReport.ascx** | 管理報表 |
| **fmCardReport.ascx** | 差勤月報表 |
| **fmCardDailyReport.ascx** | 差勤日報表 |
| **fmDownload.ascx** | 下載報表檢視器 |
#### 2.2.7 其他
| 頁面 | 模組 | 功能說明 |
|------|------|---------|
| **fmSalaryCalc.ascx** | summary/ | 每月出缺勤匯總及薪資計算 |
| **MessageWriter.ascx** | message/ | 訊息發送(按部門發送 Email 通知) |
### 2.3 資料存取層(App_Code/DAC/
| 類別 | 功能說明 |
|------|---------|
| **BhrdDAC.cs** | 行事曆設定(國定假日、休息日類型) |
| **BpaaDAC.cs** | 專案年度接單資料(加班計算方式、班段時間、特休計算類型) |
| **BpapDAC.cs** | 外部人員帳號主檔 CRUD |
| **BprjDAC.cs** | 專案主檔資料存取 |
| **BprmDAC.cs** | 權限角色資料(使用者權限判斷) |
| **BpseDAC.cs** | 片語資料表查詢 |
| **BpslDAC.cs** | 員工薪資主檔與薪資異動記錄 |
| **BpsnDAC.cs** | 人員主檔(員工基本資料) |
| **BsgpDAC.cs** | 簽核關卡人員設定 |
| **BtmeDAC.cs** | 班表範本定義 |
| **CompanyDAC.cs** | 公司資料查詢 |
| **GetData.cs** | 通用資料查詢輔助類(1823 行,包含專案參數、加班費率、薪資組成等) |
| **LoginBPAP.cs** | 外部人員登入驗證 |
| **LoginBPSN.cs** | 內部人員登入驗證 |
| **ProjectBranchGroupDAC.cs** | 專案-分支-群組對應 |
| **RasnDAC.cs** | 人員派遣記錄 |
| **RbsaDAC.cs** | 補休記錄與加班時數抵扣 |
| **RcrdDAC.cs** | 打卡出勤記錄(一般班、加班、出差打卡) |
| **RlogDAC.cs** | 系統記錄檔(使用者、程式、IP、時間) |
| **RpabDAC.cs** | 出勤簽核記錄 |
| **RpadDAC.cs** | 出差費用明細檔 |
| **RparDAC.cs** | 請假、加班、出差記錄主檔(1911 行,核心出勤記錄) |
| **RpirDAC.cs** | 勞健保加退保記錄與異動(1268 行) |
| **RpsbDAC.cs** | 薪資子記錄 |
| **RsajDAC.cs** | 薪資加減項(加項/扣項項目管理) |
| **RtmeDAC.cs** | 人員班表指派 |
| **RyerDAC.cs** | 年度特休額度與使用記錄 |
| **SsmsDAC.cs** | 每月勞保/薪資匯總(1020 行) |
### 2.4 計算邏輯(App_Code/Calculate/
| 類別 | 功能說明 |
|------|---------|
| **Bhif.cs** | 健保費計算(員工負擔、雇主負擔、平均眷口數) |
| **Blif.cs** | 勞保費計算(普通事故 + 就業保險) |
| **Blra.cs** | 勞退金計算(雇主 6% + 個人自願提繳) |
| **Calculate.cs** | 加班費計算引擎(假日/平日費率、前 2 小時/後 2 小時、補休累計) |
| **LaborAndHealthFee.cs** | 勞健保/勞退計算基底類別(共用查詢、費率載入) |
| **TimeCalc.cs** | 工時計算工具(班段起訖、午休扣除、淨出勤分鐘數) |
### 2.5 報表產生器(App_Code/Report/
使用 NPOI 產生 Excel 報表,共 18 個類別:
| 類別 | 功能說明 |
|------|---------|
| **薪資清冊.cs** | 薪資清冊 Excel 報表 |
| **加班申請單.cs** | 加班申請單 |
| **加班費印領清冊.cs** | 加班費發放清冊 |
| **加班費明細.cs** | 加班費明細 |
| **出差申請單.cs** | 出差申請表 |
| **請假申請單.cs** | 請假申請表 |
| **請假明細.cs** | 請假明細 |
| **出缺勤情形統計表.cs** | 出勤統計彙總 |
| **差勤日報表.cs** | 每日出勤報表 |
| **差勤月報表.cs** | 每月出勤報表 |
| **外勤工作明細表.cs** | 外勤工作明細 |
| **各項法定提撥費用明細表.cs** | 勞健保勞退提撥明細 |
| **支出憑證黏存單.cs** | 費用憑證黏存單 |
| **CRAXFileTransfer.cs** | 壓縮檔上傳/下載 Web 服務 |
| **Excel.cs** | NPOI Excel 工具包裝 |
| **ReportBase.cs** | 報表基底類別(欄位設定、樣式、資料繫結) |
| **ReportParameter.cs** | 報表參數模型 |
| **SalaryStrip.cs** | 薪資單資料模型 |
### 2.6 Crystal Reportsreport/
51 個 .rpt 報表檔案,涵蓋:薪資、出勤、加班、請假、專案等各類正式報表。
---
## 三、教育訓練管理系統
### 3.1 系統概述
獨立的 ASP.NET WebForms 應用程式,負責企業內部訓練課程的完整生命週期管理,從課程企劃、講師遴選、學員報名、執行記錄到經費核銷。
### 3.2 功能模組詳情
#### 3.2.1 基本資料管理(Forms/基本資料/)
| 頁面 | 功能說明 |
|------|---------|
| **講師基本資料.aspx** | 講師檔案管理(姓名、專長、經歷、聯絡方式) |
| **課程基本資料.aspx** | 課程主檔維護(課程名稱、類別、時數、目標) |
| **場地基本資料.aspx** | 培訓場地/教室資訊管理 |
| **片語管理.aspx** | 常用片語/範本文字維護 |
| **查詢作業.aspx** | 場地與講師進階搜尋 |
| **TeacherDetail.aspx** | 講師詳細資訊(彈窗) |
| **PlaceDetail.aspx** | 場地詳細資訊(彈窗) |
#### 3.2.2 組織管理(Forms/組織/
| 頁面 | 功能說明 |
|------|---------|
| **職務類別處理.aspx** | 職務/角色定義管理 |
| **組織類別處理.aspx** | 組織類型分類管理 |
| **組織圖處理.aspx** | 組織層級結構檢視 |
| **組織人員處理.aspx** | 組織內人員指派管理 |
| **簽核關卡設定.aspx** | 各表單類型簽核流程關卡設定 |
#### 3.2.3 課程企劃(Forms/課程企劃/
| 頁面 | 功能說明 |
|------|---------|
| **訓練課程企劃書.aspx** | 課程提案/規劃表主頁(處理與查詢) |
| **數位課程管理.aspx** | 數位課程建立與編輯 |
| **數位課程訓練對象.aspx** | 數位課程目標學員指派 |
| **PickupProject.aspx** | 計畫別挑選(彈窗) |
| **PickupTeacher.aspx** | 講師遴選(彈窗,含送簽功能) |
| **PickupPlace.aspx** | 場地遴選(彈窗,含送簽功能) |
| **PickupPeople.aspx** | 訓練對象挑選(彈窗) |
| **PickupDate.aspx** | 多日課程日期挑選(彈窗) |
| **PickupContent.aspx** | 課程內容編輯(彈窗) |
| **ChangeTeacher.aspx** | 講師異動(彈窗) |
| **ChangePlace.aspx** | 場地異動(彈窗) |
| **ChangeDate.aspx** | 日期異動(彈窗) |
#### 3.2.4 辦訓前置作業(Forms/辦訓前置作業/)
| 頁面 | 功能說明 |
|------|---------|
| **講師行前通知.aspx** | 產生並寄送講師課前通知 |
| **學員行前通知.aspx** | 產生並寄送學員課前通知 |
| **學員課程異動通知.aspx** | 通知學員課程變更 |
| **學員簽到表列印.aspx** | 列印課程簽到表 |
#### 3.2.5 選課報名(Forms/選課/
| 頁面 | 功能說明 |
|------|---------|
| **學員選課.aspx** | 學員線上選課/報名 |
| **選課查詢.aspx** | 選課報名記錄查詢 |
| **數位課程觀看.aspx** | 數位課程清單瀏覽 |
| **受訓紀錄查詢.aspx** | 個人受訓歷史查詢 |
| **ViewVideo.aspx** | 數位課程影片播放(彈窗) |
| **ShowCourseDetail.aspx** | 課程詳細資訊(彈窗) |
| **ShowTeacherDetail.aspx** | 講師詳細資料(彈窗) |
#### 3.2.6 辦訓狀況(Forms/辦訓狀況/
| 頁面 | 功能說明 |
|------|---------|
| **學員出席登錄.aspx** | 學員課程出勤登記 |
| **缺席查詢.aspx** | 課程缺勤查詢 |
| **教學日誌處理.aspx** | 教學日誌管理(含送簽功能) |
| **課程剪影處理.aspx** | 課程照片上傳與管理 |
| **課程使用經費登錄.aspx** | 課程經費/費用登錄 |
| **滿意度調查表填寫狀況.aspx** | 滿意度調查填寫狀態監控 |
| **滿意度調查表及心得報告.aspx** | 學員填寫滿意度調查與心得報告 |
| **心得報告討論管理.aspx** | 心得報告討論串管理 |
| **心得報告討論.aspx** | 學員討論/回覆心得報告 |
| **講師評鑑.aspx** | 講師授課表現評估 |
| **訓練檢討報告處理.aspx** | 訓練檢討報告(含送簽功能) |
| **訓練效益追蹤紀錄.aspx** | 訓練效益/ROI 追蹤(含送簽功能) |
| **訓練效益個人.aspx** | 個人層級訓練效益檢視 |
| **年度課程執行狀況.aspx** | 全年課程執行概覽 |
| **ClassPicture.aspx** | 班級照片檢視(彈窗) |
| **UC出席狀況.ascx** | 出勤狀況共用控制項 |
#### 3.2.7 領據系統(Forms/領據系統/
| 頁面 | 功能說明 |
|------|---------|
| **領據資料作業.aspx** | 領據查詢/處理/匯入匯出/列印(頁籤式) |
| **非講師.aspx** | 非講師人員領據支付管理 |
| **財稅作業與領據關帳.aspx** | 財稅處理與領據關帳作業 |
| **火車票價維護.aspx** | 火車票價查詢/修改/匯入匯出 |
| **領據處理.ascx** | 領據資料輸入/編輯控制項 |
| **領據查詢.ascx** | 領據搜尋控制項 |
| **領據匯出匯入.ascx** | 領據批次匯入/匯出控制項 |
| **領據列印.ascx** | 領據列印控制項 |
| **付款設定.ascx** | 付款參數設定控制項 |
| **火車票價查詢修改.ascx** | 火車票價查詢修改控制項 |
| **火車票價匯出匯入.ascx** | 火車票價匯入匯出控制項 |
領據系統支援的費用類型:
| 類別 | 說明 |
|------|------|
| **講師費** | 講師授課酬勞 |
| **諮詢費** | 諮詢顧問費用 |
| **助教費** | 助教費用 |
| **工作費** | 工作人員費用 |
| **出席費** | 出席會議/活動費用 |
| **主持費** | 主持人費用 |
| **差旅費** | 交通住宿費用 |
| **勞務費** | 其他勞務報酬 |
#### 3.2.8 溝通記錄(Forms/溝通記錄/
| 頁面 | 功能說明 |
|------|---------|
| **溝通記錄.aspx** | 訓練相關溝通/通知管理主頁 |
| **溝通記錄編輯.aspx** | 溝通記錄編輯 |
| **溝通記錄附件.aspx** | 溝通記錄附件管理(彈窗) |
| **附件檢視.aspx** | 附件內容檢視 |
| **檢附資料參考.aspx** | 可附加項目參考資料管理 |
#### 3.2.9 簽核流程(Forms/簽核/
| 頁面 | 功能說明 |
|------|---------|
| **簽核.aspx** | 簽核主頁(待簽核/歷史記錄) |
| **簽核測試.aspx** | 簽核內部測試工具 |
| **送簽.ascx** | 提交簽核共用控制項 |
| **送簽Event.cs** | 簽核事件處理邏輯 |
#### 3.2.10 自行登錄(Forms/自行登錄/
| 頁面 | 功能說明 |
|------|---------|
| **持有證照.aspx** | 學員自行管理持有證照/證書 |
| **外部訓練登錄.aspx** | 學員登錄參加之外部訓練 |
#### 3.2.11 ASMX Web 服務
| 服務 | 功能說明 |
|------|---------|
| **領據處理.asmx** | 領據資料 CRUD 與查詢 |
| **付款設定.asmx** | 付款參數維護 |
| **火車票價.asmx** | 火車票價查詢 |
| **火車票價維護.asmx** | 火車票價 CRUD |
| **ReceiptUploadHandler.ashx** | 領據上傳處理 |
| **TrainFareUploadHandler.ashx** | 火車票價上傳處理 |
### 3.3 資料存取層(DAC/
共 118 個 C# 檔案,依功能分類:
| 目錄 | 檔案數 | 說明 |
|------|--------|------|
| **Common/** | 2 | 通用資料查詢、檔案圖示對照 |
| **人派/** | 11 | 人員基本資料、登入驗證、權限管理、群組管理 |
| **基本資料/** | 19 | 講師、課程、場地、職務、組織圖、片語等主檔 |
| **外部紀錄/** | 4 | 持有證照、外部受訓記錄 |
| **溝通記錄/** | 6 | 訓練溝通記錄、附件、歷程 |
| **簽核/** | 6 | 表單簽核主檔、明細、簽核設定 |
| **課程企劃/** | 22 | 課程企劃書、課程內容、講師遴選/異動、場地遴選/異動、數位課程 |
| **辦訓狀況/** | 24 | 教學日誌、課程剪影、經費、心得報告、滿意度調查、訓練效益、檢討報告 |
| **選課報名/** | 6 | 課程報名、學員出席、數位課程觀看記錄 |
| **領據系統/** | 18 | 領據、非講師、勞務費、差旅費、火車票價、付款設定、匯出匯入驗證 |
每組實體採用 **1.cs(自動產生)+ 2.cs(擴充邏輯)** 雙檔案模式。
---
## 四、活動報到系統
### 4.1 系統概述
ASP.NET WebForms 後台管理系統,負責課程/活動的學員報到管理,支援 Excel 匯入匯出、簡訊通知、QR Code 條碼。
### 4.2 功能頁面
| 頁面 | 功能說明 |
|------|---------|
| **Home.aspx** | 首頁,提供用戶端安裝包下載與設定指引 |
| **ClassesList.aspx** | 課程管理(CRUD、搜尋、列表) |
| **SignUpList.aspx** | 課程參加人員管理,依課程/姓名/手機查詢報到/退狀態 |
| **SignUpImport.aspx** | Excel 匯入參加人員(上傳、驗證預覽、確認匯入) |
| **SignUpExport.aspx** | 匯出參加人員清單至 Excel |
| **RoleManage.aspx** | 群組人員管理(系統權限群組成員管理,批次新增/移除) |
| **MessageAccountManage.aspx** | 簡訊帳號管理(各計畫簡訊發送帳號密碼設定) |
| **ClassesReport.aspx** | 課程統計報表 |
| **Constructing.aspx** | 功能建置中佔位頁 |
### 4.3 ASMX Web 服務
| 服務 | 功能說明 |
|------|---------|
| **LoginService.asmx** | 使用者登入驗證 |
| **SignUpService.asmx** | 參加人員 CRUD、Excel 匯入匯出、批次簡訊、批次報到/退上傳 |
| **ClassesService.asmx** | 課程 CRUD、簽到表匯出、課程清單匯出 |
| **RoleManageService.asmx** | 權限群組成員管理 |
| **MessageAccountManage.asmx** | 簡訊平台帳號管理(EVERY8D、MITAKE 平台切換) |
| **BPSNService.asmx** | 員工資料下載 |
### 4.4 簡訊服務架構
| 元件 | 說明 |
|------|------|
| **BaseSMSProvider.cs** | 簡訊供應商抽象基底類別(電話驗證、HTTP POST) |
| **EVERY8DSMSProvider.cs** | 簡訊發送、額度查詢(EVERY8D 平台) |
| **MITAKESMSProvider.cs** | 帳戶餘額查詢(MITAKE 平台) |
| **SMSSendingService.cs** | 簡訊發送單例服務(路由至正確供應商) |
---
## 五、報到系統客戶端(WinForms)
### 5.1 系統概述
Windows Forms 桌面應用程式,部署於報到現場 Kiosk,支援離線操作,透過 SQLite 本地資料庫暫存資料。
### 5.2 功能視窗
| 視窗 | 功能說明 |
|------|---------|
| **MainForm** | "新譽管理課程報到系統" 主介面(1715 行) |
| **LoginForm** | 登入視窗 |
| **AgreementConfirmForm** | 同意確認視窗 |
| **CheckoutOnlyConfirmForm** | 僅簽退確認 |
| **ExistConfirmForm** | 存在確認 |
| **ProcessingForm** | 處理中等待視窗 |
### 5.3 服務層
| 類別 | 功能說明 |
|------|---------|
| **ApiService.cs** | API 服務基底類別(HTTP 請求、Session Cookie、錯誤處理) |
| **LoginService.cs** | 登入服務客戶端 |
| **SignUpService.cs** | 報名服務客戶端 |
| **ClassesService.cs** | 課程服務客戶端 |
| **BPSNService.cs** | 班別資料服務客戶端 |
| **ConfigService.cs** | 系統設定管理服務(設定檔儲存於 AppData) |
| **NotificationSoundService.cs** | 音效服務(報到 OK、退到 OK、提示音) |
### 5.4 離線資料同步
| 元件 | 說明 |
|------|------|
| **DatabaseService.cs** | SQLite 資料庫服務 |
| **Repositories/** | SQLite 儲存庫 |
| **DataSyncService.cs** | 資料同步服務(後台 API 與本地 SQLite 同步) |
### 5.5 安裝部署
| 專案 | 說明 |
|------|------|
| **報到系統客戶端安裝/** | Visual Studio Installer 安裝專案 |
| **報到系統客戶端安裝自訂動作/** | 安裝程式自訂動作(ConfigInstaller.cs |
---
## 六、基礎設施與工具
### 6.1 備份系統
**BackupService**ASP.NET Web 服務):
| 端點 | 功能說明 |
|------|---------|
| **BackupTable()** | 觸發所有資料表完整備份 |
| **BackupOneTable(tableName)** | 備份單一資料表 |
| **GetFileList(path)** | 遞迴列出目錄檔案 |
| **GetFile(path)** | 以 Base64 回傳檔案內容 |
備份流程:`BackupWorker` 使用 `Timer` 驅動,輪巡所有資料表產生 INSERT 腳本,以 GZip 壓縮為 `{TableName}.gz` 檔。
**BackupClient**C# 主控台應用程式):
簡易用戶端,呼叫 BackupService 列出遠端 `rpar_attachment` 目錄檔案。
### 6.2 Delphi 舊版應用
| 專案 | 說明 |
|------|------|
| **年度開帳作業/** | Delphi 年度結轉開帳工具 |
| **DataTransfer/** | Delphi 資料轉換工具 |
| **Delphi/** | 舊版資料管理應用(含 Access MDB |
---
## 七、技術棧摘要
| 類別 | 技術 |
|------|------|
| **開發框架** | .NET Framework 3.5(人員派遣)/ 4.8.1(報到客戶端) |
| **Web 框架** | ASP.NET WebForms + AJAX Extensions、Master Page |
| **前端** | jQuery 1.12.4、Vue.js 2.x、Axios、自訂 JS Mixins |
| **資料庫** | SQL Server(主系統)、SQLite(客戶端離線) |
| **資料存取** | 自訂 DAC 層(兩段式產生:自動 + 擴充) |
| **報表** | Crystal Reports 13.rpt × 51)、NPOIExcel |
| **桌面應用** | Windows Forms (.NET 4.8.1) |
| **簡訊** | EVERY8D、MITAKE 雙平台供應商 |
| **安裝部署** | Visual Studio Installer (.vdproj)、Web Deployment Projects |
| **版控** | Subversion (AnkhSVN) |
| **套件** | Newtonsoft.Json、NPOI、SharpZipLib、Ionic.Zip、ZXing.Net、Microsoft.Data.Sqlite |
---
## 八、子系統功能對照
| 子系統 | 主要功能 | 技術架構 |
|--------|---------|---------|
| **人員派遣系統** (Web/) | 員工基本資料、出缺勤、薪資計算、勞健保、請假加班、專案管理、簽核流程、Crystal Reports 報表 | ASP.NET WebForms + PostgreSQL (DAC 層) |
| **教育訓練系統** (教育訓練系統/) | 課程企劃、講師/場地管理、學員報名、數位課程、滿意度調查、訓練效益追蹤、領據核銷、簽核流程 | ASP.NET WebForms + SQL Server (Vue.js 前端) |
| **活動報到系統** (報到系統/) | 課程管理、學員報到/退、Excel 匯出入、簡訊通知、權限管理 | ASP.NET WebForms + SQL Server |
| **報到用戶端** (報到系統客戶端/) | 現場離線報到、卡片感應/條碼、音效提示、SQLite 離線同步 | WinForms (.NET 4.8.1) + SQLite |
| **年度開帳** (年度開帳作業/) | 年度結轉會計開帳作業 | Delphi |
| **備份系統** (BackupService+Client) | 資料庫自動備份(INSERT 腳本 + GZip 壓縮) | ASP.NET Web 服務 + C# Console |