个人收集整理 勿做商业用途
分类号: TH165;TP391。7 密 级:秘密
单位代码: 10152 学 号:2009449
大连工业大 学
工程硕士学位论文
中文题目:豪森采购计划管理系统的开发与应用
英文题目: Development and Application of Purchasing The
Plan Management System of Haosen Company
工程领域: 机械工程
隶属学院: 机械工程与自动化学院 研究生: 刘艳桃
指导教师: 第一导师 杨继新 教授
第二导师 刘庆乐 高级工程师
2011年 6 月
个人收集整理 勿做商业用途
关于硕士学位论文使用授权的说明
论文题目: 豪森采购计划管理系统的开发与应用 本学位论文作者完全了解大连工业大学有关保留、使用学位论文的规定,大连工业大学有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。
保密的学位论文在解密后也遵守此规定。
是否保密( ),保密期至 年 月 日为止。
学生签名: 导师签名:
年 月
个人收集整理 勿做商业用途
摘 要
采购作为制造型企业生产经营活动的初始环节,直接决定着企业的生产成本、产品质量和市场占有率,对企业的生产和效益有着极其重要的影响。同时,随着现代企业管理技术的快速发展和计算机信息技术的日新月异,企业资源计划(Enterprise Resources Planning,ERP)在一些生产企业已经得到普遍和深入的应用.采购管理系统作为ERP系统的重要组成部分,能够保证采购的及时性、合理性、经济性,可以大大提高企业的管理水平,提升企业的竞争力.因此,研究和开发适应制造业的ERP采购管理系统具有重要的现实意义。
在对大连豪森设备制造有限公司的采购管理流程进行深入调研后,针对该企业的自身诉求和实际情况,结合相关理论和先进的信息化技术,并利用相关的软件工程和面向对象的设计方法,本论文完成了对系统的需求分析、总体设计、数据库设计,以及对创建询价单,创建合同,合同查询,供应商管理,采购员请款等功能模块的详细设计与实现。
该系统基于WEB技术,采用ASP。NET作为开发工具,后台数据库采用SQL Server 2000数据库设计,利用ADO数据库访问技术实现对数据库的各种管理操作。本系统的应用有利于降低采购成本,优化采购管理。提高企业的敏捷性和竞争力,提高原材料性价比,实现采购的数据集中化,决策科学化。
关键词:采购管理,制造型企业,WEB技术,ERP
I
个人收集整理 勿做商业用途
Abstract
Purchase is a basic behavior of a manufacture enterprise.It determines the cost,quality and the share of market of a product directly and plays an important role in the production and profit of an enterprise. At the same time, with the development of Internet technology and business management,ERP(Enterprise Resources Planning)has been widely and intensively used in factories and companies.Purchasing Management System,as an important part of ERP, can help to guarantee the timeliness,sensibility and economy of purchase behaviors.All these Can enhance the management ability and competitiveness of companies and factories.So, it’s of great importance to make a research and development of the ERP applied to the purchasing System of a manufacture enterprise.个人收集整理,勿做商业用途文档为个人收集整理,来源于网络 On the basis of further investigation to purchase management of Dalian Haosen Equipment Co. Ltd。, according to the enterprise’s own aspirations and actual situation ,Combining with the purchase management theory and advanced information technology,and using related software engineering and object—oriented design method,This thesis completed of system requirements analysis, overall design, database design, And designed the function module like create a list of requirements, create contract, the contract query, supplier management, Buyers please paragraph and so on.个人收集整理,勿做商业用途个人收集整理,勿做商业用途 This system based on WEB technology, using asp.net as development tools backend database using SQL Server 2000 database design, use ADO database access technology to achieve the database various management operation. The application of this system to reduce procurement costs, optimize purchasing management。 Enhance the enterprise agility and competitiveness and Improve raw material function and price ratio, achieve purchasing raw data centralization, decision-making rationalization。
Key Words: Purchasing management, Manufacturing enterprise, Web technology, ERP
II
个人收集整理 勿做商业用途
目 录
第一章 绪论 .................................................... 1
1.1课题研究背景和意义 ................................................. 1 1。2课题发展现状 ...................................................... 2 1.3课题的主要工作 ..................................................... 4
第二章 采购计划管理系统总体设计 ................................ 5
2.1系统需求分析 ...................................................... 5 2.2系统整体业务流程 .................................................. 5 2.3系统功能描述 ...................................................... 6 2.4系统用例分析 ...................................................... 8 2.5系统数据建模 ..................................................... 10 2.6系统网络拓扑结构 ................................................. 10 2.7系统与其他ERP子系统的关系 ....................................... 11
第三章 采购计划管理系统数据库的设计 .......................... 12
3。1 数据库设计概述 .................................................. 12 3。2 数据库服务器的选定 .............................................. 12 3。3 数据库概念设计 .................................................. 12 3。4 数据库逻辑设计 .................................................. 14
3.4.1 表的建立 .................................................... 14 3。4。2 表中字段的建立 ............................................ 15 3。4.3 实体关系的建立 ............................................. 15 3.4.4 编写存储过程 ................................................ 16
第四章 采购计划管理系统层次结构设计 ......................... 19
4。1 表示层设计实现 .................................................. 19 4.2 业务逻辑层设计实现 ............................................... 21 4。3 数据访问层设计实现 .............................................. 22
第五章 采购计划管理系统模块详细设计 ......................... 24
5。1 创建询价单模块 .................................................. 24
5.1.1 业务流程分析 ................................................ 24 5。1。2 界面实现与操作 ............................................ 25
III
个人收集整理 勿做商业用途
5.1.3 订单同时处理功能 ............................................ 27 5.1.4 订单供货商列表显示功能 ...................................... 28 5.1。5 订单多页同时处理功能 ....................................... 29 5.1.6 订单物料信息显示功能 ........................................ 31 5。1.7 查询供应商功能中Ajax技术的应用 ............................ 33 5。1.8 询价单文件生成功能 ......................................... 34 5.2 合同管理模块 ..................................................... 35
5.2.1 创建合同 .................................................... 35 5。2。2 合同查询 .................................................. 38 5.2.3 合同变更 .................................................... 41 5.3 与财务交接模块 ................................................... 42
5.3。1 采购员请款 ................................................. 43 5。3。2 付款审核审批 .............................................. 44 5.3.3 合同交接 .................................................... 45 5。4 采购综合查询模块 ................................................ 46
5。4。1 付款计划查询 .............................................. 46 5。4.2 采购进度查询 ............................................... 47 5.5 供应商管理模块 ................................................... 48 5。6 采购收货模块 .................................................... 48 5.7 订单采购时间计划模块 ............................................. 49
第六章 结论与展望 ........................................... 50
6。1 结论 ............................................................ 50 6。2 展望 ............................................................ 50
参考文献 ...................................................... 52
致 谢 ....................................................... 54
IV
个人收集整理 勿做商业用途
第一章 绪论
1。1课题研究背景和意义
当前,由于市场竞争的驱动,信息化是整个制造业发展的必由之路。从二十世纪后期,许多先进的生产技术和管理方法相继被提出,并且在制造业得到了研究和应用,如自动化加工技术、敏捷制造、计算机集成制造系统等等。这些新技术的应用提高了企业快速响应市场的能力,降低了生产成本,进而提高了企业的市场竞争力。但是先进的制造技术必须有先进的物流技术作为支撑,采购活动作为物流的一个重要环节同时也是先进的制造技术和企业信息化的一个重要内容,也必须得到相应的发展,才可以实现企业市场竞争力的全面提升。
在传统制造业中,采购成本占产品总成本的50%-70%,因此通过采购管理降低采购成本,优化采购管理是企业增加利润的一个极有潜力的途径。此外,采购与库存之间有密切的联系,采购管理不当,会造成大量库存积压,导致企业大量资金被占用,相应的管理成本也会增加。同时,采购管理本身的好坏,还会影响到供货的价格、质量和及时性,由此可见,采购管理对企业的稳定运行有着战略意义统是其中一个重要的子系统.
企业资源计划(Enterprise Resource Planning,ERP)作为企业信息化的代表,就是实现企业生产过程自动化与管理信息的一体化[3].采购管理子系统作为ERP系统中的重要组成部分,所要实现的目标就是随时提供订购、验收的信息;对外购物料进行跟催;保证按时到货;避免停工待料;保证合理的库存,降低成本,使企业的资金运用更加合理.进而获取更大的利润.
因此,深入研究并开发适合该企业的采购管理系统可以为企业在资金调配、成本的控制等方面得到优化和改善,同时保证采购物料的合理性和采购数量的精确性,从而全方位的提高企业的整体实力,具有重要意义。
[1][2]
。
本课题来源于大连豪森设备制造有限公司的企业信息化建设项目,采购计划管理系
1
个人收集整理 勿做商业用途
1。2课题发展现状
ERP是英文Enterprise Resource Planning的全称,中文含义为企业资源计划,它是建立在计算机网络基础上的企业信息化管理系统,也就是企业内部自身的电子商务化。ERP是由美国加特纳公司(Gartner Group Inc)在90年代初首先提出的,它既是一种新型的管理思想和模式,又是一套先进的计算机管理系统。
ERP以先进的、系统的企业管理方案,将企业各个方面的资源充分利用调配和平衡,为企业决策层、管理层和操作层提供解决方案,使企业在激烈的市场竞争中赢得竞争[4]。
ERP的概念提出来了以后,在学术界和企业界引起了极大反响,受到了高度重视,国内外许多学者从各个角度对其进行了研究。总的说来,国外的研究先于国内而且领先于国内。国外的软件有SYMIX、SCALA、MACOLA、MRP9000、LILLY、ORACLE等。比较有代表性的ERP产品包括SAP公司的SAP R/3、ORACLE公司的E.Business Suite等等。它们代表了国际ERP技术发展的潮流。
国内自90年代中期开始对ERP的研究,一开始研究力量主要集中在高校和科研机构,以理论研究为丰。随着市场经济的发展,越来越多的企业迫切需要导入ERP和CIMS等类似的软件以提高管理水平,这就有力地推动我国ERP研究向着更加实用化的方向发展,同时产生了一些有代表性的商品化产品,其中国内市场知名度较高的软件有金蝶、用友、开思、金思维等。
由于信息技术的发展,ERP己逐渐取代MRPII,成为管理软件的主导产品,随着国外产商的不断涌入,以及国内软件厂商进入ERP市场开发,而国内许多知名企业如海尔集团、长虹集团、红塔集团、联想集团纷纷实施ERP项目,ERP的应用进入了发展阶段.
随着一些有影响的企业成功实施ERP以后,国内越来越多的企业意识到ERP的重要作用.ERP作为一种先进的管理理念,在中国实施一定会大大促进企业的信息化进程,全面增强企业的竞争实力[5]。
我国在采购管理信息系统建设方面起步相对较晚,但在互联网飞速发展的今天,我国采购电子化系统建设的起点相对较高,采购管理系统的应用使得企业采购的效率得以极大的提高。
但目前的采购软件多注重通用性,而不同企业间的规模、产品结构、市场战略、管理模式存在着较大的差异,因此研究和开发满足企业自身诉求和实际情况的采购管理信
2
个人收集整理 勿做商业用途
息系统成为企业的迫切需求,对企业的发展有着积极地推动作用。 目前采购管理的发展趋势: (1)中国企业采购市场发展趋势
第一,国际化趋势。跨国生产与跨国销售使国内外两个采购市场紧密相通。建立全球采购系统己成为标准化的商业行为。
第二,市场化趋势。企业作为市场主体,在采购行为中完全按市场经济规律办事,看得见的手与看不见的手都在采购市场上发挥作用.
第三,电子化趋势.信息网络技术的发展使电子商务迅猛发展,电子商务虚拟了一个巨大市场,并实现网上采购,所以也叫电子采购。
第四,专业化趋势。企业采购越来越专门化,在跨国公司设有专门的领导职位,叫采购总监,成立专门的采购部门,设计专门化的全球或全国采购系统,中国不少企业也在走这条路,也必然走这条路。
第五,规范化趋势.随着市场经济发展与建立现代企业制度,采购的公开化、透明化、规范化已是一种势不可挡的发展趋势。 (2)采购模式转换
第一,为库存而采购转变为为订单而采购。用户需求订单驱动制造订单,制造订单驱动采购订单,采购订单驱动供应商。这种准时化的订单驱动模式可以准时响应用户的需求,从而降低库存成本,提高物流速度和库存周转率.
第二,从对采购商品的管理转变为对供应商的管理。保护客户利益,力争零缺陷供应商.采购方应及时把质量、服务、交货期的信息传给供方,使供方严格按要求提供产品与服务。供方参与到生产过程,了解所供商品的使用情况并提出调整意见。
第三,参与采购的供需双方进入供应链,从输赢变成双赢。参与采购的供需双方在供应链中己建立起一种长期的、互利的合作关系,是命运共同体。当然这种关系不是绝对的,是可以调整的。使自己在供应链中成为不可替代的角色需要不断作出努力.
第四,实施采购过程公开化,业务操作程序化,选择供应商科学化,并实现全过程监控.
第五,建立严密的全国或全球采购系统。打破企业“大而全”、“小而全\的商业运作模式,走经济全球化之路,选择供应商在全国、全球范围内进行。根据企业的实际需要,建立自身的采购体系,建立科学合理的组织机构。
3
个人收集整理 勿做商业用途
1。3课题的主要工作
本课题根据大连豪森设备制造有限公司信息化工程项目,主要完成了对该公司采购计划管理系统的维护、开发与应用。论文的具体工作有:
1调研学习大连豪森设备制造有限公司的生产特点和采购管理的业务流程,对系统进行了需求分析,确立适合该企业的采购管理系统解决方案。
2采用UML统一建模语言对系统的进行建模,确定了系统总体设计框架,介绍了系统功能模块的主要功能和基本特点。
3 采用Microsoft SQL server 2000作为数据库,对系统进行数据库设计。 4 运用ASP。NET作为开发工具对系统进行了详细设计和编程实现。
作为企业的实际项目,在投入使用前要进行大量的测试,在系统应用过程中会出现很多实际的复杂的问题,需要对系统进行有针对性的调整和修改,或增加新的模块,以满足企业现实的需求。这体现了此系统的现实意义,也是研究内容中重要和不可或缺的环节。
4
个人收集整理 勿做商业用途
第二章 采购计划管理系统总体设计
采购管理是指为保障企业物质供应而对企业采购活动的计划、组织、指挥、协调和控制进行的管理活动[6]。就企业采购的具体职能来说,一方面,它要实现对整个企业的物质供应。另一方面,它是企业联系整个资源市场的纽带。
在对采购管理系统进行设计之前,设计者必须明确系统实现的目标是什么?都能完成什么样的任务?只有明确这些,才能有的放矢地进行针对性的构建模型以及系统功能的设计.对于大多数采购管理系统来说,其实现的目标是在为企业构建高效地采购平台基础上,降低总成本的投入,同时为企业内部其他部门更好的服务[7]。
2.1系统需求分析
需求分析是软件开发的基础,关系到以后的设计和编程工作,同时也影响用户的满意度,直接决定项目开发的成败和软件的质量及软件的使用寿命[8][9].
采购管理控制采购物料从请购到收货、检验、入库的详细流程。通过对供应商的报价管理和比较,对价格实行控制,以取得最佳的效益.同时采购应和财务、成本核算部门之间建立有意义的信息通讯,以保证企业的每一环节所提供的信息能在其它所有有关的环节中反映出来。通过建立和管理采购合同,来实现对合同的跟踪,安排供应商交货进度等需求目标。从而,提高采购活动的效率,降低采购成本。
2.2系统整体业务流程
整个系统的业务流程是从技术部根据生产计划下达外购件提单开始,采购部门根据提单中的物料信息、物料的采购提前期、采购批量和库存信息等制定出相应的采购计划,发放相关的采购人员。采购人员再根据采购计划制定询价单发送给供应商,之后确定最合适的供应商与之签订合同,并对订单进行跟踪,直至收货。收货完毕后,对采购费用和账款进行处理,完成整个采购过程。总体流程图如下图所示。
5
个人收集整理 勿做商业用途
制造部门库存查询采购部门供应商生产计划采购计划询价单确定供应商签订合同准备物资组织生产物资接收付款
图2—1 系统整体业务流程图 Fig。2-1 System overall business flow chart
2.3系统功能描述
根据系统的需求分析,结合公司采购部门的具体业务流程,确定该系统包括订单采购时间计划、创建询价单、合同管理、财务交接、采购综合查询、供应商管理等几大功能模块。系统的总体结构框图如下图所示。
6
个人收集整理 勿做商业用途
采购计划查询订单采购时间计划采购计划更新外购件订单信息合同查询创建询价单询价单信息创建合同合同管理合同查询合同变更采购计划管理系统采购员请款合同查询合同交接财务交接模块发票交接付款审核审批外购件明细表查询采购综合查询采购进度查询合同查询付款计划查询供应商管理
图2-2 系统功能模块图 Fig.2—2 System function module chart
1.订单采购时间计划
与MRP系统、库存管理系统结合,根据提单中的物料信息、物料的采购提前期、采购批量和库存信息等制定相应的采购计划,对采购计划进行查询和更新。 2.创建询价单
通过此模块可查询外购件订单信息,采购人员结合订单的需求日期和所需物料,将多张订单中的物料合并成一张询价单,或者一张订单的多个分类询价单。采购员
7
个人收集整理 勿做商业用途
通过对供应商的报价选择价格优惠、供应质量最佳的供应商. 3.采购合同管理
创建合同:根据询价单创建合同,确定采购细节如物料的数量、单价、总金额、付款方式、交货时间等基本信息,与供应商签订合同。在采购合同由采购主管审核后,不可随意更改。
合同查询:对合同信息按条件进行查询,生成打印合同文本。
合同变更:对因操作错误或其他特殊原因需要更改的合同,把该合同作废并保存,进而可重新根据询价单生成新合同。 4.财务交接模块
包括采购员请款、合同交接、发票交接、付款审核审批等子模块。其中合同经过采购员请款后,需要先通过财务部的审核,再通过管理部的审批才予以生效,准予付款。 5.采购综合查询
包括外购件明细表综合查询、采购进度查询、付款计划查询等子模块。 通过采购进度查询,可以根据条件查看对应合同的付款情况、到货时间等,从而跟踪采购进度,并打印出相应的Excel文件.
通过付款计划查询,可查看某月份或其他条件下应付款项的具体信息及应付总金额。 6.供应商管理
对供应商基本资料如名称、地址、联系方式、联系人以及账户等与财务相关信息的管理与维护.
2.4系统用例分析
用例是对系统行为的描述,这个描述是从角色(也可称为用户)的角度来描述的。用例记录了系统为响应一个角色激励而进行的一系列可视事件,可视事件是指角色看得见的事件[10] 。
8
个人收集整理 勿做商业用途
图2-3 系统用例图 Fig.2—3 Use Case Diagram
技术部:虽然未直接参与采购系统的操作,但它是后面采购流程的源头。相关的工作主要有提前制定预提单和外购件明细表交到档案部;计划更改时,及时下预提更改单,说明更改原因;生产时下图纸入库投产单,计划改变时,另外下一个设计更改单。
档案科:应用MRP系统,录入技术部下的外购件订单,即预提单、投产单、预提更改单、设计更改单等.
采购员:根据技术部的外购件订单,按供应商制作询价单,谈价,比价,最后确定和哪个供应商签订合同;负责请款,未到货的催货,发票的催要;接收货物,清点物品数量,在供货商的供货清单上签字;同时将货物转交给库管员。
采购科长:制定采购计划,考核采购员合同签订情况,检查货到情况,统计付款执行情况。
库房:将物料入库。入库时更新周到货登记表,登记货架到分配单上. 供货商:送货之后,由接货人在送货单签字。
财务:接收采购部门递交的合同、发票及对应的交接单;接到请款表时核对合同,进行付款。
经理:主要负责对已通过财务审核的请款款项,进行审批。
9
个人收集整理 勿做商业用途
2.5系统数据建模
数据流图从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是系统信息逻辑模型的主要形式[11].本系统的总体数据流图如下图所示。
图2—4 数据流图 Fig。2—4 Data Flow Diagram
2.6系统网络拓扑结构
网络拓扑结构是指用于传输媒体互连各种设备的物理布局,就是用什么方式把网络中的计算机等设备连接起来。整个系统的数据通过Internet方式传输,企业内部各科室通过Internet登陆本系统,根据系统设定的权限完成自己的工作后,把相应的数据存放在网络上SQL Server服务器上[12]。系统的网络拓扑图如下图所示.
10
个人收集整理 勿做商业用途
浏览器Web服务器浏览器Internet·····浏览器数据库服务器
图2—5 网络拓扑结构图 Fig.2—5 Network Topology
2.7系统与其他ERP子系统的关系
采购管理系统是企业信息化系统的重要组成部分,它以其高度的信息共享、先进的管理思想和强大的业务功能,帮助企业建立一个高效、可靠的物资采购管理平台理等子系统有密切关系,如下图所示。
MRP计划来源[13]
.作
为整个ERP系统中的一个子系统,采购管理系统与物料需求计划、质量、库存、成本管
其他模块采购请求采购管理应付账款财务管理检验库存补充需要收货质量管理库存管理
图2-6 采购管理与ERP中其他子系统的关系
Fig.2-6 the relationship between Purchasing management and the other sub—systems
11
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
第三章 采购计划管理系统数据库的设计
3.1 数据库设计概述
数据库设计涉及范围很广,要设计一个性能良好的数据库并非易事。从本质上讲,数据库设计的过程是将数据库系统与现实世界密切地、有机地、协调一致地结合起来的
[14] [15]
过程。数据库设计质量与设计者的知识、经验和水平密切相关。作为数据库应用
系统的重要组成部分,数据库设计的成败往往直接关系到整个应用系统的成败。
企业业务信息是很庞大的,它不仅包括企业内部信息如:生产所需的加工设备、厂房、企业员工、各种规划等,还包括企业外部的客户订单、供应商信息、市场信息等.
同时采购管理系统是ERP系统的重要组成部分,它与产品数据管理,库存管理、财务管理、人力资源管理等系统之间存在频繁的数据交换。对这样的系统的数据库设计,如何使逻辑结构更合理,最大限度的减少数据冗余,理清各实体之间的关系成了系统首要问题。唯有以数据库设计理论来指导设计工作才能少走弯路取得成功[16]。
3。2 数据库服务器的选定
本系统采用功能强大的关系数据库管理系统 SQL server 2000,该数据库能提供超大型系统所需的数据库服务。大型服务器可供成千上万的用户同时连接到 SQL Server 2000 实例.SQL Server 2000 为这些环境提供了全面的保护,具有防止问题发生的安全措施[17],例如,可以防止多个用户试图同时更新相同的数据。SQL Server 2000 还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘 I/O。
3。3 数据库概念设计
数据库概念设计就是将需求分析得到的用户需求抽象为信息结构概念模型的过程,它是整个数据库设计的关键.一般是先根据单个应用的需求,画出能反映每个应用需求的局部E-R(Entity-Relationship)模型[18] 。然后把这些E—R图合并起来,并消除冗余可能存在的矛盾,得出系统的E—R图。
[19]
E-R图的三种基本成份:实体、属性和联系。实体是存在于企业信息管理中的对
12
个人收集整理 勿做商业用途
象,属性是对象的业务功能,联系是指各对象间的关系。如下图3—1是本系统主要信息的E-R图模型.
物料1参照1订单明细n组成1外购件订单11询价单明细n组成1询价单1对应1分配单1生成z参照合同明细n组成1合同1对应n变更合同1组成n变更合同明细1对应n付款单 图3—1 系统管理E-R图 Fig。3-1 System Management E-R
图中对于带有明细表的表单,如外购件订单、询价单、合同等,在数据库实现上采取主表一子表的设计方法.主表和子表之间是一对多的关系,并通过主外键关系关联起来,其中在子表中主表的表单流水号是外键。
技术部制作的外购件订单中,订单明细也就是对应的物料信息,采购员根据供应商不同或其他需要,从一个或多个订单中选择要买的物料,把它们选入询价单中,其中订单中的物料都可以多次询价。本系统中,询价单和采购合同之间的基数比为1:z,z代表O或者1。表示一张询价单可以生成一个合同,也可能并不生成合同。合同一般采取分期付款的形式,根据付款形式的不同,付款比例和付款次数也不同,所以合同和付款单是1比多的关系.合同和变更合同之间也是1比多的关系,每个合同都可以变更多次,变更后的合同编号是相同的,变更后通过询价单重新生成合同。询价单和分配单是一一对应的关系,采购员通过分配单接货,把物料入库,库管员负责登记货架到分配单上。
13
个人收集整理 勿做商业用途
3.4 数据库逻辑设计
数据库的逻辑设计要将概念设计得到的E-R图转换成等价的关系模式,实体对应于表,实体的属性对应于表的列,实体之间的关系称为表的约束。每一个SQL SERVER 数据库都包含用于数据存储和组织的数据库对象,包括:表、列、索引、视图、约束、规则、存储过程等.
设计数据库时,在满足系统的功能外,尽量遵守下列原则:基本表的个数越少越好;主键的个数越少越好,键是表间连接的工具,主键越少,表间的连接就越简单,字段的个数越少越好:所有基本表的设计均应尽量符合第三范式. 3。4。1 数据库中表的建立
数据库中数据存储的主要载体是表,表由行和列组成[20].每个SQL Server 数据库都包含一个或多个表。表由列组合而成,各个列的一个组合一般称为行。一般来说,每一个表代表某种实体类型。本数据库中所建立的表的名称及其功能如下:
表3—1 数据库用户表 Table3-1 User Table of Database
表名
MRP_计划订单_组件零件清单 采购管理_询价单 采购管理_询价单明细 采购管理_采购合同 采购管理_采购合同明细 采购管理_采购合同币种 采购管理_采购合同计算方式 采购管理_采购合同付款方式 采购管理_付款时间节点 采购管理_采购合同付款计划 采购管理_采购合同变更 采购管理_采购合同明细变更 采购管理_请款表 采购管理_发票 采购管理_发票明细 采购管理_发票状态
功能说明
存储提单中的物料信息,如物料流水号,数量等 存储询价单的相关信息,如编号,供应商等 存储询价单中的具体内容 存储合同的相关信息 存储合同中的具体内容
基础表,记录签合同时可能用到的币种信息 基础表,记录合同计算方式,如按重量 基础表,记录不同比例的付款方式 基础表,记录合同可能的付款时间节点 存储每笔合同具体的付款计划,什么时间付多少 存储已作废的合同信息 存储已作废合同的具体内容 存储采购员的请款信息 存储采购合同对应的发票信息 存储发票信息的具体内容
基础表,发票状态是未到还是已到
14
个人收集整理 勿做商业用途
采购管理_供应商 人事档案管理_人员名单 菜单系统模块_项目角色 菜单系统模块_人员与角色 菜单系统模块_项目角色模块列表
存储供应商信息 基础表,记录用户信息
基础表,记录ERP系统中的角色信息 基础表,记录人员的角色分配情况 基础表,记录每个角色有哪些可使用的模块
3。4。2 数据库表中字段的建立
每一个表都由一系列相关的列组成,列定义了表的每个行的属性。用传统的叫法来说,列也叫做字段。例如:在ERP数据库中,物料主文件表包含了表3—2的一些列:
表3—2 物料主文件表的字段 Table3—2 Fields of BOM
列 物料流水号 物料代码 物料名称 物料全名 物料规格 物料型号 类别编号 物料品种流水号 计量单位流水号 物料描述 物料来源流水号 维护日期
描述
物料表主文件表的主键,自动增长列 物料类别,品种,型号组合而成 物料中文名称 包括物料父级名称 物料通用规格 物料的通用型号 物料所属类别编号 物料品种基础表的外键 计量单位基础表的外键 物料的详细补充描述 物料来源基础表的外键
物料的维护时间(更改时默认当前时间)
数据类型 Int(4)
Nvarchar(400) Nvarchar(100) Nvarchar(100) Nvarchar(100) Nvarchar(100) Nvarchar(50) Int(4) Int(4) Nvarchar(50) Int(4) Smalldatetime(4)
3。4。3 实体关系的建立
数据库实体为了将数据库的功能与易用程度最佳结合起来,要努力限制表中的冗余数据,这将要用到约束,约束可确保SQL SERVER 表和列的数据完整性.当创建表时,通常要增加约束,而整个关系型数据库的关系也就是通过约束实现的.[21]
(1)主键(Primary Key)可以使用主键约束确保实体的完整性.使用主键约束就等于在表上创建了一个唯一的索引。
15
个人收集整理 勿做商业用途
(2)外键(Foreign Key)外键约束用于应用的完整性.外键约束就是与一个定义了主键的表中的一列或者多列相关联。
当完成了数据库中表的设计,就可以绘制出系统的关系图,如图3—2是采购计划管理系统的主要实体关系图 。
图3—2 采购计划管理的实体关系图
Fig。3—2 Entity Relationship Diagram of Purchase Management
3.4.4 数据库中存储过程的编写
ERP系统对数据的操作是复杂的,单靠c#语言编写这些操作过程是不可能的。结构查询语言SQL的存储过程为我们实现对数据库的复杂操作提供了有效的手段。通过
16
个人收集整理 勿做商业用途
高级语言对存储过程的调用,可以方便地达到我们操作数据库的目的。
本系统在开发过程中涉及到大量的存储过程,用来实现整个ERP系统各个模块数据库之间的“消息\互联。
存储过程潜在地包含着大量SQL语句的函数,它是在数据库服务器上创建、运行的程序及过程。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值[22-23]。存储过程是用户能简单地将其作为一个函数来调用,无需重复执行存储过程中的SQL语句。
利用存储过程具有提高性能、优化编程、简化管理、加强安全性等优点[24-25].另外因为数据库在同一个物理系统上,不需要网络传输时间,这样,存储过程可以立即访问数据库,以更快的速度处理数据。
本数据库中所建立的部分存储过程的名称及其功能见表3-3:
表3—3数据库存储过程 Table3—3 Procedure of Database
存储过程名称
采购管理_MRP计划订单_项目机床_查询数据_单据
采购管理_生成询价单 采购管理_询价单_增加数据 采购管理_询价单_修改数据 采购管理_询价单_删除数据 采购管理_询价单_查询数据
采购管理_询价单_查询数据_询价单编号 采购管理_询价单明细_增加数据 采购管理_询价单明细_删除数据 采购管理_询价单明细_查询数据 采购管理_采购合同_增加数据 采购管理_采购合同_修改数据 采购管理_采购合同_删除数据
采购管理_采购合同_查询数据_根据合同号 采购管理_采购合同_查询数据_根据条件 采购管理_采购合同明细_增加数据 采购管理_采购合同明细_修改数据 采购管理_采购合同明细_查询数据
根据条件查询出单据对应的组件零件清单(可查多个单据的) 创建询价单
根据询价单流水号修改询价单的相关信息 根据询价单流水号删除询价单 根据条件查询询价单 根据询价单编号查询询价单 增加询价单中的具体内容
根据询价单明细流水号删除明细信息 根据条件查询询价单明细信息 创建采购合同
根据采购合同流水号修改合同信息 根据采购合同流水号删除合同 根据采购合同编号查询合同 根据条件查询合同信息 增加合同中的具体内容
根据采购合同明细流水号修改明细信息 根据采购合同流水号查询合同明细信息 描述
根据条件查询采购科要处理的单据
17
个人收集整理 勿做商业用途
采购管理_采购合同变更_增加数据
采购管理_采购合同变更_查询数据_根据条件 采购管理_采购合同明细变更_查询数据 采购管理_采购合同交接单_查询数据 采购管理_请款表_增加数据 采购管理_请款表_删除数据
采购管理_请款表_修改数据_审核审批 采购管理_请款表_查询数据
采购管理_付款方式_查询数据_付款方式说明 采购管理_供应商_增加数据 采购管理_供应商_修改数据 采购管理_供应商_删除数据
采购管理_供应商_查询数据_根据条件 采购管理_发票_增加数据 采购管理_发票_修改数据 采购管理_发票_删除数据 采购管理_发票_查询数据 采购管理_外购件明细表_查询数据 采购管理_采购进度_查询数据
采购管理_采购进度_付款计划_查询数据
增加作废的合同信息及合同具体内容 根据条件查询已做变更的合同信息
根据合同变更流水号查询变更合同的明细信息 根据条件查询合同交接单的信息 增加合同的请款信息 根据请款流水号删除请款信息
根据请款流水号修改请款表的审核审批情况 根据条件查询合同的请款信息 根据付款方式流水号查询付款方式说明 增加供应商基本信息
根据供应商流水号修改供应商信息 根据供应商流水号删除供应商信息 根据条件查询供应商信息 增加合同的发票信息 根据发票流水号修改发票信息 根据发票流水号删除发票信息 根据条件查询发票信息 根据条件查询外购件明细表信息
根据条件查询合同的采购进度(到货,付款情况) 主要是查询某年月的采购科付款计划
存储过程可以实现对数据库中数据的复杂管理,编写正确高效的存储过程是开发ERP系统软件最重要环节,存储过程质量的好坏直接影响本ERP系统软件的质量。
18
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
第四章 采购计划管理系统层次结构设计
整个系统采用ASP.NET应用程序的典型系统架构模式:表示层-业务逻辑层—数据层,采用三层架构可以分模块组织代码,让代码更容易理解。[26]还有一个优点就是便与修改,扩充。程序更具健壮性。
表示层业务逻辑层数据层 数据库
图4—1 三层架构示意图 Fig.4—1 Three-tier Architecture Schema
4.1 表示层设计实现
位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
WebUI项目中包含了Web窗体和用户控件。[27—28]Web窗体,用来创建可编程的网页,以便将它们作为总体Web应用程序的组成部分。用户控件使程序员能够很容易地跨ASP。NET WEB应用程序划分和重复使用公共UI(User Interface)功能。与WEB窗体页相同,程序员可以使用任何文本编辑器创作用户控件,或者使用代码隐藏类开发用户控件。此外,与WEB窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与WEB窗体页不同的是,不能独立地请求用户控件,用户控件必须包括在WEB窗体页内才能使用。
19
个人收集整理 勿做商业用途
WebUI项目的视图资源如图4—2所示。表4—1列出了部分Web窗体的功能说明。
图4-2 WEB层视图 Fig。4—2 Web—layer Graph
表4-1 WEB层主要页面表 Table4—1 Web—layer Main Page Table
WEB窗体 Login.aspx
MRP_OrderOutsourcePart.aspx purchaseContract。aspx ContractSelect.aspx ContractChange.aspx
功能说明
起始页面,也是登陆页面 创建询价单页面 创建合同页面 合同查询及打印页面 合同变更页面
20
个人收集整理 勿做商业用途
OrderPurchaseTimePlan.aspx Payment。aspx
PaymentVerification。aspx PaymentManagement。aspx ReceiptConnectionSheet。aspx SupplierManagement.aspx MasterPage。master
外购件订单计划页面 采购员请款页面 付款审核—财务页面 付款审批—管理页面 发票交接页面 供应商管理页面 整个系统的母版页面
4。2 业务逻辑层设计实现
业务逻辑层无疑是系统架构中体现核心价值的部分.它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计.它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。
用于做一些有效验证的工作,以更好地保证程序运行的健壮性。如完成数据添加、修改和查询业务等;不允许指定的文本框中输入空字符串,数据格式是否正确及数据类型验证;用户的权限的合法性判断等。通过以上的诸多判断来决定是否将操作继续向后传递,尽量保证程序的正常运行。
图4—2为BusinessFacade项目的资源视图。表4-3业务外观层核心类表列出了核心类的功能。
21
个人收集整理 勿做商业用途
图4—3 业务外观层视图 Fig.4—3 BusinessFacade Graph
表4—3 业务外观层核心类表 Table 4-3 BusinessFacade Class Table
类名
MPR_Management。cs InquriySheetSystem.cs ContractSystem。cs PaymentSystem.cs ReceiptSystem.cs TurnIntoStock。cs
功能说明
处理MRP方面业务 处理询价单方面的业务 处理合同相关的业务 处理付款相关的业务 处理发票相关的业务 处理与库存有关的业务
4。3 数据访问层设计实现
该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。包含的类主要功能是连接数据库,并对其进行操作,同时,提供调用通用的存储过程的方法。图4-4和表4-5分别列出了DataAccess项目的资源视图和核心类的功能说明。
22
个人收集整理 勿做商业用途
图4—4 数据访问层视图 Fig。4-4 DataAccess Graph
表4—5 数据访问层核心类表 Table 4—5 DataAccess Class Table
类名 DataAccess.cs SQLCommon.cs
功能说明 对数据库连接操作
提供调用通用的存储过程的方法
23
个人收集整理 勿做商业用途
个人收集整理 勿做商业用途
第五章 采购计划管理系统模块详细设计
采购供应管理系统主要任务是及时、准确、廉价、高质量地采购生产过程中所必需的物品,如原材料、配件、加工设备等。该系统主要功能模块包括订单采购时间计划、创建询价单、采购合同管理、采购综合查询、与财务的交接模块、供应商管理等。在企业整个ERP系统中,上游与物料需求计划实现连接,下游通过物料进货入库与库存管理连接.下面将对系统的部分模块的设计进行详细的介绍。
5.1 创建询价单模块
5。1.1 业务流程分析
外购件订单档案科由MRP导入采购科询价是否使用滞货(判断库存)N询价单Y滞货领用通知单签订合同后根据滞货情况调整询价单采购科比价谈价合同交接单签订合同供货商合同财务 图5-1 询价—签订合同流程图 Fig。5-1 Inquiry-Contract Process Flowchart
24
个人收集整理 勿做商业用途
技术部根据生产项目制定外购件订单,主要包括预提单、预改单、投产单和投产更改单等,然后把这些Excel电子文档形式的单据提交到档案科,档案科通过MRP系统中的订单导入模块,把这些Excel表导入数据库,在采购系统中就能查询出这些外购件订单,并可以对这些单据进行操作了,这样即实现了企业现有业务流程与采购管理系统的连接和数据共享.
采购员根据外购件订单制定询价单发送给供货商,然后经过比较价格,洽谈价格,做出决定与哪家供应商签订合同。合同签订后,采购员把合同交接单及对应的合同交给财务部.采购部制定询价单的时候,判断库存中滞货的情况,如果存在滞货,下达滞货领用通知单给仓库,并调整询价单。 5。1.2 界面实现与操作
创建询价单模块的界面如图5—2和图5-3所示.
图5-2 创建询价单界面-1 Fig.5-2 Inquiry interface—1
25
个人收集整理 勿做商业用途
图5-3 创建询价单界面-2 Fig。5-3 Inquiry interface-2
页面操作流程如下图所示。
26
个人收集整理 勿做商业用途
根据条件搜索订单要处理的订单个数>1Y选中多项订单N选择订单选择组Y同时处理选择物料选择供货商选择创建询价单模式创建输入询价单号等信息修改选择要修改的询价单追加物料创建询价单是否继续追加导出ExcelN
图5—3 页面操作流程图 Fig。5—3 Page operation flow chart
5.1。3 订单同时处理功能
系统起初的流程是先选择一个订单,订单对应的是某台机床的信息,然后选择该机床的分组信息,该组别里所有的外购件信息就显示在页面上,选择要买的物料,创建询价单。如果要对询价单的内容作更改,则选择“修改现有询价单”模式,把物料追加进询价单,或直接把物料移出询价单。
后来采购员通过对系统的实际应用,提出了进一步要求。技术部下的外购件订单是针对某台机床要买的物料信息,但采购员进行询价的对象是某个供应商,而一家供应商往往只提供某几种特定的产品,这样生成一张询价单往往需要选择好几次订单,再选择其中特定品牌的物料,不断追加物料,这样产生了过多的重复操作,也影响效率。
因此在不影响原来模式的基础上,又进一步改进了操作流程,添加了“同时处理\的功能。即可同时选中多个订单,列出这些订单中物料对应的品牌有哪些,然后通过选
27
个人收集整理 勿做商业用途
择的供货商(即品牌)显示订单中的物料信息,再选择具体要买的物料,并在此处添加了“全选\与“反选”按钮,方便选择。
此项功能在软件里的解决方案如下。每个订单都有一个唯一标识(主键),即项目机床流水号,首先在程序里得到一个字符串,此字符串包含所有所选单据的项目机床流水号,并用逗号加以分隔,然后通过把此字符串传进存储过程进行处理后,即能查出满足条件的物料信息。处理此业务的关键存储过程如下:
declare @第一个项目机床流水号组 varchar(400) declare @项目机床流水号 varchar(400)
declare @strWhere_项目机床流水号 varchar(1000)
SELECT @strWhere_项目机床流水号 = ’ and 项目机床流水号=0 ’ DECLARE @Length INT
SELECT @Length = DATALENGTH(@项目机床流水号组) WHILE @Length > 0 BEGIN
EXECUTE @Length = p_PopFirstWord @项目机床流水号组 OUTPUT, @第一个项目机床流水号组 OUTPUT IF @Length > 0 BEGIN
SELECT @项目机床流水号 = CONVERT(int, @第一个项目机床流水号组)
SELECT @strWhere_项目机床流水号 =@strWhere_项目机床流水号+ ' or 项目机床流水号 =’+ @项目机床流水号+' '
END END
5.1。4 订单供货商列表显示功能
对订单进行同时处理后,下一步确定物料信息中都有哪些供货商(品牌)。原来的流程是从视图中直接查出物料的所有信息,现在在不影响原流程的情况下,在程序中稍加处理即可实现。
首先在页面上添加一个CheckBoxList控件,点击“同时处理时\通过调用一个函数,把包含物料所有信息的DataTable转换成只包含所需列的DataTable,这是通过DataView
28
个人收集整理 勿做商业用途
的一个方法ToTable()实现的,最后把CheckBoxList控件进行绑定。调用函数的具体内容如下:
private void InitCheckBoxList_Brand(DataTable brandT) {
DataView brandView = brandT.DefaultView;
DataTable brandTable = brandView。ToTable(true, \供货商流水号”, \供货商\;
CheckBoxList_Brand。DataSource = brandTable;
CheckBoxList_Brand。DataValueField = \供货商流水号”; CheckBoxList_Brand。DataTextField = \供货商”; CheckBoxList_Brand.DataBind();
}
5.1.5 订单多页同时处理功能
“同时处理”的功能只满足于在当前页的条件下,虽很大的改善了处理流程,但在操作上还是存在着不方便之处,于是又进一步提出了“不同页同时处理”的解决方案.
此解决要点关键在于在不同页切换之间,如何保存选择的单据的键值即项目机床流水号,这里用了一个隐藏控件HiddenField来保存,以及如何根据HiddenField里的值显示单据是否已选。程序流程图如下.
选择单据Y保存成字符串累加保存在HiddenField是否换页N同时处理YHiddenField 里是否包含YCheck=trueNNCheck=false是否继续选择清空HiddenField
图5—3 不同页同时处理程序流程图
29
个人收集整理 勿做商业用途
Fig.5-3 Different pages and processing program flow chart
具体的实现程序如下:
//把在不同页选中的单据保存,以备同时处理
private void InitHiddenField_projectAndMachineNUM() {
String projectAndMachineNUM = ”\
for (int w = 0; w < GridView_ProjectAndMachineList.Rows。Count; w++) {
CheckBox selectCheck = (CheckBox)GridView_ProjectAndMachineList。Rows[w]。Cells[0]。FindControl(\);
if (selectCheck.Checked && !HiddenField_projectAndMachineNUM.Value。Contains(GridView_ProjectAndMachineList。DataKeys[w][0]。ToString())) {
projectAndMachineNUM = projectAndMachineNUM + GridView_ProjectAndMachineList.DataKeys[w][0]。ToString()+ ”,”; }
}
HiddenField_projectAndMachineNUM.Value = HiddenField_projectAndMachineNUM.Value + projectAndMachineNUM。ToString();
}
//用于判断多页同时处理时,此单据是否已选过 private void JudgeSelected() {
if (GridView_ProjectAndMachineList。SelectedIndex == —1) return; for (int w = 0; w < GridView_ProjectAndMachineList。Rows。Count; w++) {
string ProjectAndMachineNumber;
ProjectAndMachineNumber = GridView_ProjectAndMachineList.DataKeys[w][0]。ToString();
CheckBox selectCheck = (CheckBox)GridView_ProjectAndMachineList。Rows[w]。Cells[0]。FindControl(”CheckBox_Select”);
if (HiddenField_projectAndMachineNUM。Value。Contains(ProjectAndMachineNumber)) selectCheck。Checked = true; else
selectCheck.Checked = false; } }
30
个人收集整理 勿做商业用途
5.1.6 订单物料信息显示功能
物料信息的显示也在实际应用中不断得以改进。 (1)判断物料是否已预提
技术部下的订单主要包括:外购件预提单,预提更改单,图纸入库投产单,设计更改单,以及临时问题处理单和售后问题处理单等几种。其中预提单是在设计过程中,由于某些外购件的供货周期长或其他原因需要提前购买而下的单子,但是在投产时还会下正式的外购件投产单,因此投产单中某些物料已经预提过,不需要再重复购买了,这里 需要在选择物料时能看出此物料是否已预提的信息。
解决方案如下:
给单据里的物料信息加一个属性“是否预提\,当从MRP系统录入单据时,通过存储过程判断物料是否预提过, 记录此状态。具体的判断过程请参见下图:
已知条件:机床组件流水号物料流水号零件数量组件流水号项目机床流水号项目流水号机床流水号数据来源编号是否=3YWhere判断语句N退出组件零件流水号是否存在Y是否预提=1N是否预提=0
图5—4判断是否预提流程图
Fig.5-4 Determine whether documents have been dropping flow chart
31
个人收集整理 勿做商业用途
录入单据时,在插入具体物料信息后判断,此时已知的参数有机床组件流水号,物料流水号及零件数量,先通过机床组件流水号找到项目机床流水号和组件流水号,确定是哪个单子和组别,然后通过项目机床流水号找这个单子的类型(数据来源编号),若为3则是投产单,只有投产单需要判断是否已预提,否则退出。还可以找到该物料所属项目和机床,这样即可看这个项目,这台机床,这个组有没有提过这个物料,当然物料流水号,零件数量也必须要相同,否则就是更改了。若符合这几项条件的组件零件流水号不为空,则代表已预提过此物料,把表中相应是否预提的字段设为1。最后查询时,在页面上给出提示,已预提的显示黄色标记.这样采购员可以清楚直观地辨别物料是否已预提,方便采购。具体的存储过程实现如下:
select @组件流水号 = 组件流水号,@项目机床流水号=项目机床流水号 from MRP_计划订单_机床组件清单 where 机床组件流水号=@机床组件流水号
select @机床流水号=机床流水号,@项目流水号=项目流水号, @数据来源编号=数据来源编号 from MRP_计划订单_项目机床清单 where 项目机床流水号=@项目机床流水号
if @数据来源编号 = 3 begin
where MRP_计划订单_项目机床清单.项目流水号 = @项目流水号 and MRP_计划订单_项目机床清单.机床流水号 = @机床流水号 and 数据来源编号〈>3
if @组件零件流水号_yt is not null
update MRP_计划订单_组件零件清单
and MRP_计划订单_机床组件清单.组件流水号 = @组件流水号 and MRP_计划订单_组件零件清单。零件数量 = @零件数量 and MRP_计划订单_组件零件清单。物料流水号 = @物料流水号
select @组件零件流水号_yt = 组件零件流水号
from MRP_计划订单_组件零件清单 inner join MRP_计划订单_机床组件清单
on MRP_计划订单_组件零件清单.机床组件流水号 = MRP_计划订单_机床组件清单。机床组件inner join MRP_计划订单_项目机床清单 on MRP_计划订单_项目机床清单.项目机床流水号 = 流水号
MRP_计划订单_机床组件清单。项目机床流水号
32
个人收集整理 勿做商业用途
set 是否预提=1, 预提备注 = str(@组件零件流水号_yt) where 组件零件流水号 = @组件零件流水号
else
update MRP_计划订单_组件零件清单 set 是否预提=0
where 组件零件流水号 = @组件零件流水号 end
(2)物料采购状态的显示
在显示提单中的物料信息时,除了对是否已预提做出提示,还有几个需要注意的地方,即物料的询价状态和采购状态。如果该物料已询过价了,则背景色显示为绿色,并在鼠标移动到该条数据时,给出Tooltip提示信息:已生成的询价单单号及供应商.如果该物料已经生成合同了,则背景色变为灰色,并且被锁定不能再进行询价,而且同样会有Tooltip提示信息:已生成的合同编号及供应商。这样使采购员对物料的详细信息和状态就有了一个清楚地认识.参见图5-5。
图5—5物料显示部分界面 Fig.5—5 Material shows partial interface
5.1.7 查询供应商功能中Ajax技术的应用
创建询价单时需要指定供应商。由于该企业合作的供应商数目较多,如何快速方便
33
个人收集整理 勿做商业用途
的查询确定供应商也变成了一个需要妥善解决的问题,这里系统应用了Ajax技术。
传统的网络程序在使用过程中,用户操作后常常必须等待网站服务器将页面内容处理完毕并传送回客户端的浏览器之后才能进行后续操作。即使是网页中极小部分的内容需要更新,也必须将整个页面发送给WEB服务器来处理。处理完毕后还必须将整个页面的内容传送给客户端。这样处理加大了网络流量,效率低下响应时间长。而采用AJAX技术的网页,只会将页面中需要更新的部分传送给WEB服务器来处理,并且将处理后的内容返回客户端浏览器来进行局部更新,由于只需要传送并处理少量的数据,而不是将整个页面的内容重新加载到浏览器中,自然在效率上大幅提升.[29]这样做提升了网页的互动性,相应速度与便利性、使得网页界面的使用体验大幅提高。
本系统在选择供应商的网页对话框中,可以对供应商名称做模糊查找,方便用户在数目繁多的供应商中快速准确的查找到确定目标。参见图5—6。
图5-6查询供应商部分界面
Fig。5—6 Inquires the supplier part interface
5。1。8 询价单文件生成功能
应用系统创建完询价单后,可同时生成询价单的Excel文件,并可以打印出来用于发送给供应商进行询价。生成的询价单文件如图5—7所示。
34
个人收集整理 勿做商业用途
图5-7询价单文件 Fig.5—7 the Inquiry document
5。2 合同管理模块
合同管理模块包括创建合同、合同查询、合同变更等几个子模块。 5。2。1 创建合同
(1)首先根据条件筛选询价单,选择需要的询价单后,对应的合同编号、合同明细列表及操作的采购员就已自动生成。界面如图5—8所示.
35
个人收集整理 勿做商业用途
图5—8创建合同界面-1 Fig.5-8 Create contract interface -1
图5—9创建合同界面—2 Fig.5-9 Create contract interface -2
36
个人收集整理 勿做商业用途
(2)根据实际情况选择合同的付款方式,这里的付款方式根据该企业采购业务流程中的实际需求所建立,包括货到付款、款到发货、1:6:1:2、1.5:8.5、2:8、3:7等各种比例的付款方式。如图5-10所示。付款方式,时间节点确定后,合同条款中的结算方式及期限即已自动生成,而且以后的付款计划也是由此确定的。
图5—10合同付款方式 Fig。5—10 Contract payment mode
付款方式选择完毕后,系统会自动显示需要填写哪几次具体的付款时间,即选择相应的时间节点,同时其他付款时间选择框变灰并锁定操作。确定合同的计划到货时间和规定到货时间,填写合同的币种、运费、税率、其他费用说明及金额.其他费用是指有些时候会出现外购件需要组装、调试或维修等等的特殊费用。
(3)然后是确定合同的明细部分。此处需要填写的内容有物料的价格、发货天数、计算方式及备注等信息。
根据供应商的报价填写合同明细中物料的单价,因各供应商的业务习惯不同,有的提供的是含税单价,有的提供的是不含税单价,但最后签订的合同都需要保留的是含税单价,因此在此处增加了含税与不含税单价的转换。
技术部下的订单中物料都是以数量来计算的,但实际的采购操作中,某些物料并不是以个数购买而是以重量等来采购的,因此根据此需求进一步完善了合同的创建方式,增加了物料按重量计算的计算方式.
(4)根据合同明细计算合同总额 (5)点击按钮,生成采购合同
其中合同条款是系统默认生成的,但可以根据实际情况对条款进行编辑。生成合同后对应的询价单即不在页面上显示了。增加合同信息在数据库中的流程如下图所示。
37
个人收集整理 勿做商业用途
对应操作的数据库表数据库存储过程已知参数[采购合同付款方式]付款方式是否存在YN增加付款方式[采购合同]增加合同信息[采购合同付款计划]增加付款计划[采购合同明细]插入合同明细[组件零件清单]更新物料采购状态
图5-11增加合同数据库流程图 Fig。5-11 Contract Increase Flow Chart
5。2.2 合同查询
生成采购合同后,可以在此页面中对合同进行查询,及对合同的部分信息如供应商,预到货时间等进行修改,但合同通过审核审批后就不能修改了。查询界面如图所示。
图5—12合同查询界面 Fig.5—12 Contract Select Page
38
个人收集整理 勿做商业用途
在此页面中,还可以生成合同的Excel格式文本及PDF格式文本,并打印出来.此处应用了RDLC报表技术。
RDLC的英文全称是Report Definition Language Client-side processing,Client-side processing强调了它的客户端处理能力.[30—31]RDLC报表基于报表定义 ,它是一个说明数据和布局的XML文件,使用报表定义语言编写.VS.NET提供了设计和使用这种报表的能力,Microsoft将这种报表的后缀定为RDLC.
RDLC的功能很强大:丰富的控件可以满足各种报表样式的需要; 强大的数据处理能力,在报表中就可以对数据进行分组、排序、筛选; 使用方便,不需要安装额外的软件,通过控件就可以轻松的实现导出Excel、PDF; 用XML描述报表,使通用成为可能。[32]
图5-13合同文本 Fig.5—13 Contract Document
VS.NET提供了一个专门的ReportViewer控件用来显示RDLC报表。下面是页面显示中的部分程序:
〈tr〉
〈rsweb:ReportViewer ID=”ReportViewer1” runat=\-Names=\ Font—Size=\〉 〈LocalReport >
39
个人收集整理 勿做商业用途
〈DataSources>
〈asp:ObjectDataSource ID=”ObjectDataSource1” runat=”server” SelectMethod=\。\〉 程序的部分后台代码如下: // 初始化报表 private void InitReportView() { string contractID = GridView_contract.SelectedDataKey[0].ToString(); DataTable mytable; BizFacade。ContractSystem.ContractDetailSelect(Convert.ToInt16(contractID), out mytable); DataColumn dc_Num = new DataColumn(\序号\。Type.GetType(”System。String”)); mytable.Columns。Add(dc_Num); for (int i = 0; i 〈 mytable。Rows。Count; i++) { mytable.Rows[i][\序号\] = (i + 1)。ToString(); } ReportViewer1。LocalReport。ReportPath = SystemFrameworks。ApplicationConfiguration.AppRoot + @\ ReportDataSource rds = new ReportDataSource(”Contract_DataTable1\, mytable); ReportViewer1。Visible = true; ReportViewer1。LocalReport.DataSources.Clear(); ReportViewer1。LocalReport。DataSources。Add(rds); ReportViewer1.LocalReport。Refresh(); } 40 个人收集整理 勿做商业用途 5。2.3 合同变更 当合同做错了,或者其他实际情况需要更改合同明细信息,就需要把此合同作废并保存,然后重新制作合同 . 合同变更在数据库中的操作是把要作废的合同导入到合同变更表中,再把原采购合同表里的那条记录删除.合同可以进行多次变更,通过合同编号进行区分,系统对变更次数做标记,如第一次更改更改标记即为G1。对应的存储过程逻辑如下: @采购合同流水号 int = null, @合同变更原因 nvarchar(200) = null as declare @更改次数 int declare @采购合同变更流水号 int declare @采购合同编号 nvarchar(50) select @采购合同编号 = 采购合同编号 from [采购管理_采购合同] where 采购合同流水号 = @采购合同流水号 -—插入合同变更 select @更改次数 = isnull(max(更改次数),0) from 采购管理_采购合同变更 where 采购合同编号 =@采购合同编号 INSERT INTO [采购管理_采购合同变更](表中各列) Select 合同信息,@合同变更原因,@更改次数+1 from 采购管理_采购合同 where 采购合同流水号 =@采购合同流水号 select @采购合同变更流水号 = @@identity -—插入合同变更明细 INSERT INTO [采购管理_采购合同明细变更](表中各列) select 采购合同明细信息 from 采购管理_采购合同明细 where 采购合同流水号 =@采购合同流水号 41 个人收集整理 勿做商业用途 exec 采购管理_采购合同_删除数据 @采购合同流水号 当合同变更后,原来对应的询价单即在页面上恢复显示,用于重新制定合同,并且为了采购员的操作简便,把变更前已制作的合同明细内容也恢复到新合同中,这样就可以在原来的基础上制作合同,避免了重复输入。 此页面中可根据条件筛选要变更的合同,在页面下方会显示此合同的全部变更记录,填写合同变更原因点击按钮进行合同变更。合同变更的页面如图5-14所示。 图5—14合同变更界面 Fig。5-14 Contract Change Page 5.3 与财务交接模块 包括采购员请款、合同交接、发票交接、付款审核审批等子模块。其中合同经过采购员请款后,需要先通过财务部的审核,再通过管理部的审批才予以生效,准予付款.请 42 个人收集整理 勿做商业用途 款付款的业务流程如图5-15所示。 采购科周付款表请款财务审核是否同意付款Y领导审批N说明原因是否同意付款Y付款N说明原因供应商 图5-15请款付款流程图 Fig.5—15 payment flow chart 5.3.1 采购员请款 根据条件筛选合同,合同的相应信息及请款付款情况即显示在页面,根据付款方式及应付情况进行请款,当财务未进行审核时,可进行取消请款操作,当财务审核通过,再经过经理审批通过后,才标示着这此次请款成功。并可根据时间段,对请款合同进行汇总,导出对应的请款表Excel文件。页面如图5-16所示。 43 个人收集整理 勿做商业用途 图5—16采购员请款界面 Fig.5—16 payment interface 5.3。2 付款审核审批 此模块采用了基于角色的访问控制. 所谓基于角色的访问控制(Role—Based Access Control)是人员集合和权限集合的连接点,该连接点使得与某角色关联的人员集合中的任意一个人员都享有与该角色关联的权限集合中的任意一个权限[33-34] 。 “付款审核_财务”子模块只有财务部门有登陆及操作的权限,采购员的请款信息会先到达财务部门,财务部审核后,如没有问题,则同意付款。如有问题,则不同意付款,并在备注里写明问题原因。页面如图5—17所示. “付款审批_管理”子模块只有管理部经理有登陆及操作的权限,请款信息通过财务审核后,则到达此模块,经理根据实际情况对请款进行审批,审批通过后,请款成功,财务部门进行付款流程。页面如图5-18所示。 44 个人收集整理 勿做商业用途 图5—17付款审核_财务界面 Fig.5-17 Financial audit interface 付款审核_财务 图5-18付款审批_管理界面 Fig.5-18 Payment Management interface 5.3。3 合同交接 采购员创建完合同后,需要把合同递交给财务部,以供财务部门的核查及付款。此模 45 个人收集整理 勿做商业用途 块记录合同交接信息,并可生成Excel文件。页面如图5-19所示。 图5-19合同交接单界面 Fig.5—19 Contract Connection Page 5。4 采购综合查询模块 包括外购件明细表综合查询、采购进度查询、付款计划查询等子模块。 5.4.1 付款计划查询 可根据时间段,合同号或者供应商进行查询,主要可查看某月份或其他条件下应付款项的具体信息及应付总金额,即看哪些合同需要付款,各需要付多少金额,总共需要付多少金额.页面如图5-20所示。 46 个人收集整理 勿做商业用途 图5-20付款计划查询界面 Fig.5—20 Payment Plan Select Page 5。4。2 采购进度查询 通过采购进度查询,可以根据条件查看对应合同的付款情况、到货时间等,从而跟踪采购进度,并打印出相应的Excel文件.其中,可以对相同供应商的已付款项进行合并,从而有利于把握采购进度。页面如图5—21所示。 图5-21采购进度查询界面 Fig。5-21 Purchasing schedule Select Page 47 个人收集整理 勿做商业用途 5.5 供应商管理模块 供应商管理的主要任务是对供应商的基本信息如名称、地址、联系方式、联系人以及账户等信息的管理与维护。其主界面如图5-22所示。 图5—22供应商管理界面 Fig。5-22 Supplier Management Page 5.6 采购收货模块 采购员制定预到货清单和分配单,根据到货情况,决定是否催货。收件人为采购员,当货到时,采购部的接获人手头有分配单(一式两份)和供应商的供货清单,清点到货数量然后在供货清单上签字;如果该物料有图纸则送到检验部门,通过外购件送检交接单与检验部门交接,检验合格后,入库,不合格的退货。如果该物料没有图纸,则直接入库。入库时更新外购件明细表和周到货登记表,库管员负责登记货架到分配单上。收货流程如图5—23所示。 48 个人收集整理 勿做商业用途 收件人接货人确定送检物料是否送检Y外购件送检交接单N入库单(外购件汇总表) (周到货登记表)Y是否合格N退货 图5-23采购收货流程图 Fig。5—23 Purchasing receiving flow chart 5.7 订单采购时间计划模块 采购时间计划是与MRP系统、库存管理系统结合,根据提单中的物料信息、物料的采购提前期、采购批量和库存信息等制定相应的采购计划,并对采购计划进行查询和更新.以满足物料需求计划的要求。 图5—24订单采购时间计划界面 Fig。5—24 Purchasing Time Planning page 49 个人收集整理 勿做商业用途 第六章 结论与展望 6.1 结论 采购管理是指为保障企业物质供应而对企业采购活动的计划、组织、指挥、协调和控制进行的管理活动。就企业采购的具体职能来说,一方面,它要实现对整个企业的物质供应。另一方面,它是企业联系整个资源市场的纽带。 本课题研究的是大连豪森设备有限公司的ERP采购计划管理系统的开发与应用。通过实际调研该公司的采购管理的特点和业务流程,结合UML建模思想、ASP。NET技术和SQL Server 2000数据库开发技术,开发了适合该企业的采购计划管理系统。总结如下: 1、分析了企业采购管理的发展过程、战略意义,介绍了ERP系统的概念和发展现状。 2、基于UML统一建模语言,完成了采购管理系统的功能需求分析,对豪森公司的采购业务流程进行分析总结,结合公司的实际情况,分析了采购管理系统应具有的功能。完成了采购管理系统用例分析,数据流程分析以及采购系统与其他ERP子系统的关系。 3、以ASP.NET作为开发工具,完成了系统程序设计。以Microsoft SQL Server 2000作为数据库,对采购管理系统进行了数据库的设计。描述了系统数据库逻辑结构设计,对数据库表,关系图以及存储过程的设计等。 4、开发了适合豪森公司的采购计划管理系统.从运行效果看,系统运行稳定,能够实现基本的功能要求,并且具有运行界面实用,便捷的特点。 5、作为企业的实际项目,在投入使用前进行了大量的测试,在系统应用过程中出现了很多实际的复杂的问题,因此对系统进行有针对性的调整和修改,以满足企业现实的需求。这体现了此系统的现实意义,也是研究内容中重要和不可或缺的环节。 6.2 展望 企业ERP系统的建设与开发对于任何一个企业来说都是一个长期探索和研究的过程,为了更好的适应企业的实际需求,采购计划管理系统可在以下几个方面进一步拓展功能: 50 个人收集整理 勿做商业用途 1、与上层PDM系统的数据传输应进一步加强, 可通过与技术部,档案科等的讨论,重新调整业务流程,确保数据的正确录入以及采购行为的准确性。 2、与库存管理的集成。由于采购工作与库存管理的密切联系及连贯性,库存模块的完善已显得愈发迫切。应尽快完善采购与库存管理的集成。 3、本系统实现了采购管理的主要功能,但系统的功能有待进一步完善,在实践的基础上,逐步找到符合用户习惯的方案,完善业务流程,改进软件,使之更合理更符合采购员的使用习惯,使操作更迅捷方便。 4、此外,系统的安全问题,永远是系统设计时需要重视的主要问题之一。这需要结合当今计算机技术的发展,使用微软最新的服务器和数据库版本,不断完善技术,尽可能减少安全隐患。 51 个人收集整理 勿做商业用途 参考文献 [1] 魁林.采购管理与库存控制[M].北京:中国物质出版社,2002:137—171 [2] 唤平.ERP概要分析(采购、销售与分销、库存)[M].北京:清华大学出版社,2004:83—87 [3] 鸿,王忠民.ERP原理设计实施[M].北京:电子工业出版社,2003:19—57 [4] 陈庄,毛华扬.ERP原理与应用教程[M].北京:电子工业出版社,2007:5 [5] 陆祥瑞.ERP系统企业模型构造[M].北京:电子工业出版社,2005:63-69 [6] 王魁林.采购管理与库存控制[M].北京:中国物质出版社,2002:137-171 [7] 沈小静,谭广魁,唐长虹.采购管理[M].北京:中国物资出版社,2003:155—163 [8] 林锐,王慧文,董军.CMMI3级软件过程改进方法与规范[M].北京:电子工业出版社,2003. [9] 陈庄,杨立星.ERP原理与应用教程[M].北京:电子工业出版社.2003. [10] 黄渝祥.企业管理概论[M].北京: 高等教育出版社,2000. [11] 郭顺生,张鸿华,刘首,等.ERP的发展及系统研究[J].组合机床与自动化加工技术2001(4):5-7. [12] 殷兆麟.UML及其建模工具的使用[M].北京:清华大学出版社,北京交通大学出版 社,2004:263-299 [13] 朱道立,龚国华.物流和供应链管理[M].上海:复旦大学出版社,2002:304—317 [14] 王德权,刘浩洋.PDM与ERP系统集成在辅机制造应用[J].组合机床与自动化加工技术2009(9):109—113. [15] 王德权,刘浩洋.基于WEB方式的刀具参数化图形系统设计[J].组合机床与自动化加工技术2009(10):99-102. [16] Michael Otey,Paul Conte.SQL Server 2000开发指南(陈恩义,吴强,刘鸿波译).北京:清华大学出版社,2002.835~857. [17] 李红。数据库原理与应用[M]。北京:高等教育出版社,2003。2。65~115 [18] Ryan K.Stephens,Ronald R.Plew.数据库设计(和于洁,武欣,邓一凡等译).北京:机械工业出版社,2001,9.169~170. [19] Craig Larman.Applying UML and Patterns:An Introduction to Object—Oriented Analysis and Design and Iterative Development[M].Cambridge UniversityPress 2004:188—192 [20] 李东生,崔冬华,李爱萍等.软件工程-原理、方法和工具[M].机械工业出版社,2009,70—89. [21] 罗鸿,王忠民.ERP原理·设计·实施[M].电子工业出版社.2003.145~154,272~276. [22] 王琦峰,王余锋,舒晓龙,等.基于Web服务的车间生产管理系统[J].制造业信息化2008(10): 148—151. [23] 胡敏.企业集成环境下的BOM研究[J].计算机工程,2000,27(6):22—24. 52 个人收集整理 勿做商业用途 [24]曾垂璧,李慧敏.集成化ERP管理模式[J].北京:科研管理,2006,3(A12):35-39 [25] 林丽萍,林钻煌.一种新的企业管理模式.广西工学院学报,V01.12 No.3,(2001),86—88. [26] 何利,刘永贤,刘笑天.支持企业信息集成的生产管理与车间调度系统[J]管理技术,2007(12) 93-96. [27] David.Sceppa.ADO编程技术.清华大学出版社.2001(1). [28] 丁智斌,石浩磊.关系数据库设计与规范化[J].计算机与数字工程,2005,33(2):114~116. [29] Ikuko Mori,Zijie Sun etc.Development and certification of the new NIES CRM 28: urban aerosols for the determination of multielements[J].Analytical and Bioanalytical Chemistry.2008.7: 1997-2003 [30] Juan Diego Frutos ,Denis Borenstein.A framework to support customer2company interaction in mass customization environ2 ments[J].Computers in Industry , 2004, 54(2):115—135. [31] Simon Robinson,K.Scott Allen.C#.高级编程.清华大学出版社.2002年. [32] Choong Kwon Lee, Hong—Hee Lee,Moonsik Kang.Successful implementation of ERP systems in small businesses: a case study in Korea[J]Service Business2008,11: 275-286. [33] 谢翠萍.ERP环境下采购管理系统的设计与实现[J].北京:微型机与应用,2004.8.(A6) 25—29 [34] 沈小静,谭广魁,唐长虹.采购管理[M].北京:中国物资出版社,2003:155-163 53 个人收集整理 勿做商业用途 致 谢 衷心感谢杨继新教授在整个毕业设计期间给予我无微不至的关心和细心的指导,以及给我提出的许多宝贵的意见和诚恳性的建议。杨教授认真负责的工作态度,治学严谨的作风和不厌其烦的态度是学生学习的楷模. 感谢刘庆乐高级工程师在论文的撰写过程中对我的指导和帮助,使我了解了很多实际的工程经验,给以后的工作带来很大的帮助。 感谢王德权教授在研究生学习生活阶段对我的关心和指导.在王教授的指导下,我了解了系统开发的流程和方法。王教授渊博的知识,严谨的治学精神和深厚的理论水平使我受益匪浅. 在此谨向恩师们表示衷心的感谢,并致以崇高的敬意。 感谢实验室的同伴,葛跃华、黄盼盼、郭凤旭、张继、吕朕等同学,感谢已经毕业的师兄黄鹏、张西鹏、吴盼同学,以及师姐张南博士给予的无私帮助,感谢实验室下届的师弟师妹,在整个课题的进行过程中和论文的撰写阶段对我的帮助,和他们一起探讨问题常常使我受到启发。 在软件开发过程中,大连豪森设备有限公司的工作人员给予了大力支持、帮助和配合,在此表示真诚的感谢。 最后要衷心地感谢我的家人,他们的支持和鼓励是我一直以来勇往直前的动力,今后我将更加努力用以报答这份恩情. 54 毕业论文终稿打印-刘艳桃
精选图文
热门排序
推荐文章