# 用药工具 — 计算休药期（移动端）

## 1. 概述

| 项 | 说明 |
| --- | --- |
| Base Path | `/app/medication/withdrawal` |
| 数据表 | `biz_withdrawal_period_standard` |
| 鉴权 | 需登录 |

## 2. 药物名称列表（下拉模糊）

`GET /app/medication/withdrawal/names`

与「查询药物」一致：对 `biz_withdrawal_period_standard.drug_name` 去重、模糊检索，最多 50 条。

也可复用 `GET /app/medication/drug/names`（同一实现）。

| 参数 | 必填 | 说明 |
| --- | --- | --- |
| `keyword` | 否 | 药物名称模糊关键字 |

**响应 `data`**：`string[]`

## 3. 计算休药期

`GET /app/medication/withdrawal/calculate`

| 参数 | 必填 | 说明 |
| --- | --- | --- |
| `drugName` | 是 | 药物名称（精确匹配 `drug_name`） |
| `stopDate` | 是 | 停药日期，`yyyy-MM-dd` |

**计算规则**

- 从 `biz_withdrawal_period_standard` 读取 `withdrawal_days`
- **期满日期** = 停药日期 + 休药期天数（日历日，`LocalDate.plusDays`）

**响应 `data`**

| 字段 | 说明 |
| --- | --- |
| `drugName` | 药物名称 |
| `stopDate` | 停药日期 |
| `withdrawalDays` | 休药期天数 |
| `endDate` | 期满日期 |

**示例**：停药 `2025-06-01`，休药期 `7` 天 → 期满 `2025-06-08`

## 4. 错误示例

| 场景 | 提示 |
| --- | --- |
| 未选药物 | 请选择药物名称 |
| 未选停药日期 | 请选择停药日期 |
| 日期格式错误 | 停药日期格式须为 yyyy-MM-dd |
| 库中无该药 | 未找到该药物标准信息 |
