# 旧项目目录全面分析报告

> 目录位置：`docs/Documentation - ADP to AD/`
> 分析日期：2026-04-24

---

## 整体数字

- **子目录**：107 个
- **有效文件**：364 个
- **核心语言**：C#（.NET Framework）
- **Visual Studio 解决方案**：1 个，包含 13 个子项目

---

## 项目清单（13 个）

| 项目名 | 文件数 | 性质 | 说明 |
|--------|--------|------|------|
| **AD Synch** | 149 | 核心同步服务 | ADP → Active Directory 主引擎，最核心 |
| **JiraToActiveDirectory** | 29 | 辅助同步 | Jira 工单数据 → AD |
| **Concur Synch** | 29 | 辅助同步 | SAP Concur 差旅/费用系统同步 |
| **AttendanceSummaryReport** | 26 | 报告生成 | 员工考勤汇总报告 |
| **AllPastWeekReports** | 22 | 报告生成 | 上周报告数据 |
| **AllPastWeekReportsHours** | 22 | 报告生成 | 上周工时报告 |
| **PastWeekBadgeReport** | 22 | 报告生成 | 员工门禁/Badge 数据报告 |
| **SymmetryDataLoader** | 20 | 数据加载 | 从 Symmetry 系统加载数据 |
| **SendEmailTest** | 15 | 测试工具 | 控制台版邮件发送测试 |
| **EmailSendingTester** | 11 | 测试工具 | Windows Form 版邮件测试 |
| **JiraHdsTickets** | 7 | 小工具 | Jira 工单处理 |

---

## 文件类型分布

| 类型 | 数量 | 说明 |
|------|------|------|
| `.cs` | 199 | C# 源代码 |
| `.exe / .pdb` | 34 | 编译输出（可运行） |
| `.config / .settings` | 44 | 配置文件 |
| `.csproj / .sln` | 12 | 项目/解决方案文件 |
| `.json` | 15 | ADP 认证配置 + VS 缓存 |
| `.key / .pem / .pfx` | 6 | SSL 证书和密钥（AD Synch + Concur Synch 各一套） |
| `.xlsx` | 2 | 字段映射表 + 示例数据 |
| `.xml` | 4 | 日志配置 + 示例数据 |
| `.docx` | 1 | 主项目文档 |
| `.rar` | 3 | 旧版密钥备份存档 |
| `.dll` | 1 | FF_IT_Core.dll（公司内部核心库） |

---

## 最有参考价值的文件

| 文件 | 位置 | 价值 |
|------|------|------|
| `Active Directory Synchronization with ADP.docx` | 根目录 | 主需求/架构文档 |
| `AD Sync Mapping.xlsx` | 根目录 | **字段映射表**（最直接参考） |
| `Track File Example.xlsx / .xml` | 根目录 | 数据格式示例 |
| `production.json` / `UAT.json` | AD Synch/ADP Keys/ | ADP 认证配置（含证书路径） |
| `Program.cs` | AD Synch/ | 主同步流程 |
| `Log4NetConfig.xml` | 各项目 | 日志配置参考 |
| `FF_IT_Core.dll` | References/ | 公司内部库（封装了公共逻辑） |

---

## 关键发现

1. **证书文件在源码目录里有一套**：`AD Synch/ADP Keys/` 下有完整的 `.pfx/.key/.pem` 文件，与 Mac 上的凭证基本一致，说明这就是当时生产使用的凭证。
2. **有 UAT 环境配置**：除了 `production.json`，还有 `UAT.json`，支持多环境切换。
3. **不止 ADP→AD**：解决方案还包含 Concur（差旅）同步、Jira 同步、考勤报告等多个周边工具，说明这套基础设施承载了多个 HR 集成场景。
4. **有 `AD Sync Mapping.xlsx`**：完整的字段映射表格，是新项目字段设计的直接参考。
5. **有可运行的编译输出**：`bin/` 目录下保留了 `.exe` 文件，历史版本可直接运行验证行为。

---

## 目录树（完整层级）

```
Documentation - ADP to AD/
└── ADP to AD/
    ├── Active Directory Synchronization with ADP.docx  ← 主文档
    ├── AD Sync Mapping.xlsx                             ← 字段映射表
    ├── Track File Example.xlsx                          ← 数据格式示例
    ├── Track File Example.xml                           ← XML格式示例
    └── FF-ADP-to-AD Source Code/
        └── FF-ADP-to-AD/
            ├── AD Synch.sln                             ← VS解决方案（13个项目）
            ├── References/
            │   ├── FF_IT_Core.dll
            │   └── References.rar
            ├── AD Synch/                                ← 核心项目（149文件）
            │   ├── Program.cs
            │   ├── SynchronyDb.cs / SynchronyDb-SPs.cs
            │   ├── WorkerForMatch.cs / WorkerForComparison.cs
            │   ├── EmailSender.cs / BadEmailWorker.cs
            │   ├── Extensions.cs
            │   ├── App.config / Config.settings / Config.Designer.cs
            │   ├── Log4NetConfig.xml
            │   ├── ADP Keys/
            │   │   ├── FaradayFuture_auth.key / .pem / .pfx / .csr
            │   │   ├── production.json / _production.json
            │   │   ├── UAT.json / _UAT.json
            │   │   └── ADP Keys.rar / ADP Keys Feb 2025(old).rar
            │   ├── ADP/
            │   │   ├── ADPAccessToken.cs
            │   │   ├── ADPException/
            │   │   ├── Configuration/  (ClientCredential / AuthorizationCode / Connection)
            │   │   ├── Connection/     (ADPApiConnection + Factory)
            │   │   ├── Models/         (AdpWorker 等)
            │   │   └── Wrappers/       (ApiHelper - 分页调用)
            │   ├── ActiveDirectory/
            │   │   ├── AdManager.cs
            │   │   └── Enums.cs
            │   ├── Comparison/
            │   │   ├── DataComparer.cs
            │   │   └── Enums.cs
            │   ├── Files/
            │   │   ├── DataExporter.cs
            │   │   └── DataImporter.cs
            │   ├── bin/                (编译输出)
            │   ├── obj/                (中间文件)
            │   └── Properties/
            ├── JiraToActiveDirectory/               ← Jira → AD（29文件）
            │   ├── Models/ (JiraIssue, NewAdRecord 等)
            │   ├── DataBase/ (JiraSqlConnector, SynchronyDb)
            │   └── ActiveDirectory/ (AdManager)
            ├── Concur Synch/                        ← SAP Concur 同步（29文件）
            │   └── ADP Keys/ (独立一套证书)
            ├── SymmetryDataLoader/                  ← Symmetry 数据加载（20文件）
            ├── AllPastWeekReports/                  ← 上周报告（22文件）
            ├── AllPastWeekReportsHours/             ← 上周工时报告（22文件）
            ├── AttendanceSummaryReport/             ← 考勤汇总（26文件）
            │   └── EmployeeWorkRecord / WorkWeek / WorkDay
            ├── PastWeekBadgeReport/                 ← Badge 报告（22文件）
            ├── EmailSendingTester/                  ← 邮件测试 WinForm（11文件）
            ├── SendEmailTest/                       ← 邮件测试 Console（15文件）
            └── JiraHdsTickets/                      ← Jira工单小工具（7文件）
```
