温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
1. 项目背景与意义
随着畜牧养殖业的规模化、集约化发展,传统的人工纸质档案管理方式已难以满足防疫工作的实际需求。防疫档案涉及畜禽免疫记录、疫病监测、检疫申报、消毒记录、疫苗出入库等多个环节,数据量大、关联性强、时效性要求高。构建一套基于 SpringBoot + Vue3 的畜牧养殖防疫档案系统,能够实现防疫数据的电子化、规范化管理,提升防疫工作效率,为疫病防控决策提供数据支撑。
2. 系统技术架构
本系统采用前后端分离的开发模式,后端基于 SpringBoot 框架构建 RESTful API,前端采用 Vue3 结合 Element Plus 组件库实现页面交互,数据库选用 MySQL 存储业务数据。
- 后端技术栈:SpringBoot、MyBatis-Plus、Spring Security、JWT、MySQL、Redis。
- 前端技术栈:Vue3、Vite、Vue Router、Pinia、Axios、Element Plus、ECharts。
- 部署方式:后端打包为 Jar 包部署,前端构建为静态资源由 Nginx 托管。
3. 核心功能模块设计
系统围绕畜牧养殖防疫档案的全生命周期管理,划分为以下核心功能模块:
3.1 养殖场信息管理
管理养殖场的基本档案信息,包括养殖场名称、地址、负责人、联系方式、养殖种类、存栏数量、畜禽标识号等基础数据,支持新增、编辑、查询和导出功能。
3.2 畜禽个体档案管理
针对每头(只)畜禽建立个体防疫档案,记录其出生日期、来源、品种、免疫状态、检疫合格情况等,通过耳标号或 RFID 标识进行唯一关联,实现一畜一档。
3.3 免疫接种记录管理
记录每次免疫接种的疫苗名称、生产厂家、批号、接种日期、接种剂量、接种人员、免疫方式等信息,支持按畜禽个体或养殖场维度查询免疫历史,自动生成免疫档案。
3.4 疫病监测与预警
录入日常疫病监测数据,包括监测日期、监测项目、检测结果、异常情况描述等。系统根据预设的预警规则,对异常检测结果或临近免疫有效期的情况自动发出预警提醒。
3.5 检疫申报管理
支持在线提交产地检疫申报,填写申报畜禽种类、数量、目的地、运输方式等信息,关联对应的免疫档案和监测记录,实现检疫申报与防疫档案的数据联动。
3.6 疫苗与物资管理
管理疫苗及防疫物资的入库、出库、库存和有效期,记录疫苗的采购来源、批号、储存条件,确保疫苗来源可追溯、使用可记录。
3.7 数据统计与可视化
基于 ECharts 实现防疫数据的可视化展示,包括免疫覆盖率、疫病发生率、疫苗使用情况、养殖场分布等统计图表,为防疫管理决策提供直观的数据支持。
4. 数据库设计
系统核心数据表设计如下:
| 数据表 | 主要字段 | 说明 |
|---|---|---|
| farm_info | farm_id、farm_name、address、owner、phone、breed_type、stock_count | 养殖场基本信息表 |
| animal_archive | animal_id、ear_tag、farm_id、breed、birth_date、source、immune_status | 畜禽个体档案表 |
| immune_record | record_id、animal_id、vaccine_name、batch_no、immune_date、dose、operator | 免疫接种记录表 |
| disease_monitor | monitor_id、farm_id、monitor_date、item、result、remark | 疫病监测记录表 |
| quarantine_apply | apply_id、farm_id、animal_type、quantity、destination、apply_date、status | 检疫申报表 |
| vaccine_stock | stock_id、vaccine_name、batch_no、in_count、out_count、expire_date | 疫苗库存表 |
5. 系统核心功能实现
5.1 后端接口设计示例
以免疫接种记录模块为例,后端提供以下 RESTful 接口:
@RestController @RequestMapping("/api/immune") public class ImmuneRecordController { @Autowired private ImmuneRecordService immuneRecordService; @PostMapping("/add") public Result add(@RequestBody ImmuneRecord record) { return immuneRecordService.addRecord(record); } @GetMapping("/list") public Result list(@RequestParam Long animalId, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) { return immuneRecordService.getRecordList(animalId, page, size); } @GetMapping("/export") public void export(HttpServletResponse response, @RequestParam Long farmId) { immuneRecordService.exportImmuneArchive(response, farmId); } }5.2 前端页面实现示例
前端使用 Vue3 组合式 API 实现免疫记录列表页,核心代码如下:
<script setup> import { ref, onMounted } from 'vue' import { getImmuneList } from '@/api/immune' const recordList = ref([]) const loading = ref(false) const loadData = async () => { loading.value = true try { const res = await getImmuneList({ animalId: 1, page: 1, size: 10 }) recordList.value = res.data.records } finally { loading.value = false } } onMounted(loadData) </script>6. 系统安全与权限设计
系统采用 Spring Security 结合 JWT 实现身份认证与权限控制。用户登录后获取 Token,前端在请求头中携带 Token 访问受保护的接口。系统按角色划分权限,包括系统管理员、防疫员、养殖场主等角色,不同角色拥有不同的数据访问和操作权限,确保防疫档案数据的安全性和保密性。
7. 总结与展望
本文设计并实现了基于 SpringBoot + Vue3 的畜牧养殖防疫档案系统,覆盖养殖场管理、个体档案、免疫记录、疫病监测、检疫申报、疫苗管理等核心业务环节,实现了防疫档案的数字化、流程化管理。后续可在现有基础上引入物联网设备自动采集养殖环境数据、对接国家动物疫病防控平台、引入大数据分析预测疫病风险,进一步提升系统的智能化水平。