erp生产管理系统采购申请单管理_第1页
erp生产管理系统采购申请单管理_第2页
erp生产管理系统采购申请单管理_第3页
erp生产管理系统采购申请单管理_第4页
erp生产管理系统采购申请单管理_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数 据 库 课 程 设 计 说 明 书学生姓名: 学 号: 学 院: 专 业:信息管理与信息系统题 目:ERP生产管理系统采购申请单管理指导教师 2013年02月01日1. 设计任务概述(包括系统总体框图及功能描述)1.1背景生产管理系统的任务有通过生产组织工作,按照企业目标的要求,设置技术上可行、经济上合算、物质技术条件和环境条件允许的生产系统;通过生产计划工作,制定生产系统优化运行的方案;通过生产控制工作,及时有效地调节企业生产过程内外的各种关系,使生产系统的运行符合既定生产计划的要求,实现预期生产的品种、质量、产量、出产期限和生产成本的目标。生产管理的目的就在于,做到投入少 、产出多,取得最佳经济效益。1.2功能模块图采购申请单管理查询采购申请单审核采购申请单修改采购申请单添加采购申请单删除采购申请单1.2系统功能描述根据对ERP管理组织结构设定与生产材料资源的经理人对系统功能提出的具体要求,同时结合计算机管理的特点,生产管理模块的功能描述如下:1生产管理生产管理主要由客户订单、材料请领单、产成品入库、转序卡、生产计划信息、材料进厂情况、材料需求计划、生产完成情况8个子模块组成。其中各个模块功能如下:l 客户订单该模块主要实现增加、修改、删除和查询客户订单的零件号、零件数量、订单时间、厂家名称等信息。l 材料请领单该模块主要实现增加、修改、删除和查询请领单的基本信息,还有批准客户领取材料单据信息。l 产成品入库该模块主要实现增加、修改、删除和查询成品入库基本信息,可以对相应的库增加产品。l 转序卡该模块主要实现增加、修改、删除和刷新转序卡基本信息,转序卡主要包括厂家、零件号、零件名称、投放数量、投放时间等信息。l 生产计划信息该模块主要实现增加、修改和删除生产计划的基本信息,生产计划信息主要包括序号、厂家、零件名称、零件总承号等相关信息。l 材料进厂情况该模块主要实现增加、修改和删除材料进厂情况的基本信息,材料进厂情况主要包括序号、厂家、零件名称、零件总承号、板材定额、料片定额等信息。l 材料需求计划该模块主要实现增加、修改和删除材料需求计划的基本信息,材料需求计划主要包括计划需求数量、白班需求数量、晚班需求数量等信息。l 生产完成情况该模块主要实现增加、修改和删除生产完成情况基本信息,生产完成情况主要包括日白班累计完成、日晚班累计完成、当天完成等信息。2库房管理库房管理主要由废品单、返修品入库、返修品出库、成品库、半成品库、原材料库、辅助材料库、标准件库、工具库、工装备件库10个子模块组成。其中各个模块功能如下:l 废品单该模块主要实现增加、修改、删除和刷新废品单的基本信息,废品单主要包括报废单部门、报废时间、报废数量等信息。l 返修品入库该模块主要实现增加、修改、删除和刷新返修品入库的基本信息,返修品入库主要包括入库的部门、入库的单号、零件号等信息。l 返修品出库该模块主要实现增加、修改、删除和刷新返修品出库的基本信息,返修品出库主要包括出库的部门、出库的单号、零件号等信息。l 成品库该模块主要通过时间查询成品库的基本信息,成品库主要包括厂家信息、零件信息、价格信息、材料信息、库存信息等相关信息。l 半成品库该模块主要查询半成品库的基本信息,半成品库主要包括厂家信息、零件信息、价格信息、材料信息、库存信息等相关信息。l 原材料库该模块主要查询原材料库的基本信息,原材料库主要包括材料名称、材质、规格、单位、单价、初期数量、库存量等相关信息。l 辅助材料库该模块主要查询辅助材料库的基本信息,辅助材料库主要包括材料名称、型号、规格、单位、单价、初期数量、库存量等相关信息。l 标准件库该模块主要查询标准件库的基本信息,标准件库主要包括材料名称、型号、规格、单位、单价、期初数量、库存量。入库时间等相关信息。l 工具库该模块主要查询工具库的基本信息,工具库主要包括材料名称、型号、规格、单位、单价、初期数量、库存量、入库时间等相关信息。l 工装备件库该模块主要查询工装备件库的基本信息,工装备件库主要包括材料名称、材质、规格、单位、单价、期初数量、库存量、入库时间等相关信息。3采购管理采购管理主要由产成品入库、半成品入库、原材料采购、辅助材料采购、标准件采购、工具采购、工装备件采购、采购申请单、采购计划9个子模块组成。其中各个模块的功能如下:l 产成品入库该模块主要实现增加、修改、删除和查询产成品入库的基本信息,产成品入库主要包括零件号、零件名称、数量、金额等信息。l 半成品入库该模块主要实现增加、修改、删除和查询半成品入库的基本信息,半成品入库主要包括零件号、零件名称、数量、金额等信息。l 原材料采购该模块主要实现增加、修改、删除和查询原材料采购的基本信息,原材料采购主要包括材料名称、材质、规格、数量、金额、库存量等信息。l 辅助材料采购该模块主要实现增加、修改、删除和刷新辅助材料采购的基本信息,辅助材料采购主要包括材料名称、材质、规格、数量、金额、库存量等信息。l 标准件采购该模块主要实现增加、修改、删除和刷新标准件采购的基本信息,标准件采购主要包括材料名称、材质、规格、数量、金额、库存量等信息。l 工具采购该模块主要实现增加、修改、删除和刷新工具采购的基本信息,工具采购主要包括材料名称、材质、规格、数量、金额、库存量等信息。l 工装备件采购该模块主要实现增加、修改、删除和刷新工装备件采购的基本信息,工装备件采购主要包括材料名称、材质、规格、数量、金额、库存量等信息。l 采购申请单该模块主要实现增加、修改、删除和批审申请单的基本信息,采购申请单主要包括序号、规格、数量、申请部门、申请人等信息。l 采购计划该模块主要实现增加、修改和删除采购计划的基本信息,采购计划主要包括材料名称、材质、规格、数量、库存量、生产需求数量等信息。4销售管理销售管理主要由产成品出库、PA收发单2个子模块组成。其中各个模块的功能如下:l 产成品出库该模块主要实现增加、修改、删除和查询产成品出库的基本信息,产成品出库主要包括客户名称、零件名称、零件号、数量等信息。l PA收发单该模块主要实现增加、修改、删除和查询PA收发单的基本信息,PA收发单主要包括要货单位、零件号、零件名称、数量、销售金额等信息。5综合查询综合查询由生产查询子模块组成。其中各个模块的功能如下:l 生产查询该模块主要通过时间查询生产产品基本信息,生产查询主要包括厂家、零件名称、零件号、期初数量、入库数量、出库数量、期末数量、在制数量、PA清单返回数量、生产报废数量等信息。5设置设置主要由XML路径设置、数据库设置2个子模块组成。其中各个模块的功能如下:l XML路径设置l 数据库设置6外委管理外委管理主要由外委加工、外委返回2个子模块组成。其中各个模块的功能如下:l 外委加工该模块主要实现增加、修改、删除外委加工的基本信息,外委加工主要包括产品名称、产品代码、加工内容、加工数量、加工金额等信息。l 外委返回该模块主要实现增加、修改、删除和审核外委返回的基本信息,外委返回主要包括材料产品名称、产品代码、加工内容、返回数量等信息。2. 本设计所采用的数据结构(如:链表、栈、树、图等)整体功能用例图(Use-Case Diagram):采购申请单字段名数据类型长度备注日期datetime8日期序号varchar50序号名称varchar50名称用途varchar50用途规格型号varchar50规格型号单位varchar50单位数量int4数量申请部门varchar50申请部门申请人varchar50申请人是否审批varchar50是否审批3. 功能模块详细设计3.1 详细设计思想3.1.1采购申请单功能增加、删除和审批申请单的基本信息,采购申请单主要包括序号、规格、数量、申请部门、申请人等信息。输入项申请单的详细信息输出项显示申请单列表算法增加、删除和审批申请单流程逻辑添加采购申请单审批采购申请单删除采购申请单3.2 核心代码查询采购申请单全部信息namespace ERP.Model.Dao public class 采购申请单Dao Entity.采购申请单 CaiGouShenQingDan = new Entity.采购申请单(); / / 查询采购申请单全部信息 / / public static DataTable GetAllCaiGouShenQingDan() string sql = select * from ERPMIS.dbo.采购申请单; return DBconnection.getDataTable(sql); / / 根据序号返回最后一条数据 / / public static DataRow GetLastRow() string sql = select * from ERPMIS.dbo.采购申请单 order by 序号 desc; return DBconnection.getSingleRow(sql); 添加采购申请单 / / / / public static bool insertCaiGouShenQingDan(Entity.采购申请单 CaiGouShenQingDan) string sql = insert into ERPMIS.dbo.采购申请单 values ( + CaiGouShenQingDan.日期1 + , + CaiGouShenQingDan.序号1 + , + CaiGouShenQingDan.名称1 + ,+ + CaiGouShenQingDan.用途1 + , + CaiGouShenQingDan.规格型号1 + , + CaiGouShenQingDan.单位1 + ,+ + CaiGouShenQingDan.数量1 + , + CaiGouShenQingDan.申请部门1 + , + CaiGouShenQingDan.申请人1 + ,等待审批) ; if (DBconnection.DoSQL(sql) return true; else return false; 删除采购申请单 / / / / public static bool deleteCaiGouShenQingDan(Entity.采购申请单 CaiGouShenQingDan) string sql = delete from ERPMIS.dbo.采购申请单 where 序号= + CaiGouShenQingDan.序号1 + ; if (DBconnection.DoSQL(sql) return true; else return false; / / 根据“序号”返回一条数据 / / / public static DataRow getOneRow(Entity.采购申请单 CaiGouShenQingDan) string sql = select * from ERPMIS.dbo.采购申请单 where 序号 = + CaiGouShenQingDan.序号1+ ; return DBconnection.getSingleRow(sql); 修改采购申请单 / / / / public static bool updateCaiGouShenQingDan(Entity.采购申请单 CaiGouShenQingDan) string sql = update ERPMIS.dbo.采购申请单 set 日期= + CaiGouShenQingDan.日期1 + ,名称= + CaiGouShenQingDan.名称1 + ,用途= + CaiGouShenQingDan.用途1 + , + 规格型号= + CaiGouShenQingDan.规格型号1 + ,单位= + CaiGouShenQingDan.单位1 + ,数量= + CaiGouShenQingDan.数量1 + , + 申请部门= + CaiGouShenQingDan.申请部门1 + ,申请人= + CaiGouShenQingDan.申请人1 + ,是否审批=等待审批 where 序号= + CaiGouShenQingDan.序号1 + ; return DBconnection.DoSQL(sql); public static bool shenpi(Entity.采购申请单 CaiGouShenQingDan) string sql = update ERPMIS.dbo.采购申请单 set 是否审批 = 已审批 where 序号 = + CaiGouShenQingDan.序号1 + ; return DBconnection.DoSQL(sql); 连接数据库class DBConnection private static SqlConnection con; public static SqlConnection getCon() SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettingsconnectionString.ToString(); return conn; public static DataTable getdatatable(string sql) con = Common.DBConnection.getCon(); con.Open(); SqlDataAdapter dap = new SqlDataAdapter(sql, con); DataTable dt = new DataTable(); dap.Fill(dt); con.Close(); return dt; 3.3 程序运行结果(拷屏)采购申请单主界面审批功能删除功能添加功能添加成功修改功能修改成功4. 课程设计心得、存在问题及解决方法在这次ERP课题的设计过程中,一开始的时候,在我的头脑中知识依稀存在着印象而已,不能体会到ERP真正的含义,觉得很含糊。对项目的设计与完成更是一头雾水。后来还是通过课堂上的学习,课后老师的辅导,下来小组成员在一起讨论,才有了一点踏实的感觉,知道该怎么下手了,初步地了解了ERP如何简单的体现了一家企业的管理过程,并最终确定了ERP的基本模块。在具体设计程序的过程中我们因为对ERP的了解不具体,走了很多弯路,但最后还是在老师的指导下完成了任务。经过这一次的课程设计,我觉得在运用ERP思想进行设计时,一定要细心,按着步骤来,不能抢快,不能漏掉哪一不,做事也不能拖,不能急,该记得东西要即时记,不然会很容易出错。还有,做事一定要有规划,不能盲目地凭着自己的意向。同一组里要能够互相讨论,一定要加强团结,加强团队意识。在以后的学习与工作中,我们一定要好好把握机会,让自己的头脑灵活起来。我们所学的知识很多通过到实践中去后,会得到不一样的收获,能帮助我们进一步理解知识,想的更透彻。而且很多知识到实践中去,才能体会到它的用处,所碰到的问题和想其解决之道。这次的ERP项目设计让我对这一点有更深刻的认识。最后要说的是,无论我们做什么事,首先,要对自己的业务十分熟练,首先把自己的事情做好,才有精力学习更多的东西。其次是要与整个团队的人工作协调一致,融入到集体中去,:“服从”集体的意见,同时又要把自己的看法说出来,共同交流,一起进步。要有很好的团队合作意识,光顾自己是不会有前途的。要发挥自己的长处,避开自己的短处,然后再多多学习。5. 附录(源程序代码)frmcaigou.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace ERP.View.CaiGou public partial class frmcaigou : Form private static int a = 0; private static int b = 0; public frmcaigou() InitializeComponent(); caigouguanli(); /dgv_caigou.Dock = System.Windows.Forms.DockStyle.Fill; /窗体占满整个界面 dgv_caigou.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;/窗体大小随数据固定 dgv_caigou.SelectionMode = DataGridViewSelectionMode.FullRowSelect;/整行选中 private void caigouguanli() dgv_caigou.Visible = false; btn_add.Visible = false; btn_delete.Visible = false; btn_shenpi.Visible = false; private void 申请采购单ToolStripMenuItem_Click(object sender, EventArgs e) /申请采购单ToolStripMenuItem.Enabled = false; /添加复选框 if (a = 0) DataGridViewCheckBoxColumn checkbox = new DataGridViewCheckBoxColumn(); checkbox.Name = checkbox; checkbox.HeaderText = ; checkbox.Width = 30; dgv_caigou.Columns.Add(checkbox); a = 1; /绑定数据表 DataTable dt = new DataTable(); dt = Model.Dao.采购申请单Dao.GetAllCaiGouShenQingDan(); dgv_caigou.DataSource = dt; /“日期”列不可见 dgv_caigou.Columns日期.Visible = false; if (b = 0) /添加“修改”linkbutton DataGridViewLinkColumn link = new DataGridViewLinkColumn(); link.Name = update; link.HeaderText = 修改; link.Text = 修改; dgv_caigou.Columns.Add(link); link.VisitedLinkColor = System.Drawing.ColorTranslator.FromHtml(#); link.UseColumnTextForLinkValue = true; b = 1; /去掉空白行 dgv_caigou.AllowUserToAddRows = false; dgv_caigou.Visible = true; btn_add.Visible = true; btn_delete.Visible = true; btn_shenpi.Visible = true; btnRefresh.Visible = true; btnReturn.Visible = true; private void btn_add_Click(object sender, EventArgs e) FrmCaigouAdd f = new FrmCaigouAdd(); f.ShowDialog(); private void btn_delete_Click(object sender, EventArgs e) foreach (DataGridViewRow dr in dgv_caigou.Rows) /遍历所有checkbox if (dr.Cellscheckbox.Value != null) Model.Entity.采购申请单 CaiGouShenQingDan = new Model.Entity.采购申请单(); CaiGouShenQingDan.序号1 = dr.Cells序号.Value.ToString(); bool i = Model.Dao.采购申请单Dao.deleteCaiGouShenQingDan(CaiGouShenQingDan); if (i) MessageBox.Show(删除成功!); else MessageBox.Show(删除失败!); private void dgv_caigou_CellContentClick(object sender, DataGridViewCellEventArgs e) if (e.ColumnIndex = 1) FrmCaigouAdd f = new FrmCaigouAdd(); FrmCaigouAdd.xuhao = dgv_caigou.SelectedRows0.Cells序号.Value.ToString(); f.Text = 修改采购申请单; f.ShowDialog(); private void btn_shenpi_Click(object sender, EventArgs e) foreach(DataGridViewRow dr in dgv_caigou.Rows) /遍历所有checkbox if (dr.Cellscheckbox.Value != null) Model.Entity.采购申请单 CaiGouShenQingDan = new Model.Entity.采购申请单(); CaiGouShenQingDan.序号1 = dr.Cells序号.Value.ToString(); bool i = Model.Dao.采购申请单Dao.shenpi(CaiGouShenQingDan); if (i) MessageBox.Show(审批成功!); else MessageBox.Show(审批失败!); / / 返回上一层 / / / private void btnReturn_Click(object sender, EventArgs e) this.Close(); / / 刷新 / / / private void btnRefresh_Click(object sender, EventArgs e) 申请采购单ToolStripMenuItem_Click(sender,e); Frmcaigouadd.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Text.RegularExpressions;namespace ERP.View.CaiGou public partial class FrmCaigouAdd : Form Model.Entity.采购申请单 CaiGouShenQingDan = new Model.Entity.采购申请单(); public static string xuhao; public static string bumen = ; public static string people = ; public FrmCaigouAdd() InitializeComponent(); private void FrmCaigouAdd_Load(object sender, EventArgs e) if (this.Text.Contains(添加) txt_xuhao.Text = BianHao(); /获取自动编号 else if (this.Text.Contains(修改) btn_tianjia.Text = 修改; CaiGouShenQingDan.序号1 = xuhao; DataRow dr = Model.Dao.采购申请单Dao.getOneRow(CaiGouShenQingDan); CaiGouShenQingDan.名称1 = dr名称.ToString(); CaiGouShenQingDan.用途1 = dr用途.ToString(); CaiGouShenQingDan.规格型号1 = dr规格型号.ToString(); CaiGouShenQingDan.单位1 = dr单位.ToString(); CaiGouShenQingDan.数量1 = int.Parse(dr数量.ToString(); CaiGouShenQingDan.申请部门1 = dr申请部门.ToString(); CaiGouShenQingDan.申请人1 = dr申请人.ToString(); txt_xuhao.Text = CaiGouShenQingDan.序号1; txt_mingcheng.Text = CaiGouShenQingDan.名称1; txt_yongtu.Text = CaiGouShenQingDan.用途1; txt_guigexinghao.Text = CaiGouShenQingDan.规格型号1; txt_shuliang.Text = CaiGouShenQingDan.数量1.ToString(); txt_danwei.Text = CaiGouShenQingDan.单位1; txt_shenqingbumen.Text = CaiGouShenQingDan.申请部门1; txt_shenqingren.Text = CaiGouShenQingDan.申请人1; lab_riqi.Text = DBconnection.serverDate().ToString(); /获取服务器时间 private string BianHao() /自动编号 DataRow dr = Model.Dao.采购申请单Dao.GetLastRow(); string temp = dr序号.ToString().Substring(4); string xuhao = (int.Parse(temp) + 1).ToString(); for (; xuhao.Length 10; ) xuhao = (xuhao.Length = 10 ? 0 : ) + xuhao; /不足10位数字补0 xuhao = cgsq + xuhao; return xuhao; private void insertCaiGouShenQingDan()/添加数据 if (txt_shuliang.Text != ) txt_shuliang.Text = Regex.Replace(txt_shuliang.Text, D , ); /去除数字外的其他字符 if (txt_danwei.Text != & txt_guigexinghao.Text != & txt_mingcheng.Text != & txt_shenqingbumen.Text != & txt_shenqingren.Text != & txt_shuliang.Text != & txt_xuhao.Text != & txt_yongtu.Text != ) CaiGouShenQingDan.日期1 = DateTime.Parse(lab_riqi.Text); CaiGouShenQingDan.序号1 = txt_xuhao.Text; CaiGouShenQingDan.名称1 = txt_mingcheng.Text; CaiGouShenQingDan.用途1 = txt_yongtu.Text; CaiGouShenQingDan.规格型号1 = txt_guigexinghao.Text; CaiGouShenQingDan.单位1 = txt_danwei.Tex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论