接口 Base Path:
/dataModel/grassLivestockImbalanceWarning
建表:执行sql/biz_grass_livestock_imbalance_warning.sql
权限:dataModel:grassLivestockImbalanceWarning:list|query
说明:写入由填报模块触发,本模块无手工增删改;判定规则不依赖「草畜平衡计算」模块。
| 编号 | 场景 | 期望 |
|---|---|---|
| UT-001 | 核定载畜量 < 年底存栏绵羊单位 | isImbalanced = true |
| UT-002 | 核定载畜量 = 年底存栏 | isImbalanced = false |
| UT-003 | 核定载畜量 > 年底存栏 | isImbalanced = false |
| UT-004 | 载畜量或存栏任一为 null | isImbalanced = false |
对应单测:
FarmerHouseholdDerivedSupportImbalanceTestFamilyRanchDerivedSupportImbalanceTestLargeLivestockFarmerDerivedSupport.isImbalanced)| 编号 | 场景 | 期望 |
|---|---|---|
| SYNC-001 | 农牧户新增/修改:载畜量 < 存栏 | biz_grass_livestock_imbalance_warning 有记录;data_source=farmer_household,source_key=FH-{id} |
| SYNC-002 | 农牧户改平衡(载畜量 ≥ 存栏)后保存 | 对应 FH-{id} 预警记录消失 |
| SYNC-003 | 农牧户删除填报 | 对应预警清除 |
| SYNC-004 | 家庭牧场新增/修改失衡 | data_source=family_ranch,source_key=FR-{id};文案含年月/乡镇村/主体/两数值 |
| SYNC-005 | 家庭牧场恢复平衡或删除 | FR-{id} 预警消失 |
| SYNC-006 | 养殖大户新增/修改失衡 | data_source=large_livestock_farmer,source_key=LLF-{id} |
| SYNC-007 | 养殖大户恢复平衡或删除 | LLF-{id} 预警消失 |
| SYNC-008 | 导入导致失衡(三处填报任一) | upsert 预警;同 source_key 不产生重复行 |
| SYNC-009 | 再次保存仍失衡 | 更新载畜量/存栏/文案/alert_time,主键不变 |
| SYNC-010 | 疾病预警表不再写入 type=6 | 保存失衡后 biz_yak_disease_warning 无 warning_type=6 新记录 |
| 编号 | 场景 | 期望 |
|---|---|---|
| API-001 | GET /list 有权限 |
分页返回;默认按预警时间倒序 |
| API-002 | 按 dataSource 筛选 |
仅返回对应来源 |
| API-003 | 按 subjectName 模糊 |
命中主体名称 |
| API-004 | startDate/endDate |
仅返回 alert_time 落在闭区间内的记录 |
| API-005 | 开始日期晚于结束日期 | 业务错误:「开始日期不能晚于结束日期」 |
| API-006 | GET /{id} 存在 |
返回完整字段(含 sourceKey) |
| API-007 | GET /{id} 不存在 |
「预警记录不存在」 |
| API-008 | 无 list/query 权限 | 403 |
| 编号 | 场景 | 期望 |
|---|---|---|
| UI-001 | 列表筛选 | 预警日期、数据来源、主体名称可用;查询/重置正常 |
| UI-002 | 列表列 | 含预警时间、来源、年月、乡镇、村、主体、载畜量、存栏、预警信息 |
| UI-003 | 查看详情 | 只读弹窗展示上述字段 + 业务键;无编辑保存 |
| UI-004 | 空数据 | 空状态提示,无报错 |
| UI-005 | 来源文案 | family_ranch / farmer_household / large_livestock_farmer 显示中文标签 |
| 版本 | 说明 |
|---|---|
| 1.0 | 初稿:判定单测 + 三处填报同步 + 列表详情 |