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

该博客介绍了使用Python的PyQt5库和SQLite数据库实现MPS(主生产计划)进度安排的电子商务课程实验。实验目标是熟悉MRP算法,输入主生产计划记录,通过深度优先搜索算法计算出子物料的采购和生产计划。博客详细描述了数据表设计、算法实现以及系统的运行情况,并提供了GitHub源码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

电子商务课程实验,小实验一共是有两个,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 alloc
计划阶段 图纸管理:记录所以设计师的图纸,以及更改的记录;方便查询。 BOM管理:即产品结构清单,进行MRP运算后,可以即时了解订单是否能按时完成,都需要用到哪些物料等,物料中哪些是需要采购的,那些是需要自产的; 工艺管理:用工序来管理生产流程,为生产排产提供基础。 生产报价:提供产前报价功能,可以产后进行对比,盈亏一目了然。 生产阶段 生产排单:按单生产,(可以直接引用销售单),亦可以通过BOM表快速生成半成品,零件等生产计划,通过树状的形式体现; 采购需求清单:可以按单或者多张生产单一起通过MRP运算,计算所需采购的清单,及时下单,保证物料及时到; 进度控制:通过工艺来管理生产进度,针对工艺下达加工单、验收,可以实时查看生产的进度; 质量管理:检验人员在验收的时候可以针对工艺内容严格验收;如发生质量问题也可以直接找到负责人; 生产中成本控制:部门根据工艺内容设定的所需原料进行领料,加工完成后如有余料可以退回仓库,如有废料可以退回废料仓,严格控制物料的浪费。 委外加工:支持外协厂加工以及加工费用的统计。 完成阶段 生产成本核算:自动统计料、工、费的成本,在完成入库的时候自动计算成本单价; 查询盈利状况:在生产单里面可以按单对比产前报价,查询订单盈利情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值