西藏巴青项目

草畜失衡预警测试用例.md 3.4KB

草畜失衡预警 — 测试用例

接口 Base Path/dataModel/grassLivestockImbalanceWarning
建表:执行 sql/biz_grass_livestock_imbalance_warning.sql
权限dataModel:grassLivestockImbalanceWarning:list|query
说明:写入由填报模块触发,本模块无手工增删改;判定规则不依赖「草畜平衡计算」模块。


1. 判定规则(单测)

编号 场景 期望
UT-001 核定载畜量 < 年底存栏绵羊单位 isImbalanced = true
UT-002 核定载畜量 = 年底存栏 isImbalanced = false
UT-003 核定载畜量 > 年底存栏 isImbalanced = false
UT-004 载畜量或存栏任一为 null isImbalanced = false

对应单测:

  • FarmerHouseholdDerivedSupportImbalanceTest
  • FamilyRanchDerivedSupportImbalanceTest
  • (养殖大户同源逻辑:LargeLivestockFarmerDerivedSupport.isImbalanced

2. 填报触发写入(联调 / API)

编号 场景 期望
SYNC-001 农牧户新增/修改:载畜量 < 存栏 biz_grass_livestock_imbalance_warning 有记录;data_source=farmer_householdsource_key=FH-{id}
SYNC-002 农牧户改平衡(载畜量 ≥ 存栏)后保存 对应 FH-{id} 预警记录消失
SYNC-003 农牧户删除填报 对应预警清除
SYNC-004 家庭牧场新增/修改失衡 data_source=family_ranchsource_key=FR-{id};文案含年月/乡镇村/主体/两数值
SYNC-005 家庭牧场恢复平衡或删除 FR-{id} 预警消失
SYNC-006 养殖大户新增/修改失衡 data_source=large_livestock_farmersource_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 新记录

3. 查询接口

编号 场景 期望
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

4. 前端 UI

编号 场景 期望
UI-001 列表筛选 预警日期、数据来源、主体名称可用;查询/重置正常
UI-002 列表列 含预警时间、来源、年月、乡镇、村、主体、载畜量、存栏、预警信息
UI-003 查看详情 只读弹窗展示上述字段 + 业务键;无编辑保存
UI-004 空数据 空状态提示,无报错
UI-005 来源文案 family_ranch / farmer_household / large_livestock_farmer 显示中文标签

5. 修订记录

版本 说明
1.0 初稿:判定单测 + 三处填报同步 + 列表详情