西藏巴青项目

农牧户数据填报技术方案.md 2.1KB

农牧户数据填报 — 技术方案

1. 接口

Base Path:/dataModel/farmerHousehold

方法 路径 权限
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_farmer_household.sql

  • 主表 biz_farmer_household
  • 唯一键 (stat_year, stat_month, village_dept_id)
  • 派生落库:pasture_contract_areasubsidy_reward_subtotalsubsidy_total
    • subsidy_total = subsidy_reward_subtotal + after_cap_floor_subsidy + village_supervisor_subsidy
  • 草畜失衡预警:复用 biz_yak_disease_warning
    • warning_type = 6(草畜失衡)
    • data_source = farmer_household
    • device_no = FH-{id}(定位/去重)
    • pasture_name = 村名;measured_value = 存栏绵羊单位;reference_range = 核定载畜量
    • 失衡 upsert;平衡或删除填报记录时按 data_source + device_no 删除

3. Excel

说明
模板 templates/farmer_household_import_template.xlsx
表头识别 含「乡镇」「村」;HEADER_SPAN=3
导入跳过 草场承包小计(col5)、补助奖励小计(col18)、合计(col21)
导出 无合计行;填表人替换「登录用户名称」;派生列回写

4. 前端

  • 页面:ruoyi-ui/src/views/dataModel/farmerHousehold/index.vue
  • API:ruoyi-ui/src/api/dataModel/farmerHousehold.js
  • 菜单组件:dataModel/farmerHousehold/index
  • 村选择:级联树(县→乡镇→村),仅选叶子村;提交只传 villageDeptId
  • 导出弹窗所属乡镇:与列表共用选项;打开时带入列表 townDeptId;清空则不传
  • 前端技术方案:同目录 农牧户数据填报前端技术方案.md

5. 主要类

BizFarmerHousehold*FarmerHouseholdExcelParser/Exporter/Validation/DerivedSupport