# 时间戳转换 - The Implementation Plan (Decomposed and Prioritized Task List)

## [ ] Task 1: 创建时间戳转换辅助工具类
- **Priority**: P0
- **Depends On**: None
- **Description**: 
  - 创建一个静态辅助类，提供DateTime与long时间戳之间的双向转换方法
  - 支持null值处理
  - 确保使用UTC时区
- **Acceptance Criteria Addressed**: AC-5
- **Test Requirements**:
  - `programmatic` TR-1.1: 验证DateTime转换为long时间戳正确
  - `programmatic` TR-1.2: 验证long时间戳转换为DateTime正确
  - `programmatic` TR-1.3: 验证null值处理正确
- **Notes**: 参考ArrivalHandoverFormService.cs中的现有实现

## [ ] Task 2: 修改出库交接单控制器 - 创建接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 修改CreateShippingHandoverForm方法，将DeliveryTime参数从DateTime?改为long?
  - 使用辅助类转换参数后再赋值给实体
- **Acceptance Criteria Addressed**: AC-1
- **Test Requirements**:
  - `programmatic` TR-2.1: 验证创建接口接受long?类型参数
  - `programmatic` TR-2.2: 验证时间戳正确转换并存储

## [ ] Task 3: 修改出库交接单控制器 - 确认接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 修改ConfirmShippingHandoverForm方法，将deliveryTime参数从DateTime?改为long?
  - 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-2
- **Test Requirements**:
  - `programmatic` TR-3.1: 验证确认接口接受long?类型参数

## [ ] Task 4: 修改出库交接单控制器 - 列表查询接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 修改GetShippingHandoverForms方法，将startDeliveryTime和endDeliveryTime参数从DateTime?改为long?
  - 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-3
- **Test Requirements**:
  - `programmatic` TR-4.1: 验证列表查询接口接受long?类型参数

## [ ] Task 5: 修改出库交接单控制器 - 更新接口
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 修改UpdateShippingHandoverForm方法，将DeliveryTime参数从DateTime?改为long?
  - 使用辅助类转换参数
- **Acceptance Criteria Addressed**: AC-1
- **Test Requirements**:
  - `programmatic` TR-5.1: 验证更新接口接受long?类型参数

## [ ] Task 6: 修改返回实体的时间字段转换逻辑
- **Priority**: P0
- **Depends On**: Task 1
- **Description**: 
  - 修改所有返回实体数据的接口，不直接返回实体对象
  - 创建匿名对象或DTO，将DateTime字段转换为long?时间戳
  - 涉及的实体：ShippingHandoverFormEntity, BagTagEntity, ArrivalHandoverFormEntity
- **Acceptance Criteria Addressed**: AC-4
- **Test Requirements**:
  - `programmatic` TR-6.1: 验证返回的时间字段是long?类型
  - `programmatic` TR-6.2: 验证时间戳值正确

## [ ] Task 7: 检查并修改到货交接单控制器
- **Priority**: P1
- **Depends On**: Task 1
- **Description**: 
  - 检查ArrivalHandoverFormController中的所有时间参数
  - 确保所有时间参数和返回值都使用long?类型时间戳
- **Acceptance Criteria Addressed**: AC-1, AC-4
- **Test Requirements**:
  - `programmatic` TR-7.1: 验证到货交接单接口时间参数正确

## [ ] Task 8: 检查并修改袋牌相关接口
- **Priority**: P1
- **Depends On**: Task 1
- **Description**: 
  - 检查袋牌相关控制器中的时间字段
  - 确保返回的BagTagEntity中的时间字段转换为long?时间戳
- **Acceptance Criteria Addressed**: AC-4
- **Test Requirements**:
  - `programmatic` TR-8.1: 验证袋牌接口时间字段正确

## [ ] Task 9: 验证文档与代码一致性
- **Priority**: P1
- **Depends On**: Task 2-8
- **Description**: 
  - 对比接口文档与实际代码实现
  - 确保所有接口都符合文档要求
- **Acceptance Criteria Addressed**: 所有AC
- **Test Requirements**:
  - `human-judgement` TR-9.1: 人工检查文档与代码一致性
