




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HUNANUNIVERSITY课程设计设计题目:MRP管理信息系统学生姓名:学生学号:专业班级:学院名称:指导老师:2015年1月18日
目录一、课程设计的目的 1二、课程设计的任务 1三、课程设计的内容 13.1产品信息 13.1.1产品结构树与产品BOM表 23.1.2物料主文件 23.1.3物料库存记录 33.1.4产品订单与预测数据 33.1.5产品甲的主生产计划 43.2MRP系统计算逻辑 53.3MRP系统业务流程图 63.4MRP系统数据流程图 73.5MRP系统E-R模型 8四、系统编制 94.1用户界面与源代码设计 94.1.1登录界面与源代码 94.1.2MRP清单界面与源代码 124.1.3BOM表界面与源代码 194.1.4更新库存界面与源代码 页一、课程设计的目的学完《生产运作管理》和《管理信息系统》专业课程后,进行生产运作管理的计算机辅助课程设计。通过课程设计的训练,使学生进一步掌握所学专业知识,培养独立分析问题和解决问题的能力,熟悉和掌企业生产组织、计划与控制方面的具体内容和实施方法,并能通过运用管理信息系统的分析和设计方法,编程开发相应的生产管理信息系统。二、课程设计任务本组选择的是MRP生产管理信息系统,以某公司的甲产品进行分析、计算和设计。第一部分:设计企业产品,编制对应的BOM表,设置库存数量,设定订单数据,编制相应的MRP生产计划算法;第二部分:郭冰婷:用VB和ACCESS完成BOM表、库存数量、订单数据录入模块的建立;完成MRP生产计划模块的界面设计;高荣宇:负责MRP生产计划模块中MRP计算的程序设计;三、课程设计内容3.1产品信息3.1.1产品结构树与产品BOM表甲产品由20个A,1个B,10个C,2个D,1个E构成,C又是由1个F,2个G,1个H,1个I构成。F、G、H、I都是原材料,从外厂采购;A、B、C、D、E在本厂装配。第0层第0层第1层第1层甲甲A(20)B(1)C(10)D(2)E(1)F(1)G(2)H(1)I(1)第2层第2层表3-1产品甲的BOM父件子件所需数量/个父件子件所需数量/个甲甲甲甲甲ABCDE2011021CCCCFGHI12113.1.2物料主文件表3-2物料主文件物料提前期/周安全库存/个批量规则甲10按需确定批量A10按需确定批量B10按需确定批量C10按需确定批量D10按需确定批量E10按需确定批量F10按需确定批量G10按需确定批量H10按需确定批量I10按需确定批量3.1.3物料库存记录表3-3物料库存记录物料现有量/个已分配量/个甲1200A3000B150C1000D500E300F150G300H300I3003.1.4产品订单与预测数据表3-4产品订单与预测数据物料类型期间/周123456789甲订单505570605560557075甲预测5055706055605570753.1.5产品甲的主生产计划表3-5产品甲的主生产计划提前期=1安全库存=0按需确定批量时段/周期初123456789订单505570605055606050预测505565605560557075毛需求505570605560557075计划接收量预计可用库存量1207015净需求55605560557075计划订单产出量55605560557075计划订单投入量556055605570753.2MRP系统计算逻辑开始开始MRP基础数据的输入把MPS订单作为确认计划订单下达传送给MRPn=0计算物料在第n层各时段的毛需求确定第n层第t时段的预计可用库存量确定第n层第t时段的净需求量确定第n层第t时段的计划产出量确定第n层第t-LT时段的计划投入量所有产品结构层次分解完否结束所有时段完否n=n+1向下一层分解采用计划订单下达来计算下一层次总需求t=t+1
3.3MRP系统业务流程图产品研发部门计划部门仓库产品研发部门计划部门仓库BOM清单库存信息MPS计划BOM清单库存信息MPS计划计划部门计划部门MRP清单MRP清单3.4MRP系统数据流程图第0层第0层D1MRP清单P0.0管理员MRP系统D1MRP清单P0.0管理员MRP系统第1层第1层P2.0P1.0P2.0P1.0管理员MRP维护处理事务管理员MRP维护处理事务D2库存信息D1MRP清单D3MPS清单D4BOM表D5提前期D2库存信息D1MRP清单D3MPS清单D4BOM表D5提前期第2层第2层P1.4P1.3P1.2P1.4P1.3P1.2提前期BOM表MPS库存维护提前期BOM表MPS库存维护D5提前期D4BOM表D3MPS清单D2库存信息P1.1D5提前期D4BOM表D3MPS清单D2库存信息P1.13.5MRP系统E-R模型计划接收量预计可用库存毛需求净需求产品名称产品编号时段计划订单投入量提前期计划订单产出量需求时段产品编号产品名称毛需求期末可用库存计划订单投入量提前期净需求计划接收量预计可用库存毛需求净需求产品名称产品编号时段计划订单投入量提前期计划订单产出量需求时段产品编号产品名称毛需求期末可用库存计划订单投入量提前期净需求产品编号产品编号产品名称物料编号MRP清单产品名称物料编号MRP清单安全库存物料名称安全库存物料名称转配数量调用转配数量调用批量规则库存信息批量规则库存信息库存量低位码BOM表库存量低位码BOM表计划提前期母件信息计划提前期母件信息供应提前期提前期供应提前期提前期MPS清单MPS清单产品编号产品名称计划接收量时段产品编号产品名称计划接收量时段四、系统编制4.1用户界面与源代码设计4.1.1登录界面与源代码登录源代码PrivateSubCommand1_Click()IfText1.Text=""ThenMsgBox"用户名不能为空!!请输入用户名!",16,"错误!"ExitSubEndIfIfText2.Text=""ThenMsgBox"用户密码不能为空!!请输入用户密码!",16,"错误!"ExitSubEndIfCallSJK(db)'调用数据库连接Adodc1.RecordSource="Select*from用户信息where用户名='"&Text1.Text&"'"'数据表连接字符串RS.OpenAdodc1.RecordSource,db,2,2'打开数据表IfRS.EOF=TrueThen'用户名错误MsgBox"没有这个用户!!请检查后重新输入!",16,"错误!"RS.CloseSetRS=Nothingdb.CloseSetdb=NothingExitSubElseIfNotRS!密码=Text2.TextThen'用户密码错误MsgBox"用户密码错误!!请检查后重新输入!",16,"错误!"RS.CloseSetRS=Nothingdb.CloseSetdb=NothingExitSubElse'登录成功'如果有必要,在这里可以添加系统共有变量存储登录人的一些信息UnloadMe'关闭登录窗口MRP1.Show'转到用户进入的界面EndIfEndIfRS.CloseSetRS=Nothingdb.CloseSetdb=NothingEndSubPrivateSubCommand2_Click()EndEndSub退出源代码ExitSubEndIfCallSJK(db)'调用数据库连接Adodc1.RecordSource="Select*from用户信息where用户名='"&Text1.Text&"'"'数据表连接字符串RS.OpenAdodc1.RecordSource,db,2,2'打开数据表IfRS.EOF=TrueThen'用户名错误MsgBox"没有这个用户!!请检查后重新输入!",16,"错误!"RS.CloseSetRS=Nothingdb.CloseSetdb=NothingExitSubElseIfNotRS!密码=Text2.TextThen'用户密码错误MsgBox"用户密码错误!!请检查后重新输入!",16,"错误!"RS.CloseSetRS=Nothingdb.CloseSetdb=NothingExitSubElse'登录成功'如果有必要,在这里可以添加系统共有变量存储登录人的一些信息UnloadMe'关闭登录窗口MRP1.Show'转到用户进入的界面EndIfEndIfRS.CloseSetRS=Nothingdb.CloseSetdb=NothingEndSubPrivateSubCommand2_Click()EndEndSub4.1.2MRP清单界面与源代码更新BOM、更新库存、更新MPS、清空、计算源代码PrivateSubCommand1_Click()BOM表.ShowEndSubPrivateSubCommand2_Click()库存.ShowUnloadMeEndSubPrivateSubCommand3_Click()MPS表.ShowUnloadMeEndSubPrivateSubCommand4_Click()DataGrid2.Visible=FalseDataGrid1.Visible=TrueIfMsgBox("确定要计算MRP数据么!"&vbNewLine,vbExclamation+vbYesNo,"提示信息")=vbYesThenDimmxqAsIntegerDimkclAsIntegerDimjhjsAsIntegerDimaqkcAsIntegerDimzpslAsIntegerDimtqqAsIntegerDimjxqAsIntegerDimyjkcAsIntegerDimjhccAsIntegerDimjhtrAsIntegerDimplAsIntegerDimdwmAsIntegerDimwlbmAsStringDimwlmcAsStringDimmjxxAsStringAdodc2.RefreshAdodc2.RecordSource=("select*fromBOM表orderby低位码asc")i="selectmax(低位码)fromBOM表"Adodc2.Recordset.MoveFirstDoWhileNotAdodc2.Recordset.EOF'按照低位码循环dwm=Adodc2.Recordset.Fields("低位码").ValueIfdwm=0Then'低位码为0时的mrpAdodc1.RefreshAdodc1.Recordset.MoveFirstDoWhileNotAdodc1.Recordset.EOF'低位码为0时的mrpAdodc4.Recordset.AddNewAdodc4.Recordset.Fields("物料编码").Value=Adodc1.Recordset.Fields("产品编码").ValueAdodc4.Recordset.Fields("物料名称").Value=Adodc1.Recordset.Fields("产品名称").ValueAdodc4.Recordset.Fields("提前期").Value=Adodc2.Recordset.Fields("提前期").ValueAdodc4.Recordset.Fields("时段").Value=Adodc1.Recordset.Fields("时段").ValueAdodc4.Recordset.Fields("毛需求").Value=0Adodc4.Recordset.Fields("净需求").Value=0Adodc4.Recordset.Fields("计划接收量").Value=0Adodc4.Recordset.Fields("预计可用库存").Value=0Adodc4.Recordset.Fields("计划产出量").Value=0Adodc4.Recordset.Fields("计划投入量").Value=Adodc1.Recordset.Fields("计划投入量").ValueAdodc4.Recordset.UpdateBatchAdodc1.Recordset.MoveNextLoopElse'第一层循环wlbm=Adodc2.Recordset.Fields("物料编码").Valuewlmc=Adodc2.Recordset.Fields("物料名称").Valuezpsl=Adodc2.Recordset.Fields("装配数量").Valuemjxx=Adodc2.Recordset.Fields("母件信息").Valuetqq=Adodc2.Recordset.Fields("提前期").Value'找出库存信息Adodc3.RefreshAdodc3.Recordset.MoveFirstDoWhileNotAdodc3.Recordset.EOFIfAdodc3.Recordset.Fields("物料编码").Value=wlbmThenkcl=Adodc3.Recordset.Fields("库存量").Valuejhjs=Adodc3.Recordset.Fields("计划接收量").Valueaqkc=Adodc3.Recordset.Fields("安全库存").Valuepl=Adodc3.Recordset.Fields("批量规则").ValueText28.Text=kclAdodc3.Recordset.MoveNextElseAdodc3.Recordset.MoveNextEndIfLoop'取出母件的MRP信息Adodc5.RecordSource="select物料编码,时段,计划投入量fromMRP表where物料编码='"&mjxx&"'orderby时段asc"Adodc5.RefreshAdodc5.Recordset.MoveFirst'小循环DoWhileNotAdodc5.Recordset.EOFIfIsNull(Adodc5.Recordset.Fields("计划投入量").Value)Thenmxq=0Elsemxq=Adodc5.Recordset.Fields("计划投入量").ValueEndIfmxq=mxq*zpslSD=Adodc5.Recordset.Fields("时段").Valueyjkc=Text28.TextIfaqkc<=jhjs+yjkc-mxqThenjxq=0yjkc=jhjs+yjkc-mxqElseIfpl=1Thenjxq=mxq-jhjs-yjkcIfjxq>=0Thenyjkc=0Elseyjkc=jhjs+yjkc-mxqEndIfElsejxq=0DoWhileaqkc>jxq+jhjs+yjkc-mxqjxq=jxq+plLoopyjkc=jxq+jhjs+yjkc-mxqEndIfEndIfjhcc=jxqAdodc4.Recordset.AddNewAdodc4.Recordset.Fields("物料编码").Value=wlbmAdodc4.Recordset.Fields("物料名称").Value=wlmcAdodc4.Recordset.Fields("时段").Value=SDAdodc4.Recordset.Fields("提前期").Value=tqqAdodc4.Recordset.Fields("毛需求").Value=mxqAdodc4.Recordset.Fields("净需求").Value=jxqAdodc4.Recordset.Fields("计划接收量").Value=jhjsAdodc4.Recordset.Fields("预计可用库存").Value=yjkcAdodc4.Recordset.Fields("计划产出量").Value=jhccAdodc4.Recordset.UpdateBatchAdodc4.RefreshIfSD>tqqThenAdodc4.Recordset.MoveFirstDoWhileNotAdodc4.Recordset.EOFIfAdodc4.Recordset.Fields("时段").Value=SD-tqqAndAdodc4.Recordset.Fields("物料编码").Value=wlbmThenAdodc4.Recordset.Fields("计划投入量").Value=jhccAdodc4.Recordset.UpdateBatchAdodc4.Recordset.MoveNextElseAdodc4.Recordset.MoveNextEndIfLoopEndIfjhjs=0Text28.Text=yjkcAdodc5.Recordset.MoveNextLoop'结束小循环EndIf'低位码为0时的mrpAdodc2.Recordset.MoveNextLoop'按低位码循环EndIfEndSubPrivateSubCommand5_Click()IfMsgBox("确定要清空MRP数据么!"&vbNewLine,vbExclamation+vbYesNo,"提示信息")=vbYesThenAdodc4.Recordset.MoveFirstDoWhileNotAdodc4.Recordset.EOFAdodc4.Recordset.DeleteAdodc4.Recordset.MoveNextLoopElseEndIfEndSub查询源代码PrivateSubCommand6_Click()DataGrid2.Visible=TrueDataGrid1.Visible=FalseIfNotText1.Text=""ThenIfNotText2.Text=""ThenAdodc5.RecordSource="select*fromMRP表where物料编码='"&Text1.Text&"'and时段="&Text2.Text&""Adodc5.RefreshElseAdodc5.RecordSource="select*fromMRP表where物料编码='"&Text1.Text&"'orderby时段"Adodc5.RefreshEndIfElseIfNotText2.Text=""ThenAdodc5.RecordSource="select*fromMRP表where时段='"&Text2.Text&"'orderby时段"Adodc5.RefreshEndIfEndIfEndSub4.1.3BOM表界面与源代码保存、录入、删除源代码PrivateSubCommand1_Click()Adodc1.Recordset.UpdateEndSubPrivateSubCommand2_Click()Adodc1.Recordset.AddNewEndSubPrivateSubCommand3_Click()IfMsgBox("确定要删除该信息么!"&vbNewLine,vbExclamation+vbYesNo,"提示信息")=vbYesThenAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateElseEndIfEndSubPrivateSubCommand4_Click()EndSubPrivateSubForm_Unload(CancelAsInteger)MRP1.ShowEndSub4.1.4更新库存界面与源代码保存、录入、删除源代码PrivateSubCommand1_Click()Adodc1.Recordset.UpdateEndSubPrivateSubCommand2_Click()Adodc1.Recordset.AddNewEndSubPrivateSubCommand3_Click()IfMsgBox("确定要删除该信息么!"&vbNewLine,vbExclamation+vbYesNo,"提示信息")=vbYesThenAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateElseEndIfEndSubPrivat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急性肝衰竭护理查房
- 中班社会教育教案:电话
- 国外城市综合体案例赏析
- 陕西省榆林市定边县2025年数学四年级第二学期期末检测试题含解析
- 陕西省汉中市南郑区2025年数学三下期末综合测试模拟试题含解析
- 陕西省渭滨中学2025届高三模拟训练(三)物理试题含解析
- 陕西省西安工业大附属中学2024-2025学年初三下学期半期联合考试物理试题含解析
- 陕西省西安市碑林区实验小学2024-2025学年四年级数学第二学期期末经典模拟试题含解析
- 陕西省西安市阎良区2024-2025学年高三数学试题B版查缺补漏题含解析
- 妇科常见急腹症及急救护理措施
- 人教版 数学一年级下册 第三单元 100以内数的认识综合素养评价(含答案)
- 河南省郑州市东区2024-2025学年九年级下学期第一次数学试题试卷(卷后带解析)
- T-CEPPC 18-2024 电力企业数字化转型成熟度评价指南
- 2025年中考道德与法治仿真模拟测试卷(含答案)
- 2025年河南艺术职业学院单招职业技能测试题库及参考答案
- XX化工企业停工安全风险评估报告
- 2025年吉林铁道职业技术学院单招职业倾向性测试题库必考题
- 实验室试剂及仪器采购合同书
- 全国川教版信息技术八年级下册第二单元第3节《评价文创作品》教学设计
- 带押过户申请书
- 临边防护安全培训课件
评论
0/150
提交评论