【数据库|电子商务|ERP】基于PyQt5、SQLite和深度优先搜索算法实现MPS进度安排

电子商务课程实验,小实验一共是有两个,MPS进度安排和CRM商品推荐,两个小实验我放在了同一个界面里。
先附上github地址:https://github.com/shanghaixuhuan/myERP

实验工具

Python、SQLite、PyQt5、PyCharm

实验目的

熟悉MRP算法,能应用MRP计算出采购计划和生产计划

实验内容

1、输入主生产计划的记录
2、MRP计算
3、输出相应子物料的采购计划和生产计划,根据需求日期的先后排序

实验步骤

① 整体框架设计

在这里插入图片描述

② 数据表的设计
(1) BOM表
数据表名:BOM 中文描述:BOM
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
BOMid BOM编号 Char 20 N NULL 主键
BOMdes BOM描述 var
har 20 N NULL
BOMnum BOM数量 int Y 0
BOMunit BOM单位 varchar 20 Y NULL
BOMlayer BOM层次 char 20 N NULL

(2) 物料表
数据表名:material 中文描述:物料表
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
Mid 物料编号 Char 20 N NULL 主键
Mname 物料名称 varchar 20 N NULL
Munit 物料单位 varchar 20 N 0
Mway 获取方式 varchar 20 N NULL
Mrate 损耗率 float N 0.0
Mday 作业提前期 int N 0

(3) 库存表
数据表名:stock 中文描述:库存表
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
Sid 物料编号 Char 20 N NULL 主键
Sname 物料名称 varchar 20 N NULL
Sgstock 工序库存 Int N 0
Szstock 资材库存 int N 0

(4) 调配构成表
数据表名:allocate 中文描述:调配构成表
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
Aid 调配基准编号 Char 20 N NULL 主键
Alid 调配区代码 char 20 N NULL 主键
fatherid 父物料编号 Char 20 N NULL 外键
fathername 父物料名称 varchar 20 N NULL
childid 子物料编号 char 20 N NULL 外键
childname 子物料名称 varchar 20 N NULL
anum 构成数 Int N 0
pday 配料提前期 Int N 0
gday 供应商提前期 int N 0

(5) MPS记录表
数据表名:MPSinput 中文描述:MPS记录表
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
Name 物料名称 varchar 20 N NULL 主键
Num 物料数量 Int N 0
date 完成日期 Date N 2000/1/1

(6) MPS结果表
数据表名:MPSoutput 中文描述:MPS结果表
字段名称 字段描述 数据类型 长度 是否允许空 缺省值 备注
Way 获取方式 Varchar 20 N NULL
Id 物料编号 varchar 20 N NULL 主键
Name 物料名称 varchar 20 N NULL
Num 物料数量 int N 0
Xiaday 下达日期 date N 2000/1/1
Wanday 完成日期 date N 2000/1/1

③ 算法
MPS安排使用了DFS深度优先算法,是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。

系统运行情况界面

1 主界面
在这里插入图片描述
2 MPS进度安排输入界面
在这里插入图片描述
3 BOM表界面
在这里插入图片描述
4 物料表界面
在这里插入图片描述
5 调配构成表
在这里插入图片描述
6 库存表
在这里插入图片描述
7 合成表
在这里插入图片描述
8 计算结果
在这里插入图片描述

程序设计核心代码

1 通过对BOM表、物料表、调配表、库存表合成生成合成表的SQL语句。

1.	create view compose as  
2.	select distinct allocate.fathername,allocate.childname,material.mway,  
3.	                allocate.anum,material.mrate,st
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值