ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:226.50KB ,
资源ID:6731109      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6731109.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(物流管理系统中封仓功能的设计与实现.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

物流管理系统中封仓功能的设计与实现.docx

1、物流管理系统中封仓功能的设计与实现物流管理系统中封仓功能的设计与实现本 科 生 毕 业 论 文设 计题 目:津菱物流治理系统中封仓功能的设计与实现学 号:0010301 姓 名:韩晓玮 年 级:2000级 学 院:软件学院 系 别:软件工程 专 业:软件工程 完成日期:2004年5月31日指导教师:张波副教授 津菱物流系统库内治理封仓部分的改进软件学院软件工程系 软件工程专业 韩晓玮 学号:0010301 指导教师:张波 副教授摘要:津菱物流治理系统对良菱物流治理系统的二次开发,笔者要紧负责对封仓部分的改进设计和实现。要紧是依照津菱物流公司的实际业务流程修改了原有的手动封仓解封功能,并在此基础

2、上增加了过保质期自动封仓以及解封的功能。并对整个封仓部分做了功能测试,保证了与其他各个部分的兼容性。本文要紧从项目背景和对原有系统的描述入手,介绍了津菱物流系统的总体业务流程,依照封仓部分的需求分析,分析并描述了所需使用的要紧技术。着重对封仓部分设计,系统实现进行了介绍,并简单介绍了对系统所进行的功能测试以及完成项目后的一些心得。关键字:物流系统,封仓,Sybase,PowerBuilderAbstractJinLing Logistics Management System is a revision version of the LiangLin Logistics Management

3、System. Redesigning and implementing the warehouse frozening is the objective of this thesis. Based on JinLing Corps business flow, we mainly modify the origin manual warehouse freezing and unfrozening functions, and add the warehouse auto-frozening and auto-unfrozening functions when the goods pass

4、ed the period of validation into the system. We also do the testing of the warehouse frozening sub-system, and make sure my works wont have any compatibility problems with the other parts of the whole system.This thesis starts with the introduction of the project background and the origin system, fo

5、llowed by the description of the main business flow of JinLing Corp. Based on the requirement of warehouse frozening, it analyses the primary techniques which are demanded, and emphasizes on the parts of system designing and implementation. At last, the system testing and prospect parts are touched

6、upon.Key Words:Logistics System, Warehouse frozening,Sybase, PowerBuilder第一章 绪论1.1 项目背景20世纪90年代中期,第三方物流3PL的概念开始传入我国。什么是第三方物流呢?第三方物流是由物品供、需两方以外的企业提供物流服务的业务模式,是在供应链中,企业以合同的形式在一定期限内提供用户所需的全部或部分物流服务。第三方物流企业的利润不是来自运费、仓储等直截了当费用收入,而是来源于信息和知识。它可能包括、也可能不包括运费 、仓储资产的所有权。津菱物流公司确实是一个以第三方物流为主,兼营其他几种物流方式的现代物流公司。物流

7、产业的进展差不多到了如此一个时期:现代物流的信息系统差不多成为企业物流治理和操作的一个不可或缺的要件。到2002年底,我国的IT业和电子商务市场约达到150亿美元,供应链治理的软件和服务市场也达到40亿美元。实际上,有没有IT系统的支持差不多成为现代物流运作的重要标志之一。许多企业在选择第三方物流服务供应商的时候往往把它作为重要的前提条件。因此,企业选择物流IT系统,与其说是一种信息技术选择,不如说是一种企业治理模式和市场竞争战略的选择。一样来说,物流/供应链治理系统的建立有两条路径:一是量身定制的开发;二是集成系统的导入。众所周知,物流IT系统量身定制开发的前提是企业物流运作流程的设计;集成

8、系统的导入也往往要求企业改变现有的物流运作流程。因此,不管走哪条路,企业建立物流IT系统的前提差不多上要确定其物流运作流程。津菱物流治理系统确实是在这种背景下从原有良菱物流治理系统的基础上按照津菱物流公司业务流程度身改造而来。1.2津菱物流治理系统概述 津菱物流治理系统是为津菱物流公司度身改造的全方位物流治理软件。它的原型是上海良菱物流公司所采纳的物流治理软件,其功能涵盖了津菱物流公司的所有业务流程,从进货,到库内治理、盘点,到出货、退货,均可在此软件中完成。且此软件可按照公司内不同的角色提供不同的功能和权限。且此软件关于公司简化工作流程,加快工作进度,以适应日益进展的业务以及企业信息化起到了

9、专门积极的作用。津菱物流治理系统按其角色可分为库内治理操作员,系统操作员,采购操作员,其中库内治理功能操作频率可分为系统操作、进货、门店要货、配送、仓库治理、各类查询和差不多信息治理,如图1-1所示:图1-1:津菱系统库内治理操作员用例图 系统操作部分的功能分为系统操作、差不多信息治理、物价治理、结算、各类查询和统计分析。如图1-2所示:图1-2:系统操作员用例图 采购操作部分的功能分为系统操作、差不多信息治理、进货和各类查询,如以下图1-3所示:图1-3:采购操作员用例图 仓库即库内治理又分为配送中心库存爱护,配送中心商品封仓,配送中心移库,配送中心库存盘点,仓库损益,分拣仓位优化6个部分的

10、操作以及库存查询功能。如以下图1-4所示:图1-4:仓库内治理模块第二章 系统功能及需求2.1 封仓部分功能概述封仓是津菱物流治理系统库内治理中相当重要的一部分。当物流公司仓库内的商品保质期临近,而商品按照正常的配送出库方式尚需一定时刻,因此即使赶忙出库,当商品运达要货门店的时候差不多过了保质期。因此关于立即到达保质期的商品,需要进行封仓操作,使其不能参加出库。而当改进了运输路线或者由于其他缘故使得商品能够在保质期前送达的时候,又需要对指定日期之前过期的商品进行解封,使其能够参加配送出库。由于可能在指定日期过期的商品进行封仓和解封操作的商品较多,因此需要对此操作实现批处理,即能够一次性对多个商

11、品进行封仓和解封。另外,由于一些其他缘故,可能有一些个别商品不能参加配送,因此需要对这些商品进行单独的封仓操作。由于不能参加配送,因此称此类封仓为配送封仓。2.2 封仓部分原有功能描述 现系统中封仓部分只有配送中心封仓商品查询,配送中心自动封仓解封,配送中心手工封仓解封三个界面。只能对单个商品进行个别的封仓。其用例图如图2-1所示:图2-1:原有的封仓部分用例图 操作员:即由系统提供的配送经理郭颂的权限登陆配送封仓:对仓库内储备仓位上的物资进行封仓,使其不能参加配送出库,一次只能操作一条记录的商品。点菜封仓:对仓库内储备仓位上的物资进行封仓,使其不能参加点菜配送,一次只能操作一条记录的商品。解

12、封:解封能够对差不多被封仓的商品进行解封操作,能够一次解封一条商品记录,或者用Ctrl或Shift键选择多条记录进行解封。封仓查询:能够查询出被任何封仓类型所封的商品记录包括配送封仓,保留库存封仓,调换封仓,反品封仓,退货封仓等。2.3 封仓部分需求分析总体描述:增加保质期封仓功能,并依照实际业务情形修改手工封仓部分的功能,并保证封仓部分与配送部分能够兼容。其用例图如图2-2所示:图2-2:改进后的封仓部分用例图自动封仓:对所有商品按照有效期进行查询,并对距离有效期在一定时刻之内默认值为14天,可依照实际情形进行修改的商品进行批处理封仓。自动封仓解封:对所有被保质期自动封仓的商品依照其有效期在

13、某一时刻段内进行查询,并对这些商品进行批处明白得封。也能够对查询出来的商品进行选中单个或多个商品进行解封。配送封仓:与原有功能相同,检查其兼容性。依照津菱公司的实际业务情形,取消点菜封仓一项,使手动封仓只能对商品进行配送封仓,而不能进行点菜封仓。手工解封:在坚持原有功能的基础上,将手工解封的功能扩大至既能够解封手工封仓的商品,也能够解封自动封仓的商品。封仓查询:在坚持原有功能的基础上,在封仓查询功能中添加自动封仓栏,并取消点菜封仓相关栏目。如图2-3所示:图2-3:封仓与配送出库状态图第三章 系统改进设计3.1 开发环境描述3.1.1 服务器端环境硬件环境:稳固服务器软件环境:Redhat L

14、inux 7.3, Sybase 12.53.1.2 客户端环境硬件环境:一般PC机软件环境:Microsoft公司Windows操作系统3.1.3 开发环境硬件环境:奔腾2.4G Hz CPU,512M DDR内存,17寸纯平显示器、显存64M,80G硬盘。软件环境:Windows2003 Server,Powbuilder7,Sybase Central3.1,ER Win4.03.2 津菱系统总体设计津菱物流治理系统的是专门针对公司内部资源进行治理,业务逻辑比较复杂,同时局限在公司局域网内部使用,因此此治理系统在总体结构设计上采取C/S的模式即能比较好的满足客户需求,采纳此架构模式能充分

15、发挥客户端PC的处理能力,专门多工作能够在客户端处理后再提交给服务器,减轻了服务器的负担,因而客户端响应速度快。相比较于目前流行的B/S架构模式,在开发上更简单易行,系统的安全性也更高。其体系架构如图3-1所示: 图3-1:津菱物流治理系统体系结构3.3 封仓部分要紧技术3.3.1 PowerBuilder中的DataWindow技术 纵观PowerBuilder技术,数据窗口DataWindow但是说是其核心的核心,它使得数据库的开发和应用变得更加简单,快捷。DataWindow能够让用户在输入数据和制作报表时,以多种不同的风格来显示数据。DataWindow是一种为正在被观看的数据保留数据

16、信息的特有对象,因此,它为生成一个带有高质量的数据库事务应用程序提供了强大的处理工具。数据窗口对象的要紧功能是显示数据并承诺用户修改,因为在数据窗口对象中包含两个要紧组件:数据信息和显示格式。数据窗口需要数据库和其他非数据库的数据资源来组装自己,它按照定义时制定的表现风格显示。用户定义了表现风格后,能够对其进行进一步的修改,以增强数据窗口的功能。数据窗口不但自身显示数据还能够作为生成所有报表的数据源。在一个实际的应用程序处理过程中,数据窗口一样位于应用程序和数据库中间,按应用程序的要求来检索,操纵并显示数据。除了数据库之外,数据窗口还能够通过ODBC,DDE动态数据交换,OLE对象嵌入与连接等

17、方法访问文件中的数据。 数据窗口为应用程序提供了数据源和检索,操纵数据的方法与途径。它包括数据窗口对象和数据窗口控件两个方面。1数据窗口对象 数据窗口对象是由数据窗口画板创建,并作为一个独立的对象存入PowerBuilder库文件中。在实际应用中,数据窗口对象通过数据窗口控件被放置在窗口中。数据窗口对象能够看成是封装数据的容器,数据窗口控件能够看作是窗口和数据窗口之间的连接件。数据窗口控件拥有自己独立的属性,函数和事件,拥有读取和修改数据窗口对象属性的函数Describe和Modify。数据窗口画板是创建和修改数据窗口对象的地点。数据窗口对象创建以后,被定义为独立对象,而不必将它们限定到某个专

18、门窗口,甚至不必将它们限定到某个应用程序中。数据窗口对象能够在窗口间进行共享,能够在需要访问相同表的不同应用程序中使用相同的数据窗口对象,这表达了PowerBuilder的可重复使用性。2数据窗口控件数据窗口对象是通过一个数据窗口控件来引用的,通过数据窗口控件将数据窗口对象放置到窗口中,并通过数据窗口控件实现对数据窗口对象的操纵。在窗口中添加放置数据窗口控件和添加放置其他控件一样。1)将数据窗口控件放置到窗口上,设定其位置和大小。2)将数据窗口控件连接到某个特定的数据窗口对象。3)编写脚本代码,处理数据窗口控件和操纵数据窗口对象。3.3.2 Sybase数据库中的储备过程 储备过程是储备在数据

19、库中的一段储备程序。当创建储备过程时,系统会对其进行编译,并将执行代码储备到数据库中。储备过程的优点:1安全性当创建了储备过程之后,能够将执行该过程的权限授予其它用户,从而使得他能够执行特定的数据库操作,而不能访问其它模式对象例如表。例如,你能够将执行过程更新表的权限授予其它用户,但不授予它们直截了当访问该表的权限。2) 性能储备过程只被发送到数据库一次,相关于SQL语句或PL/SQL块而言,其网络通信量更小。当调用储备过程时,数据库会直截了当运行该储备过程,无需进行编译。相关于SQL语句而言,其执行速度更快。3) 内存分配储备过程充分利用了Sybase共享内存的能力。在将储备过程装载到内存中

20、后,多个用户能够同时调用该储备过程,从而降低了应用对Sybase的实际内存需求。 3.3.3面向对象的软件设计 由于PowerBuilder是完全支持面向对象的开发工具,因此此系统的开发运用了大量的面向对象的思想。如系统中的大部分窗口以及按钮差不多上从同一个基类继承下来,大大减少了重复的工作量,增强了软件的复用性,加快了开发进程。3.4 PowerBuilder窗口设计3.4.1 过保质期自动封仓窗口设计此窗口能够对预警天数进行设定默认值是14天,设定完毕后能够对选定仓库编号和仓位编号进行查询未被封仓的商品。预警日期显示的为系统当前日期与预警天数相加的日期。在数据窗口中能够对查询所得的商品进行

21、判定,通过checkbox决定是否将此商品自动封仓默认值为选中,点击封仓按钮那么可将约束条件下的商品进行批处理封仓。窗口对象:w_stkloc_autoclose_alarm数据窗口控件:dw_1数据窗口对象:d_stkloc_autoclose_alarm数据源储备过程:Spq_Stk_CloseAlarm涉及表:Tbb_StkLoc表3-1:封仓窗口总体设计PB中的对象含义类型w_stkloc_autoclose_alarm主窗口sy_w_sheetsle_2预警天数录入框singlelineeditst_4预警天数statictextcbx_1打印复选框sy_u_cbxdw_2仓库编号数

22、据窗口sy_u_dwdw_1数据输出窗口sy_u_dwem_1预警日期显示框sy_u_emst_3进度条statictextsle_1仓位编号输入框sy_u_slest_2仓位编号statictextst_1仓库编号statictext3.4.2过保自动封仓解封设计此窗口能够设置解封起始日期和解封终止日期默认值解封起始日期为系统当前日期,解封终止日期为系统当前日期14天以后的日期,并在选定仓库信息和仓位编号能够不填后,点击查询,能够在数据窗口中得到当前仓库和仓位中有效期在解封起始日期和解封终止日期之间的被自动封仓商品。按住Ctrl和Shift键可对此数据窗口中的记录进行单项选择或者多项选择,点

23、击解封按钮能够将选中商品解封。窗口对象:w_stkloc_autoclose_unclose数据窗口控件:dw_list数据窗口对象:d_stkloc_autoclose_unclose涉及储备过程:Spu_stkloc_unclose涉及表:Tbb_StkLoc表3-2:解封窗口总体设计PB中的对象:含义类型w_stkloc_autoclose_unclose主窗口sy_w_sheetdw_storage 仓库信息下拉框dw_u_storage_queryst_1仓位编号statictextsle_stkcell仓位编号输入框sy_u_sledw_list数据输出窗口sy_u_dwst_2进

24、度条外框statictextst_3进度条statictextem_1起始日期输入窗口editmaskem_2终止日期输入窗口editmaskst_4解封起始日期statictextst_5解封终止日期statictext3.4.3 其他窗口的修改 1在配送中心手工封仓窗口w_stkloc_close中去掉点菜封仓选项:要紧对其数据窗口控件d_stkloc_list进行修改,使其中的点菜封仓选项为不可见,然而保留代码,以留作以后的接口之用。2在配送中心封仓商品查询窗口w_stkloc_close_query中去掉点菜封仓复选框:要紧对其数据窗口d_stkloc_close_query进行修改,

25、去掉点菜封仓一栏。3.5 数据库相关设计3.5.1 数据库表 封仓部分功能的实现要紧是编写储备过程对数据库中配送中心商品库存表Tbd_StkLoc的进行修改操作。表Tbd_StkLoc包含的各个字段:表示商品所属标识的字段:DeptId配送中心部门标识,StkLocId配送中心库存标识,StkRegId配送中心进货登记标识,StorageId配送中心仓库标识,StkCellId配送中心仓位标识,ProvId供应商标识,ArtiId基商品标识,ImpArtiId进货类商品标识表示商品差不多信息的字段:ArtiClassCode商品分类码,ImpInclQty进货包装基商品含量,ImpUnit进货

26、包装计量单位,DistInclQty配送包装基商品含量,DistUnit配送包装计量单位表示现存该商品信息的字段:StkQty配送中心库存单品数量,TolQty配送中心库存单品可配送数量,TaxPrice库存商品含税进价,UnTaxPrice库存商品无税进价,ITaxRate商品进项税率,ImpDate配送中心入库日期,ProcDate配送中心商品生产日期,ValidDate配送中心商品有效日期,BatchCode配送中心商品批号,GiftTypeId赠品类型标识表示库内该商品状态的字段:AutoCloseMark自动封仓承诺标志,CloseDate封仓日期,EmptyDate仓卡结零日期,S

27、tkStatus配送中心库存状态,Note配送中心库存说明,OptrId操作员标识此表中的StkStatus为商品的库存状态值,其具体含义如下:0-正常可配送1-正在配送不可出库2-手工点菜封仓可配送4-手工配送封仓不可点菜,不可配送8-到有效期自动封仓不可点菜,不可配送16-配送中心内部返品封仓不可点菜,不可配送32-配送返品封仓不可点菜,不可配送64-保留库存封仓不可点菜,不可配送128-退货封仓不可点菜,不可配送256-与供应商调换封仓不可点菜,不可配送512-配送中心内部移库过程封仓中间状态注: 由于现有需求中关于点菜封仓不做要求,因此在用户操作界面上将与点菜封仓有关的操作取消,然而考

28、虑到由于公司以后业务的进展或者别的需求,点菜封仓可能会在以后有所要求,因此在系统内部实现中保留与点菜封仓有关的字段及属性,以留作做今后功能扩展之用。3.5.2储备过程 储备过程要紧完成对表的各种操作和修改,依照需求分析的要求,增加或修改了以下储备过程:Spu_StkLoc_AutoClose:实现过保质期封仓操作Spq_Stk_CloseAlarm:d_stkloc_autoclose_alarm的数据源Spu_stkloc_unclose:实现了对单个商品的解封操作第四章 系统开发实现4.1 PowerBuilder窗口实现4.1.1 过保质期自动封仓窗口要紧实现 1创建窗口主体w_stkl

29、oc_autoclose_alarm在PB中创建Object-Window-w_stkloc_autoclose_alarm,按照设计,增各个控件:sle_2(singlelineedit), st_4(statictext), cbx_1(sy_u_cbx), dw_2(sy_u_dw), dw_1(sy_u_dw), em_1(sy_u_em), st_3(statictext), sle_1(sy_u_sle), st_2(statictext), st_1(statictext) 。 2数据窗口的构建 编写储备过程Spq_Stk_CloseAlarm,依照储备过程的设计确定传递参数:

30、m_DeptId int, /*配送中心部门标识*/m_StorageId int, /*配送中心仓库标识*/ m_StkCellNo varchar(20), /* 配送中心仓位编码 */ m_ValidDays datetime /* 估量封仓日 */ 在实现查询功能的事件sy_query中调用此数据窗口控件的retrieve函数,并确定定此四个参数后数据窗口即调用储备过程进行查询,并将结果显示在数据窗口控件dw_1。参数值均从主窗口中的输入控件取得,要紧代码如下: li_storageid = dw_2.object.storageid dw_2.getrow ( ) s_stkcellno = sle_1.text ls_stkcellno = sle_1.textld_em1 = date(em_1.text)ld_date = datetime(ld_em1)li_bak = dw_1.retrieve ( il_storeid , li_storageid , % + trim ( ls_stkcellno ) + % , ld_date ) 3封仓功能的实现sy_autofengcang封仓功能是通过事件sy_autofengcang实现的,在此事件中调用储

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1