资源描述:
《仓储物流系统设计大学论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
摘要仓储是一项古老的物资管理行为,作为现代物流运作中最重要的组成部分,仓储在实际应用中越来越重要。在现代物流领域中,仓储的地位、功能随经济结构的变化逐渐摆脱了传统的储藏物资的单一功能,形成多元的和系列化的仓储服务。随着仓储地位、功能的提升,对仓储管理的要求也越来越高了。并且随着电子商务技术和网络技术的快速发展,现代物流技术也在不断进步。物流技术是指与物流要素活动有关的所有专业技术的总称,包括各种操作方法、管理技能等,如流通加工技术、物品包装技术、物品标识技术、物品实时跟踪技术,物流存储技术等。互联网在我国的普及和发展已经非常成熟和稳固,我们利用现有的网络技术也可以实现对物流的商品的跟踪监控!因此基于以上考虑在vs2010上开发仓储物流系统来实现仓储管理对商品库存信息、供应商信息、商品信息、商品入库信息、商品出库信息的便捷管理,而数据库则采用关系数据库SQL不但可以实现对系统数据更高效的管理而且便于系统的移植和跨平台操作,实现了仓储管理的数字化、信息化,减少了人力,节省了财力,提高了企业运作的效率对有效控制商品库存量提供了必要的信息情报为企业节省了不必要的浪费。关键词:仓储物流;仓储管理;SQL;vs20102 AbstractStorageisanoldmaterialmanagementbehavior,asthemostimportantpartofthemodernlogisticsoperation,storageismoreandmoreimportantinthepracticalapplication.Inthefieldofmodernlogistics,thepositionandfunctionofthestorageandthechangeoftheeconomicstructuregraduallygetridofthesinglefunctionofthetraditionalstoragematerials.Withthestoragestatusandfunctionoftheupgrade,thestoragemanagementrequirementsarealsogettinghigherandhigher.Withtherapiddevelopmentofe-commercetechnologyandnetworktechnology,modernlogisticstechnologyisalsoinprogress.Logisticstechnologyisageneraltermandelementsoflogisticsactivitiesofallprofessionalandtechnical,includingvariousmethodsofoperation,realtimeobjecttrackingtechnology,logisticsandstoragetechnology.ThepopularityanddevelopmentofInternetinourcountryhasbeenverymatureandstable,wecanusetheexistingnetworktechnologytorealizethetrackingandmonitoringofthelogistics!SobasedontheaboveconsiderationsinVS2010developmentwarehousinglogisticssystemtoachievewarehousemanagementofcommodityinventoryinformation,supplierinformation,commodityinformation,commoditystorageofinformation,goodsoutofthelibraryinformationandconvenientmanagement,whilethedatabaseisusedrelationaldatabaseSQLlanguagecannotonlyrealizethemanagementdataofthesystemmoreefficientandeasytothetransplantofthesystemandcrossplatformoperation,realizethedigitalwarehousemanagement,information,andreducethemanpower,financialsavings,improvetheefficiencyoftheoperationofenterprisestoeffectivelycontroltheinventoryprovidesthenecessaryinformationfortheenterprisetosavetheunnecessarywaste.Keyword:logistics;management;sql;vs20102 目录1.绪论1.1前言11.2国内仓储物流管理的发展现状11.3仓储物流系统的必要性21.4仓储物流系统的优点32.系统概要设计2.1技术可行性分析52.2基本设计概念和处理流程62.3系统目标功能 63.数据库的构建3.1物流系统仓储管理数据库设计83.2数据表的构建93.3数据库数据存储过程的实现164.系统构建4.1登陆的实现204.2公司设置214.3仓库管理274.4客户管理305.系统运行测试5.1pc端测试345.2实际测试346.结束语35参考文献36致谢372 1.绪论1.1前言近年来,我国国内经济已成为世界经济大市场中的重要组成部分,成为世界生产基地和最具发展潜力的市场,商品的流通和物质生产达到了新的规模。物流作为联系生产和消费、联系城市和乡村的纽带得到更大的发展空间。仓储作为物流的重要组成部分,是企业物料配送的一个重要环节,是保持物品使用价值的重要手段,是提高经济效益的有效途径。现代物流业的发展离不开现代化的仓储,现代化仓储的发展也必然会推动现代物流的发展,仓储作为物流网络的节点,合理的仓储管理有效的连接了供应与需求方。随着现代信息网络技术的日益完善和世界运输业的自由化,物流的发展非常迅猛,该产业已经成为国民经济中的一个重要的新兴产业部门。在我国,特别是在当前我国社会主义市场经济的发展中,物流作为经济活动的一个过程越来越显现出其突出重要性,物流的地位、功能都发生了深刻的变化。目前许多市场意识较为敏锐的企业,也早已把物流作为提高市场竞争力和提升企业核心竞争力的重要手段。仓储物流活动是物质产品在社会再生产过程中必然出现的一种状态,然而,在仓储活动中,为了保证物资的使用价值在时空上的顺利转移,必然要消耗一定的劳动力和金钱。这种费用和劳力支出越少越好。那么,搞好物资的仓储活动,就可以减少物资在仓储过程中的物资损耗和劳动消耗,就可以加速物资的流通和资金的周转,从而节省费用,降低物流成本,提高物流社会效益和企业的经济效益。所以一个好的仓储物流管理系统成了必需品。1.2国内仓储物流管理的发展现状1.2.1管理形式粗放、单一,技术相对简单落后37 目前,中国的仓储管理形式整体相对落后,虽然现代化仓库开始不断增加,但其所占比例很低,主要还是靠手工账或简单的系统进行管理,操作仍以手工作业为主,设备简单,技术不高,管理方法仍较落后。1.2.2认识片面、导致管理混乱目前,很多企业特别是第三方物流企业中的管理人员及仓储运作人员对仓储的管理存在认识的严重片面性,导致管理的片面化。认为仓储管理就是入库管理、出库管理和在库管理等基本作业的操作管理;认为只要作业管理规范了,每一个环节都没问题了,库存自然没问题了。这种只看到了现场作业管理,而认识不到在库保管、库存管理和仓库布局管理的重要性,结果是往往每天忙个不停的同时,问题却不停的出现,导致现场管理混乱,影响了工作效率,甚至给公司造成直接的经济损失。1.2.3仓储管理资源浪费,成本高仓库设计、设备配置、仓库布局缺乏科学的系统规划,经常造成仓库设施设备及空间的大量浪费;同时在人员管理上一般采用定岗定员,缺乏柔性管理能力,很难满足业务的波动性需求,为保证服务的准时性,经常造成人力等各种资源浪费。因此仓储管理成本居高不下。1.2.4仓储管理专业人才缺乏,制约了仓储管理水平的发展在仓储管理中,既需要掌握一定专业技术的人才,也需要操作型人才,更需要仓储管理型人才。因我国目前整体仓储行业发展水平不高,这几方面的人才都很匮乏。同时,不少高校在培养物流人才方面,只重理论教学,轻视实践教学,实践教学投入经费不足,实施校企结合的办学模式没有落到实处,培养出来的学生动手能力差,不符合企业实际需要。人才匮乏,制约了仓储管理水平的发展。1.3仓储物流系统的必要性仓储难是整个物流业存在的普遍现象,严格的土地管理政策使仓储企业取得土地的难度加大,土地取得成本和使用成本较高。仓储用地价格近年来已经走上37 “恶性循环”:城内的仓库要拆迁,单一企业单独征地建仓库已经很难,多数企业只有进入“物流园区”;但大中城市“物流园区”的土地基本上在每亩30万元以上,真正从事仓储服务的企业很难承受这样的价格,这就出现两种“怪现象”:要么园区招商难,造成土地闲置,要么真正的仓储企业征不到土地。为了节约成本,很多经销商如今都在更远的地方找仓库,但现在油价上涨,其成本仍是居高不下,我国物流协会的数据显示,仓储成本占整体物流成本的三分之一,在目前仓储成本逐年上涨的情况下,给流通带来的压力凸显,已影响商品价格。我国特殊经济发展历程使得我们仓库拥有量非常大。其中区域、格局、功能、大小都不相一致。由于缺乏统一的国家标准和专业性的规划设计,各地已经建成的新仓库区存在许多的问题。众多企业为了满足自身发展的需要纷纷建立自己的仓库,导致仓库数量众多,布局极不合理,而且因历史的原因,目前仓储仍以老仓库、小仓库为主,其中有70%是原来的平房仓,占地面积大,储存效率低,造成了部分地区仓储大量剩余和部分地区仓储能力不足的两极分化局面。加之仓储管理水平不高,其资源利用率平均还不到40%,导致物流效率普遍低下这种状况浪费了大量的人力、物力和财力,直接影响了地区经济的发展,进而影响了城市或地区整体发展规划的实施。但是为了保证物资的使用价值在时空上的顺利转移,必然要消耗一定的劳动力和金钱。这种费用和劳力支出越少越好。那么,搞好物资的仓储活动,就可以减少物资在仓储过程中的物资损耗和劳动消耗,就可以加速物资的流通和资金的周转,从而节省费用,降低物流成本,提高物流社会效益和企业的经济效益。如果通过运用自动识别技术与移动计算技术,通过无线网络进行数据采集记录并跟踪物料在企业内部物流中的各个环节,对库存物品的入库、出库、移动、盘点、配料、拣料、出货、运输等操作进行全面的控制和管理,有效的利用仓库存储空间,提高仓库的仓储能力,那么将最终提高仓库存储空间的利用率及仓库物料管理的质量和效率,降低仓库库存成本,提升市场竞争力,所以一个好的仓储物流管理系统成了必需品。1.4仓储物流系统的优点1.4.1提高企业物流综合竞争力 37 物流信息管理系统的应用有利于与提高物流活动的有效性,在信息不充分的情况下,物流运输得不到足够的信息支持。比如,货物不必要的流动,造成资源的浪费,或货物运输不是选择最短的途径,造成不必要的损失。而信息成分的情况下,物流活动将容易被科学地计划和组织,从事达到物流的合理性,使整个物流活动达到最大的经济和社会效应。 1.4.2内部运作效率提高,能够从容处理各种复杂物流业务物流管理信息的应用有益于提高物流效益 物流系统是一个复杂的、庞大的系统,其中又分为很多的子系统,同时各系统密切的交织在一起,紧密联系。只有充分应用现代信息化技术,才能使整个物流系统的运作合理化;只有提高物流系统的各环节、各子系统的信息化水平,才能提高整个物流系统的运行效率。 1.4.3 物流信息的运用有利于物流服务能力的提升 由于信息的及时、全面的获取与加工,供需双方可以充分的交互和共享信息,使得物流服务更准确、客户满意度提高;同时顾客可以有更多自我服务功能,可以决定何时、何地、以何种方式获得定制的物流服务;另外在提供物流服务的同时,可以为顾客提供信息、资金等双赢的增值服务。 1.4.4在对大量的客户业务数据进行统计分析的基础上,使得向客户提供增值服务成为可能,并挖掘出巨大的销售潜力 信息技术的应用有利于提高物流运作的透明度信息技术的应用使得物流过程中货物的状态和变化透明化,使得物流成本和费用的实际情况更容易被掌握,从而增强了信息的准确性。同时由于动态信息的及时掌握,可以根据情况做出快速而有效的反应,实现物流运作的动态决策。 1.4.5加强总部对分支机构的管理37 仓储通过改变物的时间状态,克服产需之间的时间差异而在物流中获得时间效用。仓储不是一个完全静态过程,而是具有其基本的经济功能。仓储的作用就在于:整合、分类和交叉站台、加工延期、堆存与保管。仓储的物资储藏的基本功能决定了仓储的基本任务是存储保管、存期控制、数量管理、质量维护;同时,利用物质的存放,开发和开展多种服务,是提高仓储附加价值、促进物资流通、提高社会资源效益的有效手段,因而也是仓储的重要任务。1.4.6信息技术的应用有利于促进物流服务与技术的创新 我认为,随着现代信息化技术和物流业的不断发展,与先进管理思想结合的信息技术给传统物流带来了根本性的变化。物的流动伴随着信息的流动.而信息流又控制着物流。正是先进信息技术手段的应用,使得原先独立的各个物流环节能有效地整合在一起。满足了不断发展的物流服务要求。而通过计算机技术、网络技术、电子数据交换技术、条码技术、全球卫星定位系统、地理信息系统等信息技术实现的物流管理信息系统.使得物流管理的自动化、高效化、及时性得以实现,现代物流只有在信息系统的支持下,才能实现物流网络四通八达,规模效益日益显现.社会物流成本不断下降。2系统概要设计2.1技术可行性分析2.1.1vs2010优势Vs2010全称VisualStudio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境,VS2010新增了代码提示和关键字搜索功能,该功能使得软件开发时具有了更加人性化与高效率的作业。而且便捷轻松的引用对话框,更加提高了开发效率,所以使用vs2010更有利于仓储物流系统的设计。2.1.2SQL优势SQLServer200837 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。存档海量信息,历史数据随时可查。提高记录和检索信息的效率;减少重复工作。数据库里所需要录入的资料通常只需要录入一次即可,所有数据信息都可以根据需要归纳、整理、调用;管理方便;数据库中可以加入流程管理,将审批流程纳入进去;有效地集合企业资源,并合理分配使用;高效跟踪业务;数据库加密管理,可减少人员流动带来的资料或者技术损失;流程规范化,可减少对某些岗位人员的依赖,减少人员流动导致的岗位缺失带来的损失;可实现业务与财务同步,即时发生的成本可以快速反应到财务报表上。2.2基本设计概念和处理流程系统基本设计概念如图2-1仓储物流系统总体功能模块图图2-1仓储物流系统总体功能模块图2.3系统目标功能 37 系统的功能是系统能够做的事情,在本系统中,希望系统要实现的功能有: 2.3.1系统管理: 权限管理:给操作员分配相应的权限。 日志管理:保存每个操作员所进行的所有操作,并提供相关信息的查询。 数据备份:将所有数据表信息定期保存在磁盘中,确保数据的安全性与可靠性。 数据恢复:将备份文件恢复到数据库中。2.3.2报表管理: 业务统计:统计客户期间的入库业务量、出库业务量、库存货物信息等。 工作统计:统计工作人员在工作期间的表现,完成任务量,完成任务所用时间等。库存统计:统计库存状况(可以按客户、货物、器件、仓区组合统计)。货物统计:统计期间的进出存、大品种货物信息。 货位统计:统计货位占有情况、分配情况。 盘点统计:统计与盘点相关的信息。 2.3.3查询管理在库查询:根据不同的查询条件,查询出库存货物的信息。 进货查询:根据不同的查询条件,查询出货物入库的信息。出货查询:根据不同的查询条件,查询出出库货物的信息。 盘点查询:根据不同的查询条件,查询出与盘点相关信息。货况查询:根据不同的查询条件,查询出货物状况的信息。基本资料查询:根据不同的查询条件,查询出与基本资料相关信息。 2.3.4基本资料管理 客户管理:对客户基本信息进行增加、删除、修改操作。 货物管理:对货物基本信息进行增加、删除、修改操作。 37 业务员管理:对业务员基本信息进行增加、删除、修改操作。 其它基本资料管理:对基本资料进行增加、删除、修改操作。2.3.5仓区管理仓区参数设置:提供对仓区参数的信息进行添加、删除、修改等操作。 库位分配示意图:按平面图形式显示库位是否分配信息。库存预警:在超出或低于库存限度时给予报警。 计算机辅助分配:进行库位分配时,计算机提供可分配的仓位。2.3.6客户远程查询系统 客户可根据不同的查询条件对自己的货物信息进行在库查询、进货查询、出货查询、货况查询。 2.3.7权限管理 我们对操作进行编码,为每个操作角色赋予相应的操作权限,形成操作权限表,系统管理员能根据需要灵活地对操作角色的操作权限进行赋予与修改,以此有效灵活地对用户的操作权限进行控制。对系统的权限编号的权限内容进行权限的管理,如修改客户权限的权限大小,入库管理员的权限大小等操作。 3.数据库的构建3.1物流系统仓储管理数据库设计 数据库在整个系统设计中起着举足轻重的作用,任何数据都要在数据库中进行存储以保证数据在以后的操作实现成为可能。数据库设计是程序功能性设计的基础,只有数据库设计完后才能进行功能性设计,根据数据库结构实现相应的软件功能。 仓储管理系统---仓储管理的数据库名称为Logistic(物流),使用此数据库的网络软件为中速物流仓储管理系统,它在服务器上的部署名为Logistic。37 该系统采用轻量化的数据库解决方案,采用SQLserver2008数据库。因为该系统是整个物流系统的一个功能模块要实现的是仓储管理,所以数据库中的相关数据涉及到,货物信息,仓库信息,客户信息,员工信息,交易信息,基础信息等。3.2数据表的构建3.2.1货物信息英文名称:goods中文名称:货物表描述:显示货物在仓库信息的表格货物编号(Goods_ID)Varchar(20)上一次的货物种类IDVarchar(20)第一次货物种类IDVarchar(20)当前货物种类(Goods_Kinds_ID)Varchar(20)是否次品(Is_Inferior_Quality)Boolean是否退货(Is_Return_Goods)Boolean当前位置ID(Position_ID)Varchar(20)存储仓库ID(Warehouse_ID)Varchar(20)订单编号ID(Order_ID)Varchar(20)是否存在货箱中Boolean进库时间(Warehouse_In_Time)Date出库时间(Warehouse_Out_Time)Date加工费用(Process_Cost)Float出库目的地(Warehouse_Out_Destination)Varchar(20)货物接收者(Warehouse_Out_User)Varchar(1)货物状态(Status)Int英文名称:goods_kings中文名称:货物种类表37 描述:显示货物基础信息的表格货物种类ID(Goods_Kinds_ID)Varchar(20)供货商(Product_ID)Varchar(20)商家ID(Merchant_ID)Varchar(20)品牌(Trademark)Varchar(20)货物名称(Goods_Name)Varchar(20)男、女(Sex)Varchar(20)颜色(Colour)Varchar(20)规格(Standard)Varchar(20)产地(Producing_Area)Varchar(20)重量(Weight)Varchar(20)单位(Unit)Varchar(20)长(Length)Varchar(20)宽(Width)Varchar(20)高(Height)Varchar(20)价格(Price)Varchar(20)折价(Discount_Price)Varchar(20)退货价(Return_Price)Varchar(20)数量上限(Amount_Up)Varchar(20)数量下限(Amount_Down)Varchar(20)保质期(Shelf_life)Varchar(20)单件积分(Integral)Varchar(20)总积分Varchar(20)状态(Status)varchar(20)当前数量(Count)int3.2.2仓库信息英文名称:warehouse中文名称:仓库表37 描述:显示仓库基础信息的表格仓库ID(Warehouse_ID)Varchar(20)区域ID(Area_ID)Varchar(20)仓库名称(Warehouse_Name)Varchar(20)仓库地址(Warehouse_Address)Varchar(20)仓库用途(Purpose)Varchar(20)仓库规格(Standard)Int费用(Constant_Cost)float负责人ID(Manger_ID)Varchar(20)状态(Status)Int英文名称:warehouse_area中文名称:库区表描述:显示仓库划分的表格库区ID(Warehouse_Area_ID)Varchar(20)库区名字(Warehouse_Area_Name)Varchar(20)仓库ID(Warehouse_ID)Varchar(20)商家ID(Merchant)Varchar(20)是否是一个商家(Is_Merchant)boolean类型(Category)Int列(X)Int排(Y)Int层(Z)Int库区成本(Constant_Cost)Float库区负责人(Manager_ID)Varchar(20)状态(Status)Varchar(20)3.2.3客户信息英文名称:merchant中文名称:客户表37 描述:显示客户基础信息的表格商家名称(Name)Varchar(20)商家ID(Merchant_ID)Varchar(20)客户等级(Level)Int商家注册地(Address)Varchar(20)税务登记号(Tallage_Number)Varchar(30)联系人(Contact)Varchar(20)联系电话(Telephone)Varchar(20)状态(Status)Int录入员工ID(Employee_ID)Varchar(20)3.2.4员工信息英文名称:employee中文名称:员工表描述:显示员工基础信息的表格员工ID(Employee_ID)Varchar(20)姓名(Name)Varchar(10)身份证号(Identity_Card)Varchar(20)性别(Sex)Varchar(5)职位(Post)Varchar(20)权限(Limits)Int账号(User_Name)Varchar(20)密码(Password)Varchar(20)入职时间(Entrant_time)Date辞职时间(Resign_time)Date部门ID(Department_ID)Varchar(20)基本工资(Wage)Float启用状态(Status)Int英文名称:employee_task37 中文名称:员工任务表描述:显示员工任务信息的表格任务编号(Task_Number)(主键)Int任务ID(Task_ID)Varchar(10)员工ID(Employee_ID)Varchar(20)实际开始时间(Start_Time)DataTime实际结束时间(Finished_Time)DataTime完成货物的数量(Count)Int任务状态(Status)Int订单号(Order)(不能为空)Varchar(20)预期开始时间(Estimate_Start_Time)DataTime预期结束时间(Estimate_Finish_Time)DataTime日期(Date)datetime3.2.5交易信息英文名称:transaction中文名称:交易代码表描述:显示客户交易信息的表格交易代码ID(Transaction_ID)Varchar(20)交易代码种类ID(Type_ID)Varchar(20)付款方式(Payment)Int时限类型(Time_Limit_Type)Int开始时间(Time_Limit_Start_Time)DataTime结束时间(Time_Limit_Finish_Time)DataTime等级分类(Level_Type)Int等级备注(Level_Remarks)Int单价(Single)Float等级数值(Level_Value)Float租金递增方式(Rent_Increase_Type)Int37 租金递增(Rent_Increase)Varchar(20)费用结算日(Pay_Date)Varchar(20)租凭保证金(Guarantee_money)Float保险类型(Guarantee_Type)Int保险(Guarantee)Float收费说明(Pay_Explain)Varchar(50)备注(Explain)Text税款类型(Tax_Type)Int税款(Tax)Int保价类型(Support_Value_Type)Int保价(Support_Value)Float免单次数(Free_Single_Number)Int最低收费(Min_Price)Float封顶收费(Max_Price)Float滞纳金(Overtime_Price)Float商家(Merchant_ID)Varchar(20)英文名称:order中文名称:订单表描述:显示客户订单的表格订单编号(Order_ID)Varchar(20)接单员工ID(Employee_ID)Varchar(20)录入订单员工ID(Record_Employee_ID)Varchar(20)审核人(Audit)Varchar(20)商家ID(Merchant_ID)Varchar(20)总金额(Total_Cost)Varchar(20)下单日期(Order_Data)datatime审核日期(Audit_Data)datatime配货日期(Excute_Date)datatime订单状态(Statuse)int37 订单种类(Order_Type)int3.2.6基础信息英文名称:department中文名称:部门表描述:显示一个物流公司运行需要部门的表格部门ID(Department_ID)Varchar(20)部门描述(Description)Varchar(50)部门名称(Name)Varchar(10)部门负责人(Manager_ID)Varchar(20)上级部门(Parent_ID)Varchar(20)启用状态(Status)Int所属区域(Area_ID)Varchar(20)英文名称:Transaction_Goods_order中文名称:交易代码,货物,订单三者的中间表描述:对所有任务信息进行联系的表格货物种类ID(Goods_Kind_ID)Varchar(20)货物数量(Goods_Count)Int交易代码(Transaction_ID)Varchar(20)交易代码对应的货物数量(Transaction_Count)Int存储仓库(Warehouse_ID)Varchar(20)订单编号(Order_ID)Varchar(20)交易代码的状态(Transaction_statuse)Int交易代码的步骤(Transaction_Steps)Int英文名称:Message_Feedback中文名称:消息反馈表描述:对各项任务状态进行反馈的表格37 消息ID(Message_Feedback_ID)Int消息描述(Message_Description)Text当前负责人(Current_Manager_ID)Varchar(20)上级负责人(Higher_Manager_ID)Varchar(20)消息处理状态(Status)Int任务ID(Task_ID)Varchar(20)消息发布时间(Message_Release_Time)DataTime图3-1数据库表的构建3.3数据库数据存储过程的实现在程序上我们使用了SQL语言,简单明了。3.3.1数据库数据的增加员工数据的增加代码如下CREATEPROCEDUREAdd_Employee//命名,采用统一的的格式,执行操作名加表名,首字母大写,这里表示添加。37 @Employee_IDvarchar(20),@Namevarchar(10),@Sexvarchar(5),@Identity_Cardvarchar(20),@Postvarchar(20),@Limitsint,@User_Namevarchar(20),@Passwordvarchar(20),@Entrant_Timedate,@Resign_Timedate,@Department_IDvarchar(20),@Wagefloat,@Statusint//标记参数表示有哪些数据要输入ASBEGINinsertintoEmployee(Employee_ID,Name,Sex,Identity_Card,Post,Limits,User_Name,Password,Entrant_Time,Resign_Time,Department_ID,Wage,Status)//在表格中中插入新的行values(@Employee_ID,@Name,@Sex,@Identity_Card,@Post,@Limits,@User_Name,@Password,@Entrant_Time,@Resign_Time,@Department_ID,@Wage,@Status)//在表格中插入值END3.3.2数据数数据的修改员工数据的修改代码如下CREATEPROCEDUREUpdate_Employee//命名,采用统一的的格式,执行操作名加表名,首字母大写,这里表示修改@Employee_IDvarchar(20),@Namevarchar(10),@Sexvarchar(5),@Identity_Cardvarchar(20),37 @Postvarchar(20),@Limitsint,@User_Namevarchar(20),@Passwordvarchar(20),@Entrant_Timedate,@Resign_Timedate,@Department_IDvarchar(20),@Wagefloat,@Statusint//标记参数表示有哪些数据要输入ASBEGINUpdateEmployeeset//选择修改的表名并且执行Name=@Name,Sex=@Sex,Identity_Card=@Identity_Card,Post=@Post,Limits=@Limits,User_Name=@User_Name,Password=@Password,Entrant_Time=@Entrant_Time,Resign_Time=@Resign_Time,Department_ID=@Department_ID,Wage=@Wage,Status=@StatuswhereEmployee_ID=@Employee_ID//执行程序的修改END3.3.3数据库数据的查找37 员工数据的查找代码如下ALTERPROCEDUREGet_Employee//命名,采用统一的的格式,执行操作名加表名,首字母大写,这里表示查找ASBEGINSELECT*FROMEmployeeWHEREEmployee.Status=1//查询语句。查找所有存在员工的数据END3.3.4数据库数据的删除员工数据的删除代码如下ALTERPROCEDUREDelete_Employee//命名,采用统一的的格式,执行操作名加表名,首字母大写,这里表示删除@Employee_IDVARCHAR(20)ASBEGINSETNOCOUNTON;UPDATEEmployeeSETStatus=0whereEmployee_ID=@Employee_ID//当输入员工ID的时候删除该员工的信息END37 图3-2数据库存储过程4.系统构建4.1登陆的实现图4-1仓储管理系统登录界面1代码实现37 privatevoidB_Login_Click(objectsender,EventArgse){string_userID=this.TB_IDInput.Text.Trim();//合法性判断if((_userID==null)||(_userID.Equals(""))){this.L_ErrorMessage.Text="用户名不能为空!";return;}string_password=this.TB_PasswordInput.Text.Trim();if((_password==null)||(_password.Equals(""))){this.L_ErrorMessage.Text="密码不能为空!";return;}//将数据提交给登陆处理函数,并返回结果枚举LoginResult_result=_controller.Login(_userID,_password);if(_result==LoginResult.IDNotExsist){this.L_ErrorMessage.Text="用户名不存在!";return;}elseif(_result==LoginResult.Failed){this.L_ErrorMessage.Text="登录失败,请重试!";return;}elseif(_result==LoginResult.IncorrectPwd){this.L_ErrorMessage.Text="密码错误,请重试!";return;}elseif(_result==LoginResult.Succeed){//窗体设置登陆成功标记this.FindForm().DialogResult=System.Windows.Forms.DialogResult.OK;}}37 4.2公司设置4.2.1今日工作图4-2仓储管理系统员工任务界面员工任务代码namespaceStore.UserInterface.Option{publicpartialclassUserTask:UserControl{CategoryController_cCtrl;EmployeeController_eCtrl;GoodsController_gCtrl;publicUserTask()//数据初始化{InitializeComponent();_cCtrl=newCategoryController();_eCtrl=newEmployeeController();_gCtrl=newGoodsController();Hashtable_categories=_cCtrl.GetAllCategoryType();Hashtable_tasks=_eCtrl.GetEmployeeTask(Global.User.EmployeeID);BindingList_task=newBindingList();37 Hashtable_eTask=_tasks["ET"]asHashtable;Hashtable_tTask=_tasks["T"]asHashtable;foreach(string_keyin_eTask.Keys){EmployeeTask_etValue=_eTask[_key]asEmployeeTask;List_tList=_tTask[_key]asList;//数据填充到Task实体集合foreach(Task_tValuein_tList){UserDisplayTask_udTask=newUserDisplayTask();_udTask.Category=((Category)_categories[_tValue.Category]).Warehouse;_udTask.Finished=_eCtrl.GetUserTaskCountRecord(Global.User.EmployeeID,_tValue.TaskID,_tValue.GoodsKinds).ToString();_udTask.FinishedTime=_tValue.Finish.ToString("yyyy-MM-dd");_udTask.GoodsKinds=_tValue.GoodsKinds;_udTask.TaskID=_tValue.TaskID;_udTask.TaskName=_tValue.Description;_udTask.Total=_tValue.Count.ToString();_udTask.TotalFinished=_tValue.FinishedCount.ToString();_task.Add(_udTask);}}this.DGV_Tasks.AutoGenerateColumns=false;this.DGV_Tasks.DataSource=_task;//数据源绑定}}}37 4.2.2部门管理图4-3仓储管理系统公司部门管理界面部门增加管理代码privatevoidInitPage()//页面自定义初始化{_dCtrl=newDepartmentController();_ssCtrl=newStandardController();_eCtrl=newEmployeeController();BindDeparmentTree();BindStoreStandard();this.TV_Department.NodeMouseClick+=newTreeNodeMouseClickEventHandler(TV_Department_NodeMouseClick);_cmStrip=newContextMenuStrip();_tsmiAdd=newToolStripMenuItem();_tsmiAdd.Text="添加下级部门";_tsmiAdd.Click+=newEventHandler(_tsmiAdd_Click);_cmStrip.Items.Add(_tsmiAdd);_tsmiDelete=newToolStripMenuItem();_tsmiDelete.Text="删除部门";_tsmiDelete.Click+=newEventHandler(_tsmiDelete_Click);_cmStrip.Items.Add(_tsmiDelete);}37 4.2.3人员管理图4-4仓储管理系统人员管理界面人员管理代码publicEmployeeManager()//人员管理{InitializeComponent();_dCtrl=newDepartmentController();_eCtrl=newEmployeeController();BindEmployeeTree();this.TV_Employee.NodeMouseClick+=newTreeNodeMouseClickEventHandler(TV_Employee_NodeMouseClick);_cmStrip=newContextMenuStrip();_tsmiAdd=newToolStripMenuItem();_tsmiAdd.Text="添加员工";_tsmiAdd.Click+=newEventHandler(_tsmiAdd_Click);_cmStrip.Items.Add(_tsmiAdd);_tsmiDelete=newToolStripMenuItem();_tsmiDelete.Text="删除员工";_tsmiDelete.Click+=newEventHandler(_tsmiDelete_Click);_cmStrip.Items.Add(_tsmiDelete);}37 4.2.4工种设置图4-5仓储管理系统工种设置界面工种添加修改代码privatevoidB_OK_Click(objectsender,EventArgse){TreeNode_node=this.TV_Stores.SelectedNode;if(_node.Level==0)//合法性判断{return;}try{Category_category=newCategory();CategoryType_type=this.CB_Categories.SelectedItemasCategoryType;_category.Wage=Convert.ToSingle(this.TB_Wage.Text.Trim());_category.Overtime=Convert.ToSingle(this.TB_Overtime.Text.Trim());_category.Excess=Convert.ToSingle(this.TB_Excess.Text.Trim());_category.Number=Convert.ToInt32(this.TB_Number.Text.Trim());_category.Hours=Convert.ToInt32(this.TB_Hours.Text.Trim());_category.Days=Convert.ToInt32(this.TB_Days.Text.Trim());_category.Score=Convert.ToSingle(this.TB_Score.Text.Trim());_category.Unit=this.TB_Unit.Text.Trim();_category.TypeID=_type.ID;_category.Warehouse=_node.Name;if(this._uOperate==UserOperate.Edit){37 if(_cCtrl.ModifyCategory(_category)){this.L_Message.Text=String.Empty;this._categories.Remove(_category.TypeID);this._categories.Add(_category.TypeID,_category);ResetPage();}else{this.L_Message.Text="修改工种信息失败,请重试";return;}}elseif(this._uOperate==UserOperate.Add){if(_cCtrl.AddCategory(_category)){this.L_Message.Text=String.Empty;this._categories.Add(_category.TypeID,_category);ResetPage();}else{this.L_Message.Text="添加工种信息失败,请重试";return;}}}37 4.3仓库管理4.3.1仓库基本信息图4-6仓储管理系统仓库基本信息设置界面代码privatevoidInitPage(){_wCtrl=newWarehouseController();_ssCtrl=newStandardController();List_values=_ssCtrl.GetAllStandard(Global.TYPE_STORE);_standards=newHashtable();foreach(Standard_valuein_values){_standards.Add(_value.ID,_value);}BindWarehouseTree();this.TV_Store.NodeMouseClick+=newTreeNodeMouseClickEventHandler(TV_Store_NodeMouseClick);this.TV_Area.NodeMouseClick+=newTreeNodeMouseClickEventHandler(TV_Area_NodeMouseClick);_cms=newContextMenuStrip();_tsmiAdd=newToolStripMenuItem();_tsmiAdd.Text="新增库区";_tsmiAdd.Click+=newEventHandler(_tsmiAdd_Click);37 _cms.Items.Add(_tsmiAdd);_tsmiDelete=newToolStripMenuItem();_tsmiDelete.Text="删除库区";_tsmiDelete.Enabled=true;_tsmiDelete.Click+=newEventHandler(_tsmiDelete_Click);_cms.Items.Add(_tsmiDelete);}voidTV_Area_NodeMouseClick(objectsender,TreeNodeMouseClickEventArgse){TreeNode_node=this.TV_Area.GetNodeAt(e.X,e.Y);//通过坐标获取点击项if(e.Button==MouseButtons.Left){if(_node.Level==0){return;}this.TV_Area.SelectedNode=_node;WarehouseArea_area=_warehouseAreas[_node.Name]asWarehouseArea;if(_area.Category==Global.WORKING){this.P_Position.Visible=false;}else{this.P_Position.Visible=true;BindWarehousePositionData(_area.AreaID);//周转箱数据绑定}}elseif(e.Button==MouseButtons.Right){this.TV_Area.SelectedNode=_node;if(_node.Level==0){_tsmiAdd.Visible=true;_tsmiDelete.Visible=false;}elseif(_node.Level==1){_tsmiAdd.Visible=false;_tsmiDelete.Visible=true;}_cms.Show(this.TV_Area,e.X,e.Y);37 }}4.3.2添加周转箱图4-7仓储管理系统周转箱设置界面添加周转箱代码privatevoidLL_AddContainer_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse){TreeNode_node=this.TV_Store.SelectedNode;if(_node==null||_node.Level==0){return;}string_warehouseID=this.TV_Store.SelectedNode.Name;string_warehouseName=this.TV_Store.SelectedNode.Text;//转到添加页面执行添加操作if(newAddContainer(_warehouseID,_warehouseName).ShowDialog()==DialogResult.OK){MessageBox.Show("添加周转箱成功!","信息",MessageBoxButtons.OK,MessageBoxIcon.Information);}37 4.4客户管理4.4.1基本信息图4-8仓储管理客户信息管理界面添加新客户信息代码privatevoidB_Merchant_OK_Click(objectsender,EventArgse){//创建客户实体TreeNode_node=this.TV_Merchant.SelectedNode;Merchant_merchant=newMerchant();_merchant.Number=this.TB_Merchant_Number.Text.Trim();_merchant.Address=this.TB_Merchant_Address.Text.Trim();_merchant.Contact=this.TB_Merchant_Contact.Text.Trim();_merchant.Name=this.TB_Merchant_Name.Text.Trim();_merchant.Tallage=this.TB_Merchant_Tallage.Text.Trim();_merchant.Telephone=this.TB_Merchant_Tel.Text.Trim();if(_editing){string_number=_node.Name;int_level=Convert.ToInt32(_node.Parent.Name);Merchant_value=((Hashtable)_merchants[_level])[_number]asMerchant;_merchant.Type.Level=_value.Type.Level;_merchant.Employee=_value.Employee;_merchant.Status=_value.Status;if(_mCtrl.UpdateMerchant(_merchant))//更新数据,并返回更新结果37 {((Hashtable)_merchants[_level]).Remove(_number);((Hashtable)_merchants[_level]).Add(_number,_merchant);this.TV_Merchant.BeginUpdate();_node.Text=_merchant.Name;this.TV_Merchant.EndUpdate();EditCancel();}else{MessageBox.Show("更新客户信息失败,请重试!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}}elseif(_adding){if(_mCtrl.MerchantIsExsit(_merchant.Number)){MessageBox.Show("客户编号已存在,请修改后重试!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}_merchant.Status=1;_merchant.Type.Level=Convert.ToInt32(_node.Parent.Name);_merchant.Employee=Global.User.EmployeeID;if(_mCtrl.AddMerchant(_merchant)){Hashtable_values=(Hashtable)_merchants[Convert.ToInt32(_nodeParent)];if(_values==null){_values=newHashtable();}_values.Add(_merchant.Number,_merchant);this.TV_Merchant.BeginUpdate();_node.Name=_merchant.Number;_node.Text=_merchant.Name;this.TV_Merchant.EndUpdate();EditCancel();}else{MessageBox.Show("添加客户信息失败,请重试!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);}37 }4.4.2货物管理图4-9仓储管理系货物添加界面导入货物数据代码privatevoidB_Goods_Import_Click(objectsender,EventArgse){string_path=this.TB_Goods_ImportPath.Text;//获取导入文件路径if(_path==null||_path.Equals(String.Empty)){MessageBox.Show("导入文件不能为空!","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);}else{_loading=newLoading();newThread(newThreadStart(Import)).Start();_loading.ShowDialog();if(_result==ProcessResult.Failed){MessageBox.Show("导入数据失败!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}else{37 foreach(GoodsKinds_valuein_values){_kinds.Add(_value);//数据导入}MessageBox.Show("导入数据成功!","消息",MessageBoxButtons.OK,MessageBoxIcon.Information);}}}4.4.3订单管理图4-10仓储管理系统订单管理界面出库订单添加代码OrderController_oCtrl=newOrderController();int_oType=this.CB_OrderType.SelectedIndex;if(!_oCtrl.AddOrder(_order,_list,_transactions,_tasks,_containers,_oType,_goodsPositions,_hDestination,_goods,1))//定单添加,并返回结果{MessageBox.Show("添加订单失败,请重试!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}37 else{MessageBox.Show("订单添加成功!");}5、系统运行测试5.1、pc端测试打开pc端时,首先的界面是登陆的界面,pc端登陆主界面只有用户名账号密码取消按钮,尝试输入错误的账号和密码无法登陆,只有正确的账号密码才能登陆证明登陆界面没有问题。在安全登陆后,是公司基本信息管理的测试,包括员工任务布置;部门管理,部门的添加,删除,部门主管的切换,部门所承担的任务描述;员工管理员工的添加,离职,个人信息管理,还有员工所负责的区域,所归属部门;工种设置,该工种所需要完成的任务,工作地点,完成任务奖金等一一测试。之后是库区管理的测试,包括,各地库区的添加,该库区的规划,划分,所能存放的物品,在货物过多时设置临时周转箱,周转箱的管理,包括大小规格,所存在的位置,仓库信息能够批量打印出来,方便管理和客户了解。之后是客户的管理的测试,包括客户在公司里的客户等级,客户基本信息。客户选择的交易类型,还有客户在仓库中存放多少货物,在哪个仓库放置多久选择什么服务,客户安排的订单是否入库出库,谁负责是否完成,等等信息的查询管理的设置。最后是是否能够导入文件,导出文件,打印报表,经测试以上功能都能够正常运行。5.2、实际测试37 在网络上购买一个阿里巴巴服务器,将数据库,软件之间的关系连接架构起来,在物流公司里实际运行。在每一台电脑上安装软件。由并且连接上手持机,由手持机扫描货物上贴的条形码,并把数据返回服务器,进行实际测试。经测试,该软件已经可以实际运行。6、结束语在现代物流管理中,越来越多的仓储管理已经慢慢的向自动化,智能化方向靠近,慢慢的摆脱了以前的人员繁多的人工化管理。仓储管理或者说仓储的基本功能大概包括了货物的进库、出库、库存、分拣、包装、配送、在加工、及其信息处理等八个方面,其中,物品的出入库与在库管理可以说是仓储管理的最基本的活动,也是传统仓储的基本功能,只不过现在仓储管理的手段与管理水平得到了提升;而物品的分拣与包装,在加工,在过去也是有的,只不过现在更普遍、更深入、更精细,甚至已经与物品的出入库及在库管理相结合、共同构成现代仓储的基本功能;仓储信息处理,已经是现代经济活动的普遍现象,离开了信息处理,也就不成其为现代仓储了。 但是当这么多功能汇集在一起的时候仓储的管理就不能再像以前那样纯人工管理,或者靠着笔记录,在每天几万几十万条信息的进进出出下,再好的管理人员,也会迷糊,所以一个仓储管理系统的重要性就出来了。仓储管理系统的出现,实现了仓库现代化管理,大大降低了管理难度与管理成本,实现了现代化操作,节省了大量的人力、物力、财力。对仓库及仓库内的物资所进行的管理,仓储管理企业能够充分利用自己所具有的仓储资源,为客户提供高效的仓储服务。并且合理的仓储管理将全方位的提升企业竞争力,同时降低生产成本,提高资源效率,推动了企业的发展。由于设计开发的时间有限加上自身的能力有限,整个系统虽然在大体上实现了预期的效果,但有一些功能还是需要进一步的完善和改进,毕竟实际的管理中还会遇到许多问题不是电脑管理系统能够解决的,希望这个仓储管理系统能为在此方向进行研究和感兴趣的人提供一个良好的思路,让仓储管理系统走入每一家物流管理公司,推动企业的发展。37 参考文献[1]Andrew Troelsen著朱晔 译 《C#与.NET 4高级程序设计》2011年4月人民邮电出版社 ; [2]张俊 崔海波著ADO.NET数据库应用开发》2008年1月 机械工业出版社 ;[3]越廷 顾彦玲 著 《ASP.NET从入门到精通》 2008年9月 清华大学出版社 ;[4]徐孝凯贺佳英 著 《数据库基础与SQL Server应用开发》2008年4月 清华大学出版社;[5]宋颜浩费文华著《asp+sqlserver网络应用系统开发与实例》2004年4月第一版中国水利水电出版社;[6]闪四清,SQLSERVER2005简明教程,2005清华大学出版社;[7]Silberschatz等著;杨冬青,唐世渭等译.数据库系统概论.北京:机械工业出版社,2000;[8]陈伟,姜丹丹.我国第三方物流企业核心竞争力构成系统研究[J];科技与管理,2007(2):13-15;[9]沈玉良.我国物流产业发展中的几个问题[J].国际商务研究,2001,(04);[10]传统物流面临5大挑战联邦快递谈中国物流[J].信息系统工程,2004,(08);[11]代文锋.我国第三方物流发展问题及对策研究[J];电子商务,2007(1):11-12;[12]陈雅萍.我国第三方物流的问题及其发展策略初探[J];科技管理研究,2007年(1):1-3;[13]严瑜筱,杨云.电子商务下的第三方物流研究[J];商场现代化,2007(11):12;[14].李春燕,杜劭平.浅议第三方物流的经济意义[J];内蒙古科技与经济,2006-08-09(11);[15]吴剑刚.我国第三方物流业发展现状与对策[J];沿海企业与科技,2006-01-03(15-17)。37 致谢 经过几个月的再次学习和努力,在陈老师的指导下使将所学技术在实践方面上的运用有了进一步的提高。作为一个还没毕业缺少实践的在校的学生由于经验匮乏,在设计开发时难免在有些方面有考虑不太周全,如果没有老师的指导和同学的帮助设计开发的进展是不会有这么快的。也不可能将系统开发出来。陈老师严谨的教学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,而且在平时的生活中也对我颇多帮助。不仅使我完成了这项设计、还掌握了软件开发的基本研究方法,为以后打下了基础,累积了经验,还使我学会了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都是在导师的指导帮助下完成的,倾注了导师大量的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!在设计过程中我也得到了很多同学的帮助,遇到困难时与他们相互交流、探讨问题的解决方法。这不仅使得我从同学身上学到了很多东西,更学到了他们对知识的探索精神和对解决问题的执着意志,同学之间相互鼓励共同学习进步。在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,这些可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!我即将离开大学走入社会,大学的快乐的学生生活就要结束。马上要走入社会这所大学开始新的学习,不但学习专业知识还要学会社会上的为人处世学会生存技能。大学的学习和养成的习惯为以后自己发展奠定了基础,我要感谢在大学教育我的老师和帮助过我的同学。大学是教一个人生存的技能和不断学习进取的方法,是教一个人思考问题解决问题的方法,是教一个人养成思考问题的方法。很荣幸能够在大学学习四年,在这里衷心感谢在这四年里给予我帮助的每一个人。37