diff --git a/ID重命名對照表.md b/ID重命名對照表.md new file mode 100644 index 0000000..e035592 --- /dev/null +++ b/ID重命名對照表.md @@ -0,0 +1,286 @@ +# HTML ID 重命名對照表 + +## 變更概覽 +- **總計需變更:72 個** +- **無需變更:13 個** +- **總欄位數:85 個** + +--- + +## 模組 1: 崗位基礎資料 - 基礎資料頁籤 +**需變更:15 / 15** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `businessUnit` | `pos_businessUnit` | 事業體 (Business Unit) | | +| `division` | `pos_division` | 處級單位 (Division) | | +| `department` | `pos_department` | 部級單位 (Department) | | +| `section` | `pos_section` | 課級單位 (Section) | | +| `positionCode` | `pos_code` | 崗位編號 | 必填欄位 | +| `effectiveDate` | `pos_effectiveDate` | 生效日期 | | +| `positionName` | `pos_name` | 崗位名稱 | 必填欄位 | +| `positionLevel` | `pos_level` | 崗位級別 | | +| `positionCategory` | `pos_category` | 崗位類別 | onchange 事件 | +| `positionCategoryName` | `pos_categoryName` | 崗位類別名稱 | readonly | +| `positionNature` | `pos_type` | 崗位性質 | onchange 事件,注意:資料庫改為 positionType | +| `positionNatureName` | `pos_typeName` | 崗位性質名稱 | readonly,資料庫改為 positionTypeName | +| `headcount` | `pos_headcount` | 編制人數 | | +| `positionDesc` | `pos_desc` | 崗位描述 | 資料庫改為 description | +| `positionRemark` | `pos_remark` | 崗位備注 | 資料庫改為 remark | + +--- + +## 模組 2: 崗位基礎資料 - 招聘要求頁籤 +**需變更:18 / 18** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `minEducation` | `rec_eduLevel` | 最低學歷 | 資料庫改為 educationLevel | +| `requiredGender` | `rec_gender` | 要求性別 | | +| `salaryRange` | `rec_salaryRange` | 薪酬范圍 | | +| `workExperience` | `rec_expYears` | 工作經驗 | 資料庫改為 experienceYears | +| `minAge` | `rec_minAge` | 最小年齡 | | +| `maxAge` | `rec_maxAge` | 最大年齡 | | +| `jobType` | `rec_jobType` | 工作性質 | | +| `recruitPosition` | `rec_position` | 招聘職位 | 資料庫改為 recruitPosition | +| `jobTitle` | `rec_jobTitle` | 職位名稱(對外) | | +| `superiorPosition` | `rec_superiorCode` | 上級崗位編號 | 資料庫改為 superiorPositionCode | +| `jobDesc` | `rec_jobDesc` | 職位描述(JD) | 資料庫改為 recruitJobDesc | +| `positionReq` | `rec_positionReq` | 崗位要求(Req) | 資料庫改為 recruitRequirements | +| `titleReq` | `rec_certReq` | 職稱要求 | 語義更正為「證照要求」,資料庫改為 certRequirements | +| `majorReq` | `rec_majorReq` | 專業要求 | 資料庫改為 majorRequirements | +| `skillReq` | `rec_skillReq` | 技能要求 | 資料庫改為 skillRequirements | +| `langReq` | `rec_langReq` | 語言要求 | 資料庫改為 langRequirements | +| `otherReq` | `rec_otherReq` | 其他要求 | 資料庫改為 otherRequirements | +| `recruitRemark` | `rec_remark` | 招聘備注 | 資料庫改為 recruitRemark | + +--- + +## 模組 3: 職務基礎資料 +**需變更:12 / 12** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jobCategoryCode` | `job_category` | 職務類別編號 | 必填欄位,onchange 事件 | +| `jobCategoryName` | `job_categoryName` | 職務類別名稱 | readonly | +| `jobCode` | `job_code` | 職務編號 | 必填欄位 | +| `jobName` | `job_name` | 職務名稱 | 必填欄位 | +| `jobNameEn` | `job_nameEn` | 職務英文 | | +| `jobEffectiveDate` | `job_effectiveDate` | 生效日期 | 資料庫改為 effectiveDate | +| `jobLevel` | `job_level` | 職務層級 | 敏感欄位 | +| `jobHeadcount` | `job_headcount` | 編制人數 | 資料庫改為 headcount | +| `jobSortOrder` | `job_sortOrder` | 排列順序 | 資料庫改為 sortOrder | +| `hasAttendanceBonus` | `job_hasAttBonus` | 全勤獎金 | Toggle Switch | +| `hasHousingAllowance` | `job_hasHouseAllow` | 住房補貼 | Toggle Switch | +| `jobRemark` | `job_remark` | 職務備注 | 資料庫改為 remark | + +--- + +## 模組 4: 部門職責 +**需變更:19 / 19** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `deptFunctionCode` | `df_code` | 部門職責編號 | 必填欄位,資料庫改為 dfCode | +| `deptFunctionName` | `df_name` | 部門職責名稱 | 必填欄位,資料庫改為 dfName | +| `deptFunctionBU` | `df_businessUnit` | 事業體 (第1個) | 必填欄位,已合併重複欄位 | +| `deptFunc_businessUnit` | `df_businessUnit` | 事業體 (第2個) | **合併為同一欄位** | +| `deptFunc_division` | `df_division` | 處級單位 | 必填欄位 | +| `deptFunc_department` | `df_department` | 部級單位 | 必填欄位 | +| `deptFunc_section` | `df_section` | 課級單位 | | +| `deptFunc_positionTitle` | `df_posTitle` | 崗位名稱 | 必填欄位,資料庫改為 positionTitle | +| `deptFunc_positionLevel` | `df_posLevel` | 崗位級別 | 資料庫保持 positionLevel | +| `deptManager` | `df_managerTitle` | 部門主管職稱 | 資料庫改為 managerTitle | +| `deptFunctionEffectiveDate` | `df_effectiveDate` | 生效日期 | 必填欄位,資料庫改為 effectiveDate | +| `deptHeadcount` | `df_headcountLimit` | 部門人數上限 | 資料庫改為 headcountLimit | +| `deptStatus` | `df_status` | 部門狀態 | 資料庫改為 status | +| `deptMission` | `df_mission` | 部門使命 | 資料庫改為 mission | +| `deptVision` | `df_vision` | 部門願景 | 資料庫改為 vision | +| `deptCoreFunctions` | `df_coreFunc` | 核心職責 | 必填欄位,資料庫改為 coreFunctions | +| `deptKPIs` | `df_kpis` | 關鍵績效指標 | 資料庫改為 kpis | +| `deptCollaboration` | `df_collab` | 協作部門 | 資料庫改為 collaboration | +| `deptFunctionRemark` | `df_remark` | 備注 | 資料庫改為 remark | + +**特別注意:** 原本有兩個事業體欄位 (`deptFunctionBU` 和 `deptFunc_businessUnit`),新規範已合併為單一欄位 `df_businessUnit`。 + +--- + +## 模組 5: 崗位描述 - 基本信息 +**需變更:3 / 4** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jd_empNo` | `jd_empNo` | 工號 | ✓ 無需變更 | +| `jd_empName` | `jd_empName` | 姓名 | ✓ 無需變更 | +| `jd_positionCode` | `jd_posCode` | 崗位代碼 | | +| `jd_versionDate` | `jd_versionDate` | 版本更新日期 | ✓ 無需變更 | + +--- + +## 模組 6: 崗位描述 - 崗位基本信息 +**需變更:10 / 14** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jd_positionName` | `jd_posName` | 崗位名稱 | | +| `jd_businessUnit` | `jd_businessUnit` | 事業體 | ✓ 無需變更 | +| `jd_division` | `jd_division` | 處級單位 | ✓ 無需變更 | +| `jd_department` | `jd_department` | 部級單位 | ✓ 無需變更 | +| `jd_section` | `jd_section` | 課級單位 | ✓ 無需變更 | +| `jd_positionTitle` | `(刪除)` | 崗位名稱 (重複) | 與 positionName 重複,建議刪除 | +| `jd_positionLevel` | `jd_posLevel` | 崗位級別 | | +| `jd_positionEffectiveDate` | `jd_posEffDate` | 崗位生效日期 | | +| `jd_directSupervisor` | `jd_supervisor` | 直接領導職務 | | +| `jd_positionGradeJob` | `jd_gradeJob` | 崗位職等&職務 | Modal 選擇器 | +| `jd_reportTo` | `jd_reportTo` | 匯報對象職務 | ✓ 無需變更 | +| `jd_directReports` | `jd_directReports` | 直接下級 | ✓ 無需變更 | +| `jd_workLocation` | `jd_location` | 任職地點 | | +| `jd_empAttribute` | `jd_empAttr` | 員工屬性 | | + +--- + +## 模組 7: 崗位描述 - 部門職責資訊 +**需變更:3 / 5** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jd_deptFunctionCode` | `jd_dfCode` | 部門職責編號 | readonly | +| `jd_deptFunctionBU` | `(保留)` | 事業體 | 建議保留或改為 jd_dfBU | +| `jd_deptMission` | `jd_deptMission` | 部門使命 | ✓ 無需變更 | +| `jd_deptCoreFunctions` | `jd_deptCoreFunctions` | 部門核心職責 | ✓ 無需變更 | +| `jd_deptKPIs` | `jd_deptKPIs` | 部門 KPIs | ✓ 無需變更 | + +**說明:** 這些是 readonly 欄位,自動帶入,可保持現有命名以維持與來源資料的一致性。 + +--- + +## 模組 8: 崗位描述 - 職責描述 +**需變更:1 / 2** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jd_positionPurpose` | `jd_purpose` | 崗位設置目的 | | +| `jd_mainResponsibilities` | `jd_mainResp` | 主要崗位職責 | Numbered textarea | + +--- + +## 模組 9: 崗位描述 - 崗位要求 +**需變更:5 / 5** + +| 舊 ID | 新 ID | 欄位名稱 | 備註 | +|-------|-------|---------|------| +| `jd_education` | `jd_eduLevel` | 教育程度 | | +| `jd_basicSkills` | `jd_basicSkills` | 基本技能 | ✓ 無需變更 | +| `jd_professionalKnowledge` | `jd_proKnowledge` | 專業知識 | | +| `jd_workExperienceReq` | `jd_expReq` | 工作經驗 | | +| `jd_otherRequirements` | `jd_otherReq` | 其他 | | + +--- + +## 重要變更說明 + +### 1. 前綴標準化 +所有欄位統一採用模組前綴: +- `pos_` - 崗位基礎資料 +- `rec_` - 招聘要求 +- `job_` - 職務基礎資料 +- `df_` - 部門職責 +- `jd_` - 崗位描述 + +### 2. 命名簡化 +- `positionCode` → `pos_code` +- `positionName` → `pos_name` +- `positionCategory` → `pos_category` +- `positionNature` → `pos_type` (語義更精確) +- `hasAttendanceBonus` → `job_hasAttBonus` (縮寫簡化) + +### 3. 語義改善 +- `titleReq` → `rec_certReq` (職稱要求 → 證照要求) +- `positionNature` → `pos_type` (性質 → 類型,更符合英文語義) +- `workExperience` → `rec_expYears` (經驗年數更明確) + +### 4. 資料庫欄位同步變更 +部分 HTML ID 變更時,資料庫欄位名稱也需要對應修改: +- `positionNature` → `positionType` +- `positionDesc` → `description` +- `positionRemark` → `remark` +- `minEducation` → `educationLevel` + +### 5. 重複欄位合併 +部門職責模組中的兩個事業體欄位: +- 原:`deptFunctionBU` 和 `deptFunc_businessUnit` +- 新:統一為 `df_businessUnit` + +--- + +## 實施建議 + +### 階段 1: 資料庫遷移 +1. 執行資料庫欄位重命名 SQL 腳本 +2. 更新所有 ORM Model 定義 +3. 更新 API 回應的欄位名稱 + +### 階段 2: 前端更新 +1. 全局搜尋替換 HTML ID +2. 更新所有 JavaScript 選擇器 +3. 更新 CSS 樣式選擇器 +4. 更新表單驗證邏輯 + +### 階段 3: 測試驗證 +1. 單元測試:驗證所有表單欄位綁定 +2. 整合測試:驗證資料儲存與讀取 +3. E2E 測試:完整流程測試 +4. 回歸測試:確保無遺漏欄位 + +### 階段 4: 文檔更新 +1. API 文檔更新 +2. 資料字典更新 +3. 開發指南更新 +4. 使用者手冊更新(如有影響) + +--- + +## 風險評估 + +### 高風險變更 (必填欄位) +- `positionCode` → `pos_code` +- `positionName` → `pos_name` +- `jobCode` → `job_code` +- `jobName` → `job_name` +- `deptFunctionCode` → `df_code` + +**建議:** 優先測試這些欄位的儲存與驗證邏輯。 + +### 中風險變更 (聯動欄位) +- 組織結構欄位:`businessUnit`, `division`, `department`, `section` +- 自動帶出欄位:`positionCategoryName`, `positionNatureName` + +**建議:** 仔細測試聯動邏輯和 onchange 事件。 + +### 低風險變更 (選填欄位) +- 備注類欄位 +- 描述類欄位 + +--- + +## 檢查清單 + +- [ ] 資料庫遷移腳本已準備 +- [ ] Model 定義已更新 +- [ ] HTML 表單 ID 已更新 +- [ ] JavaScript 選擇器已更新 +- [ ] CSS 樣式已更新 +- [ ] API 端點已更新 +- [ ] 驗證邏輯已更新 +- [ ] 單元測試已通過 +- [ ] 整合測試已通過 +- [ ] E2E 測試已通過 +- [ ] 文檔已更新 +- [ ] 程式碼審查已完成 + +--- + +**文檔版本:** v1.0 +**建立日期:** 2025-12-06 +**最後更新:** 2025-12-06 +**維護者:** 系統開發團隊 diff --git a/index.html b/index.html index bd6a826..26c27de 100644 --- a/index.html +++ b/index.html @@ -98,10 +98,27 @@