睿邦标示卡打印系统设计与实现毕业论文.doc_第1页
睿邦标示卡打印系统设计与实现毕业论文.doc_第2页
睿邦标示卡打印系统设计与实现毕业论文.doc_第3页
睿邦标示卡打印系统设计与实现毕业论文.doc_第4页
睿邦标示卡打印系统设计与实现毕业论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

2014届湖北汽车工业学院科技学院毕业设计(论文)湖北汽车工业学院科技学院毕业设计(论文)毕 业 论 文课题名称睿邦标示卡打印系统设计与实现系 部应用信息系专 业软件工程班 级KT1023-1学 号20109230136姓 名熊加慧指导教师2014年03月04日摘要本文主要介绍睿邦标示卡打印系统的分析、设计与实现。该项目是仓库物料物流配送的一个重点,需要根据企业的生产计划表完成该企业生产车间物料拆包、配送物流标示卡的批量打印工作。此系统主要利用Excel导入技术完成生产计划表的批量导入,然后进行拆包计算出物料拆包信息,并批量打印物料标示卡,实施定量定点物料配送。此外,此系统还包括用户登录,数据库连接,用户管理,生产计划、拆包信息的查询等功能。关键字:批量导入;批量打印;标示卡AbstractThis paper mainly introduces thefarsighted statelabeling andanalysis,design of cardprinting system.Theproject is one of keymaterials in warehouselogistics and distribution,according to the needs ofenterpriseproduction schedule to complete materialtheenterprise production workshop,packaginglogisticslabel batch printjobcard.This systemmainly use Exceltechnologyto complete the import batchproduction schedule,Throughunpackingcalculatedmaterialand package information,andbatch printingmaterialdesignation card,the implementation of quantitativepointmaterial distribution.In addition,thissystem also includes a userlogin,database connections,user management,production planning,disassemble packetof information inquiries and other functions.Keywords:batch import;batch printing;mark card目录摘要2Abstract3目录4第一章 绪论11.1项目背景与意义11.2国内外现状21.3项目目标与期望31.4项目设计原则31.4.1 适用性原则31.4.2 经济性原则31.4.3 扩充性原则4第二章 系统需求分析52.1系统需求分析简述52.2系统需求分析详述52.2.1 模块需求分析52.2.2 数据库需求分析62.3 运行环境7第三章 系统详细设计83.1 界面详细设计83.2 功能详细设计93.3数据库设计123.3.1数据库概念模型123.3.2所涉及到的数据库表143.3.3数据库的表结构143.4系统功能流程图16第四章 系统实现174.1用户登录实现174.2数据库连接实现184.3账户管理实现204.4生产计划导入实现214.5物料自动拆包实现244.6信息查询实现254.7标示卡打印实现26第五章 系统测试285. 1测试目的285.2测试方法285.3测试流程285.4测试结果31第六章 结 论32致谢33参考文献34第一章 绪论当今世界正在进入信息时代,信息技术的飞速发展和社会、经济的信息化,导致了工业生产的环境发生了很多的变化,表现出了许多新的特点,例如:市场竞争不断加剧、产品市场需求越来越多样化和个性化、产品的生命周期不断缩短,新产品不断涌现、可用于工业生产的新技术层出不穷等。但是市场的充分发育使得工业企业的生产常常处于各种矛盾问题之中,例如:制造业面临着产品销售不畅、预测不准、客户需求多变、技术更新快、工厂内部跨部门协作不和谐、供应商到货不及时、物料不是积压,就是缺货、物流成本居高不下等。为了解决这些矛盾,中国企业进行了必要的、彻底的变革,而企业的信息化建设与变革又是目前中国企业变革之的根本和基础。企业资源计划(Enterprise Resource Planning,简称ERP)体现了当今世界上最先进的企业管理理论,并且提供了企业信息化集成的最佳方案。它将企业的物流、资金流和信息流统一起来进行管理,对企业所拥有的人力、资金、材料、设备、方法(生产技术)、信息和时间等各项资源综合平衡和充分考虑,最大限度的利用企业现有资源取得更大的经济效益,科学有效地管理企业人、财、物、产、供销等各项工作。1.1项目背景与意义睿邦物流公司是一家专业的第三方物流公司,主要从事整车制造的物流服务,长年为东风小康公司总装车间进行厂区现场物流配送。东风小康公司以前信息化程度不高,生产线物流方式延续建厂初期的方式,管理方法主要依靠办公软件,物流的单据处理都要靠手工方式来处理。一方面,物流管理与生产工艺脱节,使现场物流作业层面缺乏指导监督,不能做到随生产适时的跟进。在面对计划生产现场时,相关标准则显得适用性不强,如:零件上线需要如何转换包装、那些零件需要集配、零件投料量是多少等。难以用手工填写做得准确高效率。另一方面,公司物流系统长期缺乏深度变革,极大约束了企业物流管理水平的提升。同时,制造工艺与物流方式缺乏有效的互为补充,且存在效率低、浪费大、丢失严重等问题。国内ERP的盛行也影响到该企业的信息化成长,本着最高效率、最低成本的原则,平衡制作工艺需求与供应链管理体系,近年该公司也开始走向企业资源管理的信息化。睿邦标示卡打印系统来源于企业生产实际。是东风小康公司信息化改造项目的一个子项目,该项目是仓库物料物流配送系统的一个重点,具体是将企业的生产计划表通过系统导入到指定的数据库中,再将数据信息进行既定的拆包,并将拆包信息即标示卡批量打印出来。这样就可以高效准确的完成该企业生产车间物料拆包、配送物流标示卡的批量打印工作。从而减轻工作人员的负担,减少错误发生等,使车间物流能够快速准确的完成。1.2国内外现状ERP系统的诞生不仅是软件产品的产生,而是一种管理规范、管理理念和管理方式。也是信息社会给企业加剧竞争的催化剂,使企业的成长与消亡速度急剧的加快。因此,引起了全世界的广泛关注。ERP最初是由美国的Gartner Group公司在20世纪90年代初提出,在短短10年时间内很快就被人们认同和接受,并为许多企业带来了丰厚的收益。此后,美国掀起了一股ERP热潮,ERP很快超越MRPII(制造资源计划)而成为市场的新宠,大批公司争先恐后的实施ERP项目。目前,世界500中已经有80%的公司实施并使用了ERP系统。现在正在推行全球化供应链管理技术和敏捷化企业后勤系统,国际上已经把ERP作为了数字时代企业生存的支柱。许多小型企业也纷纷应用ERP系统。从国内的情况来看,自从1981年沈阳第一机床厂从德国工程师协会引进了第一套MRPII软件以来,MRPII/ERP在中国的应用与推广已经经历了近20年,从起步、探索到成熟的历程。在近10年里,全国对MRPII/ERP项目的累计投资已经超过8亿元,我国的MRPII/ERP软件行业1995至1997年均增长速度约为27%,而1998年增长速度竟高达35%左右(不包括财务软件),市场销售额达到了42亿元。但进入1999年后,亚洲金融风暴所带来的滞后效应在我国逐渐显现,与大环境发展息息相关的ERP市场也随之受到了很大影响。据不完全统计,目前在我国注册的ERP系统的供应商超过30家,其中以开思、金思维、金航联、利玛、北京科希盟、并捷、用友几家的ERP产品最为有名。全国约有700多家企业购买或使用了这种先进的管理软件,2000年我国ERP市场的产品销售收入达到47亿元人民币,比1999年的36亿元增长305%,2001年这一增长趋势更加明显。目前中国注册企业约有1100万家,其中10%为大型企业。在南方省份的企业中,约有半数以上的大中型企业有采用和购买ERP产品的计划,但中小型企业较少;而北方企业购买ERP产品亦有逐渐增加的趋势。1.3项目目标与期望对于任何一家企业而言,企业的供应链系统能够高效快速的完成是这个企业能否高效生产出高质量产品、能否竞争赢别人的关键。特别是现如今信息技术飞速发展的时代,信息技术的落后代表着企业文化的落后、生产技术的落后。别人已经进入了信息技术的潮流,一切生产都是机械信息自动化,高效准确,而自己却还是传统的人工计算,人工填写,中间会存在许多的错误的可能,而且还会有返工的可能等问题使得供应速度慢从而影响生产。为了能在市场中求生存、求发展、加速车间原物料的配送,本系统要求利用快速将生产计划Excel表格直接导入到数据库的Excel导入技术,取代以往的人工手动向数据库输入的低效率工作。同时要求利用系统快速的将生产计划转化为相应的拆包信息,要求系统能够批量打印系统的拆包信息取代以往的人工手动填写的工作。此外系统可以实现用户登录模块,用户账号密码的管理、信息的查询,以及数据库活动应用等工作。在界面上期望达到界面的美观,操作简单易行,反应快捷等。1.4项目设计原则1.4.1 适用性原则充分考虑车间物流系统在实际应用中可能遇到的问题,尽量对睿邦标示卡打印系统的需求进行全面的分析,在实现的过程中尽量满足用户的要求,以及实际使用过程中可能出现的问题,尽量减少以后软件更新的次数。1.4.2 经济性原则建立适合企业自身需求的车间物料标示卡打印系统,提供广泛的涵盖用户需求的功能,数据处理方式灵活方便,节省系统开发的成本,并保证其较好的拓展性和开放性。同时基于CS架构的移植性,能够方便多个用户使用。节省运营成本,提高传播效率。1.4.3 扩充性原则该系统没有很好的扩充性,源自于系统无需其他性能的扩充,本系统存在固定的工作流程,无需进行其他业务的扩充。第二章 系统需求分析2.1系统需求分析简述睿邦标示卡打印系统,来源于东风小康总装车间厂区现场物料配送,公司以前信息化程度不高,很多物流单据都是依靠手工方式来处理,本课题是该公司改造项目的一个子项目,通过本系统完成该物流公司物流标示卡的批量打印,其中包括系统登录模块、数据库配置模块、系统权限管理模块、生产计划的自动导入模块、物料自动拆包、信息查询、自动生成标示卡、标示卡的打印模块等。其中数据配置模块是设置系统的数据库连接,以便于系统的可移植性;系统权限的管理模块管理员级别的用户可以有修改密码、新增、删除、查询用户的权限,而普通用户只能有修改密码的权限;生产计划的导入即是将生产计划的Excel表导入到数据库对应的生产计划表中;物料自动拆包即是在导入生产计划之后自动根据计算方法和数据库中生产计划表,生成物料拆包信息表,并将信息保存;信息查询模块,即是可以查询对应日期的生产计划信息和物料拆包信息;自动生成标示卡即是根据物料拆包信息得出标示卡信息;标示卡打印即是将标示卡信息打印出来。2.2系统需求分析详述睿邦标示卡打印系统,总体来说是将车间的生产计划自动导入然后再进行自动拆包,并将拆包后的标示卡信息批量打印,详细需求分析包括对模块的分析和对数据库的分析。 2.2.1 模块需求分析睿邦标示卡打印系统的模块只要包括八个模块,它们分别是:登录模块、数据库配置模块、系统权限管理模块、生产计划的自动导入模块、物料自动拆包、信息查询模块、自动生成标示卡、标示卡的打印模块等。登录模块:用户输入正确的用户名和密码可以正确的进入系统的主页面,输入错误则会进入失败,系统会给出相应的提示。登录用户输入的过程中不想输入或是输入错误可以点击取消,清除之前的输入。另外登录模块通过点击联机设置可以进入到数据库配置模块。数据库配置模块:用户可以通过输入服务器的IP地址、SQL登录的用户名和密码可以访问到对应服务器的所有数据库,选择自己系统需要的数据库点击确定即可以将数据库连接信息保存在XML文件中,在系统启动时自动读取XML的数据库连接信息连接到对应的数据库。系统权限管理模块:用户登录进入系统是会判断用户是否为管理员,如果是管理员则进入系统账户管理模块会有密码修改、用户新增、查询、删除的选项并可以进行相应的操作;如果是普通用户进入系统则账户管理模块只有修改密码的选项,可以进行自己密码的修改。生产计划的自动导入:用户进入系统之后可以选择计划导入选项,能够打开本机文件,选择对应的生产计划Excel表进行导入,如果不是Excel表格则会提示打开文件格式错误,读取Excel表格时会对表格日期、数量等类型的字段内容进行对比如果不符合要求系统会提出对应的错误提示,关闭Excel表待用户修改完成之后才可以正确导入到数据库的生产计划表中。自动拆包模块:该模块没有页面显示,在Excel表格导入之后就会自动的进行拆包操作,将拆包信息存入到拆包信息对应的数据表中。信息查询模块:用户选择信息查询模块,可以选择查询生产计划表或是物料拆包信息表,然后选定要查询日期,即可以查询对应日期对应的信息。自动生成标示卡、标示卡打印:用户在选择标示卡打印时候根据生产计划表、物料拆包信息表、供应商表自动生成表示卡信息并打印出来。2.2.2 数据库需求分析睿邦标示卡打印系统,根据功能分析,应该具有用户信息表、供应商信息表、生产计划表和物料拆包信息表等数据库表。其中用户信息表应该包括用户名、用户密码、用户等级等信息,供系统登录、权限管理等模块的使用;供应商信息表应该包括部件品号和供应商等信息,以便于标示卡生成时可以显示部件的供应商信息;生产计划表即是用来存储生产计划信息,应当包括生产计划日期、班次、序号、配置、车型、计划数量、前大灯、后组合、背门外装饰件、控制箱、拆包否等属性,拆包否属性在拆包时用来判断生产计划内容是否已经经过拆包;物料拆包信息表用来储存物料自动拆包之后的信息,包括生产计划日期、班次、序号、排序架号、部件品号、部件名称、数量、打印否等属性,打印否属性用来判断物料拆包信息的是否已经经过打印。2.3 运行环境整个解决方案基于delphi6.0和SQL Server2008的CS框架,使用delphi6.0环境开发,使用SQL Server 2008的数据库环境来完成系统与数据库的交互。在window7 的32位系统上可以正常运行。第三章 系统详细设计3.1 界面详细设计睿邦标示卡打印系统,界面设计目标吗要求界面设计美观、合理、使用简单易行。首先打开系统进入登录界面,登录界面有用户名、密码两个Edit输入框用于用户输入用户名和密码,有登录、取消、联机设置按钮分别用于登录系统、取消登录、数据库联机设置等。界面布局如图3.1所示:图3.1 登录界面模拟图点击联机设置可以进入到数据库连接界面,此界面包括Server 服务器IP、SQL登录用户名、登录用户密码等三个Edit输入框,选择数据库一个Combobox下拉框,确定、取消两个按钮,以保证用户可以填写服务器IP等数据库连接信息,界面如图3.2所示:图3.2 数据库连接设置界面模拟图登录成功可以进入主界面,主界面包括账号管理、计划导入、信息查询、标示卡打印、帮助、退出等主要功能选项,界面设计不在这作解释。账号管理包括密码修改界面、新增用户界面、查询删除用户界面。密码修改界面应该有用户名显示label,旧密码输入、新密码输入、密码确认输入等三个Edit输入框,确定、取消两个button按钮。新增用户界面应该有用户名输入、新密码输入、密码确认输入等三个Edit输入框,确定、取消两个button按钮。查询删除用户界面,应该有用户名输入一个Edit,查询、删除选定行两个button按钮,一个显示信息的DBGrid。信息查询界面包括一个GroupBox用于选择查询表的类型、一个DateTimeTpiker日期控件、一个查询button按钮、一个DBGrid表格显示查询结果。标示卡打印界面包括打印、打印设置两个button按钮,打印预览界面等控件。3.2 功能详细设计睿邦标示卡打印系统包括八大功能模块,分别是登录模块、数据库配置模块、系统权限管理模块、生产计划的自动导入模块、物料自动拆包、信息查询模块、自动生成标示卡、标示卡的打印模块等。模块详细设计过程如下:登录模块:根据界面设计设计对应的From窗体。界面处理:(1) 设置界面控件的布局;(2) 设置密码输入框为密文显示。逻辑处理:(1) 点击登录前判断输入框是否为空;(2) 点击登陆后判断是否设置好联机设置然后连接数据库;(3) 如果连接成功后,查询用户表,匹配输入的用户名密码信息,如果匹配正确记录用户名、密码、等级等信息,如果匹配失败则给出错误提示,返回登陆界面;(4) 如果连接失败,给出提示返回登陆界面,用户可以点击联机设置进入数据库配置模块设置数据库连接;(5) 点击取消按钮清除用户已经输入的信息。数据库配置模块:根据界面设计设计对应From窗体。界面处理:(1) 美观界面控件布局;逻辑处理:(1) 点击选择数据库的Combobox控件,触发Enter事件,在事件中判断服务器IP、SQL登录名、登录密码输入是否为空,为空做出相应提示并返回到界面;(2) 判断不为空则以服务器IP、SQL登录名、登录密码连接到服务器的SQL Server查询出服务器上所有的数据库,并赋值给ComboBox的Items;(3) 用户可以通过ComboBox选择相应的数据库选项;(4) 点击确定之前判断服务器IP、SQL登录名、密码、数据库等信息是否为空,不为空则将信息储存入XML文件中,清空输入信息,关闭界面打开登录界面,如果为空则作出相应提示并返回界面;(5) 点击取消,可以清除用户已经输入的信息。系统权限管理模块:根据账号管理界面设计设计好对应界面。界面处理:(1) 界面添加一个PageControl加载三个TabSheet标签分别是修改密码、新增用户、查询与删除用户;(2) 各个界面按照界面设计做好控件布局,其中密码输入框均需要设置密文显示,DBGrid设置为只读;逻辑处理:(1) 点击账户管理选项,检查登录用户等级判断登录用户是否为管理员,如果是管理员则显示修改密码、新增用户、查询与删除用户三个标签,如果是普通则隐藏新增用户、查询与删除用户标签;(2) 修改密码:点击确认时判断用户输入信息是否有为空并给出相应提示,不为空则判断原有密码是否正确,不正确则给出提示并返回界面;正确则判断新密码的两次输入是否一致,不一致给出相应提示,前面判断都正确则连接数据库将用户信息修改并给出修改成功提示;取消则可以取消用户输入信息。(3) 新增用户:点击确认时判断用户名、密码、确认密码输入是否为空,为空则给出相应提示并返回界面,不为空则判断两次输入密码是否一致,不一致会给出相应提示并返回界面,一致则连接数据库将用户名、密码、等级为0等信息存入数据库并给出新增成功提示,点击取消清除用户输入信息;(4) 查询用户:点击查询按钮时会判断用户名是否为空,为空则查询所有用户信息,不为空则查询用户名为输入值信息,查询结果为空会给出相应的提示;(5) 删除用户:在查询出结果的基础上,选定查询结果中想要删除的用户行,点击删除选定用户按钮,判断该选定用户是否为用户自己,如果是自己则给出提示不允许删除,如果不是则连接数据库删该用户信息。生产计划自动导入模块:本模块无界面设计。逻辑处理:(1) 点击Excel导入,打开本机文件,用户可以选择导入文件,打开文件是判断文件是否为Excel文件,不是Excel文件则给出提示,如果是Excel文件则读取Excel文件的内容;(2) 读取Excel文件的内容,提取每一行的每一个字段内容,并对内容字段的类型进行判断,日期、数量型字段进行判断,类型不一致会给出相应提示并中断Excel导入;物料自动拆包模块:本模块无界面设计。逻辑处理:(1) 数据导入成功之后自动进行生产计划的拆包操作,查询出生产计划表中拆包否为否的数据信息并根据数据计算公式根据计划数量拆分成50件为一个标示卡物料拆分信息;(2) 将拆分信息存入到数据库拆分数据信息表;信息查询模块:根据界面设计设计出界面布局。逻辑处理:(1) 查询方式可以选择查询生产计划和查询拆包信息,两者为互斥的关系,选择查询日期,点击查询按钮可以查询到生产计划日期的生产计划信息和拆包信息;(2) 利用DBGrid 表来显示查询到的结果,同时DBGrid表格设置为只读。3.3数据库设计3.3.1数据库概念模型用户信息概念模型E-R图如下图3.3所示:图3.3用户数据E-R图部件供应商概念模型E-R图如图3.4所示:图3.4 部件供应商数据E-R图生产计划拆包概念模型E-R图如图3.5所示:图3.5 生产计划拆包数据E-R图3.3.2所涉及到的数据库表根据概念模型E-R图可以设计表:用户表(用户名,密码,等级);部件供应商表(部件品号,供应商);生产计划表(日期,班次,序号,车型,配置,计划数量,前大灯,后组合,背门外装饰件,控制箱,拆包否);拆包信息表(日期,班次,序号,排序架号,部件品号,部件名称,数量,打印否)3.3.3数据库的表结构根据数据库表的设计可以设计表结构如下:用户信息表如下表3.1所示:表3.1 用户信息表数据结构表字 段数据类型长 度是否允许为空字段描述用户名varchar20否密码varchar20否等级Int否1:代表管理员0:代表普通用户部件供应商表如表3.2所示:表3.2 部件供应商数据结构表字 段数据类型长 度是否允许为空字段描述部件品号varchar20否供应商varchar20否生产计划表如下表3.3所示:表3.3 生产计划表结构表字 段数据类型长 度是否允许为空字段描述日期Date否班次Varchar4否只允许为白班、午班、夜班序号Int否车型Varchar20否配置Varchar20否计划数量Int否大于0前大灯Varchar20否后组合Varchar20否背门外装饰件Varchar20否控制箱Varchar20否拆包否Varchar4否只允许为是、否拆包信息表如下表3.4所示:表3.4 拆包信息表数据结构表字 段数据类型长 度是否允许为空字段描述日期Date否班次Varchar4否只允许为白班、午班、夜班序号Int否排序架号Int否部件品号Varchar20否部件名称Varchar20否数量Int否大于0拆包否Varchar4否只允许为是、否3.4系统功能流程图主功能流程图如下图3.6所示:登录界面普通用户管理员用户计划导入信息查询账号管理标示卡打印账号管理修改密码新增用户查询删除用户表格导入生产计划查询拆包信息查询标示卡预览标示卡打印修改密码联机设置图3.6 主功能流程图第四章 系统实现4.1用户登录实现用户登录界面设计如下图4.1所示:图4.1 登录界面逻辑处理重难点实现:读取XML信息获取数据库连接,通过读取XML文件的规定字节中的值,赋值给数据库连接字符串,从而来实现灵活连接数据库。具体实现代码如下:begin xml := frmDBConfig.xmldConn.Create(config.xml); xml.Active := True; xmlnode := xml.DocumentElement; xmlnode := xmlnode.ChildNodes0; mDBServer := xmlnode.ChildNodes0.Text; mDBUsername := xmlnode.ChildNodes1.Text; mDBUserpwd := xmlnode.ChildNodes2.Text; mDBName := xmlnode.ChildNodes3.Text; conn.ConnectionString := Provider=SQLOLEDB.1;Password= + mDBUserpwd + ;Persist Security Info=True; + User ID= + mDBUsername + ;Initial Catalog= + mDBName + ;Data Source= + mDBServer + ;end;4.2数据库连接实现数据库连接界面仿照Delphi开发环境的ADOConnection控件连接数据库界面,设计实现如下图4.2所示:图4.2数据库联机设置界面逻辑处理重难点实现:(1) 根据输入SQL Server服务器IP、登录服务器用户名、密码拼接连接服务器的连接字符串,即Provider=SQLOLEDB.1;Password= + 密码 + ;Persist Security Info=True;User ID= + 用户名+ ;Initial Catalog=master;Data Source= + 服务器IP+ 来以SQL Server 服务器中master数据库的身份执行查询服务器上所有数据库的名称,SQL语句为select name from sysdatabases ,将查询的结果动态加载到选择数据库的ComboBox的选项集中,从而实现动态获取服务器SQL Server上的数据库名称,方便用户选择数据库,其具体实现代码不作叙述。(2) 将数据库连接信息写入到XML文件对应的字节中,具体实现代码如下:mXml := xmldConn.Create(config.xml);mXml.Active := True;mXmlnode := mXml.DocumentElement;mXmlnode := mXmlnode.ChildNodes0;mXmlnode.ChildNodes0.NodeValue := datasource;mXmlnode.ChildNodes1.NodeValue := loginname;mXmlnode.ChildNodes2.NodeValue := loginpassword;mXmlnode.ChildNodes3.NodeValue := database;mXml.SaveToFile(config.xml);ShowMessage(联机信息修改成功!);4.3账户管理实现账户管理界面设计包括修改密码、账号添加、账号查询与删除等三个子模块界面设计实现如下图4.3所示图4.3 账户管理界面逻辑处理重难点实现:(1) 区分用户的等级,并根据等级来实现账号添加和账号查询与删除界面的隐藏,具体实现是通过在用户登录成功时记录用户的登录信息,根据登录用户级别如果是1则显示界面,如果不是则隐藏,具体实现代码如下:if CompareStr(frmLogin.FStype, 1) 0 then begin tsAdd.TabVisible := False; tsDel.TabVisible := False; end;(2) 选中当前标签是当前标签的Caption颜色为蓝色,具体实现是通过在PageConctrol的OnDrawTab事件中判断当前活动的TabSheet是哪一个然后让其标签字体加粗、颜色设置为蓝色,具体实现代码如下:if Active then begin Control.Canvas.Font.Color := clblue; /标题设置为蓝色 Control.Canvas.Font.Style := fsBold; /文字加粗 end; Control.Canvas.TextOut(rect.left + 4, rect.top + 4, pgcNum.PagesTabIndex.Caption);4.4生产计划导入实现生产计划的Excel导入没有界面设计,是通过选择生产计划导入直接在代码段打开Excel表格进行导入,导入的过程是通过循环来获取表格每一行的信息,并对每一行的每一个信息进行分析判断再存入到数据库,整个过程都是本系统中的重难点。打开文件是通过Delphi6环境中的OpenDialog控件来打开本机的文件,并选取xls文件作为打开文件的对象,并判断打开的文件是否为Excel文件,然后正式打开文件,通过行和列的逐步增加1来进行二维循环获取每一个单元格的内容,并对日期、数量等类型的字段以及班次字段进行判断是否符合数据库设计师的要求。具体实现代码如下:OpenDialog1.FileName := *.xls; if not OpenDialog1.Execute then begin ShowMessage(excel打开失败!); Exit; end; if ExtractFileExt(OpenDialog1.FileName) .xls then begin MessageBox(0, 请选择正确的excel文件, PChar(提示), MB_OK or MB_ICONWARNING); Exit; end; MsExcel := CreateOleObject(Excel.Application); MsExcel.visible := true; MsExcelWorkBook := MsExcel.WorkBooks.Open(OpenDialog1.FileName); except Exit; end; /开始从EXCEL文件读取相关信息 ,并导入数据库中的users表 try Application.ProcessMessages; /防止进程阻塞 iRow := BeginRow; iCol := BeginCol; while trim(msExcel.WorkSheetssheet1.CellsiCol, iRow.value) do begin pdate := Trim(msExcel.WorkSheets1.CellsiCol, iRow.value); /日期 if not TryStrToDate(pdate,mDate) then begin ShowMessage(日期格式不对请重新输入!); MsExcel.Quit; Exit; end; pshift := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 1.value); /班次 if (pshift 白班) and (pshift 夜班) and (pshift 午班) then begin ShowMessage(班次只能为白班、夜班、午班!); MsExcel.Quit; Exit; end; pno := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 2.value); /序号 if not TryStrToInt(pno,mPno) then begin ShowMessage(序号请输入整数!); MsExcel.Quit; Exit; end; pcar := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 3.value); /车型 pconfig := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 4.value); /配置 pnum := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 5.value); /计划数量 if not TryStrToInt(pnum,mPnum) then begin ShowMessage(序号请输入整数!); MsExcel.Quit; Exit; end; plamp := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 6.value); /前大灯 pacon := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 7.value); /后组合 pbdoor := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 8.value); /背门外装饰件 pconbox := Trim(msExcel.WorkSheets1.CellsiCol, iRow + 9.value); /控制箱 with qry1 do begin Close; SQL.Clear; SQL.Add( insert into pplan values(+ pdate +,+ pshift +,+ pno +,+ pcar + ,+ pconfig +,+ pnum +, + + plamp +,+ pacon +,+ pbdoor +,+ pconbox +,否); ExecSQL; end; iCol := iCol + 1; end; MsExcel.Quit; except MessageBox(self.Handle, 数据导入失败!, 系统提示, 0); ; MsExcel.Quit; Exit; end; MessageBox(self.Handle, 数据导入成功!, 系统提示, 0);4.5物料自动拆包实现物料自动拆包也是本系统的一个重难点,计算方法是一个比较复杂的过程:(1) 根据生产计划拆包否字段的值为否,取得一个结果集,从结果集的第一条开始处理数据,设置拆包单位为50件;(2) 判断当前获取到的数据值日期和班次字段是否与上一条记录的日期、班次相同,如果相同则判断上条拆包信息的插入的数量是不是50如果是则将排序架号加1;(3) 两者都否定,则进行判断该次计划数量是否与想要要求检查如数量是否相等,相等则插入本条数据,判断此次插入数据是否为50,不为50则排序架号加1、要求插入数量为50,本条生产计划信息插入完毕,将拆包否改为是;(4) 如果判断该次计划数量小于想要要求检查如数量,则插入本条拆包数据,将生产计划拆包否改为是,还需要插入数量为上一次需要数量减去插入数量,如果还需要数量为0则需要插入数量为50;(5) 如果判断该次计划数量大于想要要求检查如数量,如果要求插入数量不为50,则插入要求数量,标记字段为True,排序架号加1;(6) 用剩余数量除以50取取整值和余数,根据取整值的大小循环插入拆包信息数量为50,排序号加1,标记字段为False,插入数量为50;(7) 如果余数不为0,则插入拆包信息,数量为余数值,要求插入数量为50减去余数,如果标记为False则排序架号加1,插入数量为余数,修改生产计划本条记录拆包否为是;(8) 记录本条生产计划日期、班次,以供下一条生产计划信息拆包使用。4.6信息查询实现信息查询界面设计如下图4.6所示:图4.6 信息查询界面逻辑处理重难点实现:判断用户选择查询方式为查询那种信息,根据用户选择查询信息不同查询日期的为选中日期的不同数据库表。4.7标示卡打印实现界面设计如下图4.7所示:图4.7打印界面预览图标示卡打印重难点在于,怎么将拆包信息的相同日期、班次、排序架号、部件名称的数据呈现在同一个表格中,并打印出来。第五章 系统测试5.1测试目的睿邦标示卡打印系统测试的目的在于尽可能多的发现并排除软件系统中潜藏的错误,最终把一个高质量的软件系统交给用户使用。理论上说软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入一些数据而得到其预期的结果),并利用这些测试用例去运行程序,以发现程序错误的过程。而作为开发者,测试软件的目的在于希望测试本软件能表明软件产品中不存在错误的过程,验证该软件已经能够正确地实现了用户的要求,更加确立用户对软件质量的信心。5.2测试方法测试任何产品的方法都有两种方法:白盒测试和黑盒测试。如果已经知道了产品应该具有的功能,可以通过测试来检验是不是每一个功能都能达到要求,这种测试叫做黑盒测试。如果知道产品的内部工作过程,可以通过测试来检验产品的内部动作是不是按照规格说明书的规定正常进行,这种测试叫做白盒测试也叫做结构测试。我们通常使用的测试为黑盒测试因为测试时只检查功能是否能够按照规格说明书的规定正常使用所以也叫做功能测试。在本次测试中睿邦标示卡打印系统在已知系统功能的情况下,主要进行黑盒测试。5.3测试流程登录模块功能测试结果能够按照规格说明进行:数据库连接失败、用户名或密码为空、用户名或密码错误都会给出相应的错误提示;数据库连接正确、用户名密码正确能够成功进入主界面。测试实例如下表5.1所示:表5.1 登录界面测试实例序号输入数据操作输出预期输出结果L-01数据库连接失败点击登录按钮提示联机设置失败提示连接设置失败通过L-02用户名或密码输入空白点击登录按钮提示用户名密码不可为空提示用户名密码不可为空通过L-03用户名或密码输入错误点击登录按钮提示用户名或密码输入错误提示用户名或密码输入错误通过L-04用户名密码输入正确点击登录按钮成功进入主界面成功进入主界面通过L-05 输入用户名密码点击取消按钮清除用户名密码信息清除用户名密码信息通过L-06点击联机设置进入联机设置界面进入联机设置界面通过数据库连接模块功能测试能够正常的按照规格测试完成:服务器IP、SQL登录名、登录密码输入为空点击数据库会给出提示不能输入空,输入错误会给出提示连接不到服务器;输入服务器IP、SQL登录名、登录密码和数据库任一个为空会给出提示输入不允许为空,修改文件成功会给出提示信息修改成功。账户管理模块功能测试能够正常按照规格测试完成:管理员用户点击账户管理会有密码修改、账户添加、账户查询与删除三个标签选项;普通用户点击账户管理只有修改密码的标签;密码修改界面,原始

温馨提示

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

评论

0/150

提交评论