当前位置: 首页 > news >正文

基于jsp的采购管理系统的分析与实现

物资采购管理系统是针对内部而设计的,应用于的局域网,这样可以使得内部管理更有效的联系起来。企业采购管理系统是将IT技术用于企业采购信息的管理, 它能够收集与存储企业采购的档案信息,提供更新与检索企业采购信息档案的接口;提高工作效率。

该系统采用B/S体系结构,在客户机上并不安装客户端,而是使用网络浏览器,这样节省一大部分开发、维护和升级报销。本系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。

本系统是一个独立的系统,用来解决企业采购信息的管理问题。采用JSP技术构建了一个有效而且实用的企业采购信息管理平台,目的是为高效地完成对企业采购信息的管理。

系统体系结构

在系统功能分析的基础上,系统功能模块图如下图3-1所示:

图3-1 系统体系结构

系统有四个主要功能,分别是用户登录,基础信息管理,订单管理,采购查询。其中基础信息管理可以对用户信息,材料信息,供应商信息及订单信息进行管理。订单管理功能对订单进行管理,整个系统中,会有7种状态的订单。采购查询,是系统为用户提供的便捷查询方式,根据关键字,即可快速检索出需要查询的信息。

登陆界面如图4-1所示:

图 4-1 登录界面

4.1.2系统主界面

当使用管理员身份登录的主界面,如图4-5所示:

图4-5 管理员主界面

当用户身份为管理员时,则拥有系统的最高权限,可以创建四种权限的用户身份。分别是管理员,采购员,审批员及仓库管理员。

当使用普通用户登录时主界面,如图4-6所示:

图4-6 普通用户主界面

普通用户是和管理员相对的用户身份,包括采购员,仓库管理员,审批人员三种,由管理员进行创建。每种身份有对应的操作权限。并且不能越权操作。

采购员:创建原始采购单,提交采购申请,对审批通过的采购订单进行采购。

审批人员:对提交的采购订单及退货单进行审批;

仓库管理员:对到达货物进行质量检验,产品合格则确认收货,产品不合格,则创建退货单,等待审批。

4.1.3用户操作

使用管理员身份登录时,可以查看用户的信息,并对用户进行增、删、改、查操作:

当使用管理员身份时,可以对用户信息进行查看,如图4-7所示:

图 4-7 用户信息

当使用管理员身份登录时,可以创建不同权限的用户,如图4-8所示:

图 4-8 创建用户

当使用管理员的身份登录时,可以修改用户的信息(但是用户创建之后,用户名是不允许进行修改的),如图4-9所示:

图4-9 修改用户信息

4.1.4供应商管理

供应商管理模块是本系统中一个基础的部分,在本模块中包括对供应商信息的增删改查功能,确保资料的安全。增加了系统的安全性和保密性,便于控制和管理。及时的更新供应商信息,可以帮助企业做正确的采购策略。

查询供应商信息,如图4-10所示:

图4-10 查询供应商信息

添加供应商信息,这里要求要将所有供应商的信息添加完全,详细的展示供应商信息,是企业能够全面了解供应商信息,更好的制定采购计划,如图4-11所示:

图 4-11添加供应商

修改供应商信息,可以对供应商信息进行及时的更新,如图4-12所示:

图 4-12 修改供应商信息

4.1.5材料信息管理

本模块主要实现材料信息的增加、删除、修改、浏览等操作。将以前采购过的材料、将要进行采购的材料以及正在考虑采购的材料信息录入系统,便于企业查询和管理。如下图所示:

材料信息查询,如图4-13所示:

图4-13 查询材料信息

材料信息添加,需要添加材料的名称、编号、出厂日期、数量、以及备注信息,要求必须添加完整。提供重置按钮,点击后,可以重写填写,如图4-14所示:

图4-14 修改材料信息

对材料信息进行修改,及时更新材料信息,保证所有的信息都是最新状态,如图4-15所示:

图4-15 修改材料信息

4.1.6订单信息管理

本模块主要实现对订单进行操作。系统中共设计了多种状态的订单。分别是新建采购单,审批中的采购单,审批成功的采购单,审批失败的采购单,新建退货单,审批中的退货单,审批成功的退货单,审批失败的退换单,已完成订单。新建的如下图所示:

已完成订单信息查询:

当采购员采购完成之后,由仓库管理员进行质量检验,物品质量合格之后,由采购员确认收货,订单会变为完成状态。

已完成订单,如图4-16所示:

图 4-16 已完成订单

采购员专区:

采购员根据采购计划创建采购单,等待审批人员进行审批,如图4-17所示:

图4-17 采购专区

审批员专区:由审批员对采购单及退货单进行审批,审批员可以将订单置为两种状态,审批成功和审批失败,且一定要填写审批理由,如图4-18所示:

图4-18 审批专区

仓库管理:

仓库管理员对采购员采购的物品进行质量检验,如果合格则确认收货,如果不合格则申请退货,等待审批人员进行审批,如图4-19所示:

图4-19 仓库管理专区

快捷预览区域:

该区域只提供对订单的预览,不提供操作。包括未完成订单,已完成订单,未付款单,退货单。

未完成订单,包括待付款单,审批失败订单,未审批订单:

未完成订单如图4-20所示:

图 4-20 未完成订单

未付款订单,采购完成的订单,等待仓库管理员对物品质量进行检验:

待付款订单如图4-21所示:

图 4-21 待付款订单

退货单,仓库管理员对物品进行质量检验,不合格的产品进行退货申请,由审批人员进行审批,通过审批后的退货单进行退货,完成退货后。退货单可在快捷预览区域的退货单中进行查看。

退货单如图4-22所示:

图4-22 退货单

4.1.7信息查询

该功能提供对信息的快速查询,分别针对用户信息,供应商信息,材料信息,订单信息设计了不同的关键词检索,提高检索效率:

用户信息查询,根据账号进行查询,如图4-23所示:

图 4-23 用户信息查询

供应商信息查询,根据名称进行查询,如图4-24所示:

图4-24 供应商信息查询

材料信息查询,根据材料名称进行查询,如图4-25所示:

图4-25 材料信息查询

订单信息查询,根据订单名称进行查询,如图4-26所示:

图 4-26 订单信息查询

最后,欢迎通过公众号“320科技工作室”联系我们

相关文章:

基于jsp的采购管理系统的分析与实现

物资采购管理系统是针对内部而设计的,应用于的局域网,这样可以使得内部管理更有效的联系起来。企业采购管理系统是将IT技术用于企业采购信息的管理, 它能够收集与存储企业采购的档案信息,提供更新与检索企业采购信息档案的接口;提…...

react配置二级路由

1.在createBrowserRouter上添加basename属性&#xff0c;比如 const RouterRender createBrowserRouter([{path: /,element: <App><Login></Login></App>},...SystemRouter,...InventoryRouter,...FlowManageRouter,{path: "*",element: &…...

C++ 模板特化

非类型模板参数 定义&#xff1a;对于函数模板和类模板&#xff0c;模板参数并不局限于类型&#xff0c;普通值也可以作为模板参数 非类型模板参数定义的是常量 template<typename T, size_t N> class array; //T&#xff1a;类型模板参数 //N&#xff1a;非类型模板参…...

Spring-createBean部分源码

createBean源码&#xff1a; /*** Central method of this class: creates a bean instance,* populates the bean instance, applies post-processors, etc.* see #doCreateBean*/ Override protected Object createBean(String beanName, RootBeanDefinition mbd, Nullable …...

2015年亚太杯APMCM数学建模大赛C题识别网络中的错误连接求解全过程文档及程序

2015年亚太杯APMCM数学建模大赛 C题 识别网络中的错误连接 原题再现 网络是描述真实系统结构的强大工具——社交网络描述人与人之间的关系&#xff0c;万维网描述网页之间的超链接关系。随着现代技术的发展&#xff0c;我们积累了越来越多的网络数据&#xff0c;但这些数据部…...

js:可选链运算符(?.)和空值合并运算符(??)

文档&#xff1a; 可选链运算符&#xff08;?.&#xff09;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining空值合并运算符&#xff08;??&#xff09;https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Referenc…...

【Java 进阶篇】Java ServletContext功能:获取文件服务器路径

Java ServletContext是Java EE中的一个核心接口&#xff0c;用于与Servlet容器进行通信&#xff0c;提供了许多有用的功能&#xff0c;包括获取文件服务器路径。在本文中&#xff0c;我们将详细介绍如何使用ServletContext来获取文件服务器路径&#xff0c;并提供示例代码以帮助…...

Android startActivity流程

1.常规调用 startActivity(new Intent(this,MainActivity.class)); 进入Activity的startActivity方法 /*** Same as {link #startActivity(Intent, Bundle)} with no options* specified.** param intent The intent to start.** throws android.content.ActivityNotFoundExc…...

Qt实验室

前言 本系列文章是研究和记录Qt开发过程中遇到的各种问题的集合 由于Qt是一个庞大的开发体系&#xff0c;很难用有限的文案对其做全面深入细致的讲解&#xff0c;因此市面上大多数Qt开发相关的教程都显得极其粗浅入门&#xff0c;通常只能作为最基本的入门教程。但是实际项目…...

diffusers-Load adapters

https://huggingface.co/docs/diffusers/main/en/using-diffusers/loading_adaptershttps://huggingface.co/docs/diffusers/main/en/using-diffusers/loading_adapters 有几种训练技术可以个性化扩散模型&#xff0c;生成特定主题的图像或某些风格的图像。每种训练方法都会产…...

CVI 串口调试助手

基于Labwindows CVI 2017编写的一个简单的串口调试助手&#xff0c;附带接收一个00–99的两位数并进行波形绘制的功能&#xff0c;编写过程可见&#xff1a;https://blog.csdn.net/Stark_/article/details/129003839 #include <ansi_c.h> #include <rs232.h> #incl…...

【蓝桥杯选拔赛真题48】python最小矩阵 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python最小矩阵 一、题目要求 1、编程实现 2、输入输出 二、算法分析...

如何在家庭网络中开启 IPv6内网穿透

随着互联网的不断发展&#xff0c;IPv4地址资源逐渐枯竭&#xff0c;而IPv6作为它的继任者&#xff0c;为网络连接提供了更多的IP地址。启用IPv6对于家庭网络来说变得越来越重要&#xff0c;因为它可以提供更稳定、更安全、更快速的互联网连接。本文将指导如何在家庭网络中启用…...

CodeWhisperer 的安装及体验

CodeWhisperer 是亚马逊出品的一款基于机器学习的通用代码生成器&#xff0c;可实时提供代码建议。类似 Cursor 和 Github Copilot 编码工具。 官网&#xff1a;aws.amazon.com/cn/codewhis… 在编写代码时&#xff0c;它会自动根据您现有的代码和注释生成建议。从单行代码建…...

【C/C++】虚析构和纯虚析构

纯虚析构的问题 多态使用时&#xff0c;如果子类中有属性开辟到堆区&#xff0c;那么父类指针在释放时无法调用到子类的析构代码。 解决方式&#xff1a;将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性&#xff1a; 可以解决父类指针释放子类对象都需要有…...

第四章 应用SysML基本特性集的汽车示例 P1|系统建模语言SysML实用指南学习

仅供个人学习记录 汽车模型 主要就是应用练习建模了 Automobile Domain包 用于组织模型的包图 将模型组织入包的包图 需求图捕获汽车规范 汽车规范中包含系统需求的需求图 块定义图定义车辆及其外部环境 汽车域块定义图 用例图表示操作车辆 描述车辆主要功能的用…...

C语言 写一个简易音乐播放器

#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <math.h>#define SAMPLE_RATE 44100 // 采样率 #define AMPLITUDE 32767 // 振幅 #define NO_SAMPLES 44100 // 样本数// 声明一个结构体用于表示音符 typedef struct {double …...

面试题:有一个 List 对象集合,如何优雅地返回给前端?

文章目录 1.业务背景每个对象里面都带上了重复的一个sessionId数据&#xff0c;我想提出来该怎么办&#xff1f; 2.实体类3.自定义Mapper和xml文件4.Service层5.Controller层 1.业务背景 业务场景中&#xff0c;一个会话中存在多个场景&#xff0c;即一个session_id对应多个sc…...

DAY43 完全背包理论基础 + 518.零钱兑换II

完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品都有无限个&#xff08;也就是可以放入背包多次&#xff09;&#xff0c;求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同…...

unity 从UI上拖出3D物体,(2D转3D)

效果展示&#xff1a; 2D转3D视频 UI结构 UI组件挂载 UI结构 这个脚本挂载到 3D物体身上 using DG.Tweening; using System.Collections; using System.Collections.Generic; using UnityEngine;public class DragGame : MonoBehaviour {[HideInInspector]public bool isDrag…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...