【开源】JAVA+Vue.js实现食品生产管理系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 加工厂管理模块
    • 2.2 客户管理模块
    • 2.3 食品管理模块
    • 2.4 生产销售订单管理模块
    • 2.5 系统管理模块
    • 2.6 其他管理模块
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询食品
    • 4.2 查询加工厂
    • 4.3 新增生产订单
    • 4.4 新增销售订单
    • 4.5 查询客户
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的食品生产管理系统,包含了加工厂管理、客户管理、食品管理、生产订单、销售订单、系统公告模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,食品生产管理系统基于角色的访问控制,给食品管理员、加工厂店员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

在食品产品管理系统中的难点重点是不同食品有不同的有效期,当把食品供应到多个卖场之后,会存在食品的供应、回收等问题。这些问题亟待解决。

系统主要通过食品管理、用户管理以及各个不同的角色等主要功能模块来实现食品产品管理系统的功能。其中包括用户信息的建立、修改以及删除;商品信息的建立、修改以及删除。特别是用户进行订购产品时,当食品过多或不足,会存在食品的供应、回收等问题。以及对各类食品的管理。从而,实现对食品各种信息、用户信息等实现全面、动态、及时的管理。

2.1 加工厂管理模块

用于对于生产加工的工厂进行管理,管理者可以进行添加加工厂,修改信息、删除加工厂信息等功能。

2.2 客户管理模块

客户管理模块主要是把客户汇总,做成可视化表格,便于对客户进行增删改查等基本操作的管理。

2.3 食品管理模块

食品管理模块主要对已经产出的食品进行信息分类展示,管理员可以对它进行查看,并进行增删改查功能。

2.4 生产销售订单管理模块

包括生产订单管理模块以及销售管理模块。生产订单管理模块是把需要加工的食品订单进行管理;销售管理是记录以及销售的食品种类以及数量,清晰的看到各类食品的销售并进行选择进行加订。

2.5 系统管理模块

包括两个个模块,权限管理、角色管理。权限管理模块分为两个权限,管理用户并分配权限角色,权限分为管理员与食品加工厂管理员,管理员可以看到所有功能模块,加工厂管理员只能看到加工厂生产订单管理;角色管理模块管理各个权限角色并进行解释。

2.6 其他管理模块

包括登陆日志以及系统公告。登陆日志可以查看历史登陆信息;系统公告模块可以编辑发布公告呈现在管理员的首页。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询食品

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询食品")
public Result<IPage<Food>> getByPage(@ModelAttribute Food food ,@ModelAttribute PageVo page){QueryWrapper<Food> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(food.getTitle())) {qw.like("title",food.getTitle());}if(!ZwzNullUtils.isNull(food.getContent())) {qw.like("content",food.getContent());}if(!ZwzNullUtils.isNull(food.getType())) {qw.eq("type",food.getType());}IPage<Food> data = iFoodService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Food>>().setData(data);
}

4.2 查询加工厂

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询加工厂")
public Result<IPage<ProcessingFactory>> getByPage(@ModelAttribute ProcessingFactory processingFactory ,@ModelAttribute PageVo page){QueryWrapper<ProcessingFactory> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(processingFactory.getTitle())) {qw.like("title",processingFactory.getTitle());}if(!ZwzNullUtils.isNull(processingFactory.getAddress())) {qw.like("address",processingFactory.getAddress());}if(!ZwzNullUtils.isNull(processingFactory.getDutyName())) {qw.like("duty_name",processingFactory.getDutyName());}IPage<ProcessingFactory> data = iProcessingFactoryService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<ProcessingFactory>>().setData(data);
}

4.3 新增生产订单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增生产订单")
public Result<ProduceOrder> insert(ProduceOrder produceOrder){Food food = iFoodService.getById(produceOrder.getFoodId());if(food == null) {return ResultUtil.error("食品不存在");}produceOrder.setFoodName(food.getTitle());produceOrder.setContent(food.getContent());produceOrder.setImage(food.getImage());produceOrder.setType(food.getType());iProduceOrderService.saveOrUpdate(produceOrder);food.setStock(food.getStock().add(produceOrder.getNumber()));iFoodService.saveOrUpdate(food);return new ResultUtil<ProduceOrder>().setData(produceOrder);
}

4.4 新增销售订单

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增销售订单")
public Result<SalesOrder> insert(SalesOrder salesOrder){Food food = iFoodService.getById(salesOrder.getFoodId());if(food == null) {return ResultUtil.error("食品不存在");}if(food.getStock().compareTo(salesOrder.getNumber()) < 0) {return ResultUtil.error("库存不足");}salesOrder.setFoodName(food.getTitle());salesOrder.setContent(food.getContent());salesOrder.setImage(food.getImage());salesOrder.setType(food.getType());Customer customer = iCustomerService.getById(salesOrder.getBuyId());if(customer == null) {return ResultUtil.error("客户不存在");}salesOrder.setBuyName(customer.getTitle());iSalesOrderService.saveOrUpdate(salesOrder);food.setStock(food.getStock().subtract(salesOrder.getNumber()));iFoodService.saveOrUpdate(food);return new ResultUtil<SalesOrder>().setData(salesOrder);
}

4.5 查询客户

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询客户")
public Result<IPage<Customer>> getByPage(@ModelAttribute Customer customer ,@ModelAttribute PageVo page){QueryWrapper<Customer> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(customer.getTitle())) {qw.like("title",customer.getTitle());}if(!ZwzNullUtils.isNull(customer.getSex())) {qw.eq("sex",customer.getSex());}if(!ZwzNullUtils.isNull(customer.getChannel())) {qw.eq("channel",customer.getChannel());}IPage<Customer> data = iCustomerService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Customer>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis常见的15个【坑】,避坑指南

一、常见命令 1.1 过期时间意外丢失 原因&#xff1a; SET命令如果不设置过期时间&#xff0c;那么Redis会自动【擦除】这个key的过期时间 1.2 DEL命令阻塞redis key是String类型时&#xff0c;DEL时间复杂度是O(1)key是List/Hash/Set/ZSet类型&#xff0c;DEL时间复杂度是…

开发知识点-前端-layUI

layui layertabletable render <script type"text/html" id"buttonTpl">{{# if(d.check true){ }}<button class"layui-btn layui-btn-xs">已审核</button>{{# } else { }}<button class"layui-btn layui-btn-prim…

#include “stdafx.h“代码的位置,导致编译通不过

1.先上代码: #include <iostream> //std::cout #include <iterator> //std::distance #include <list> //std::list using namespace std;#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { list<int> mylist; …

神经网络算法详解

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 引言 神经网络&#xff0c;作为人工智能和机器学习领域的核心技术之一&#xff0c;具有极其重要的意义。它们通过模拟人类大脑的工作机制&#…

【鸿蒙 HarmonyOS 4.0】弹性布局(Flex)

一、介绍 弹性布局&#xff08;Flex&#xff09;提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。容器默认存在主轴与交叉轴&#xff0c;子元素默认沿主轴排列&#xff0c;子元素在主轴方向的尺寸称为主轴尺寸&#xff0c;在交叉轴方向的尺寸称为交叉轴尺寸…

(Linux学习七)进程介绍

一、进程 进程生命周期&#xff1a;由系统程序。form出来的子程序&#xff0c;具备一定的父的资源&#xff08;权利&#xff0c;内存空间&#xff0c;PID&#xff09;直到运行完毕&#xff0c;退出系统 查看进程 ps aux 查看所有进程参数&#xff1a;aux ps a 显示现行…

详细分析Linux内存知识并释放内存

目录 前言1. 基本知识1.1 free1.2 cat /proc/meminfo1.3 slabtop 2. 清空内存 前言 本篇文章主要分析内存 如果是磁盘空间&#xff0c;推荐阅读&#xff1a;服务器出现根目录磁盘满了解决方法 1. 基本知识 在Linux系统中&#xff0c;查看内存的基本知识包括以下几个方面&…

测试一下测试u一下3月5日

目录 前言 1. 环境准备 2. 在EB tresos上配置MCAL 步骤1&#xff1a;下载软件 步骤2&#xff1a;安装EB Tresos 23 步骤3&#xff1a;安装MCAL 3. 新建EB工程 4. 导出Arxml文件 前言 前面已经讲解了MCAL的作用。按照博主的理解&#xff0c;配置autosar工程肯定是从驱动…

大气颗粒物与VOCs PMF源解析:环保行业的新利器

在现今日益严峻的环境问题中&#xff0c;大气颗粒物和臭氧污染尤为突出&#xff0c;它们不仅深刻影响着全球气候和生态环境&#xff0c;更对人体健康构成了严重威胁。为了有效应对这一挑战&#xff0c;我们首先需要深入了解颗粒物和臭氧的来源&#xff0c;特别是臭氧的前体物之…

[Flutter get_cli] 配置 sub_folder:false报错

flutter get_cli 配置 get_cli:sub_folder:false报错如下 Because getx_cli_learn01 depends on get_cli from unknown source "sub_folder", version solving failed. 原因是在 pubspec.yaml文件中, get_cli:sub_folder:false要和 dependencies: xxx dev_depe…

自动驾驶预测与决策规划(nuplan数据集)

欢迎大家关注我的B站&#xff1a; 偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com) 目录 1.概述 2 数据采集 3.开环与闭环仿真 4.数据注释 5.场景 6.规划框架 6.1Train 6.2Simulation 6.3Metric 6.4Visualization 7.下载…

【排序】详解冒泡排序

一、思想 冒泡排序的基本思想是利用两两比较相邻记录的方式&#xff0c;通过一系列的比较和交换操作&#xff0c;使得较大或较小的元素逐渐移动到数列的一端。在每一轮的排序过程中&#xff0c;都会从数列的起始位置开始&#xff0c;对相邻的元素进行比较&#xff0c;如果它们…

开展“学雷锋我行动”文明实践主题活动向媒体投稿有哪些好方法?

开展“学雷锋我行动”文明实践主题活动并向媒体投稿时,以下是一些好的方法: 清晰的主题定位:确保投稿内容紧扣“学雷锋我行动”这一主题,展示如何在实际行动中践行雷锋精神,如志愿服务、社区建设、关爱他人等。 #图文万粉激励计划#高质量的内容制作:无论是文字、图片还是视频,…

轻松记录收支明细,智慧分析财务情况,一键打印保存!“

在这个信息爆炸的时代&#xff0c;财务管理已成为我们生活中不可或缺的一部分。无论您是家庭主妇、白领上班族还是企业经营者&#xff0c;都需要对自己的财务情况了如指掌。那么&#xff0c;如何轻松记录和分析收支明细&#xff0c;让财务管理变得简单高效呢&#xff1f;今天&a…

蓝凌EIS智慧协同平台 rpt_listreport_definefield.aspx SQL注入漏洞复现

0x01 产品简介 蓝凌EIS智慧协同平台是一款专为企业提供高效协同办公和团队合作的产品。该平台集成了各种协同工具和功能,旨在提升企业内部沟通、协作和信息共享的效率。 0x02 漏洞概述 由于蓝凌EIS智慧协同平台 rpt_listreport_definefield.aspx接口处未对用户输入的SQL语句…

Linux 文件系列:深入理解文件描述符fd,重定向,自定义shell当中重定向的模拟实现

Linux 文件系列:深入理解文件fd,重定向,自定义shell当中重定向的模拟实现 一.预备知识二.回顾C语言中常见的文件接口跟重定向建立联系1.fopen函数的介绍2.fclose函数的介绍3.代码演示1.以"w"(写)的方式打开2.跟输出重定向的联系3.以 "a"(追加)的方式打开4.…

枚举与尺取法(蓝桥杯 c++ 模板 题目 代码 注解)

目录 组合型枚举&#xff08;排列组合模板&#xff08;&#xff09;&#xff09;: 排列型枚举&#xff08;全排列&#xff09;模板&#xff1a; 题目一&#xff08;公平抽签 排列组合&#xff09;&#xff1a; ​编辑 代码&#xff1a; 题目二&#xff08;座次问题 全排…

Java8的Stream执行机制

Java8的Stream执行机制 Stream的概念解说Stream的概念解说-Stream的含义Stream的概念解说-现实类比Stream的概念解说-Stream中的概念Stream的执行机制Stream的执行机制-最直接的流水线实现方式Stream的执行机制-for循环也能干的事Stream的执行机制-基本类图Stream的执行机制-记…

AI大模型的预训练、迁移和中间件编程

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

RS编码的FPGA实现

RS编码&#xff0c;即Reed-solomon codes&#xff0c;是一类纠错能力很强的特殊的非二进制BCH码&#xff08;BCH码是一种有限域中的线性分组码&#xff0c;具有纠正多个随机错误的能力&#xff09;。对于任选正整数S可构造一个相应的码长为nqS-1的 q进制BCH码&#xff0c;而q作…