版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
齐大山铁矿库存管理系统摘要现代企业管理中库存管理工作对于企业决议者和管理者来说至关关键,所以库存管理系统应该能够为用户提供充足信息和快捷查询手段。库存管理系统关键实施目标是帮助企业库存管理人员对企业生产所需要物资设备进行管理和控制,使生产设备得到充足利用,从而达成降低成本、提升生产效率和管理效率目标,也是企业科学化、数字化、正规化管理,和世界接轨关键条件。正是基于这个原因,我把毕业设计方向定在了企业库存管理上。本文经过分析浏览器(B)/服务器(S)结构特点并结合鞍钢矿业企业齐大山铁矿库存管理实际情况,提出了基于B/S结构库存管理系统基础设计思想,简明介绍了系统各功效模块及数据库设计,着重讨论了用ASP.NET技术和SQLServer数据库访问技术和动态网页制作技术,并给出了对应实现代码。该系统在Windows系统上,利用VisualStdio集成开发工具开发完成。系统使用C#作为开发语言,SQLServer作为后台数据库。该数据库系统在安全性、正确性、运行速度方面全部有绝正确优势,而且能够对容量较大数据库进行处理。其中连接数据库字符串能够随时在Web.Config里修改,增加了灵活性和安全性。本系统开发历史2个月,现已在鞍钢集团矿业企业齐大山铁矿测试并试运行。系统内所采取数据均为齐大山铁矿仓储管理员依据齐矿现有库存品种提供模拟测试数据,并非实际业务中真实数据。软件开发和测试期间,得到了齐大山铁矿设备室、网络管理室和库存计划员、管理员大力支持和配合,在此深表感谢!因为时间紧迫,加之水平有限,设计中缺点和不足之处于所难免,敬请导师批评指正,不胜感激!【关键词】物资管理,数据库结构,仓储管理,B/S结构,信息系统AbstractModernenterprisemanagementinventorymanagementforbusinessdecision-makersandmanagersiscritical,soinventorymanagementsystemshouldbeabletoprovidethesufficientinformationandthequickinquirymethod.Inventorymanagementsystemismainlytheimplementationofgoalistohelptheenterpriseinventorymanagementtotheenterpriseneededfortheproductionofmaterialsandequipmentmanagementandcontrol,makefulluseofproductionequipment,achievetherebyreducecost,improveproductionefficiencyandmanagementefficiency,theenterpriseisalsoascientific,digital,standardizedmanagement,andconnectingwiththeworldcondition.Itisforthisreason,Iputmygraduationdesigndirectionininventorymanagement.ThispaperanalyzestheBrowser(B)/Server(S)structurecombinedwiththecharacteristicsofAnshanIronandSteelMiningCompanyQidashanironoreinventorymanagementactualsituation,proposedbasedonB/Sstructureinventorymanagementsystembasicdesignthought,briefintroductionofvariousfunctionalmodulesofthesystemanddatabasedesign,focusingontheuseofASP.NETtechnologyandSQLServerdatabaseaccesstechnologyanddynamicwebpagemakingtechnology,andgivesthecorrespondingimplementationcode.ThesystemintheWindowssystem,usingVisualStdiointegrateddevelopmenttooldevelopment.ThesystemuseC#asadevelopmentlanguage,theSQLServerdatabaseasabackground.Thedatabasesysteminsecurity,accuracy,speedhastheabsoluteadvantage,andforthelargercapacityofthedatabaseforprocessing.ThedatabaseconnectionstringcanbemodifiedintheWeb.Configatanytime,increasingtheflexibilityandsecurity.Thesystemdevelopmenthistoryfor2months,isnowinAnshanIronandSteelGroupMiningCompanyQidashanIronOreMinetestandtrialoperation.ThesystemusedinthedataareinQidashanironoreofQidashanminestorageadministratoraccordingtoexistinginventoryvarietiesprovidesimulationtestdata,nottheactualbusinessofrealdata.Softwaredevelopmentandtestingperiod,hasbeeninQidashanironoremineequipmentroom,networkmanagementandinventoryplanner,administratorofthestrongsupportandcooperation,inthisverygrateful!Duetotimeconstraints,andthelevelislimited,inthedesignofshortcomingsanddeficienciescanhardlybeavoided,pleaseteachercriticism,grateful!目录第1章绪论 11.1课题背景 11.2课题实现目标 11.3开发设计思想 21.4论文整体结构 2第2章系统开发工具和平台 42.1开发平台和技术介绍 42.1.1IIS介绍 42.1.2ASP.NET开发环境 42.2C#编程语言 52.3SQLSERVER数据库 62.4系统运行环境 7第3章可行性分析 8第4章系统总体设计 94.1系统功效需求分析 94.2系统功效模块设计 104.3系统数据库结构设计 11第5章系统具体设计 155.1创建工程项目 155.2系统文件结构 155.3系统公共类 155.3.1数据库操作类 155.3.2公共控件类 215.3系统登录模块设计 245.3库存管理模块设计 255.3.1物料设置 255.3.2库存查询 265.3.3短线库存和超线库存 285.4入库管理模块设计 305.4.1入库登记 305.4.2入库统计 335.5出库管理模块设计 355.5.1出库登记 355.5.2出库统计 395.6领用管理模块设计 405.6.1单据编制 405.6.2单据上报 445.6.3单据审批 475.7盘存管理模块设计 495.7.1盘存录入 495.7.2盘存统计 515.8结存管理模块设计 525.7.1结存查询 525.9后台管理模块设计 54第6章系统测试 556.1测试范围 556.2测试方法 556.3测试结果 56结论 57致谢 58参考文件 59第1章绪论1.1课题背景多年来,中国冶金行业飞速发展,各矿山企业规模在逐步扩大,生产设备也在迅猛更新。对于每个企业来说,伴随生产规模不停扩大,产量急剧增加,设备维修量也在深入加大。为了确保生产顺利进行,需要由大量备品备件进行支撑,而怎样有效地管理备品备件,对这些企业来说是很关键。库存管理关键是保障物资备件供给,从而确保企业生产运行效益。而库存管理又包含入库、出库、经办人员及用户等方方面面原因,怎样管理这些信息数据,是一项复杂系统工程,充足考验着仓储管理员工作能力,其工作任务繁重是可想而知,所以这就需要由库存管理系统来提升库存管理工作效率,这对信息规范管理、科学统计和快速查询,降低管理方面工作量,同时对于调动广大职员工作主动性,提升企业生产效率,全部含有十分关键现实意义。最近两年,鞍钢集团矿业企业信息化建设大幅度发展,冶金行业所包含生产、物资、设备、能源等领域已全部实现了信息化管理,尤其是ERP系统和SAP系统成功上线,使鞍钢集团矿业企业信息化建设达成了又一里程碑。为了适应这一发展,鞍钢集团矿业企业下属各矿正在主动建设和改造内部信息化管理系统,为ERP系统和SAP系统运行提供最原始数据接口。1.2课题实现目标齐大山铁矿多年来生产量大幅度提升,新增设备日趋增多,对备品备件需求也逐步加大。而现有备品备件库存仍然依靠人工进行管理,各类单据完全为纸质单据,手工填写,常常出现账物不符现象;各类报表全部依靠人工统计,内容多,数据量庞大,且数据常常犯错,浪费了大量人力,严重影响了工作效率;各类物资备件收发存数据支撑依据相对微弱,各管理部门之间数据流通及共享无法实现。为了处理现在齐大山铁矿库存管理过程中所出现问题,经过调研,设计了本套库存管理系统。该库存管理系统是对齐大山铁矿物资备件入库、领用、出库、库存、盘点等方面进行管理综合信息系统。软件采取统一操作平台,实现对现有步骤规范化管理,使管理部门更为全方面掌握企业内部物资备件相关情况,大幅度提升物资供给能力和生产效率,也为鞍钢集团矿业企业ERP系统和SAP系统正确提供厂矿级原始数据。1.3开发设计思想库存管理在企业整个供给链中起着至关关键作用,假如不能确保正确进货和库存控制及发货,将会造成管理费用增加,成本加大,从而影响企业生产。库存管理特点是信息处理量比较大,所管理物资设备、原材料及零部件种类繁多。而且因为入库单、出库单、需求单等单据发生量尤其大,关联信息多,查询和统计方法各不相同,所以在管理上实现起来有一定困难。在管理过程中常常会出现信息反复传输;单据、报表种类繁多,各个部门规格不统等问题。在本系统设计过程中,为了克服这些困难,满足计算机管理需要采取了下面部分标准:采取B/S结构进行软件整体设计,方便用户段用户浏览。灵活设计用户权限配置功效和审批功效,适应用户角色和权限改变。3.统一多种原始单据格式,统一账目和报表格式。4.删除无须要管理冗余,实现管理规范化、科学化。5.程序代码标准化,软件统一化,确保软件可维护性和实用性。6.界面尽可能简单化,做到实用、方便,尽可能满足厂矿不一样层次职员需要。7.建立操作日志,系统自动统计所进行多种操作。1.4论文整体结构本文首先对系统进行了需求分析和总体设计。依据库存管理特点及结合齐大山铁矿现有库存管理业务步骤,将齐大山铁矿库存管理系统(以下简称库存管理系统)分成七大模块:库存管理模块、入库管理模块、出库管理模块、领用管理模块、盘存管理模块、结存管理模块、系统设置模块。接着在前一步工作基础之上,对各个模块细分为若干个子模块,并分别进行了编码实现。最终将系统各个模块整合,测试系统各部分整合后功效,稳定性等。本论文共六章,按以下组织:第1章介绍了库存管理系统开发背景;简述了库存管理系统所实现目标及开发设计思想,并给出了论文层次结构。第2章简明介绍了库存管理系统开发平台、开发工具;着重介绍了本系统开发编程语言、编译环境、系统运行环境和数据库使用情况。第3章分析了库存管理系统用户需求。明确了库存管理功效基础要求。介绍了本系统可行性分析,其中包含:经济可行性、技术可行性、时间可行性、操作可行性、法律可行性等。第4章给出了库存管理系统总体设计,即进行模块划分,并叙述各模块之间关系,给出了库存管理系统业务步骤图和功效模块图;完成了用户界面部分设计。第5章介绍了系统各个功效模块具体设计及其实现方法,并给出了关键功效代码。第6章介绍了库存管理系统测试范围、测试方法及对应测试结果,并叙述了在此次开发过程中碰到部分问题和处理方法。第2章系统开发工具和平台一个项目标开发,需要有丰富知识做基础,也需要有技术经验积累,而全部这些要在一个项目中表现,就要看在设计中所采取开发工具,所以,下面介绍一下库存管理系统开发技术。2.1开发平台和技术介绍2.1.1IIS介绍IIS是InternetInformationServer缩写,它是微软企业主推Web服务器。在Windows安装光盘中就包含IIS6.0。IIS和WindowsNTServer完全集成在一起。所以用户能够利用在WindowsNTServer和NTFS(NTFileSystem,NT文件系统)内置安全特征,建立强大、灵活而安全Internet或Intranet站点,能让您在企业内部网络或广域网络上,轻松共享文件和资讯。IIS6.0是WindowsServer中最快Web服务器,并和MicrosoftActiveDirectory目录服务完全整合,这种结合能够使以Web为基础应用软件更可靠、更含有延展性。这项新一代电子商务处理方案把旧资料和应用软件整合到全球资讯网(WWW)中,让企业能重新定义内部和外部不一样商务处理步骤。IIS一个关键特征是支持ASP.NET,是ASP.NET程序得以成功运行先决条件,严格意义来说,必需在机器安装配置IIS服务器环境,不然ASP.NET将无法运行和正常使用,也无法实现其功效。IIS6.0是WindowsServer所提供服务,所以能和WindowsServer上其它服务紧密地合作,经过它们之间合作,能够使一个网页正常得以运行、使用。2.1.2ASP.NET开发环境ASP.NET又叫ASP+,作为一个动态Web技术,是微软企业推出新一代脚本语言,是全新体系结构.NET(微软官方给.NET下定义为:“.NET代表一个集合,一个环境,一个能够作为平台支持下一代Internet可编程结构。”)平台一部分,它提供了一个以Microsoft.NETFramework为基础,开发Web应用程序全新编程模式,能够使Web开发人员愈加紧捷方便地开发Web应用程序。ASP.NET是建立在通用中间语言上程序架构,所以能够在任何一台Web服务器上建立强大Web应用程序。相比现有多种Web开发模式而言,ASP.NET含有更为强大优势和魅力。ASP.NET3.5结合了Web站点和Web服务两种Web开发技术。使用ASP.NET2.0能够比以前愈加轻易地创建出动态数据驱动网站,而且还含有良好可扩展性,而且能够很好支持多种浏览器,而无需开发人员为不一样浏览器编写不一样代码。在VisualStudio中,能够快速应用程序开发技术构建Web应用程序。在窗体上拖放控件,双击控件并编写相关事件响应代码。2.2C#编程语言C#是简单、现代、面向对象和类型安全编程语言。C#起源于C语言家族,所以,C、C++和Java程序员很快就能熟悉它。C#已经取得了ECMAInternational和ISO/IEC国际标准认证,她们分别是ECMA-334标准和ISO/IEC23720标准。Microsoft用于.NET框架C#编译器就是依据这两个标准实现。1.C#特点C#是专门为.Net应用而开发语言。C#没有类库,它使用.NET框架所提供类库。所以,C#是最适合开发.NET应用编程语言,从中能够了解C#含有以下突出特点:(1)语法简练。在默认情况下,C#代码在.NET框架提供受控环境下运行,不许可直接操作内存,而且C#去掉了指针操作”。(2)根本面向对象设计。C#含有面向对象语言所应有一切特征:封装、继承和多态。在C#类中,每种类型全部能够看作一个对象。但C#只许可单继承,即一个类不会有多个基类,从而避免了类型定义混乱。(3)C#没有全局函数,没有全局变量,也没有全局常量,全部全部必需封闭在一个类中。所以,用C#编写代码含有愈加好可读性,而且降低了发生命名冲突可能。(4)和WEB应用紧密结合。C#支持绝大多数WEB标准,比如HTML、XML、SOAP等。(5)强大安全性机制,能够消除软件开发中常见错误(如语法错误),.NET提供垃圾回收器能够帮助开发者有效管理内存资源。(6)兼容性。因为C#遵照.NET公共语言规范(CLS),从而确保能够和其它语言开发组件兼容。(7)灵活版本处理技术。因为C#在语言本身内置了版本控制功效,使开发人员愈加轻易开发和维护。(8)完善错误、异常处理机制。C#提供了完善错误和异常触发机制,使程序在交付应用时能够愈加健壮。2.C#语言编译环境现在,开发和运行C#程序有多个选择,比如,用户能够从微软企业无偿获取.NET软件开发工具箱(SDK)或购置功效强大VisualStudio.NET开发环境,其各自特点以下:SDK包含编译、运行和测试C#程序全部资源,它包含C#语言编译器、JIT、编译器和相关文档。唯一不含有是用来输入和编辑C#程序文本编辑器。VisualStudio.NET是微软企业完整开发环境,它包含一个集成开发环境(IDE)和高级C#编辑器,同时还支持程序调试及很多可提升开发人员效率附加功效。VisualStudio.NET和SDK使用相同C#编译器、JIT编译器和运行时来编译和运行程序,用户能够正确运行同一程序而且运行速度相同。VisualStudio.NET提供了功效强大工具包,能够让用户轻松设计和编写C#程序。2.3SQLSERVER数据库SQLServer全称是MicrosoftSQLServer,由美国微软企业制作并公布一个性能优越关系型数据库管理系统,含有强大数据库创建、开发、设计和管理功效。它不仅是一个完整数据库,而且含有强大扩展性。它是Windows操作系统最为流行数据库,比较适合小型、中型、大型应用程序后台数据库。它同时也适适用于电子商务、数据仓库、和在线商业应用程序等。SQLServer是在SQLServer基础上扩展升级产品。它继承了SQLServer以前版本全部优点,同时又增加了很多新功效,和微软企业其它产品含有良好兼容性。它提供几十种向导,覆盖了几乎全部数据库操作(数据库创建、维护、作业、警告、数据复制、转换等)。SQLServer支持B/S模式体系结构。SQLServer关系数据引擎是为WindowsDNA环境下应用程序提供基础报务之一,是一个含有高度可伸缩性、可靠性和安全性数据存放引擎。2.4系统运行环境系统运行环境关键包含硬件环境和软件环境,本系统采取是B/S模式结构体系,故运行环境将从服务器和用户端两个方面进行说明。1.硬件运行情况表,详见表2-1。表2-1库存管理系统硬件运行环境情况表服务器(B)CPUXeon2GHZ及以上,提议配置双路CPU内存4GB以上硬盘双SCSI150GB,提议做RAID1网卡100M用户端(S)CPUIntelPⅢ及以上内存最少512M,提议1GB以上硬盘10G以上可用存放空间网卡100M以太网卡2.软件运行情况表,详见表2-2。表2-2库存管理系统软件运行环境情况表服务器(B)软件开发环境MicorsoftVisualStudio开发语言环境C#、JavaScript脚本语言数据库环境MicrosoftSqlServer操作系统环境WindowsServerSP2用户端(S)操作系统环境WindowXPSP2/Windows7浏览器环境IE6.0以上或基于IE关键同类其它产品办公软件环境MicrosoftOffice或同类其它产品压缩工具WinRAR或winZip第3章可行性分析当接收一个软件开发任务,就进入软件生命第一个阶段,即进行可行性研究。并不是全部问题全部含有简单处理措施,很多问题全部是不能在预定规模之内处理。所以经过可行性研究分析能够从中发觉问题,并对其提出有没有可行性处理方法,进而避免人力、物力和才力浪费。可行性研究目标就是用最小代价在尽可能短时间内确定问题是否能够处理。可行性研究目标不是处理问题,而是确定问题是否值得去解。想要达成这个目标,必需客观分析多个关键可能解法利弊,从而判定原定系统目标和规模是否现实,系统完成后所能带来效益是否大到值得投资开发这个系统程度。所以,可行性研究实质上是要进行一次大大压缩简化了系统分析和设计过程,也就是在较高层次上以较抽象方法进行系统分析和设计过程。本系统要在齐大山铁矿库存管理中使用,它需要不停完善和更新。在使用过程中,关键看它能否带来劳动力节省和生产效率提升。从另一个角度看,现在企业信息化建设速度迅猛发展,管理水平不停提升,所以这也是开发本系统一个很关键原因。二十一世纪是计算机时代,它肯定替换一部分人工作,高科技监控系统进入生产生活方方面面更是社会发展趋势。本设计从以下三个方面进行可行性研究:1.技术可行性。经过两年本科学习和实践,本人已经掌握了Web程序开发语言和数据库技术。加之有机会亲自参与实体项目标开发,项目组内有很多技术过硬软件工程师,使自己在开发管理信息系统方面技术愈加成熟,所以开发好这个项目是可行。2.经济可行性。为企业开发一个完整、合理库存管理系统,可大大节余人力,以前需要多人干工作,使用本系统只需一个人或多个人就能完成,且工作量和劳动强度大大降低。所以开发本软件能够为齐大山铁矿库存管理工作带来很好经济效益。从以上分析看开发本软件在经济上是可行。3.操作可行性。本软件是为企业库房管理者开发,全部本软件用户对象是企业库房工作人员,因为本软件要设计成友好界面,写出具体使用说明,用户只需知道简单计算机操作知识,就能自由应用本软件。从以上分析看开发本软件在功效和操作上是可行。第4章系统总体设计系统开发总体任务是实现多种信息系统化、规范化和自动化。系统整体设计关键包含系统功效需求分析,和在整体分析基础上形成系统步骤和功效,并对数据库进行了整体设计。4.1系统功效需求分析经过对齐大山铁矿库存管理实际工作步骤调研,总结分析出库存管理系统应完成以下几方面功效:物资备件基础信息录入,包含物料类别、物料编码、物料名称、规格型号、图号、材质、计划价等。入库信息登记,包含填写入库单号、物资编码、名称、规格型号、入库时间入库单价、数量、类型、入库车间、存放地点等。物资备件领用申请,包含领料单编制,领料单上报和领料单据审批等。超线库存和短线库存设置,用来对库存物资备件实施监控和报警。出库信息登记,包含查看领料单据,按领料单据发料,领料单据打印等。物资备件盘点,包含物资备件基础信息查对,盘点日期录入,机器自动盘点数量和手动盘点数量对比等。各类查询信息,包含短线库存、超线库存查询,出库、入库查询,结存信息查询,盘点信息查询等,并含有对应打印功效。个人信息维护,包含用户基础信息录入和修改,密码设置和修改。用户权限设置,包含审批流制订,用户操作功效权限设置,用户角色设置等。组织机构管理,包含机构设置和修改,机构删除等。对系统操作日志管理和查看,数据库备份功效等。库存管理系统使用和帮助功效。4.2系统功效模块设计依据对齐大山铁矿库存管理系统功效分析,本系统关键设计七大功效模块:(1)库存管理模块。关键功效包含对库存物资基础信息进行设置;库存信息查询;短线库存和超线库存查询功效。(2)入库管理模块。关键功效包含对物资入库操作及入库查询功效。(3)领用管理模块。关键功效包含领料单编制,领料单上报及领料单逐审批功效。(4)出库管理模块。关键功效包含查看领料单,按领料单发料,领料单退回及出库信息查询功效。(5)盘存管理模块。关键功效包含对库存信息计算机自动盘点和手动盘点和盘存统计等功效。(6)结存管理模块。关键功效为结存查询,即对当期期初,入库,出库,结存进行查询功效。(7)后台管理模块。关键功效为菜单管理,用户管理,角色管理,机构管理,日志管理,数据库备份等功效。各模块结构图见图4-1。图4-1齐大山铁矿库存管理系统功效结构图4.3系统数据库结构设计数据库设计是对保留库存管理系统数据数据库结构进行设计,对整个系统开发含有很关键作用。本系统数据库命名为QK_STOCK用来存放库存管理数据信息,具体表信息以下:仓库基础信息表(t_business_Store):仓库信息表关键存放仓库基础信息。如表4-1所表示。表4-1仓库基础信息表字段名汉字名类型长度默认值外键表外键字段StoreID主键IDint4自增加StoreCode仓库号nvarchar50StoreName仓库名称nvarchar50StoreArea仓库货位nvarchar50Pid父级IDint4物资基础信息表(t_business_GoodsInfo):物资基础信息表关键存放物资基础信息。如表4-2所表示。表4-2物资基础信息表字段名汉字名类型长度默认值外键表外键字段GoodsInfoID主键IDunique32newid()GoodsCode物料编码nvarchar50StoreName仓库名称nvarchar50AlertHigh警戒高线int40AlertLow警戒底线int40入库表头(t_business_InStoreH):入库表头关键存放入库物料摘要信息。如表4-3所表示。表4-3入库表头字段名汉字名类型长度默认值外键表外键字段InStoreID主键IDuniquenewid()InBillNo入库单号nvarchar50InStoreTime入库时间datetime50StorePerson经办人nvarchar50Systime系统默认时间datetime50getdate()入库表表体(t_business_InStoreB):入库表表体关键存放入库物料具体信息。如表4-4所表示。表4-4入库表表体字段名汉字名类型长度默认值外键表外键字段InStoreBID主键IDuniqnewidFK_EquListID物品类别IDuniqt_data_EquListEquListIDInBillNo入库单号nvar50InStoreNum入库数量int4InStorePrice入库计划价deci15Systime系统时间date50getdate库存表(t_business_Invetory):库存表关键存放库存物料具体信息,包含数量、单价、入库时间等。如表4-5所表示。表4-5库存表字段名汉字名类型长度默认值外键表外键字段InvetoryID库存表IDuniqnewidFK_EquListID物品类别IDuniqt_data_EquListEquListIDInvetoryNum库存数量int4InvetoryPrice库存单价deci15SysTime系统时间dategetdate出库表头(t_business_OutStoreH):出库表头关键存放出库物料摘要信息。如表4-6所表示。表4-6出库表头字段名汉字名类型长度默认值外键表外键字段OutStoreID主键IDuniqnewidOutBillNo领料单号nvarchar50OutStoreTime出库时间smalldatetime50StorePerson库管员nvarchar50Systime系统时间datetime50getdate出库表表体(t_business_OutStoreB):出库表表体关键存放出库物料具体信息。如表4-7所表示。表4-7出库表表体字段名汉字名类型长度默认值外键表外键字段OutStoreBID主键IDuniqnewidFK_EquListID物品类别外键uniqt_data_EquListEquListIDOutBillNo领料单号nvar50OutStoreNum出库数量int4OutStorePrice出库计划单价deci15DrawPerson制单人int4DrawDept领料车间int4Systime系统默认时间date50getdate领用表(t_Business_Draw):领用表关键存放物资领用相关信息表,包含领料单基础信息、审批流权限控制等。如表4-8所表示。表4-8领用表字段名汉字名类型长度默认值外键表外键字段DrawID主键IDuniqnewidFK_EquListID物品类别IDuniqt_data_EquListEquListIDOutBillNo领料单号nvar50NeedNum应领数量int40RealNum实发数量int40BillPerson制单人nvar20BillDept制单车间nvar20IsBillPerson制单人确定bit1FALSEIsCheck1一级审批状态bit1FALSECheck1Person一级审批人nvar20IsCheck2二级审批状态bit1FALSECheck2Person二级审批人nvar20IsCheck3三级审批状态bit1FALSECheck3Person三级审批人nvar20IsCheck4四级审批状态bit1FALSECheck4Person四级审批人nvar20盘点表(t_data_Check):盘点表关键存放物资盘点相关信息,包含计算机自动盘点信息和手工盘点信息数据等。如表4-9所表示。表4-9盘点表字段名汉字名类型长度默认值外键表外键字段CheckID主键IDuniq默认newidFK_EqulistID物品类别IDuniq默认t_data_EquListEquListIDAutoCheckNum计算机盘存量int4ManualCheckNum手动盘存量int4CheckDate盘存日期nvar50Systime系统时间date默认结存表(t_business_SurPlus):结存表关键存放物资当期结存数据信息,包含期初、本期入,本期出、本期结余等相关信息。如表4-10所表示。表4-10结存表字段名汉字名类型长度默认值外键表外键字段SurPlusID库存表IDuniqnewidFK_EquListID物品类别IDuniqt_data_EquListEquListIDQC_SurPlus期初结余int4BQ_InStore本期入库int4BQ_OutStore本期出库int4QM_SurPlus本期结余int4SurPlusPrice结存单价deci15SurPlusMonth年月int4SysTime系统时间date第5章系统具体设计本阶段在系统总体设计基础上,对齐大山铁矿库存管理系统进行具体设计和分析,包含各个模块关键功效和步骤,并给出程序相关代码。5.1创建工程项目打开VisualStudio后,单击文件—>新建—>项目,在弹出“新建项目”窗体中选择AWeb应用程序后,VisualBasic将自动产生一个Web处理方案和新项目包,并将该项目工程命名为“齐大山铁矿库存管理系统”。5.2系统文件结构本系统依据具体业务步骤,在工程项目处理方案下分别设置了不一样功效文件夹,详见表5-1。表5-1系统文件结构明细表序号文件夹名称文件夹功效序号文件夹名称文件夹功效1App_Code存放公共类7Draw领料管理文件夹2App_Data存放数据库8StoreCheck盘存管理文件夹3App_Themes存放CSS样式及脚本9StoreIn入库管理文件夹4Bin存放Bin文件10StoreInvetory库存管理文件夹5Admin存放后台程序文件11StoreOut出库管理文件夹6Web存放前台程序文件12SurPlus结余管理文件夹5.3系统公共类在开发时常常会碰到反复调用某一代码段情况,为了开发方便,减轻代码冗余,将代码按功效封装成两个公共类文件,分别为DataBaseOper.cs类和ControlBindSet.cs类。5.3.1数据库操作类数据库操作类DataBaseOper为程序和数据库接口操作类,用来配置数据库连接字符串,连接数据库,释放并关闭数据库和对数据库内容增、删、改、查等操作,具体代码以下:publicclassDataBaseOper{privateSqlConnectionconn;privatestringdataConn="DataSource=.;InitialCatalog=QK_STOCK;PersistSecurityInfo=True;UserID=sa;Password=1";
///<summary>///打开数据库///</summary>privatevoidOpen(){if(conn==null){conn=newSqlConnection(dataConn);conn.Open();}}privateSqlConnectionOpenConn(){if(conn==null){conn=newSqlConnection(dataConn);conn.Open();returnconn;}returnconn;}
///<summary>///关闭数据库///</summary>publicvoidClose(){if(conn!=null){conn.Close();}}//释放数据库publicvoidDispose(){if(conn!=null){conn.Dispose();conn=null;}}//定义传存放过程名和SQL语句传参数组privateSqlCommandCreateCommand(stringprocName,SqlParameter[]prams){Open();SqlCommandcmd=newSqlCommand(procName,conn);cmd.CommandType=CommandType.StoredProcedure;cmd.CommandTimeout=100;if(prams!=null){foreach(SqlParameterparameterinprams){cmd.Parameters.Add(parameter);}}cmd.Parameters.Add(newSqlParameter("ReturnValue",System.Data.SqlDbType.Int,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null));returncmd;}//存放SQL语句返回无参数所影响行数publicintRunProc(stringprocName){intresult;SqlCommandcmd=CreateCommand(procName,null);result=cmd.ExecuteNonQuery();Close();Dispose();returnresult;}//存放SQL语句返回有参数所影响行数publicintRunProc(stringprocName,SqlParameter[]prams){intresult;SqlCommandcmd=CreateCommand(procName,prams);result=cmd.ExecuteNonQuery();Close();Dispose();returnresult;}//调用存放过程使用SqlDataReaderpublicvoidRunProc(stringprocName,outSqlDataReaderdataReader){SqlCommandcmd=CreateCommand(procName,null);dataReader=cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);}//定义无SQL参数SqlDataAdapterpublicDataSetRunProcDataSet(stringprocName){SqlCommandcmd=CreateCommand(procName,null);SqlDataAdaptersda=newSqlDataAdapter();sda.SelectCommand=cmd;DataSetds=newDataSet();sda.Fill(ds);Close();Dispose();returnds;}//定义有SQL参数SqlDataAdapterpublicDataSetRunProcDataSet(stringprocName,SqlParameter[]prams){SqlCommandcmd=CreateCommand(procName,prams);SqlDataAdaptersda=newSqlDataAdapter();sda.SelectCommand=cmd;DataSetds=newDataSet();sda.Fill(ds);Close();Dispose();returnds;}//定义有SQL参数SqlDataReaderpublicvoidRunProc(stringprocName,SqlParameter[]prams,outSqlDataReaderdataReader){SqlCommandcmd=CreateCommand(procName,prams);dataReader=cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);}//定义SQLSqlParameter传数publicSqlParameterMakeParam(stringParaName,SqlDbTypeDbType,Int32Size,ParameterDirectionDirection,objectValue){SqlParameterparam;if(Size>0){param=newSqlParameter(ParaName,DbType,Size);}else{param=newSqlParameter(ParaName,DbType);}param.Direction=Direction;if(!(Direction==ParameterDirection.Output&&Value==null)){param.Value=Value;}returnparam;}//定义SQLSqlParameter往里传数publicSqlParameterMakeInPara(stringParaName,SqlDbTypeDbType,intSize,ObjectValue){returnMakeParam(ParaName,DbType,Size,ParameterDirection.Input,Value);}//定义SQLSqlParameter往外传数publicSqlParameterMakeOutPara(stringParaName,SqlDbTypeDbType,intSize,ObjectValue){returnMakeParam(ParaName,DbType,Size,ParameterDirection.Output,Value);}publicstringRunProcS(stringprocName,SqlParameter[]prams){stringresult;SqlCommandcmd=CreateCommand(procName,prams);try{result=cmd.ExecuteScalar().ToString();}catch{return"0";}Close();Dispose();returnresult;}publicDataSetExecuteSqlDsReapter(stringprocName,intrepeatestr1,intrepeatestr2){SqlCommandcmd=CreateCommand(procName,null);SqlDataAdapterdap=newSqlDataAdapter(cmd);DataSetdst=newDataSet();dap.Fill(dst,repeatestr1,repeatestr2,"mytable");Close();Dispose();returndst;}publicDataSetExecuteSqlDsReapter(stringprocName,SqlParameter[]pam_Array,intrepeatestr1,intrepeatestr2){SqlCommandcmd=CreateCommand(procName,pam_Array);SqlDataAdapterdap=newSqlDataAdapter(cmd);DataSetdst=newDataSet();dap.Fill(dst,repeatestr1,repeatestr2,"mytable");Close();Dispose();returndst;}//返回带参数DataTable类型publicDataTableRunProcDataTable(stringprocName,SqlParameter[]paras){SqlCommandcmd=CreateCommand(procName,paras);SqlDataAdapterdap=newSqlDataAdapter(cmd);DataTabledt=newDataTable();//dap.Fill(dst,repeatestr1,repeatestr2,"mytable");dap.Fill(dt);Close();Dispose();returndt;}//返回带SQL语句DataTable类型publicDataTableRunSqlDataTable(stringSqlstr){SqlDataAdaptersda=newSqlDataAdapter(Sqlstr,OpenConn());DataTabledt=newDataTable();sda.Fill(dt);this.Dispose();this.Close();returndt;}//返回带SQL语句DataSet类型publicDataSetRunSqlDataSet(stringSqlstr,stringname){SqlDataAdaptersda=newSqlDataAdapter(Sqlstr,OpenConn());DataSetds=newDataSet();sda.Fill(ds,name);this.Dispose();this.Close();returnds;}//返回带SQL语句影响行数int类型publicintRunSqlInt(stringSqlstr){SqlCommandcmd=newSqlCommand();intresult;cmd=newSqlCommand(Sqlstr,OpenConn());result=cmd.ExecuteNonQuery();Close();Dispose();returnresult;}publicSqlDataReaderExecuteReader(stringsqlstr){SqlCommandcmd=newSqlCommand(sqlstr,OpenConn());SqlDataReaderdr=cmd.ExecuteReader();returndr;}5.3.2公共控件类公共控件类ControlBindSet为系统常见控件属性和方法实现类,包含DropDownList、CheckBoxList、RadioButton、ListBox、GridView、Fpspread和打印和消息提醒控件等。具体代码以下:publicclassControlBindSet{DataBaseOperdbo=newDataBaseOper(); publicControlBindSet() { //TODO:在此处添加结构函数逻辑 }
//===============================================#region绑定DropDownList控件
publicvoidDropDownListBind(DropDownListDP,DataTableDTA,stringTextField,stringValueField){DataTabledt=DTA;if(dt.Rows.Count>0){DP.DataTextField=TextField;DP.DataValueField=ValueField;DP.DataSource=dt;DP.DataBind();}}#endregion//===============================================#region绑定CheckBoxList控件publicvoidCheckBoxListBind(CheckBoxListCK,DataTableDTA,stringTextField,stringValueField){DataTabledt=DTA;CK.DataTextField=TextField;CK.DataValueField=ValueField;CK.DataSource=dt;CK.DataBind();}#endregion//===============================================#region绑定RadioButton控件publicvoidRadioButtonBind(RadioButtonListRD,DataTableDTA,stringTextField,stringValueField){DataTabledt=DTA;RD.DataTextField=TextField;RD.DataValueField=ValueField;RD.DataSource=dt;RD.DataBind();}#endregion//===============================================#region绑定ListBox控件publicvoidListBoxBind(ListBoxLB,DataTableDTA,stringTextField,stringValueField){DataTabledt=DTA;LB.DataTextField=TextField;LB.DataValueField=ValueField;LB.DataSource=dt;LB.DataBind();LB.Rows=dt.Rows.Count;}#endregion//===============================================#region消息提醒框publicstringMessage(stringmes){stringmess="<script>alert('"+mes+"')</script>";returnmess;}publicvoidMessage(UpdatePanelpanel,stringmes){ScriptManager.RegisterStartupScript(panel,this.GetType(),"updateScript","alert('"+mes+"')",true);}#endregion//===============================================#region绑定GridView控件publicvoidGridViewBind(GridViewGD,DataTableDTA){DataTabledt=DTA;GD.DataSource=dt;GD.DataBind();}#endregion//===============================================#regionFpspread控件Excel页面加载publicvoidLoadExcel(stringflag,FpSpreadFpSpread1,HttpServerUtilitypage){DataTabledt=dbo.RunSqlDataTable("selectExcelPath,PageWidth,PageHeight,ExcelRows,ExcelColumnsfromExcelPathwhereFlag='"+flag+"'");string[]array={dt.Rows[0][0].ToString(),dt.Rows[0][1].ToString(),dt.Rows[0][2].ToString(),dt.Rows[0][3].ToString(),dt.Rows[0][4].ToString()};FpSpread1.OpenExcel(page.MapPath(array[0]));//路径FpSpread1.ActiveSheetViewIndex=0;FpSpread1.RowHeader.Visible=false;FpSpread1.ColumnHeader.Visible=false;FpSpread1.ActiveSheetView.AllowPage=false;FpSpread1.CommandBar.Visible=false;FpSpread1.BorderStyle=System.Web.UI.WebControls.BorderStyle.None;FpSpread1.BorderColor=Color.Transparent;FpSpread1.VerticalScrollBarPolicy=ScrollBarPolicy.Never;FpSpread1.HorizontalScrollBarPolicy=ScrollBarPolicy.Never;FpSpread1.Width=Unit.Pixel(Convert.ToInt32(array[1]));//宽度FpSpread1.Height=Unit.Pixel(Convert.ToInt32(array[2]));//高度FpSpread1.Rows.Count=Convert.ToInt32(array[3]);FpSpread1.Columns.Count=Convert.ToInt32(array[4]);}#endregion5.3系统登录模块设计依据用户需求,在VisualStudio中对各个页面进行了设计,运行程序以后,首优异入系统登录页面,图5-1所表示。图5-1齐大山铁矿库存管理系统登录界面进入此界面后,用户需输入拥有用户名和密码,当用户名和密码验证经过后,单击“登录系统”按钮,系统会自动进入主界面,然后依据用户所拥有权限开启对应功效。本系统主界面整体结构为上左右结构,上面部分显示系统名称和目前使用人员名称和目前系统时间,左面部分采取了树型层次结构罗列了系统全部功效,右面部分为用户区,显示目前操作使用窗口。系统主界面图5-2所表示。图5-2齐大山铁矿库存管理系统主界面5.3库存管理模块设计5.3.1物料设置(1)功效实现:物料设置关键功效为库存备件设置库存警戒低线数量和警戒高线数量,并提具体数据模糊查询功效,图5-3所表示。图5-3物料设置操作页面(2)窗体实现:StoreInvetory/WuLiaoSheZhi.aspx(3)代码实现:publicpartialclassStoreInvetory_WuLiaoSheZhi:System.Web.UI.Page{ControlBindSetcds=newControlBindSet();PanDianDataddx=newPanDianData();protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){GridViewBine1();}}#region查询protectedvoidButton1_Click(objectsender,EventArgse){GridViewBine1();}#endregion#region绑定publicvoidGridViewBine1(){DataTabledt=ddx.WuLiaoChaoXian(TextBox1.Text.ToString().Trim(),TextBox2.Text.Trim(),TextBox3.Text.Trim());cds.GridViewBind(dt,GridView1,LblCurrentIndex1,LblPageCount1,LblRecordCount1,btnFirst1,btnPrev1,btnNext1,btnLast1);}#endregion#regionGridView翻页事件protectedvoidPagerButtonClick1(objectsender,EventArgse){GridView1.PageIndex=Convert.ToInt32(((LinkButton)sender).CommandName)-1;GridViewBine1();}#endregion#region保留protectedvoidButton2_Click(objectsender,EventArgse){if(GridView1.Rows.Count>0){for(inti=0;i<GridView1.Rows.Count;i++){WebNumericEditwb1=(WebNumericEdit)GridView1.Rows[i].Cells[6].FindControl("WebNumericEdit1");WebNumericEditwb2=(WebNumericEdit)GridView1.Rows[i].Cells[7].FindControl("WebNumericEdit2");stringduanxian=wb1.Text.ToString();//短线库存stringchaoxian=wb2.Text.ToString();//超线stringweiyizhujian=GridView1.Rows[i].Cells[9].Text.ToString();ddx.WuLiaoChaoXianShuLiang(duanxian,chaoxian,weiyizhujian);}}GridViewBine1();}#endregion}5.3.2库存查询(1)功效实现:用来查询库房现有备件库存信息,包含物料编码、物料名称、规格型号、库存单价、数量和总价等,图5-4所表示。图5-4库存查询功效实现页面(2)窗体实现:StoreInvetory/KuCunChaXun.aspx(3)代码实现:publicpartialclassStoreInvetory_KuCunChaXun:System.Web.UI.Page{DataBaseOperdbo=newDataBaseOper();ControlBindSetcds=newControlBindSet();liuhelh=newliuhe();//=======================================================protect
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习收受商业贿赂处理办法心得
- 学生养成教育考核细则
- 学生美育制度
- 学生迟到的处理办法
- 物业管理区域物业服务投诉举报细则
- 行李寄存服务规范
- 人教新版小学英语六年级上Lesson29教学设计
- 人教版新起点英语一上《Unit 3 Animals 1》教学设计
- 教育培训从业人员工作失误造成损失检讨书
- 教师服务学生意识自查问题及整改措施
- 2026年广西社区工作者招聘考试笔试试题(含答案)
- 2026秋新教科版科学五年级上册教学课件:第四单元 第5课 岩石的类别与变化 有2个微课视频
- 成都未来科技城发展服务局2026年社会招聘笔试题库有答案详解
- 2026年机关事业单位考调、选调工作人员考试(综合知识、综合应用能力测试)模拟试题及解析(甘孜州)
- 雨课堂学堂在线学堂云《内科学(白城医学高等专科学校)》单元测试考核答案
- 2026年新水利安全员b证考试试题及答案
- 2026年舞台展台搭建安全责任书
- 二年级上册数学【应用题乘法】80题(含答案)
- 2026年全国中考语文试题汇编-议论文阅读及答案
- 26年云南会计专升本试题及答案
- 冷库管理制度及流程规范
评论
0/150
提交评论