springboot小型养猪场信息管理系统-计算机毕业设计源码48584
随着城市化进程的加快,养猪场信息管理的规模和数量不断增长,传统的人工管理方式已经无法满足管理需求。借助信息技术和互联网应用,养猪场信息管理系统可以实现养猪场管理信息的集中化、自动化和便捷化,提供全方位的管理和服务支持。养猪场信息管理系统是基于Springboot+Vue框架的一种信息化管理系统。该系统具有良好的用户体验和稳定的性能,为养猪场提供了便捷、高效的信息管理手段。
Springboot+Vue作为一种成熟的Java开发框架,具有良好的可扩展性和灵活性,可以满足系统开发的需求。Java编程语言作为一种广泛应用于企业级开发的编程语言,具备强大的处理能力和稳定性。MySQL数据库作为一种常用的关系型数据库,能够高效地存储和管理系统数据。
该系统将为养猪场管理人员提供全面的数据管理和业务支持,提高管理效率和服务水平。同时,管理人员可以通过系统获取后台首页 系统用户、生猪信息管理、母猪信息管理、配种信息管理、饲料信息管理、投料信息管理等,提高养猪场的管理水平和经济效益具有重要的研究和应用价值。
关键词:养猪场信息管理系统;Java语言;Springboot+Vue框架;Mysql数据
With the acceleration of urbanization, the scale and quantity of information management in pig farms continue to grow, and traditional manual management methods can no longer meet management needs. With the help of information technology and Internet application, the pig farm information management system can realize the centralization, automation and convenience of pig farm management information and provide all-round management and service support. The pig farm information management system is an information management system based on the Springboot+Vue framework. The system has a good user experience and stable performance, providing a convenient and efficient information management tool for pig farms.
Springboot+Vue as a mature Java development framework, has good scalability and flexibility, which can meet the needs of system development. Java programming language, as a widely used programming language in enterprise development, has strong processing power and stability. MySQL database, as a commonly used relational database, can efficiently store and manage system data.
This system will provide comprehensive data management and business support for pig farm management personnel, improving management efficiency and service level. At the same time, managers can obtain information on backend homepage system users, pig information management, sow information management, breeding information management, feed information management, feeding information management, etc. through the system, which has important research and application value in improving the management level and economic benefits of pig farms.
Keywords: Pig farm information management system; Java language; Springboot+Vue framework; MySQL data
目录
摘要
Abstract
第1章 引 言
1.1选题背景及意义
1.2国内外研究概况
1.3论文结构安排
第2章 系统需求分析
2.1系统可行性分析
2.1.1 技术可行性分析
2.1.2 经济可行性分析
2.1.3 操作可行性分析
2.2系统需求分析
2.1.4 功能需求分析
2.1.5 非功能性需求分析
2.2系统用例分析
第3章 系统设计
3.系统功能模块设计
3.1数据库设计
3.1.1 数据库概念结构设计
3.1.2 数据库逻辑结构设计
表access_token (登陆访问时长)
表auth (用户权限管理)
表breeding_information (配种信息)
表feed_information (饲料信息)
表hits (用户点击)
表material_feeding_information (投料信息)
表regular_users (普通用户)
表sow_information (母猪信息)
表upload (文件上传)
表user (用户账户:用于保存用户登录信息)
表user_group (用户组:用于用户前端身份和鉴权)
第4章 关键模块的设计与实现
4.1登录模块
4.2后台普通用户首页模块
4.3生猪信息管理模块
4.4母猪信息管理模块
4.5配种信息管理模块
4.6饲料信息管理模块
4.7投料信息管理模块
4.8后台管理员首页模块
4.9系统用户模块
4.10生猪信息管理模块
4.11母猪信息管理模块
第5章 系统测试
5.测试的目的
5.1系统部分测试
5.2系统测试结果
第6章 结语
参考文献
致 谢
1.1选题背景及意义
小型养猪场信息管理系统是指在小型养猪场中运用计算机技术和软件系统来管理养猪过程中的各类活动。这种信息管理系统可以帮助猪场管理人员更好地了解猪群的情况,提高工作效率和工作效果。
小型养猪场信息管理系统的背景可以追溯到计算机技术的广泛应用和信息化的发展。随着计算机技术的进步,信息管理系统已经成为许多行业的重要工具,包括畜牧业。对于小型养猪场来说,养猪场信息管理系统的意义非常重大。首先,它可以帮助管理人员更好地了解猪群的情况,包括猪的健康状况、饲料摄入情况、生长进度等。通过收集和分析这些数据,管理人员可以更好地了解猪群的状况,及时采取措施来预防和处理疾病、改善饲料摄入和生长情况。
其次,养猪场信息管理系统可以提高工作效率和工作效果。通过自动化喂料系统和其他自动化设备,管理人员可以减少在猪舍内的流动,降低应激反应,提高猪群的健康状况和生产效率。此外,养猪场信息管理系统还可以帮助管理人员更好地安排配种、转群、观察和处理等工作,提高管理人员的工作效率。养猪场信息管理系统还可以帮助猪场实现数字化、信息化和智能化的发展。随着计算机技术和软件系统的不断发展,养猪场可以逐步实现数字化的管理和监控,提高生产效率和质量,降低成本,提高竞争力。
传统的养猪场管理方式存在信息传递不畅、工作效率低下等问题,而引入养猪场信息管理系统可以实现信息集中管理和自动化处理,提高养猪场管理的效率。通过系统化管理和自动化流程,可以减少人力资源和时间的浪费,而养猪场信息管理系统可以提供更便捷、快速的服务渠道。通过系统的运行和应用,管理人员可以通过系统获取相关信息、提出问题和建议,增强管理人员对养猪场管理工作的参与感和满意度。养猪场信息管理系统可以制定和执行规范的管理流程和操作标准,确保养猪场管理工作的规范性和可持续性。通过系统化的管理,可以提高管理效率和减少人为错误,增强养猪场管理的专业性和规范性。
综上所述,小型养猪场信息管理系统的背景及意义非常重要,它可以帮助猪场管理人员更好地了解猪群的情况,提高工作效率和效果,实现数字化、信息化和智能化的发展,推动养猪场管理工作的现代化和专业化发展。
1.2国内外研究概况
在国内,小型养猪场信息管理系统的研究现状相对较为活跃,国内研究方面,有一些研究机构和大学致力于开发针对小型养猪场的信息管理系统。例如,有一篇研究文章介绍了一种小型养猪场信息管理系统的设计与实现,该系统集成了猪圈清洗、喂料、环境监控等功能,通过CAN总线通信实现对猪圈情况的监测和环境温度的监控,并利用PLC的上位机协议通信实现对原有喂料装置的监控。
此外,还有一些研究文章探讨了中小型养猪场的信息化管理系统设计与应用,例如一篇文章介绍了一种安全生产日常巡检信息化系统的设计与实现,该系统利用物联网技术实现对生产环境的实时监测和管理。
在国外,小型养猪场信息管理系统的研究和应用方面也有一定的进展,许多国外研究致力于将物联网技术应用于小型养猪场信息管理系统中。他们探索了传感器网络、智能设备和互联网连接的应用,以实现设备监控、能源管理和智能家居等功能。一些研究关注社交媒体和在线平台在小型养猪场信息管理系统中的作用。通过在线平台提供更便捷的服务和沟通渠道。国外研究方面,一些猪场管理软件公司也提供了针对小型养猪场的信息管理系统解决方案。例如,有一款名为"Smallpox"的猪场管理软件,该软件提供了计算机辅助育种、疾病管理、饲养管理和财务管理等功能,可帮助猪场管理人员更好地管理和监控猪场运营情况。国外研究者探索了数据分析和预测模型在小型养猪场信息管理系统中的应用。他们使用大数据分析方法,从历史数据中提取信息并建立预测模型,以帮助养猪场公司进行决策和优化管理流程。
综上所述,小型养猪场信息管理系统的国内外研究主要集中在设计与实现、功能模块、物联网技术应用等方面,旨在提高养猪场的管理效率和生产效率。因此,未来的研究可以进一步加强国际合作,分享经验和最佳实践,以推动小型养猪场信息管理系统的发展和创新。
1.3论文结构安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对系统需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第1章 交代项目的背景、开发这个系统的现状以及论文的章节安排情况。
第2章 对养猪场信息管理系统的具体需求展开分析。
第3章 阐述了系统的设计,其中涵盖了功能设计以及数据库的设计。
第4章 阐明了养猪场信息管理系统各个功能模块的实现,以图文的形式进行展示。
第5章 罗列了养猪场信息管理系统部分系统调试与测试的记录。
第6章 介绍了养猪场信息管理系统的结论。
2.1系统可行性分析
小型养猪场信息管理系统存储所使用的是Mysql数据库以及开发中所使用的是IDEA、Tomcat这些开发工具的使用,能够给我们的编写工作带来许多的便利。系统使用Spirngboot和Vue框架进行开发,使系统的可扩展性和维护性更佳,减少Java配置代码,简化编程代码,目前Spirngboot和Vue框架也是很多用户选择的框架之一。
在开发小型养猪场信息管理系统中所使用的开发软件像IDEA开发工具、Tomcat服务器、MySQL数据库等,这些都是开源免费的,这些环境在学校都进行了系统的学习,自己能够独立操作完成,不需要额外花费,而且系统的开发工具从网上都可以直接下载,因此在经济方面是可行的。
此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。
2.2系统需求分析
小型养猪场信息管理系统提供了丰富的功能,管理员拥有后台首页 系统用户、生猪信息管理、母猪信息管理、配种信息管理、饲料信息管理、投料信息管理等功能。普通用户则可以访问后台首页 生猪信息管理、母猪信息管理、配种信息管理、饲料信息管理、投料信息管理功能。具体功能分析如下:
普通用户模块:
- 注册登录:当用户想要对系统中所实现的功能进行查询管理的时候,就必须进行登录到系统当中,如果没有账号的话,在登录界面,由管理人员提供账号,根据提示填写好注册信息,添加提交,用户的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录。
- 生猪信息管理:当用户点击“生猪信息管理”时,用户可以查询到生猪编号、品种、体重、出生日期、地点等功能操作。
- 母猪信息管理:当用户点击“母猪信息管理”时,用户可以查询到母猪编号、品种、时间、疫苗记录、消毒记录、兽药记录等功能操作。
- 配种信息管理:当用户点击“配种信息管理”时,用户可以查询母猪编号、品种、类型、执行用户、配种时间等功能操作。
- 饲料信息管理:当用户点击“饲料信息管理”时,用户可以查询饲料编号、名称、成分、保质期、采购时间等功能操作。
- 投料信息管理:当用户点击“投料信息管理”时,用户可以查询饲料编号、名称、成分、投料数量、时间等功能操作。
- 个人中心:用户可以访问个人中心,查看个人信息和历史记录,修改密码等内容。
- 后台首页:管理员可以登录后台首页,查看系统的整体概况和运行状态
- 系统用户管理:管理员负责管理系统的用户,包括管理员和普通用户。他们可以添加、编辑和删除用户信息,并设置用户权限。
- 生猪信息管理:当用户点击“生猪信息管理”时,用户可以查询到生猪编号、品种、体重、出生日期、地点等功能操作,还可以添加、编辑和删除相关信息。
- 母猪信息管理:当用户点击“母猪信息管理”时,用户可以查询到母猪编号、品种、时间、疫苗记录、消毒记录、兽药记录等功能操作,还可以添加、编辑和删除相关信息。
- 配种信息管理:当用户点击“配种信息管理”时,用户可以查询母猪编号、品种、类型、执行用户、配种时间等功能操作。
- 饲料信息管理:当用户点击“饲料信息管理”时,用户可以查询饲料编号、名称、成分、保质期、采购时间等功能操作,还可以添加、编辑和删除相关信息。
- 投料信息管理:当用户点击“投料信息管理”时,用户可以查询饲料编号、名称、成分、投料数量、时间等功能操作。
小型养猪场信息管理系统的非功能性需求比如小型养猪场信息管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
安全性 | 主要指小型养猪场信息管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指小型养猪场信息管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响小型养猪场信息管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着小型养猪场信息管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 小型养猪场信息管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.2系统用例分析
小型养猪场信息管理系统中普通用户角色用例图如图2.1所示:
图2.1普通角色用例图
小型养猪场信息管理系统中管理员角色用例图如图2.2所示:
图2.2管理员角色用例图
3.系统功能模块设计
系统功能模块包括管理员模块和业主用户模块,登录进去对应相应的功能,具体的功能模块图如图3.1所示。
图3.1 小型养猪场信息管理系统功能模块图
3.1数据库设计
数据库的设计承载者系统的各种数据,在建立数据库的时候,主要是数据库模型的设计以及各个数据库表的设计两部分。
下面是整个小型养猪场信息管理系统中主要的数据库表以及总E-R实体关系图。
图3.2 小型养猪场信息管理系统总E-R关系图
通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | breeding_information_id | int | 10 | 0 | N | Y | 配种信息ID | |
2 | sow_number | varchar | 64 | 0 | Y | N | 母猪编号 | |
3 | sow_breed | varchar | 64 | 0 | Y | N | 母猪品种 | |
4 | execute_user | int | 10 | 0 | Y | N | 0 | 执行用户 |
5 | breeding_type | varchar | 64 | 0 | Y | N | 配种类型 | |
6 | breeding_time | datetime | 19 | 0 | Y | N | 配种时间 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | feed_information_id | int | 10 | 0 | N | Y | 饲料信息ID | |
2 | feed_number | varchar | 64 | 0 | Y | N | 饲料编号 | |
3 | feed_name | varchar | 64 | 0 | Y | N | 饲料名称 | |
4 | feed_ingredients | varchar | 64 | 0 | Y | N | 饲料成分 | |
5 | shelf_life | varchar | 64 | 0 | Y | N | 保质期 | |
6 | procurement_time | datetime | 19 | 0 | Y | N | 采购时间 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表material_feeding_information (投料信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | material_feeding_information_id | int | 10 | 0 | N | Y | 投料信息ID | |
2 | feed_number | varchar | 64 | 0 | Y | N | 饲料编号 | |
3 | feed_name | varchar | 64 | 0 | Y | N | 饲料名称 | |
4 | feed_ingredients | varchar | 64 | 0 | Y | N | 饲料成分 | |
5 | quantity_of_materials_fed | varchar | 64 | 0 | Y | N | 投料数量 | |
6 | feeding_time | datetime | 19 | 0 | Y | N | 投料时间 | |
7 | feeding_operation | int | 10 | 0 | Y | N | 0 | 投料操作 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表pig_information (生猪信息)生猪编号、品种、体重、出生日期、地点等功能操作
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | pig_information_id | int | 10 | 0 | N | Y | 生猪信息ID | |
2 | pig_id | varchar | 64 | 0 | Y | N | 生猪编号 | |
3 | pig_breeds | varchar | 64 | 0 | Y | N | 生猪品种 | |
4 | pig_weight | varchar | 64 | 0 | Y | N | 生猪体重 | |
5 | date_of_birth | datetime | 19 | 0 | Y | N | 出生日期 | |
6 | pig_accessories | varchar | 255 | 0 | Y | N | 生猪附件 | |
7 | place_of_birth | text | 65535 | 0 | Y | N | 出生地点 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | sow_information_id | int | 10 | 0 | N | Y | 母猪信息ID | |
2 | sow_number | varchar | 64 | 0 | Y | N | 母猪编号 | |
3 | sow_breed | varchar | 64 | 0 | Y | N | 母猪品种 | |
4 | record_time | datetime | 19 | 0 | Y | N | 记录时间 | |
5 | vaccine_records | text | 65535 | 0 | Y | N | 疫苗记录 | |
6 | sow_accessory | varchar | 255 | 0 | Y | N | 母猪附件 | |
7 | registration_time | text | 65535 | 0 | Y | N | 消毒记录 | |
8 | veterinary_drug_records | text | 65535 | 0 | Y | N | 兽药记录 | |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
第4章 关键模块的设计与实现
4.1登录模块
管理员、用户在登录界面输入账号+密码,完成验证,点击“登录”按钮,系统在用户数据库表中会对管理员、用户的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4.1所示。
图4.1 用户登录界面图
登录代码如下:
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
User byUsername = (User) resultList.get(0);
Map<String, String> groupMap = new HashMap<>();
groupMap.put("name",byUsername.getUserGroup());
List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
String res = String.valueOf(service.runCountSql(sql).getSingleResult());
if (res==null){
return error(30000,"用户不存在");
}
if (!res.equals("已通过")){
return error(30000,"该用户审核未通过");
}
}
//查询用户状态
if (byUsername.getState()!=1){
return error(30000,"用户非可用状态,不能登录");
}
String md5password = service.encryption(password);
if (byUsername.getPassword().equals(md5password)) {
// 存储Token到数据库
AccessToken accessToken = new AccessToken();
accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
accessToken.setUser_id(byUsername.getUserId());
tokenService.save(accessToken);
// 返回用户信息
JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
user.put("token", accessToken.getToken());
JSONObject ret = new JSONObject();
ret.put("obj",user);
return success(ret);
} else {
return error(30000, "账号或密码不正确");
}
}
4.2后台普通用户首页模块
小型养猪场信息管理系统的着页,后台用户可以在此查询生猪信息管理、母猪信息管理、配种信息管理、饲料信息管理、投料信息管理等功能操作。界面展示如下图4-1所示。
图4.2首页界面图
4.3生猪信息管理模块
生猪信息管理:普通用户可以查询到生猪编号、品种、体重、出生日期、地点等功能操作。界面如下图所示。
图4.3 生猪信息管理界面图
4.4母猪信息管理模块
母猪信息管理:普通用户可以查询母猪编号、品种、时间、疫苗记录、消毒记录、兽药记录等功能操作。界面如下图所示。
图4.4母猪信息管理界面图
4.5配种信息管理模块
- 配种信息管理:普通用户可以查询母猪编号、品种、类型、执行用户、配种时间等功能操作。界面如下图所示。
图4.5配种信息管理界面图
4.6饲料信息管理模块
饲料信息管理:普通用户可以查询饲料编号、名称、成分、保质期、采购时间等功能操作。界面如下图所示。
=
图4.6饲料信息管理界面图
4.7投料信息管理模块
投料信息管理:普通用户可以查询饲料编号、名称、成分、投料数量、时间等功能操作。界面如下图所示。
图4.7投料信息管理界面图
4.8后台管理员首页模块
后台管理:管理员可以直接查看统用户、生猪信息管理、母猪信息管理、配种信息管理、饲料信息管理、投料信息管理等功能操作。界面如下图所示。
图4.8后台管理界面图
4.9系统用户模块
系统用户:管理员可以管理系统的所有管理员和普通用户。界面如下图所示。
图4.9系统用户界面图
4.10生猪信息管理模块
生猪信息管理:管理员可以查询到生猪编号、品种、体重、出生日期、地点等功能操作,还可以添加、编辑和删除相关信息。界面如下图所示。
连接数据库的文件在Resources 文件夹下的application.yml文件,代码如下server:
port: 5000
servlet:
context-path: /api
spring:
mvc:
static-path-pattern: /upload/**
resources:
static-locations: file:此处填写地址/project93355/server/src/main/resources/static
datasource:
jdbc:mysql://127.0.0.1:3306/projectxxxxx?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
redis:
host: 127.0.0.1
port: 6379
password:
database: 2
lettuce:
pool:
max-idle: 30
min-idle: 10
max-active: 30
max-wait: 10000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.project.demo.entity
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
use-column-label: true
map-underscore-to-camel-case: false
lazy-loading-enabled: true
aggressive-lazy-loading: false
use-generated-keys: true
图4.10生猪信息管理界面图
4.11母猪信息管理模块
母猪信息管理:普通用户可以查询母猪编号、品种、时间、疫苗记录、消毒记录、兽药记录等功能操作,还可以添加、编辑和删除相关信息。界面如下图所示。
图4.11母猪信息管理界面图
连接数据库的文件在Resources 文件夹下的application.yml文件,代码如下:
server:
port: 5000
servlet:
context-path: /api
spring:
mvc:
static-path-pattern: /upload/**
resources:
static-locations: file:此处填写地址/project93355/server/src/main/resources/static
datasource:
jdbc:mysql://127.0.0.1:3306/projectxxxxx?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
jackson:
property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
default-property-inclusion: ALWAYS
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
redis:
host: 127.0.0.1
port: 6379
password:
database: 2
lettuce:
pool:
max-idle: 30
min-idle: 10
max-active: 30
max-wait: 10000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.project.demo.entity
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
use-column-label: true
map-underscore-to-camel-case: false
lazy-loading-enabled: true
aggressive-lazy-loading: false
use-generated-keys: true
5.测试的目的
通过前面章节的介绍,我们可以看到小型养猪场信息管理系统已经完成了,但是能不能投入使用还是未知,因为在每个项目正式使用之前必须对开发的项目进行测试,如果不进行测试一旦投入使用可能会出现很多未可知的问题,比如使用人数太多导致系统瘫痪,比如某一功能存在bug信息填写错误等,这些错误将给使用者带来很多的困扰,甚至造成更大的损失,因此测试是项目投入使用的最后一步,为用户提供一个运行顺畅、完美的项目也就是我们进行最后测试的目的。
5.1系统部分测试
系统测试包括:用户登录功能测试、生猪信息管理添加功能测试、母猪信息管理功能测试、饲料信息管理添加功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 用户登录成功的情况 | 点击前登录界面输入账号和密码分别输入admin和admin后点击“登录”按钮。 | 登录成功并调整到用户界面 | 正确 |
生猪信息管理添加功能测试:
表5-2 生猪信息管理添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
生猪信息添加模块测试 | 生猪信息添加成功的情况 | 在生猪信息的页面中将点击添加,输入报修申请相关信息,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
生猪信息添加模块测试 | 生猪信息添加失败的情况 | 在生猪信息页面中不填写的申请时间,其他信息正常输入“提交”按钮。 | 提示“添加失败,信息不能为空” | 正确 |
母猪信息管理功能模块测试:
表5-3 母猪信息管理功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询母猪信息管理功能测试 | 查询成功的情况 | 在母猪信息界面输入编号名称进行查询 | 查询成功 | 正确 |
饲料信息管理添加功能测试:
表5-4 饲料信息管理添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
饲料信息添加模块测试 | 饲料信息添加成功的情况 | 在饲料信息添加管理的页面中,输入房屋日期,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
饲料信息添加模块测试 | 饲料信息添加失败的情况 | 在饲料信息页面中不填写的房屋日期,其他信息正常输入“提交”按钮。 | 提示“添加失败,信息不能为空” | 正确 |
5.2系统测试结果
通过编写小型养猪场信息管理系统的测试用例,已经检测完毕用户登录功能测试、生猪信息管理添加功能测试、母猪信息管理功能测试、饲料信息管理添加功能测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。
本文描述了springboot+vue小型养猪场信息管理系统设计与实现的原理和开发过程,该系统是通过Springboot和Vue框架来搭建后台,中间件使用的是Tomcat服务器,配合Java开发语言数据库管理平台采用开源的MySQL,前台使用的是JQuery框架,同时使用Validate校验框架,这样就可以减少前端代码的输入量,而且基于JQuery框架的Validat框架使用简单,是流行的前端使用框架,前端使用的主要是JSP页面展示技术。
在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个小型养猪场信息管理系统的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java、Springboot和Vue、MySQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
- [1]Prabawani B ,Hadi P S ,Fisher R M , et al. Socioeconomic perspective of agroforestry development in Central Java [J]. Environmental and Sustainability Indicators, 2024, 22 100354-.
- [2]邓洁明. 养猪场猪瘟的防控与净化 [J]. 今日畜牧兽医, 2024, 40 (02): 41-43.
- [3]王冬梅,王功军,黄旭. 养猪场污水处理研究 [J]. 内江科技, 2024, 45 (02): 135-136.
- [4]李燕,杨小杰. 养猪场猪疫病防治存在的问题和解决措施 [J]. 吉林畜牧兽医, 2024, 45 (02): 22-24.
- [5]刘贺. 规模化养猪场保育猪饲养管理技术 [J]. 现代农村科技, 2024, (01): 60-61.
- [6]李汉超,巫应强. 养猪场生物安全的主要风险因素及管理制度提要 [J]. 农村实用技术, 2024, (01): 98-100.
- [7]盈明镜. 规模化养猪场种猪高效饲养管理与常用繁殖技术 [J]. 北方牧业, 2023, (21): 21.
- [8]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
- [9]武永广. 规模化养猪场母猪产后饲养管理 [J]. 特种经济动植物, 2023, 26 (10): 84-86.
- [10]景绍红,胡占云,梅学华等. 小规模养猪场哺乳仔猪管理关键技术 [J]. 猪业科学, 2023, 40 (09): 109-110.
- [11]杨利梅. 规模化养猪场的分段饲养管理技术 [J]. 畜牧兽医科技信息, 2023, (09): 161-163.
- [12]敖义鹏,周志鹏,何强治等. 对规模养猪场生产管理工作的思考 [J]. 中国猪业, 2023, 18 (04): 52-56.
- [13]张斌,瞿涛. 规模化养猪场保育猪管理技术 [J]. 畜禽业, 2023, 34 (08): 57-59.
- [14]胡江. 规模化养猪场不同阶段生猪的饲养管理 [J]. 中国畜牧业, 2023, (08): 52-53.
- [15]刘若愚,唐冰. 养猪场消毒质量管理规范 [J]. 中国动物保健, 2023, 25 (03): 79-82.
- [16]袁泉. 小型规模养猪场的生物安全风险管理初探 [J]. 中国动物保健, 2023, 25 (02): 89-90.
- [17]段六运. 规模化养猪场不同阶段生猪的饲养管理 [J]. 中国畜牧业, 2023, (02): 60-61.
- [18]青林. 北方地区小型养猪场数字化管理系统研究[D]. 内蒙古农业大学, 2020.
- [19]何敏欣,成丽君. 养猪场养殖管理系统的设计与实现 [J]. 农业工程技术, 2021, 41 (09): 49-51.
- [20]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):
到此,整个基于Springboot+Vue的小型养猪场信息管理系统就算完成了,虽然过程十分艰难,但是等到都完成的时候,我感觉无比的自豪,虽然设计的系统还存在许多的纰漏,但是我已经拼尽全力,给自己的大学四年画上了一个圆满的句号。
在这里我首先要感谢的就是大学四年来所有教导我的老师,是他们教会了我许多的专业知识以及做人的道理,从一进校门对开发系统一窍不通到现在能自主开发一个管理系统,里面包含了前台框架、后台框架、业务流程、数据结构、操作系统等各种知识,只有把他们统一运用好,才能够完成整个系统,这都是老师的功劳;其次我要感谢我的指导老师,在开发这个系统的时候,我遇到了无数的问题,经常通过线上、线下的方式去请教导师,每次去请教导师,他从来没有不耐烦,都是细心的引导,告诉我怎么样实现这个功能,怎么样才能使得系统更加完善,然后通过自己查询相关资料解决问题,提高了自己自主解决问题的能力,授人以鱼不如授人以渔,指导老师的这种工作态度受益终生,我也会向老师不断靠拢,向他学习,在此我只想说一句:“老师,谢谢您,您辛苦了”!最后我还要感谢我的室友、同学,在一起学习这四年,他们不但学习上给了我很多建议,在生活上更加给了我帮助,正是有他们的帮助,我的大学生涯才如此完美。
最后,希望自己在未来的道路上能够越走越远,不辜负在大学的学习以及老师们的细致的教导,追风赶月莫停留,平荒尽处是春山。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~