西藏巴青项目

养殖大户数据填报技术方案.md 2.3KB

养殖大户数据填报 — 技术方案

1. 接口

Base Path:/dataModel/largeLivestockFarmer

方法 路径 权限
GET /list list
GET /{id} query
POST / add
PUT / edit
DELETE /{ids} remove
GET /yearOptions /monthOptions /townOptions /villageTree list
POST /importData import
GET /importTemplate import
GET /export?statYear=&statMonth=&townDeptId= export

2. 表结构

sql/biz_large_livestock_farmer.sql

  • biz_large_livestock_farmer:业务主表;唯一键 (stat_year, stat_month, village_dept_id, enterprise_name)
  • 草畜失衡预警:复用 biz_yak_disease_warning
    • warning_type = 6(草畜失衡)
    • data_source = large_livestock_farmer
    • device_no = LLF-{ranchId}(定位/去重)
    • pasture_name = 企业名称;measured_value = 存栏绵羊单位;reference_range = 核定载畜量
    • 失衡 upsert;平衡或删除牧场记录时按 data_source + device_no 删除

3. Excel

说明
模板 templates/large_livestock_farmer_import_template.xlsx
表头识别 含「乡镇名称」「村居名称」;HEADER_SPAN=3
列序 乡镇在前、村在后;企业名称第 4 列(0-based index 3)
导入跳过 存栏小计、草场面积小计、是否草畜平衡、利润(由系统计算后导出回写)
导出 无合计行;填表人替换模板「登录用户名称」

4. 前端

  • 页面:ruoyi-ui/src/views/dataModel/largeLivestockFarmer/index.vue
  • API:ruoyi-ui/src/api/dataModel/largeLivestockFarmer.js
  • 菜单组件:dataModel/largeLivestockFarmer/index
  • i18n:dataModel.largeLivestockFarmer(详见同目录《养殖大户数据填报前端技术方案》)
  • 村选择:可搜索下拉(县→乡镇→村树展平),仅选叶子村
  • 导出弹窗所属乡镇
    • 与列表共用 townOptions、文案「所属乡镇」、占位「请选择」
    • 打开导出时带入列表当前 queryParams.townDeptId;清空则不传 townDeptId(导出全部乡镇)
    • 请求:GET /export?statYear=&statMonth=&townDeptId=townDeptId 可选)

5. 主要类

BizLargeLivestockFarmer*LargeLivestockFarmerExcelParser/Exporter/Validation/DerivedSupport