仓库信息管理系统设计与实现
一、数据库设计
1.数据库模型设计概览
2.数据库表设计
①depository
描述: 该表存储仓库的信息,比如仓库名称,仓库地址和仓库介绍
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | ||
2 | dname | VARCHAR(255) | 否 | 是 | 仓库名称 | |
3 | address | VARCHAR(255) | 否 | 是 | 仓库地址 | |
4 | introduce | VARCHAR(255) | 否 | 是 | 仓库介绍 |
②仓库调度记录(depository_record)
描述: 该表记录仓库调度的记录,同时该表也是数据也可以看做一条条申请信息。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 记录id | |
2 | application_id | INT(10) | 否 | 否 | 申请编号(暂时无用) | |
3 | mname | VARCHAR(255) | 否 | 是 | 产品名称 | |
4 | depository_id | INT(10) | 否 | 是 | 调度的仓库id | |
5 | type | INT(10) | 否 | 是 | 0 | 调度记录类型(0出库,1入库) |
6 | quantity | DOUBLE(22) | 否 | 否 | 数量 | |
7 | price | DOUBLE(22) | 否 | 否 | 价格 | |
8 | state | VARCHAR(255) | 否 | 否 | 状态(待审核/审核未通过,未入库/出库/检验不通过,待验收/已入库/已出库) | |
9 | applicant_id | INT(10) | 否 | 否 | 申请人id | |
10 | apply_remark | VARCHAR(255) | 否 | 否 | 申请备注 | |
11 | apply_time | DATETIME | 否 | 否 | 申请时间 | |
12 | reviewer_id | INT(10) | 否 | 否 | 审核人id | |
13 | review_remark | VARCHAR(255) | 否 | 否 | 审核结果备注 | |
14 | review_time | DATETIME | 否 | 否 | 审核时间 | |
15 | review_pass | INT(10) | 否 | 否 | 审核是否通过,0表示未通过,1表示通过 | |
16 | checker_id | INT(10) | 否 | 否 | 验货人id | |
17 | check_remark | VARCHAR(255) | 否 | 否 | 验收备注 | |
18 | check_time | DATETIME | 否 | 否 | 出入库时间(验货时间) | |
19 | check_pass | INT(10) | 否 | 否 | 验收是否通过 |
3、产品信息记录(库存)(material)
描述: 产品信息记录(库存信息)
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 存储id | |
2 | depository_id | INT(10) | 否 | 否 | 仓库名称 | |
3 | mname | VARCHAR(255) | 否 | 否 | 材料名称 | |
4 | quantity | DOUBLE(22) | 否 | 否 | 数量 | |
5 | price | DOUBLE(22) | 否 | 否 | 总金额 | |
6 | type_id | INT(10) | 否 | 否 | 材料种类id |
4、material_type
描述: 材料种类,我对材料进行了分类,这样统计起来也方便很多,另外建一个表是为了防止以后可能会对材料类型做的补充,同时节省存储空间。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 类型id | |
2 | tname | VARCHAR(255) | 否 | 是 | 类型名称 | |
3 | introduce | VARCHAR(255) | 否 | 否 | 类型介绍 |
5、notice
描述: 公告表,用于存储公告信息
表结构
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 公告主键 | |
2 | title | VARCHAR(255) | 否 | 是 | 公告标题 | |
3 | content | VARCHAR(255) | 否 | 否 | 公告内容 | |
4 | time | DATETIME | 否 | 是 | 发布时间 |
6、standing_book
描述: 台账表。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 台账记录id | |
2 | type | INT(10) | 否 | 是 | 0表示调入,1表示调出(外部);2表示调入(退料),3表示调出(领料)(内部调用) | |
3 | quantity | INT(10) | 否 | 是 | 0 | 数量 |
4 | price | INT(10) | 否 | 是 | 0 | 总价 |
5 | material_name | VARCHAR(255) | 否 | 是 | 材料名称 |
7、transfer_record
描述: 转移表,这个是用来关联转移操作的。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 转移记录id | |
2 | from_id | INT(10) | 否 | 是 | 转出仓库id | |
3 | to_id | INT(10) | 否 | 是 | 转入仓库id |
8、 user
描述: 用户表,这里的密码是经过加密存储的。
表结构:
序号 | 字段名 | 数据类型 | 主键 | 非空 | 默认值 | 描述 |
1 | id | INT(10) | 是 | 是 | 用户id | |
2 | uname | VARCHAR(255) | 否 | 是 | 用户名称 | |
3 | authority | VARCHAR(255) | 否 | 否 | 表示权限等级(游客/员工/审核员/仓管员/系统管理员) | |
4 | pwd | VARCHAR(255) | 否 | 否 | 用户登录密码(数据库存储的是加密后的) | |
5 | sex | VARCHAR(255) | 否 | 是 | 性别 | |
6 | depository_id | INT(10) | 否 | 否 | 负责仓库,序号表示仓库id,0表示全部仓库 | |
7 | entry_date | DATE | 否 | 是 | 入职日期 | |
8 | | VARCHAR(255) | 否 | 否 | 邮箱 | |
9 | phone | VARCHAR(255) | 否 | 否 | 手机号 |
相关文章:

仓库信息管理系统设计与实现
一、数据库设计 1.数据库模型设计概览 2.数据库表设计 ①depository 描述: 该表存储仓库的信息,比如仓库名称,仓库地址和仓库介绍 表结构: 序号 字段名 数据类型 主键 非空 默认值 描述 1 id INT(10) 是 是 2…...

初识Java多线程编程
文章目录 一、线程的状态二、线程的常见属性三、多线程编程Thread类常用构造方法1.继承Thread类2.实现Runnable接口3.匿名内部类实现4.lambda 表达式创建 Runnable 子类对象 四、线程的常见方法 一、线程的状态 //线程的状态是一个枚举类型 Thread.State public class ThreadS…...

最新入河排污口设置论证、水质影响预测与模拟、污水处理工艺分析及典型建设项目入河排污口方案报告书实例分析
随着水资源开发利用量不断增大,全国废污水排放量与日俱增,部分河段已远远超出水域纳污能力。近年来,部分沿岸入河排污口设置不合理,超标排污、未经同意私设排污口等问题逐步显现,已威胁到供水安全、水环境安全和水生态安全&#x…...

awk指令的详细指南
目录 工作原理 命令格式 awk常见的内建变量(可直接用)如下所示 按行输出文本 按字段输出文本 通过管道、双引号调用 Shell 命令 示例 CPU使用率 数组 编辑统计文件的内容出现的次数 使用awk 统计secure 访问日志中每个客户端IP的出现次数? …...

解密Netty中的Reactor模式
文章目录 单线程Reactor模式多线程Reactor模式Reactor模式中IO事件的处理流程Netty中的通道ChannelNetty中的反应器ReactorNetty中的处理器HandlerNetty中的通道Channel和处理器Handler的协作组件Pipeline Reactor(反应器)模式是高性能网络编程在设计和架构方面的基础模式.Doug…...
这是一个黑科技:C++爬虫~(文末报名C/C++领域新星计划)
目录 写在前面 完整代码 这里必看!! 写在最后 写在前面 现在所有人都知道万能的Python可以做机器学习,可以做人工智能,可以爬取各种小网站,但是你不知道,基于C++的正则表达式早就能够爬取各种网络数据啦!!你没猜错,阿玥将在这篇文章中简介怎么用C...

2023 年第八届数维杯数学建模挑战赛 赛题浅析
为了更好地让大家本次数维杯比赛选题,我将对本次比赛的题目进行简要浅析。本次比赛的选题中,研究生、本科组请从A、B题中任选一个 完成答卷,专科组请从B、C题中任选一个完成答卷。这也暗示了本次比赛的难度为A>B>C 选题人数初步估计也…...

Spring Boot单元测试
什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证的过程就叫单元测试。 单元测试是开发人员编写的一小段代码,用于检验被测代码的一个很小的、很明确的(代码) 功能是否正确。执行单元测试就是为了证明某…...

实景三维浪潮翻涌,新技术“席卷”石家庄!
5月11日,“全自主、全流程、全覆盖”2023实景三维新技术研讨会石家庄站暨航测与遥感学术交流会在石家庄凯旋金悦大酒店圆满举行。 本次会议由中国测绘学会、中国地理信息产业协会指导,河北省测绘学会、河北省地理信息产业协会主办,武汉大势智…...
【Python】使用小脚本
本文整理了我在学习和工作中用到的实用python脚本,希望也能帮助到需要的小伙伴~ 文章目录 视频格式转换顺序遍历文件夹中的文件 视频格式转换 安装视频处理库moviepy pip install moviepy安装FFmpeg(FFmpeg是一个开源的多媒体框架,moviepy…...
技术日志2023-5-18
1、Java远程调试 可参考:https://kefeng.wang/2018/03/06/idea-remote-debug/ 2、用户中心这样的基础项目有什么用,感觉非常鸡肋。 今天开发讨论中涉及到了用户中心,感觉在项目中使用用户中心只是给业务系统发一个token,业务系…...
JUC之锁
公平锁、非公平锁 公平锁指的是多线程按照申请锁的顺序来获取锁; 非公平锁指的是多线程不按照申请锁的顺序来获取锁。可能会出现优先级反转(后者居上) 公平锁为了保证线程申请顺序,势必要付出一定的性能代价,因此其吞…...
C++中的 cout 和 printf 用法
文章目录 前言cout & printfexampleprintf输出string字符串总结 前言 C是一种面向对象的编程语言,它继承了C语言的特点,同时也增加了许多新的特性。在C中的cout 和 printf是两种常用的输出函数,它们都可以将数据显示在屏幕上,…...

Maven基础使用
Maven 学习目标 理解Maven的用途掌握Maven的基本操作掌握Maven如何创建Web项目 Maven是什么 面临问题 在学习Maven之前,我们先来看一下我们现在做的项目都有哪些问题。假设你现在做了一个crm的系统,项目中肯定要用到一些jar包,比如说myb…...

【C++ 入坑指南】(06)运算符
文章目录 一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、算法题5.1、拆分位数 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 内置了丰富的运算符,并提供了以下类型的运算符: 运算符类型作用算术运算符用于处理四则运算赋值…...
了解一下js中的函数式编程
js中的函数式编程是一种编程范式,它将函数作为一等公民来使用。 在函数式编程中,函数是一种特殊的对象,可以赋值给变量、作为参数传递给其他函数、或作为其他函数的返回值。 函数式编程强调了函数的纯函数性,即函数输入相同时&a…...
动态HTTP代理在linux里的使用
动态HTTP代理是一种可以自动切换代理IP地址的代理方式,可以有效地绕过一些限制访问的网站。在Linux系统中,可以使用Privoxy和Proxychains来实现动态HTTP代理。 以下是在Linux中使用动态HTTP代理的步骤: 1. 安装Privoxy和Proxychains 在终端中…...
软考证书值得考吗?怎么考?
软考证书是什么?有什么用处?必须先明确这两个问题,才能有复习和考取的动力。怎么考过?这是第二步要着重解决的问题。今天详细帮助大家分析一下。 软考是国家级考试,具有强大的权威性与公信力。 软考全称为计算机技术…...

超级秘密文件夹忘记密码的解决办法
超级秘密文件夹是一款非常特殊的文件夹加密软件,它来无影去无踪,在安装后不会留下任何痕迹,只能通过软件热键才能打开。那么如果在使用过程中忘记了密码,这时我们该怎么办呢?下面我们就来了解一下。 首先,我…...

脑的物理系统
⼤脑模块化 人脑是一个复杂的网络,一般将大脑划分为不同的区域(即节点),并使用某种方法表征大脑区域之间的关系(即连接的边)来构建人脑网络。在功能磁共振成像(fMRI)数据的网络模型…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...