此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
任何程序-代码项目-论文文档-想单独指导的可以私我!!!!
摘 要
2020年的开端出现了新型冠状病毒,在疫情期间,国家和人民最缺少的就是食材的问题。病毒不仅能够在人与人之间进行传播,还能够在高校食品上进行传播,从国外进口的三文鱼,北京的菜市场以及天津的冰棍都是在高校食品上传播了起来。人们食用带有病毒的食物后,便增加了感染的风险。学校是一个人口密集的地方,他培养这祖国的花朵,如果不幸在学校中有人感染新型冠状病毒,那后果不堪设想,这就使得学校后勤的采购工作需要足够的安全。学生返校后进行隔离,非必要情况不可以走出校园,这使得学生们都在食堂用餐,导致学校需要采购的食材增多,大大增加了采购的难度。随着网络的到来后,越来越多的管理系统逐渐发展起来。使用网络的方式记录高校食品安全的问题是十分有必要的。
针对上述问题,本课题将针对高校食品安全问题做出研究,使用Java语言进行代码的编写,使用SSM框架搭建结构,把数据交给MySQL数据库存储起来。经过调查研究后发现,不仅学校对高校食品有需求,企业也需要此高校食品。因此,为了满足大家的需求,将本系统分为三个角色,分别是:用户、管理员和企业。本系统中,主要包含的功能有:食品前期加工管理,食品信息管理,食品采购入库,食品出库,出入库统计、企业管理、用户管理。该系统为了能够适应网络高校食品的发展,设计的界面简洁,功能操作简单,可以让所有用户在使用本高校食品时,感受到高校食品所带来的好处。
关键词:高校;食品安全;Java;信息管理
ABSTRACT
At the beginning of 2020, a new type of coronavirus appeared. During the epidemic, what the country and people lacked the most was the problem of ingredients. The virus can not only spread from person to person, but also spread on items. Salmon imported from abroad, vegetable markets in Beijing and popsicles in Tianjin are all spread on items. When people eat foods that contain the virus, they increase their risk of infection. The school is a densely populated place. He cultivates the flowers of the motherland. If someone is unfortunately infected with the new type of coronavirus in the school, the consequences will be disastrous, which makes the procurement of the school logistics need sufficient security. Students are quarantined after returning to school, and they are not allowed to leave the campus unless necessary. This makes students eat in the cafeteria, resulting in more ingredients that the school needs to purchase, which greatly increases the difficulty of purchasing. With the advent of the network, more and more management systems have gradually developed. It is very necessary to use the network to record the problems of food safety in colleges and universities.
In response to the above problems, this topic will make research on food safety issues in colleges and universities, use the Java language to write the code, use the SSM framework to build the structure, and hand over the data to the MySQL database for storage. After investigation and research, it was found that not only schools have demand for products, but enterprises also need this product. Therefore, in order to meet everyone's needs, the system is divided into three roles, namely: user, administrator and enterprise. In this system, the main functions include: food pre-processing management, food information management, food procurement and storage, food delivery, storage and storage statistics, enterprise management, and user management. In order to adapt to the development of network products, the system is designed with a simple interface and simple function operation, which can allow all users to feel the benefits brought by the product when using the product.
Key words: Colleges and universities; food safety; Java; information management
第一章 概述
1.1课题的来源及目的
食品安全决定了学生的健康程度,没有良好的食材会导致学生的健康出现问题。学校的采购量很大,打到能够支撑一个小型企业是否能够长期发展。由此可见,对企业来说,出现食品的安全问题也是十分严重的。假设企业出现食品安全问题,应该立即将已售出的商品收回,将未售出的商品停售,保证企业的形象,避免企业中的高校食品在市场中流入后影响他人人身安全。市场逐步增长,使用传统的方式对商品进行管理显然已经力不从心了,这需要借助现代化的信息手段来帮助人们解决此问题。由此可见,开发出高校食品安全溯源系统迫在眉睫。
1.2国内外研究现状
在国外,不管是发达国家还是发展中国家,都或多或少的存在食品安全的问题。食品安全问题严重的可以威胁到生命,因此,欧盟委员会十分重视食品安全的问题,并以迅雷不及掩耳之势,拟定食品安全机制,并在同年七月份推出此项法规。在日本,政府除了建立起国家的食品安全法规,还将食品安全溯源以网络化显示,购买者可以通过网络查看到该商品所去过的地方已经商品的详细信息。日本在食品安全溯源方面做的十分完善,让各个国家仅在此方面不得不起敬佩之心。
在国内,食品安全一直都在发生,最有名的事件应该是三氯氰胺奶粉事件,这造成了很多儿童身体健康的问题。在这场事件中,厂家并没有在第一时间找齐所有的商家使高校食品下架,避免更多的儿童受害。食品安全问题可大可小,国家对食品安全的问题也十分重视,我们除了应该在销售之前严格的严查食品品质,更应该在食品安全的问题后快速的将所有商品停售,避免造成更大的损失和伤害。由此我们可以看出来,对于食品安全得问题应该重视起来,研究符合时代发展的计算机应用高校食品是势在必行的。
1.3测试的目的和意义
在每一个网络高校食品中,都不能保证系统没有任何的问题,既然有问题,那我们就应该将这些问题最小化,让用户在使用高校食品时保证高校食品的可用性。在本课题食品安全溯源的项目中,最重要的就是溯源,首当测试的重点应该是测试是否能够查询到高校食品溯源,这样才能保证我们高校食品的可用性;其次就是查询的数据是否准确,保证系统的准确性,两者共存才使得开发本高校食品有意义。
目录
2 开发技术介绍
2.1 JSP语言介绍
JSP作为动态可交互界面语言,可以为web前端提供一个新的开发环境,JSP的出现让界面可以动态化进行展示,对着客户端用户的不同所展示的数据以及界面的交互处理也不同。JSP可以适应目前市场上的很多apache服务高校食品。JSP在某种意义而言是在Html中提供一些Java的混合代码然后通过语言引擎进行代码的编译执行。在同类型语言ASP中跟JSP类似,都是通过html进行界面样式的展示,而嵌入的程序编译代码则是处理业务逻辑。界面静态语言html只能依赖部署服务器,以及嵌入的代码语言则可以理解为Servlet中代码需要进行编译以及引擎的分析。
2.2 Mybatis介绍
Mybatis重点就在于对底层JDBC进行了封装,且生成动态代理mapper类,mybatis的核心工作流程在于通过SQLSessionFactoryBuilder新建了Factory对象,然后通过对Factory的调用创建SQLsession,通过获取处理连接拿到mapper调用对象,然后依据对应的xml中的sql执行数据库持久化操作。相对于hibernate来说,mybatis属于半自动化操作,hibernate可以完全自动生成执行sql,而mybatis需要手动编写sql,但hibernate的自动化导致了sql的隐秘性,因此对于一些复杂的业务逻辑查询以及sql的实时修改mybatis更为方便,且mybaits实现了真正意义的SQL语句与代码分离,降低了数据库的耦合度,对于数据库的更改和移植性能更高。
2.3 B/S模式介绍
在访问的模式中一般为BS模式和CS模式,在软件中像APP这种的都是cs模式,cs模式是需要在客户端进行安装的,虽说比较繁琐,但随之带来的就是处理速率的增加,在客户端的业务处理利用的是客户端的运行机制,因此非常的简单。但相对于bs的浏览器访问模式来说,bs的模式更为简单,将业务的处理都集中到服务器端,这样可以对所有的数据逻辑进行控制,而且在版本的迭代时只需要服务器端更新即可。而客户端则需要多版本的维护,保证任何版本的客户端软件都可运行。
2.4Tomcat介绍
在java项目的部署中当打包成war包时则需要服务器进行编译,因此选择Tomcat进行项目的部署,tomcat对于静态的html以及纯java后台的项目都是可以运行的,tomcat中默认的端口为8080,后期可以进行自定义优化,可以对项目的访问路径进行指定。Java项目文件可以通过tomcat编译为class文件,在tomcat中主要分为不同的几个包,包含bin文件夹,logs文件夹,webapps文件夹,在webapps文件下主要为项目的存放。Logs为日志文件可以将项目运行以及访问的日志操作等进行打印,在遇到bug时可以进行文件的查询。
3 系统需求分析
3.1可行性分析
3.1.1 操作可行性分析
高校食品安全溯源系统主要是对高校的一些食品的来源以及食品信息的中转信息进行溯源的查询,通过在企业端以及高校端对食品信息的录入来确保食品信息的来源的完整性以及出库的途径等,此次设计主要是三种用户角色,企业端主要是对商品的前期的加工以及一些运输的数据进行录入,而校园用户端是对食品信息的一些使用出库等。
系统设计完成后从使用的角度来说,非常的便利,通过前期对其他食品管理网站的设计进行分析,从用户的体验角度和习惯角度进行分析,确保系统使用的简洁度,保证管理流程的不复杂,且针对于每一个按钮都没有歧义,且对于数据的存储只需代码完成,无需人为的干扰操控,会员可以在登录后根据自己的习惯进行检索和管理,可以查看食品和溯源,很多数据一目了然没有任何的繁琐度。
3.1.2 市场可行性分析
现在很多高校都非常注重食品的安全,家长监督以及高校的检测都是对食品的途径来源进行把控,学校的采购量很大,打到能够支撑一个小型企业是否能够长期发展。由此可见,对企业来说,出现食品的安全问题也是十分严重的。假设企业出现食品安全问题,应该立即将已售出的商品收回,将未售出的商品停售,保证企业的形象。
3.2系统功能介绍
在此次的系统中主要分为管理员和企业人员、高校食品管理人员角色主要的核心模块如下:
高校食品供应商管理:在高校管理员端可以对提供的一些食品的供应商的信息进行新增,可以对供应商信息进行编辑以及对所属的食品供应商进行维护。
企业信息管理:可以对制造食品的一些企业信息进行管理,可以对企业的信息进行录入以及进行维护。
高校食品信息管理:企业端可对自己的所属的食品进行信息的录入包含制作的一些过程以及名称和销售的金额等。
高校前期溯源加工管理:在企业端可以根据货号对每一种食品进行前期加工、运输的食品溯源的录入
高校食品入库管理:在操作员端可以对高校食品信息选择进行入库,可以选择入库的数量以及入库的基本情况等进行操作。
高校食品出库:人员端可以对高校的食品进行出库的申请,可以选择出库的数量以及出库的一些数据信息进行填写,对出库的使用的途径要进行填写。
3.3功能用例分析
高校食品溯源管理系统,主要分为企业端、高校管理员端、高校人员端
在企业端主要是对高校的食品信息进行录入,可以对食品进行编辑和维护,可对每个食品的前期的加工的信息以及加工的一些运输信息进行录入
高校管理员端主要是对高校的一些人员信息进行管理、可对人员的一些账号进行管理。可以对食品溯源进行跟踪,可以对食品的入库以及商品的出库进行申请
在管理员端可以对平台的一些企业账户和人员账号进行管理,可以对食品信息以及食品的供应商信息进行管理,可以对食品的出库、入库进行记录统计。
图3.1系统用例图。
第四章 系统设计
4.1系统功能设计
高校食品溯源管理系统,主要分为企业端、高校管理员端、高校人员端,主要包含的模块有:食品前期加工管理,食品信息管理,食品采购入库,食品出库,出入库统计、企业管理、用户管理
在企业端主要是对高校的食品信息进行录入,可以对食品进行编辑和维护,可对每个食品的前期的加工的信息以及加工的一些运输信息进行录入。高校管理员端主要是对高校的一些人员信息进行管理、可对人员的一些账号进行管理。可以对食品溯源进行跟踪,可以对食品的入库以及商品的出库进行申请。在管理员端可以对平台的一些企业账户和人员账号进行管理,可以对食品信息以及食品的供应商信息进行管理,可以对食品的出库、入库进行记录统计。
图4.1系统模块图。
4.2时序图设计
(1)在管理员端可以对高校的一些食品供应商信息进行新增,在界面中进入到查询后,在对应的信息栏找到新增按钮,按钮触发跳转到addpage界面,然后在界面中输入供应商的一些基本信息,通过post对提交的form表单进行后台运转,最后insert到数据库。如图4.2所示。
图4.2供应商新增时序图。
(2)在管理员端可以对高校的一些食品管理人员信息进行新增,在界面中进入到查询后,在对应的信息栏找到新增按钮,按钮触发跳转到addpage界面,然后在界面中输入高校人员的一些基本信息,通过post对提交的form表单进行后台运转,最后insert到数据库。如图4.3所示。
图4.3员工新增时序图。
(4)在管理员端可以对高校食品信息进行新增,在新增界面填写好信息后通过JS提交到后台高校食品action,在action层校验后若高校食品数据无误则通过service提交到数据库高校食品层,如图4.4所示。
图4.4高校食品信息新增时序图
(5)在高校人员可以对高校的一些食品进行出库的新增,在界面中进入到出库界面后,在对应的信息栏找到新增按钮,按钮触发跳转到addpage界面,然后在界面中输入高校食品出库的的一些基本信息,通过post对提交的form表单进行后台运转,最后insert到数据库,如图4.5所示。
图4.5高校食品出库新增时序图
4.4数据库设计
对前期的功能模块梳理以及对各个角色和模块之间的关联性进行划分,针对与底层的数据结构进行设计,通过对ER图的设计以及数据字段的设计对数据库表的切割以及表关联之间逻辑进行优化,对表的设计要遵从表结构的模块度,以及表与表业务查询之间的关联操作度。
图4.10系统ER图
依据建立的ER图对数据库表进行转换,仓库库存商品信息信息表如表4-1所示
表4-1仓库高校食品信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
shipsuyid | Int(6) | 底层int主键 | 高校食品生成号 |
shipsuyame | varchar(30) | 初次有值 | 食品高校食品名称 |
Shipsuywupdes | varchar(55) | 初次有值 | 食品高校食品描述 |
Shipsuykucun | Int(10) | 初次有值 | 初始库存 |
Shipsuygysid | Int(6) | 初次有值 | 所属供应商id |
Jiansrxinhao | varchar(46) | 关联外键 | 高校食品型号 |
Shipsuyzhuoao | varchar(46) | 初次有值 | 高校食品货号 |
操作操作人表如表4-2所示,
表4-2 高校用户信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
shcouserID | int(6) | 底层int主键 | 高校用户生成ID |
shcouseruser | varchar(18) | 初次有值 | 高校用户用户名 |
shcouserpwd | varchar(46) | 初次有值 | 高校用户登陆密码 |
shcousername | varchar(46) | 初次有值 | 高校用户名字 |
shcouserjehao | varchar(55) | 初次有值 | 高校用户岗位介绍 |
shcouserstate | varchar(5) | 初次有值 | 高校用户状态 |
食品供应商表如表4-3所示,
表4-3食品供应商表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
GonhduId | int(6) | 底层int主键 | 食材供应商编号 |
gonhduname | varchar(25) | 初次有值 | 食材供应商名称 |
Gonhdudesc | varchar(46) | 初次有值 | 食材供应商描述 |
gonhduprice | varchar(46) | 初次有值 | 食材供应商地址 |
食品入库表如表4-4所示,
表4-4 入库信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
ruuId | int(6) | 底层int主键 | 课程具体ID |
huobeigoid | varchar(18) | 食品外键 | 备货食品外键 |
huobeiShijian | varchar(25) | Yyyy-mm-dd | 入库时间 |
huobeitigshul | int(6) | 必须整数 | 入库数量 |
ruhumisdesc | varchar(46) | 初次有值 | 入库备注描述 |
食品出库表如表4-5所示,
表4-5 食品出库信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
cyngId | int(6) | 底层int主键 | 出库具体ID |
Cynggoid | varchar(18) | 商品外键 | 使用食品外键 |
cyngShijian | varchar(25) | Yyyy-mm-dd | 使用时间 |
Shenstats | int(6) | 0或者1 | 审核状态 |
Cyngtigshul | int(6) | 必须整数 | 使用数量 |
chumisdesc | varchar(46) | 初次有值 | 使用理由 |
食材企业信息表如表4-6所示,
表4-6食品企业信息信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
qiyerID | int(6) | 底层int主键 | 生产企业生成ID |
sqiyeseruser | varchar(18) | 初次有值 | 生产企业用户名 |
qiyeuserpwd | varchar(46) | 初次有值 | 生产企业登陆密码 |
qiyesername | varchar(46) | 初次有值 | 生产企业名字 |
qiyeserjehao | varchar(55) | 初次有值 | 生产企业介绍 |
sqiyeerstate | varchar(55) | 初次有值 | 生产企业地址 |
食品前期加工信息表如表4-7所示,
表4-7食品前期加工信息表
底层列名 | 存储类型 | 字段限制 | 字段说明 |
jiagonID | int(6) | 底层int主键 | 加工生成ID |
Jiagonhuohao | varchar(18) | 初次有值 | 食品货号 |
Jiagonwendu | varchar(46) | 初次有值 | 加工存储温度 |
Jiagonyunshu | varchar(46) | 初次有值 | 加工运输途径 |
Jiagonyanci | varchar(55) | 初次有值 | 加工原材料 |
Jiagonstate | varchar(55) | 初次有值 | 加工信息状态 |
5.1系统登录
在食品登录界面中有用户名和密码的输入框,此次系统系统的设计主要分为管理员、用户、企业、在登录界面可以输入账号和密码信息,然后通过form表单ajax进行提交后早控制层进行checkuser的校验,然后对底层的sql进行select的执行操作,若存在则登录成功。
图5-1登录界面图
5.2食品信息管理
在企业端可以对各自的企业食品信息进行管理,可以对食品的货号、食品名称、食品所属的分类、食品的销售单价、销售描述信息以及食品生产日期和有效期等进行录入,通过调用shipin的service进行数据的存储,在mapper层可执行insert进行插入。
图5-2食品管理界面图
5.3食品高校企业管理
在企业管理时可以对企业的名称、企业的管理登录账号以及登录的密码和地址等进行操作通过在界面的js进行数据的正则输入校验,在通过Servlet层进行数据的提交后,通过调用service层的addqiye进行insert插入。
图5-3食品高校企业管理界面图
5.4食品溯源新增实现
在企业进入到食品的新增溯源时要输入食品的货号、食品的原产地、食品原材料、食品加工等信息,可以在新增界面input输入框中填写基本信息,通过对信息进行校验,对数据的准确性和规范性进行定义,然后通过ajax对界面中填写的数据进行获取组装为json数据后进行post方式提交,在后台通过name匹配对参数进行接受操作,通过StringUtils类的校验方式对为空字段进行校验,然后通过调用dao层的add方法进行新增
图5-4食品溯源界面图
5.5食品入库实现
在食品入库时输入入库的食品信息以及入库的数量,然后根据date的时间函数获取到当前时间,创建对象RukuVO,然后将食品入库数据以及时间还有当前的session中的userid,调用rukuService的insert方法一起保存到底层入库信息表,然后返回true。
图5-5入库界面图
5.6食品出库
在食品出库时输入出库的食品信息以及出库的数量、出库的金额、出库说明等,可以根据出库记录来追溯食品的源头信息,通过对食品出库的记录申请来对库存进行更新操作,审核通过后食品出库成功。
图5-6出库盘点图
5.7食品高校供应商管理
在食品的高校管理供应商界面可以对供应商名称、供应商电话、所属的描述信息进行填写,在界面通过js对供应商的信息进行正则验证,在通过Servlet层进行数据的提交后,通过调用service层的add供应商进行insert插入。
图5-7食品高校食品供应商界面图
5.8视频出库管理
在本系统中可以通过对食品的出库的记录进行统计分析,通过group by对不同类型以及不同时间段数据进行数据分组,然后通过界面插件highcharts进行展示,可以依据出食品出库的类型以及出出库的时间进行统计。
图5-8食品高校食品出库统计界面图
在系统验设计的最后一个环节往往也是最为重要的一步,在对系统功能的验证中也是对自己需求分析的再一次验证,首要对针对系统的逻辑正确性以及功能完整性进行测试,确保在用户使用的过程中是作为成品进行展示的,且跟线下的一些流程是相对吻合的,确保用户在使用的过程中不存在歧义或者是一些流程跳转的错误