监控系统毕业论文正稿_第1页
监控系统毕业论文正稿_第2页
监控系统毕业论文正稿_第3页
监控系统毕业论文正稿_第4页
监控系统毕业论文正稿_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

./WORD格式整理版XX现代职业技术学院毕业设计〔论文题目:生产过程监控系统姓名罗洋根学院信息工程学院专业班级10软件三班指导教师单文增提交时间2012年10月20日.WORD格式整理版论文题目:生产过程监控系统姓名:罗洋根班级:10软件三班指导教师:单文增摘要:本文首先简单给出了生产过程监控系统的设计背景和意义,并介绍了系统开发所用到的开发工具和语言,然后在进行了需求分析的基础上,说明了系统功能模块的划分及各模块之间的相互关系,然后着重论述了系统功能的一些重要的技术实现过程。分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,生产过程监控系统能为企业带来了极大的方便。中小型的加工零售企业在日常的工作中,由于日积月累的加工生产,所累积下来的不管是客户或者是生意方面都有着丰厚的资源,但是人脑不是电脑,对于这方面的数据遗忘性很大。所以对于中小型加工零售企业迫切的需要一款生产过程监控管理系统,维护自己企业的客户资料,以往生意记录等等信息。本系统采用C#语言和SQLServer2008作为开发工具。这种系统优势在于系统比较简单,但功能强大,扩展性能也比较好,完全处理一般的对于生产过程的监控管理。关键词:C/S架构;数据库;生产监控abstract:firstly,thispapergivestheproductionprocessmonitoringsystemdesignbackgroundandsignificance,andintroducedthesystemdevelopmentusedevelopmenttoolsandlanguage,andthenonthedemandonthebasisofanalysis,explanationofthesystemfunctionmoduleandtherelationshipbetweeneachmodule,andthenfocusesonthesystemfunctionofsomeimportanttechnicalrealizationprocess.Analysisofthe21stcentury,thehumaneconomyhighspeeddevelopment,greatchangestookplaceinthepeople,especiallytheapplicationofcomputerandspreadtoallfieldsofeconomicandsociallife.Makeoriginallyoldmethodsofmanagementmoreandmoredoesnotadaptnowthedevelopmentofthesociety.Manypeoplearestillstayinapreviousmanualoperation.Thishasgreatlyhinderedtheeconomicdevelopmentofhumanbeings.Inordertoadapttothemodernsocietypeoplehighlystrongconceptoftime,theproductionprocessmonitoringsystemforenterprisebroughtgreatconvenience.Smallandmedium-sizedprocessingretailenterpriseindailywork,asaccumulateoveralongperiodprocessingproduction,theaccumulatedwhethercustomersorbusinesshasrichresources,butthehumanbrainisnotthecomputer,forthisdataamnesicgreat.Soforthesmallandmedium-sizedprocessingretailenterprisesurgentlyneedanewproductionprocessmonitoringmanagementsystem,tomaintaintheirenterprisecustomermaterial,previousbusinessrecord,etc.ThissystemUSESc#andSQLServer2008asadevelopmenttool.Thissystemadvantageliesinthesystemisrelativelysimple,butpowerful,extendedperformanceisbetteralso,completeprocessinggeneralfortheproductionprocessmonitoringmanagement.Keywords:C/Sstructure;Database;Productionmonitoring目录引言11基础知识21.1背景与意义21.2开发方法21.2.1C#语言介绍31.2.2SQLServer2008数据库优点3运行环境的选择42系统需求分析52.1系统功能概述5系统功能需求52.1.2用例分析5类图分析72.2系统性能要求82.2.1系统时间特性要求82.2.2系统灵活性92.2.3数据管理能力要求92.3可行性分析92.3.1技术可行性9经济可行性9操作可行性103系统概要设计113.1系统总体设计方案113.2系统数据流图123.3系统活动图13数据库需求分析143.4.2数据库概念设计<E-R图>14数据库逻辑设计154系统的详细设计184.1系统主要功能模块设计184.1.2准备工作〔一些公共类的准备184.1.2登录模块实现214.2系统主要功能模块实现25待办事项25成本综合管理384.2.3成本项管理444.2.4根据生产单对成本进行管理484.2.5生产单成本控制494.2.5生产单下成本单项管理545系统测试585.1系统测试步骤585.1.1单元测试585.1.2集成测试595.1.3确认测试595.2系统测试605.2.1界面测试605.2.2功能测试60附录附录清单A64附录附录清单B72花卉公司销售管理系统.引言分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,生产过程监控系统能为企业带来了极大的方便。中小型的加工零售企业在日常的工作中,由于日积月累的加工生产,所累积下来的不管是客户或者是生意方面都有着丰厚的资源,但是人脑不是电脑,对于这方面的数据遗忘性很大。所以对于中小型加工零售企业迫切的需要一款生产过程监控管理系统,维护自己企业的客户资料,以往生意记录等等信息。本文中共分5章。第一章基础知识,主要讲生产过程监控系统的背景、意义,开发方法及开发工具简介;第二章系统需求分析,主要讲系统功能需求、性能需求及可行性分析;第三章概要设计,主要介绍系统工作流程、功能结构图及数据库表设计;第四章详细设计,主要讲各个功能的工作流程及具体的实现过程。第五章系统测试,主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性。每章附有本章重点介绍的功能图例及详细讲解,帮助理解系统的各部分功能。.1基础知识1.1背景与意义随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。在管理得好的企业中,对生产过程进行持续的监控是理所当然的事情。当然,这些监控首先针对的是那些与"钱"密切相关的过程。例如,要每月对任务订单、销售额、投资额或订货情况进行汇总并与年度主生产计划进行比较。对生产部门主要进行计划生产工时与实际生产工时的对比,并比较由此产生的生产成本。在实际中,对企业中的其它关键数据如库存、出产期和生产周期进行持续的采集并将其与计划值进行比较的做法应用还不普遍。由此提出了这样的要求,即作为对成本和质量监控系统的补充,引入了一个对生产过程进行监控的系统。我们可以将这个系统成为生产过程的持续后勤供应与质量监控系统。1.2开发方法本系统采用C#作为前台开发工具。后台数据库采用SQLServer2008数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好的条件。利用LINQ技术[1]。更加方便简洁的对数据库进行一系列的操作,并影藏了数据库的操作代码,使得数据库的保密性得到了加强,相对于数据库的操作更加灵活。通过LINQTOSQL提出数据或其他资源请求。表示层在客户端的应用浏览器中运行,数据访问也在专用的数据库服务器上运行。采用LINQ能很好的解决软件的可扩展性、安全性、管理性等关键问题。C#语言介绍C#是一种安全的、稳定的、简单的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性〔例如没有宏和模板,不允许多重继承[2]。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#语言的主要优点大概可以归纳如下:1、语法简洁:C#取消了指针、也不定义繁琐的伪关键字;它使用有限地指令、修饰符合操作符,语法上几乎不存在任何冗余,整个语言结构十分清晰。初学者通常能够快速掌握C#基本特性,而C/C++程序员转入C#则几乎不会有什么障碍。2、完全面向对象:C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理。许多精巧的对象设计模式都在C#语言中得到了有效的应用。3、目标软件的安全性:C#符合通用类型系统的类型安全性要求,并用CLR所提供的代码访问安全特性,从而能够在程序中方便的配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,这是的开发人员无需再负担内存管理的任务,应用程序的可靠性进一步得到提高。4、版本管理技术:C#语言中内置了版本控制功能,并通过接口和继承来实现应用的可扩展性[3]。应用程序的维护和升级更加易于管理。5、灵活性与兼容性:C#中允许使用非托管代码来与其他程序〔包括COM组件、WIN32API等进行集成和交互。它还可以通过委托〔delegate来模拟织针的功能,通过接口来模拟多继承的实现。SQLServer2008数据库优点SQLServer2008的一个重要设计目标就是提高默认状态下的安全系数。为了缩小被攻击范围,最危险的一些特性都被禁用,除非数据库管理员启用它们。这有所帮助,不过对有经验的数据库管理员来说帮助不大。他们基本上会编写锁定脚本,觉得安装时加以运行不是很麻烦。安全方面真正重要的改进则是密码管理和权限分配方面。现在可以设置原始SQL密码来顾及Windows密码政策,这意味着用户可以要求SQL密码拥有与Windows账户同样的密码强度、失效日期、历史、锁定阈值、锁定时间及生命期等政策,甚至可以要求用户在下次登录时更改密码。安全方面的其他重要改进还包括:加强了对模式变更的控制、能够对数据进行列级加密。SQLServer2008不但克服了高可用性和灾难恢复方面的缺点,还几乎在各个方面都有了全面改进:管理任务得到了简化;监控和诊断功能得到了增强;默认的锁定配置、数据加密及其他新特性增强了安全。如今,分析服务〔AnalysisServices、报表服务〔ReportingServices和数据挖掘〔DataMining全面集成,而且已经很成熟。数据转换服务〔DTS已从头到尾经过了改写,已逐渐成为更强大、更灵活的SQL服务器集成服务〔SSIS。与VisualStudio和.Net/CLR的集成,把SQLServer的内部机制展现给了.Net开发人员、把.Net的内部机制展现给了SQL开发人员。这意味着,现在就可以利用.Net的强大功能,用于存储过程、数据流和数据转换、商业智能等应用的。运行环境的选择由于计算机发展迅速,为将来升级的考虑,这里所提供的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。1.软件环境:操作系统:采用WindowsXP或Windows2003以上;开发工具:MicrosoftSQLServer2008;C#2.硬件环境:CPU:IntelPentium<R>4以上;内存:2G;硬盘:320G;网卡:100M。2系统需求分析软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础[4]。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。2.1系统功能概述本系统主要完成企业生产流程管理〔客户信息管理,订单信息管理,账单信息管理,成本信息管理,生产流程管理,用户管理,收费管理等功能。通过以上功能实现简单、便捷的生产过程监控管理系统。系统功能需求超级用户:管理系统用户、管理生产过程、管理生产单成本控制、管理生产单收费记录控制、管理客户资料、管理生产单等。管理员:管理生产过程、管理生产单成本控制、管理生产单收费记录控制、管理客户资料、管理生产单等。用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。生产单管理:用于对各生产单建立、修改、删除、查询以及对生产单子项建立、修改、删除、查询。客户资料管理:用于对客户资料的建立、修改、删除、查询。成本控制管理:用于对每个生产单添加、修改、废弃、查询成本等。收费记录管理:用于对每个生产单添加、修改、废弃、查询收费记录等。生产过程管理:用于对每个生产单的生产过程进行变更同时做好变更记录等操作。用例分析用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图如图2.1所示。图图2.1生产过程监控系统用例图类图分析类图<Classdiagram>由许多〔静态说明性的模型元素〔例如类、包和它们之间的关系,这些元素和它们的内容互相连接组成。类图可以组织在〔并且属于包中,仅显示特定包中的相关内容。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。在类描述中一般只给出主要类及主要类间的关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间的关系组成。类是具有相同属性和相同方法的对象的集合,系统类图如图2.2所示。图图2.2生产过程监控系统类图2.2系统性能要求对系统性能的要求包括对系统时间要求,灵活性,数据管理能力等的要求。系统时间特性要求系统的速度要在用户可接受的范围内,但考虑到需要实时检测商品的数量和库存情况,对资源实时搜索的速度可以有较低的要求。系统灵活性系统要有良好的接口,以适应增加商品信息,增加商品类型,增加相关的商品录入功能的需求;增加商品信息的更改和更新功能。数据管理能力要求系统要有较高的管理能力,本系统采用的是SQLServer2008数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。2.3可行性分析可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。技术可行性根据前期的市场调查与对下列系统功能、性能及实现系统的各项所需技术的约束条件的分析来看,本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,同时,考虑给予的开发期限较为充裕,预计可以在规定期限内完成预定功能地开发与实现。在软件方面本程序设计采用的开发环境是MicrosoftVisualStudio2008,采用开发语言C#编写程序,采用SQLServer2008做后台数据库。在硬件方面电脑的各种配置包括输入输出能力,内部存储器和外部存储器的容量都能满足用户的要求。经济可行性本超市管理系统,其前期的投入比较小,主要是系统的设计费用:其中包括软件开发费用、管理和维护费等。而后续的投入相对较小,很长时间内都不会需要进一步投资,管理和维护费用也很少,而系统实际能够起到的作用会远远大于投入的开发费用,相信会有十分可观的前景。因此这个系统很有开发价值。操作可行性本系统界面清晰直观、易于操作。由于它能够准确记录、检索和管理有关企业各类生产信息和订单信息,帮助企业运营者掌握和分析营销情况,及时做出正确决策,并且便于企业相关内部人员对生产流程的管理,因而大大提高了企业的生产水平与效率。综上所述,从经济可行性、技术可行性和操作可行性来说,系统开发是完全可行的。3系统概要设计本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程。在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。3.1系统总体设计方案本系统采用了C/S模型。系统前台采用 C#语言来设计,访问数据库服务器;后台采用Microsoft公司的SQLServer2008。SQLServer2008开发后台数据库,用于提供数据服务。SQLServer2008是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终完成本超市管理系统的开发。本系统有四个整体模块,其包含着以下子模块。具体的模块功能划分如下:用户登入模块:具备用户登入、用户注册等功能。用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。生产单管理:用于对各生产单建立、修改、删除、查询以及对生产单子项建立、修改、删除、查询。客户资料管理:用于对客户资料的建立、修改、删除、查询。成本控制管理:用于对每个生产单添加、修改、废弃、查询成本等。收费记录管理:用于对每个生产单添加、修改、废弃、查询收费记录等。生产过程管理:用于对每个生产单的生产过程进行变更同时做好变更记录等操作。本系统详细功能模块图如图3.1所示。图图3.1系统功能模块图3.2系统数据流图数据流图是将提供给用户的业务流程图进行功能建模,转化成开发人员能够理解的一系列"逻辑模型"图,即以图形化的方法描绘数据在系统中的流动和处理的过程,这些图都应该用规范的DFD描述。本系统操作流程,操作员根据不同的身份账号进入登录模块,在登录栏处输入用户名和密码,系统进行验证操作员身份,若系统没有检索到用户名,则不允许进入,进入系统之后根据身份的不同进行不同的操作。超级管理员拥有所有权限可对用户模块、客户模块、生产单模块、生产过程模块、成本账本模块以及收费账本模等进行操作。而普通管理员拥有超级管理员除用户管理模块外的所有模块操作。3.3系统活动图活动图阐述了用例实现的过程,用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。本生产过程监控系统的活动图如图3.3所示。图3.3图3.3生产过程监控系统活动图3.4系统数据库设计数据库设计是建立数据库及应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效地存储数据,满足各种用户的要求数据库设计是管理信息系统的重要组成部分[5]。这里采用SQLServer数据库。该数据库对行增、删、修改、统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。数据库需求分析主要是收集基本数据及确定数据的处理要求,需求分析主要解决如下问题:1、数据要求:用户需要从数据库中获取什么数据,并决定在数据库中存储那些数据。2、操作要求:明确用户对数据的操作要求,从而确定数据之间的关系。数据库概念设计<E-R图>概念结构设计是整个数据库设计的关键,它能通过对需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型,即E-R图[6]。简单的说,E-R图用来分析数据关系的。下面具体超市管理系统主要的实体图。数据库逻辑设计图如图所示。数据库逻辑设计图数据库逻辑设计逻辑结构是把概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。本系统根据E-R图可以对数据库进行设计,以下列出主要的数据表。表名功能说明用户表Users用于管理用户的信息客户表Client用于管理客户的基本资料生产单ProductBills用于管理生产单的信息生产单子单ProductBillsItem用于管理生产单中的每个子单的信息生产单状态变更记录表PBSUpdateRecord用于记录子生产单状态变更的信息成本账本表Cost用于管理成本账本的信息成本账单表CostItem用于管理成本账单的信息收费账本表Account用于管理收费账本的基本信息收费账单表AccountItem用于管理收费账单的信息ProductBills表列名数据类型是否可为空备注PBNumbernvarchar<20>否生产单号PBBelongClientnvarchar<50>是所属客户PBStatenvarchar<10>是状态PBDatedatetime是创建时间PBWorkernvarchar<20>是创建人dbo.ProductBillsItem表列名数据类型是否可为空备注PBINumbernvarchar<50>否生产单项编号PBITypenvarchar<20>否账单项类型PBIContentnvarchar<100>是详细内容PBIBelongPBnvarchar<20>是所属生产单PBIStatenvarchar<10>是状态PBSUpdateRecord表列名数据类型是否可为空备注UPNumberbigint否编号OldStatenvarchar<10>是旧的状态NewStatenvarchar<10>是新的状态UPSetDatedatetime是变更时间UPWorkernvarchar<20>是操作人UPBelongPBInvarchar<20>是所属生产子单Cost表列名数据类型是否可为空备注CNumbernvarchar<20>否成本账本编号CBelongPBnvarchar<20>是所属生产单CStatenvarchar<10>是状态CostItem表列名数据类型是否可为空备注CINumberbigint否编号CITypenvarchar<10>是类型CIMoneydecimal<18,2>是金额CIBelongCnvarchar<20>是所属CostCISetDatedatetime是设置时间CIStatenvarchar<2>是状态Account表列名数据类型是否可为空备注ANumbernvarchar<20>否账本号ABelongPBnvarchar<20>是所属生产单AReceivabledecimal<18,2>是应收金额AStatenvarchar<10>是状态ASetDatedatetime是设置时间AccountItem表列名数据类型是否可为空备注AINumbernvarchar<20>否编号AIBelongAnvarchar<20>是所属AccountAFeedecimal<18,2>是收费金额ASummarynvarchar<200>是摘要APayernvarchar<10>是付款人APayeenvarchar<10>是收款人ASetDatedatetime是操作时间AIStatenvarchar<10>是状态4系统的详细设计详细设计的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某个设计的语言书写的程序。详细设计的任务不是具体的编写程序,而是要设计出程序的"蓝图",以后可根据这个蓝图写出实际的程序代码。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。本系统所包括的几大模块如下:登录模块、进货模块、库存管理模块、销售管理等多个模块。4.1系统主要功能模块设计准备工作〔一些公共类的准备1、定义linqtosql类PPM。2、数据导出类ExportToExcelusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingMicrosoft.Office.Interop.Excel;namespacePocketBook.PublicClass{classExportToExcel{///<summary>///把dataGridView中的数据导出到Excel中///</summary>///<paramname="dgv">dataGridView的名称</param>///<paramname="strTitle">Excel文件名称</param>publicvoidexportExcel<DataGridViewdgv,stringstrTitle,intstartColumn,intendColumn>{try{//判断DataGridView当中是否有数据,如果没有数据,则提醒没有数据可以导出if<dgv.Rows.Count==0>{MessageBox.Show<"没有数据可以导出","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information>;return;}SaveFileDialogsfd=newSaveFileDialog<>;//创建保存对话框sfd.Title="请选择将导出Excel文件存放路径";//设置保存对话框的标题sfd.FileName=System.DateTime.Now.ToShortDateString<>.Replace<'/','-'>+strTitle;//设置文件名sfd.Filter="Excel文档<*.xls>|*.xls";//设置文件的保存类型if<sfd.ShowDialog<>==DialogResult.OK>{Microsoft.Office.Interop.Excel.ApplicationexcelApp=newMicrosoft.Office.Interop.Excel.Application<>;//创建Excel对象if<excelApp==null>{MessageBox.Show<"无法创建Excel文档,可能您的电脑未安装Excel","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information>;return;}else{Workbooksbooks=excelApp.Workbooks;//创建工作薄Workbookbook=books.Add<true>;Worksheetsheet=<Microsoft.Office.Interop.Excel.Worksheet>book.Worksheets[1];//创建工作表//Microsoft.Office.Interop.Excel.Rangerange;sheet.Cells[1,1]=strTitle;//设置标题//range=sheet.get_Range<sheet.Cells[1,1],sheet.Cells[1,3]>;//range.Merge<System.Reflection.Missing.Value>;//写列头ints=startColumn;intj=1;for<intk=1;k<=<endColumn-s>;k++,startColumn++>{sheet.Cells[2,k]=dgv.Columns[startColumn].HeaderText.ToString<>;}//写数据for<inti=0;i<dgv.Rows.Count;i++>{for<j=1,startColumn=s;j<=<endColumn-s>;j++,startColumn++>{sheet.Cells[i+3,j]=Convert.ToString<dgv.Rows[i].Cells[startColumn].Value.ToString<>>;}}sheet.Columns.EntireColumn.AutoFit<>;//自动调整Excel列宽以配匹内容的宽度sheet.Columns.HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置Excel文本居中对齐book.Saved=true;book.SaveCopyAs<sfd.FileName>;//另存工作表excelApp.Quit<>;//关闭Excel对象MessageBox.Show<"导出成功","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information>;}}}catch<Exception>{MessageBox.Show<"导出数据出现错误,请检查原因","温馨提示",MessageBoxButtons.OK,MessageBoxIcon.Information>;}}}}3、加密类MD5usingSystem;usingSystem.Data;usingSystem.Configuration;namespaceKB.Public{///<summary>///MD5的摘要说明///</summary>publicclassMD5{privatestringstrOld;publicstringoldPWD{get{returnstrOld;}set{strOld=value;}}publicMD5<stringstr>{strOld=str;}///<summary>///对strOld字符串加密,返回加密后的密码///</summary>///<returns>返回加密字符串</returns>publicstringgetPWD<>{try{System.Security.Cryptography.MD5md=System.Security.Cryptography.MD5.Create<>;byte[]buffer=md.ComputeHash<System.Text.Encoding.Default.GetBytes<strOld>>;returnSystem.Text.Encoding.Default.GetString<buffer>;}catch<Exception>{return"";}}}}登录模块实现为了提高软件操作安全性,用户进入系统前,需进行身份验证,通过此窗体输入个人信息以验证身份。再输入过程中也可以通过虚拟键盘来输入,如果用户名和密码都正确,单击登录按钮,则进入系统。如果输入错误,则会提示密码错误。如账号、密码、输入均错误,可按Enter件系统登录界面如图4.5所示。图4.5登录模块实现过程:在登入界面定义变量number,password来保存用户的登入账号、密码〔如用户输入不完整将提示用户,输入该输入信息,获取值后进行用户信息验证〔密码采用MD5加密,再根据编号、密码查询用户是否存在Usersu=dc.Users.SingleOrDefault<s=>s.number==txtNumber.Text.Trim<>&&s.password==MD.getPWD<>>;u!=null表示验证成功,进入主界面,否则失败!〔不同角色登入系统会出不同的菜单栏实现代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingKB.Public;namespacePPMSys{publicpartialclassFrmLogin:Form{privateintx;privateinty;publicFrmLogin<>{InitializeComponent<>;}privatevoidbutton2_Click<objectsender,EventArgse>{if<txtNumber.Text.Trim<>=="">{toolTip1.SetToolTip<txtNumber,"请输入帐号">;toolTip1.Show<"请输入帐号",txtNumber>;txtNumber.Focus<>;return;}if<txtPWD.Text.Trim<>=="">{toolTip1.SetToolTip<txtPWD,"请输入密码">;toolTip1.Show<"请输入密码",txtPWD>;txtPWD.Focus<>;return;}PPMDataContextdc=newPPMDataContext<>;MD5MD=newMD5<txtPWD.Text.Trim<>>;Usersu=dc.Users.SingleOrDefault<s=>s.number==txtNumber.Text.Trim<>&&s.password==MD.getPWD<>>;if<u!=null>{this.Hide<>;notifyIcon1.Visible=false;FrmMainfrm=newFrmMain<u,this>;frm.Show<>;}else{toolTip1.SetToolTip<txtNumber,"用户名或密码错误,请重新输入!">;toolTip1.Show<"用户名或密码错误,请重新输入!",txtNumber>;txtNumber.Focus<>;return;}}privatevoidnotifyIcon1_MouseDoubleClick<objectsender,MouseEventArgse>{}privatevoidnotifyIcon1_MouseClick<objectsender,MouseEventArgse>{}privatevoidFrmLogin_Load<objectsender,EventArgse>{}privatevoid退出ToolStripMenuItem_Click<objectsender,EventArgse>{Application.ExitThread<>;}privatevoid打开主面板ToolStripMenuItem_Click<objectsender,EventArgse>{this.WindowState=FormWindowState.Normal;}privatevoidFrmLogin_VisibleChanged<objectsender,EventArgse>{if<this.Visible==true>notifyIcon1.Visible=true;elsenotifyIcon1.Visible=false;}privatevoidbtnCancel_Click<objectsender,EventArgse>{Application.ExitThread<>;}privatevoidFrmLogin_MouseDown<objectsender,MouseEventArgse>{x=e.X;y=e.Y;}privatevoidFrmLogin_MouseMove<objectsender,MouseEventArgse>{if<e.Button==MouseButtons.Left>{this.Left=this.Left+<e.X-x>;this.Top=this.Top+<e.Y-y>;}}}}4.2系统主要功能模块实现待办事项系统登入后,进入待办事项主界面,如图4.6所示。图4.6在当前界面中可以查看到所有的状态即提交订单、进货、加工、安装以及收费的数据,同时可以针对数据的状态进行修改如图4.7所示图4.7图4.8代码具体实现如下usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;namespacePPMSys{publicpartialclassFrmMainInfo:Form{stringworker="";publicFrmMainInfo<stringstr>{InitializeComponent<>;worker=str;}#region可折叠式界面{if<gbTemp!=null>gbTemp.Height=20;gbReady.Height=400;gbTemp=gbReady;}}privatevoidlblStock_Click<objectsender,EventArgse>{if<lblStock.Text=="︽">{gbStock.Height=20;}else{if<gbTemp!=null>gbTemp.Height=20;gbStock.Height=400;gbTemp=gbStock;}}privatevoidlblProcess_Click<objectsender,EventArgse>{if<lblProcess.Text=="︽">{gbProcess.Height=20;}else{if<gbTemp!=null>gbTemp.Height=20;gbProcess.Height=400;gbTemp=gbProcess;}}privatevoidlblInstall_Click<objectsender,EventArgse>{if<lblInstall.Text=="︽">{gbInstall.Height=20;}else{if<gbTemp!=null>gbTemp.Height=20;gbInstall.Height=400;gbTemp=gbInstall;}}privatevoidlblCharge_Click<objectsender,EventArgse>{if<lblCharge.Text=="︽">{gbCharge.Height=20;}else{if<gbTemp!=null>gbTemp.Height=20;gbCharge.Height=400;gbTemp=gbCharge;}}privatevoidgbReady_SizeChanged<objectsender,EventArgse>{if<gbReady.Height==400>lblReady.Text="︽";if<gbReady.Height==20>lblReady.Text="︾";}privatevoidgbStock_SizeChanged<objectsender,EventArgse>{if<gbStock.Height==400>lblStock.Text="︽";if<gbStock.Height==20>lblStock.Text="︾";}privatevoidgbProcess_SizeChanged<objectsender,EventArgse>{if<gbProcess.Height==400>lblProcess.Text="︽";if<gbProcess.Height==20>lblProcess.Text="︾";}privatevoidgbInstall_SizeChanged<objectsender,EventArgse>{if<gbInstall.Height==400>lblInstall.Text="︽";if<gbInstall.Height==20>lblInstall.Text="︾";}privatevoidgbCharge_SizeChanged<objectsender,EventArgse>{if<gbCharge.Height==400>lblCharge.Text="︽";if<gbCharge.Height==20>lblCharge.Text="︾";}#endregion#region改变检索条件下拉框privatevoidFrmMainInfo_Load<objectsender,EventArgse>{if<gbTemp!=null>gbTemp.Height=20;gbCharge.Height=400;gbTemp=gbCharge;LoadTableData<>;}///<summary>///刷新数据///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidtbReload_Click<objectsender,EventArgse>{LoadTableData<>;}///<summary>///分类检索数据///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidtoolStripButton2_Click<objectsender,EventArgse>{if<txtCondition.Text.Trim<>=="请输入客户名或生产单类型查找">return;PPMDataContextdc=newPPMDataContext<>;varresult=fromvalueindc.VWTaskwhereins<txtCondition.Text.Trim<>>||value.PBIType==txtCondition.Text.Trim<>>&&value.PBIState==tsbState.Text.Trim<>selectvalue;inttemp=0;switch<tsbState.Text.Trim<>>{case"提交订单":{dgvReady.Rows.Clear<>;foreach<varsinresult>{if<s.PBIState=="提交订单">{temp=dgvReady.Rows.Add<>;dgvReady.Rows[temp].Cells[0].Value=s.PBNumber;dgvReady.Rows[temp].Cells[1].Value=;dgvReady.Rows[temp].Cells[2].Value=s.PBINumber;dgvReady.Rows[temp].Cells[3].Value=s.PBIType;dgvReady.Rows[temp].Cells[4].Value=s.PBIContent;}}};break;case"进货":{dgvStock.Rows.Clear<>;foreach<varsinresult>{if<s.PBIState=="进货">{temp=dgvStock.Rows.Add<>;dgvStock.Rows[temp].Cells[0].Value=s.PBNumber;dgvStock.Rows[temp].Cells[1].Value=;dgvStock.Rows[temp].Cells[2].Value=s.PBINumber;dgvStock.Rows[temp].Cells[3].Value=s.PBIType;dgvStock.Rows[temp].Cells[4].Value=s.PBIContent;}}};break;case"加工":{dgvProcess.Rows.Clear<>;foreach<varsinresult>{if<s.PBIState=="加工">{temp=dgvProcess.Rows.Add<>;dgvProcess.Rows[temp].Cells[0].Value=s.PBNumber;dgvProcess.Rows[temp].Cells[1].Value=;dgvProcess.Rows[temp].Cells[2].Value=s.PBINumber;dgvProcess.Rows[temp].Cells[3].Value=s.PBIType;dgvProcess.Rows[temp].Cells[4].Value=s.PBIContent;}}};break;case"安装":{dgvInstall.Rows.Clear<>;foreach<varsinresult>{if<s.PBIState=="安装">{temp=dgvInstall.Rows.Add<>;dgvInstall.Rows[temp].Cells[0].Value=s.PBNumber;dgvInstall.Rows[temp].Cells[1].Value=;dgvInstall.Rows[temp].Cells[2].Value=s.PBINumber;dgvInstall.Rows[temp].Cells[3].Value=s.PBIType;dgvInstall.Rows[temp].Cells[4].Value=s.PBIContent;}}};break;case"收费":{dgvCharge.Rows.Clear<>;foreach<varsinresult>{if<s.PBIState=="收费">{temp=dgvCharge.Rows.Add<>;dgvCharge.Rows[temp].Cells[0].Value=s.PBNumber;dgvCharge.Rows[temp].Cells[1].Value=;dgvCharge.Rows[temp].Cells[2].Value=s.PBINumber;dgvCharge.Rows[temp].Cells[3].Value=s.PBIType;dgvCharge.Rows[temp].Cells[4].Value=s.PBIContent;}}};break;default:break;}}privatevoidtxtCondition_Click<objectsender,EventArgse>{txtCondition.Text="";txtCondition.ForeColor=Color.Black;}privatevoidtxtCondition_Leave<objectsender,EventArgse>{if<txtCondition.Text.Trim<>=="">{txtCondition.Text="请输入客户名或生产单类型查找";txtCondition.ForeColor=Color.Gray;}}///<summary>///改变表格中每行数据的选中模式///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidcontextMenuStrip1_Opening<objectsender,CancelEventArgse>{if<dgvReady.SelectedCells.Count>0>{dgvReady.Rows[dgvReady.SelectedCells[0].RowIndex].Selected=true;}if<dgvProcess.SelectedCells.Count>0>{dgvProcess.Rows[dgvProcess.SelectedCells[0].RowIndex].Selected=true;}if<dgvStock.SelectedCells.Count>0>{dgvStock.Rows[dgvStock.SelectedCells[0].RowIndex].Selected=true;}if<dgvInstall.SelectedCells.Count>0>{dgvInstall.Rows[dgvInstall.SelectedCells[0].RowIndex].Selected=true;}if<dgvCharge.SelectedCells.Count>0>{dgvCharge.Rows[dgvCharge.SelectedCells[0].RowIndex].Selected=true;}}///<summary>///变更状态///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidcbiChange_Click<objectsender,EventArgse>{if<dgvReady.SelectedCells.Count>0>{#region提交订单

温馨提示

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

评论

0/150

提交评论