仓库信息管理系统设计与实现
一、数据库设计
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)数据的网络模型…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
企业大模型服务合规指南:深度解析备案与登记制度
伴随AI技术的爆炸式发展,尤其是大模型(LLM)在各行各业的深度应用和整合,企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者,还是积极拥抱AI转型的传统企业,在面向公众…...
