【仓储管理系统需求分析(三)】

1. 简介

继续之前的仓储管理系统的模块功能分析。

2. 定仓

定仓管理是该仓储管理系统中所特有的一个功能。
定仓的含义是用户需要提前预定自己所需要的仓库空间。之后根据定仓的情况生成入库单。再之后用户就可以根据入库单把商品运送到仓库进行入库了。
用户定仓时需要填写定仓申请,而定仓申请的添加有两种方式。一种是仓储管理系统的用户自己填写(包括商品的详情,货件的详情,租赁时间,支付等等);另一种是商品的生产者也就是工厂代为填写(只填写商品的详情和和货件详情),填写完成之后用户在进行补充剩余的信息(租赁时间,支付等)。
定仓的过程参考了亚马逊仓储管理流程,定仓的流程相对复杂一些,但是功能也是更加完善一些。
这里先叙述一下定仓的流程,方便大家的理解以及后续自己的学习巩固。
比如:用户A有三种不同的商品(分别是SKU001,SKU002,SKU003)需要租赁公司的仓库。用户A需要先确认这三种商品的包装类型,是混在一起包装还是原厂包装等,确认好商品的包装类型之后,还需要确认单个商品的包装尺寸大小即包装的长宽高,然后还需要为每个商品贴上该商品自己的商品标签(这里主要是为了入库以及出库时确认商品的数量和商品的属性)。处理完之后还需要把商品打包成一个个大的货件(这里应该主要是方便运输管理),打包成货件之后,还需要确认货件的配送方式,货件的重量,货件的尺寸,货件的数量,以及货件的标签和货件中包含的商品信息等等。处理完上述的一切之后,然后在通过不同的配送方式送到仓库的所在地。

表结构的设计如下:

CREATE TABLE `tbl_book_ware_house_apply` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `book_code` varchar(32) DEFAULT NULL COMMENT '定仓编号',
  `ship_address_id` bigint(20) DEFAULT NULL COMMENT '发货地址Id',
  `wrap_id` bigint(20) DEFAULT NULL COMMENT '包装类型id',
  `predict_start_time` datetime DEFAULT NULL COMMENT '预计租仓开始时间',
  `predict_end_time` datetime DEFAULT NULL COMMENT '预计租仓结束时间',
  `free_count` int(11) DEFAULT NULL COMMENT '免费租仓天数',
  `predict_count` int(11) DEFAULT NULL COMMENT '预计租仓天数',
  `ware_house_id` bigint(20) DEFAULT NULL COMMENT '分配仓库id',
  `cost` decimal(10,2) DEFAULT NULL COMMENT '租仓费用',
  `product_count` int(11) DEFAULT NULL COMMENT '商品总数',
  `product_unit` varchar(10) DEFAULT NULL COMMENT '商品单位',
  `is_pay` tinyint(2) DEFAULT NULL COMMENT '是否支付',
  `apply_time` datetime DEFAULT NULL COMMENT '申请时间',
  `apply_user` bigint(20) DEFAULT NULL COMMENT '申请人',
  `created_time` datetime NOT NULL COMMENT '创建时间',
  `status` tinyint(3) NOT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='定仓申请表';
CREATE TABLE `tbl_user_ship_address` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  `province_id` bigint(20) NOT NULL COMMENT '省份id',
  `province` varchar(20) DEFAULT NULL COMMENT '省份',
  `city_id` bigint(20) NOT NULL COMMENT '市id',
  `city` varchar(20) DEFAULT NULL COMMENT '市',
  `area_id` bigint(20) NOT NULL COMMENT '区县id',
  `area` varchar(20) DEFAULT NULL COMMENT '区县',
  `address` varchar(255) NOT NULL COMMENT '详细地址',
  `contacts` varchar(20) NOT NULL COMMENT '联系人',
  `phone` varchar(11) NOT NULL COMMENT '联系电话',
  `created_time` datetime NOT NULL COMMENT '创建时间',
  `deleted_time` datetime DEFAULT NULL COMMENT '删除时间',
  `status` tinyint(3) NOT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户发货地址';
CREATE TABLE `tbl_wrap_type` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(32) DEFAULT NULL COMMENT '类型名称',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='包装类型';
CREATE TABLE `tbl_book_ware_house_cost_detail` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `book_ware_house_id` bigint(20) DEFAULT NULL COMMENT '定仓申请id',
  `cost_name` varchar(32) DEFAULT NULL COMMENT '费用名称',
  `days_count` int(9) DEFAULT NULL COMMENT '天数',
  `count` int(11) DEFAULT NULL COMMENT '数量',
  `unit_price` decimal(10,2) DEFAULT NULL COMMENT '单价',
  `total_price` decimal(10,2) DEFAULT NULL COMMENT '总价',
  `description` varchar(255) DEFAULT NULL COMMENT '说明',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='定仓费用详情表';
CREATE TABLE `tbl_book_ware_house_pay_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `book_ware_house_id` bigint(20) DEFAULT NULL COMMENT '定仓申请id',
  `pay_type` int(11) DEFAULT NULL COMMENT '支付方式',
  `pay_time` datetime DEFAULT NULL COMMENT '支付时间',
  `total_price` decimal(10,2) DEFAULT NULL COMMENT '支付金额',
  `is_pay` tinyint(2) DEFAULT NULL COMMENT '是否支付',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定仓支付信息';
CREATE TABLE `tbl_book_ware_house_product` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `book_ware_house_id` bigint(20) DEFAULT NULL COMMENT '定仓申请Id',
  `category_id` bigint(20) DEFAULT NULL COMMENT '商品所属类目id',
  `product_code` varchar(32) DEFAULT NULL COMMENT '商品编码(对应库存管理中的SKU)',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  `product_count` int(11) DEFAULT NULL COMMENT '商品数量',
  `length` double DEFAULT NULL COMMENT '单个商品包装尺寸的长(cm)',
  `width` double DEFAULT NULL COMMENT '单个商品包装尺寸的宽(cm)',
  `height` double DEFAULT NULL COMMENT '单个商品包装尺寸的高(cm)',
  `label_count` int(11) DEFAULT NULL COMMENT '需打印的标签数量',
  `created_time` datetime NOT NULL COMMENT '创建时间',
  `status` tinyint(3) NOT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `unit` varchar(32) DEFAULT NULL COMMENT '商品单位',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='定仓申请商品表';
CREATE TABLE `tbl_product_wrap_size` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `length` double DEFAULT NULL COMMENT '长(cm)',
  `width` double DEFAULT NULL COMMENT '宽(cm)',
  `height` double DEFAULT NULL COMMENT '高(cm)',
  `product_code` varchar(32) DEFAULT NULL COMMENT '商品SKU',
  `user_id` bigint(20) DEFAULT NULL COMMENT '用户id',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='商品包装尺寸';
CREATE TABLE `tbl_package` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `package_code` varchar(32) NOT NULL COMMENT '货件编号',
  `package_name` varchar(32) NOT NULL COMMENT '货件名称',
  `address` varchar(255) DEFAULT NULL COMMENT '配送地址',
  `consignee` varchar(32) DEFAULT NULL COMMENT '收货人',
  `phone` varchar(11) DEFAULT NULL COMMENT '收货人联系方式',
  `distribution_type_id` bigint(20) DEFAULT NULL COMMENT '配送方式id',
  `box_count` int(11) DEFAULT NULL COMMENT '箱子数量',
  `logistics_company` varchar(64) DEFAULT NULL COMMENT '物流公司',
  `logistics_code` varchar(64) DEFAULT NULL COMMENT '物流编号',
  `user_id` bigint(20) NOT NULL COMMENT '用户id',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `status` tinyint(3) NOT NULL COMMENT '状态',
  `book_ware_house_id` bigint(20) NOT NULL COMMENT '定仓申请id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='货件表';
CREATE TABLE `tbl_package_box` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `box_code` varchar(20) DEFAULT NULL COMMENT '箱子编号',
  `package_id` bigint(20) DEFAULT NULL COMMENT '货件id',
  `weight` double DEFAULT NULL COMMENT '重量(磅)',
  `length` double DEFAULT NULL COMMENT '长(cm)',
  `width` double DEFAULT NULL COMMENT '宽(cm)',
  `height` double DEFAULT NULL COMMENT '高(cm)',
  `created_time` datetime NOT NULL COMMENT '创建时间',
  `status` tinyint(3) NOT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='货件箱子详情';
CREATE TABLE `tbl_package_box_product` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `package_id` bigint(20) NOT NULL COMMENT '货件id',
  `box_id` bigint(20) NOT NULL COMMENT '箱子id',
  `product_code` varchar(32) NOT NULL COMMENT '商品SKU',
  `produt_count` int(11) NOT NULL COMMENT '商品数量',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '0 正常, 1 禁用, 2 注销',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='箱子商品详情';
CREATE TABLE `tbl_distribution_type` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(32) DEFAULT NULL COMMENT '类型名称',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `status` tinyint(3) DEFAULT NULL COMMENT '状态',
  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='配送方式';

最后在附上一张图片,方便整体理解:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值