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

上传人:b****6 文档编号:6731109 上传时间:2023-01-09 格式:DOCX 页数:29 大小:226.50KB
下载 相关 举报
物流管理系统中封仓功能的设计与实现.docx_第1页
第1页 / 共29页
物流管理系统中封仓功能的设计与实现.docx_第2页
第2页 / 共29页
物流管理系统中封仓功能的设计与实现.docx_第3页
第3页 / 共29页
物流管理系统中封仓功能的设计与实现.docx_第4页
第4页 / 共29页
物流管理系统中封仓功能的设计与实现.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

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

《物流管理系统中封仓功能的设计与实现.docx》由会员分享,可在线阅读,更多相关《物流管理系统中封仓功能的设计与实现.docx(29页珍藏版)》请在冰豆网上搜索。

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

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

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

本科生毕业论文〔设计〕

题目:

津菱物流治理系统中封仓功能的设计与实现

学号:

0010301

姓名:

韩晓玮

年级:

2000级

学院:

软件学院

系别:

软件工程

专业:

软件工程

完成日期:

2004年5月31日

指导教师:

张波副教授

津菱物流系统库内治理封仓部分的改进

软件学院软件工程系软件工程专业韩晓玮学号:

0010301

指导教师:

张波副教授

摘要:

津菱物流治理系统对良菱物流治理系统的二次开发,笔者要紧负责对封仓部分的改进设计和实现。

要紧是依照津菱物流公司的实际业务流程修改了原有的手动封仓解封功能,并在此基础上增加了过保质期自动封仓以及解封的功能。

并对整个封仓部分做了功能测试,保证了与其他各个部分的兼容性。

本文要紧从项目背景和对原有系统的描述入手,介绍了津菱物流系统的总体业务流程,依照封仓部分的需求分析,分析并描述了所需使用的要紧技术。

着重对封仓部分设计,系统实现进行了介绍,并简单介绍了对系统所进行的功能测试以及完成项目后的一些心得。

关键字:

物流系统,封仓,Sybase,PowerBuilder

Abstract

JinLingLogisticsManagementSystemisarevisionversionoftheLiangLinLogisticsManagementSystem.Redesigningandimplementingthewarehousefrozeningistheobjectiveofthisthesis.BasedonJinLingCorp’sbusinessflow,wemainlymodifytheoriginmanualwarehousefreezingandunfrozeningfunctions,andaddthewarehouseauto-frozeningandauto-unfrozeningfunctionswhenthegoodspassedtheperiodofvalidationintothesystem.Wealsodothetestingofthewarehousefrozeningsub-system,andmakesuremyworkswon’thaveanycompatibilityproblemswiththeotherpartsofthewholesystem.

Thisthesisstartswiththeintroductionoftheprojectbackgroundandtheoriginsystem,followedbythedescriptionofthemainbusinessflowofJinLingCorp.Basedontherequirementofwarehousefrozening,itanalysestheprimarytechniqueswhicharedemanded,andemphasizesonthepartsofsystemdesigningandimplementation.Atlast,thesystemtestingandprospectpartsaretouchedupon.

KeyWords:

LogisticsSystem,Warehousefrozening,Sybase,PowerBuilder

第一章绪论

1.1项目背景

20世纪90年代中期,第三方物流〔3PL〕的概念开始传入我国。

什么是第三方物流呢?

第三方物流是由物品供、需两方以外的企业提供物流服务的业务模式,是在供应链中,企业以合同的形式在一定期限内提供用户所需的全部或部分物流服务。

第三方物流企业的利润不是来自运费、仓储等直截了当费用收入,而是来源于信息和知识。

它可能包括、也可能不包括运费、仓储资产的所有权。

津菱物流公司确实是一个以第三方物流为主,兼营其他几种物流方式的现代物流公司。

物流产业的进展差不多到了如此一个时期:

现代物流的信息系统差不多成为企业物流治理和操作的一个不可或缺的要件。

到2002年底,我国的IT业和电子商务市场约达到150亿美元,供应链治理的软件和服务市场也达到40亿美元。

实际上,有没有IT系统的支持差不多成为现代物流运作的重要标志之一。

许多企业在选择第三方物流服务供应商的时候往往把它作为重要的前提条件。

因此,企业选择物流IT系统,与其说是一种信息技术选择,不如说是一种企业治理模式和市场竞争战略的选择。

一样来说,物流/供应链治理系统的建立有两条路径:

一是量身定制的开发;二是集成系统的导入。

众所周知,物流IT系统量身定制开发的前提是企业物流运作流程的设计;集成系统的导入也往往要求企业改变现有的物流运作流程。

因此,不管走哪条路,企业建立物流IT系统的前提差不多上要确定其物流运作流程。

津菱物流治理系统确实是在这种背景下从原有良菱物流治理系统的基础上按照津菱物流公司业务流程度身改造而来。

1.2津菱物流治理系统概述

津菱物流治理系统是为津菱物流公司度身改造的全方位物流治理软件。

它的原型是上海良菱物流公司所采纳的物流治理软件,其功能涵盖了津菱物流公司的所有业务流程,从进货,到库内治理、盘点,到出货、退货,均可在此软件中完成。

且此软件可按照公司内不同的角色提供不同的功能和权限。

且此软件关于公司简化工作流程,加快工作进度,以适应日益进展的业务以及企业信息化起到了专门积极的作用。

津菱物流治理系统按其角色可分为库内治理操作员,系统操作员,采购操作员,其中库内治理功能操作频率可分为系统操作、进货、门店要货、配送、仓库治理、各类查询和差不多信息治理,如图1-1所示:

图1-1:

津菱系统库内治理操作员用例图

系统操作部分的功能分为系统操作、差不多信息治理、物价治理、结算、各类查询和统计分析。

如图1-2所示:

图1-2:

系统操作员用例图

采购操作部分的功能分为系统操作、差不多信息治理、进货和各类查询,如以下图1-3所示:

图1-3:

采购操作员用例图

仓库〔即库内治理〕又分为配送中心库存爱护,配送中心商品封仓,配送中心移库,配送中心库存盘点,仓库损益,分拣仓位优化6个部分的操作以及库存查询功能。

如以下图1-4所示:

图1-4:

仓库内治理模块

第二章系统功能及需求

2.1封仓部分功能概述

封仓是津菱物流治理系统库内治理中相当重要的一部分。

当物流公司仓库内的商品保质期临近,而商品按照正常的配送出库方式尚需一定时刻,因此即使赶忙出库,当商品运达要货门店的时候差不多过了保质期。

因此关于立即到达保质期的商品,需要进行封仓操作,使其不能参加出库。

而当改进了运输路线或者由于其他缘故使得商品能够在保质期前送达的时候,又需要对指定日期之前过期的商品进行解封,使其能够参加配送出库。

由于可能在指定日期过期的商品进行封仓和解封操作的商品较多,因此需要对此操作实现批处理,即能够一次性对多个商品进行封仓和解封。

另外,由于一些其他缘故,可能有一些个别商品不能参加配送,因此需要对这些商品进行单独的封仓操作。

由于不能参加配送,因此称此类封仓为〝配送封仓〞。

2.2封仓部分原有功能描述

现系统中封仓部分只有〝配送中心封仓商品查询〞,〝配送中心自动封仓解封〞,〝配送中心手工封仓解封〞三个界面。

只能对单个商品进行个别的封仓。

其用例图如图2-1所示:

图2-1:

原有的封仓部分用例图

操作员:

即由系统提供的配送经理郭颂的权限登陆

配送封仓:

对仓库内储备仓位上的物资进行封仓,使其不能参加配送出库,一次只能操作一条记录的商品。

点菜封仓:

对仓库内储备仓位上的物资进行封仓,使其不能参加点菜配送,一次只能操作一条记录的商品。

解封:

解封能够对差不多被封仓的商品进行解封操作,能够一次解封一条商品记录,或者用Ctrl或Shift键选择多条记录进行解封。

封仓查询:

能够查询出被任何封仓类型所封的商品记录〔包括配送封仓,保留库存封仓,调换封仓,反品封仓,退货封仓等〕。

2.3封仓部分需求分析

总体描述:

增加保质期封仓功能,并依照实际业务情形修改手工封仓部分的功能,并保证封仓部分与配送部分能够兼容。

其用例图如图2-2所示:

图2-2:

改进后的封仓部分用例图

自动封仓:

对所有商品按照有效期进行查询,并对距离有效期在一定时刻之内〔默认值为14天,可依照实际情形进行修改〕的商品进行批处理封仓。

自动封仓解封:

对所有被保质期自动封仓的商品依照其有效期在某一时刻段内进行查询,并对这些商品进行批处明白得封。

也能够对查询出来的商品进行选中单个或多个商品进行解封。

配送封仓:

与原有功能相同,检查其兼容性。

依照津菱公司的实际业务情形,取消点菜封仓一项,使手动封仓只能对商品进行配送封仓,而不能进行点菜封仓。

手工解封:

在坚持原有功能的基础上,将手工解封的功能扩大至既能够解封手工封仓的商品,也能够解封自动封仓的商品。

封仓查询:

在坚持原有功能的基础上,在封仓查询功能中添加自动封仓栏,并取消点菜封仓相关栏目。

如图2-3所示:

图2-3:

封仓与配送出库状态图

第三章系统改进设计

3.1开发环境描述

3.1.1服务器端环境

●硬件环境:

稳固服务器

●软件环境:

RedhatLinux7.3,Sybase12.5

3.1.2客户端环境

●硬件环境:

一般PC机

●软件环境:

Microsoft公司Windows操作系统

3.1.3开发环境

●硬件环境:

奔腾2.4GHzCPU,512MDDR内存,17寸纯平显示器、显存64M,80G硬盘。

●软件环境:

Windows2003Server,Powbuilder7,SybaseCentral3.1,ERWin4.0

3.2津菱系统总体设计

津菱物流治理系统的是专门针对公司内部资源进行治理,业务逻辑比较复杂,同时局限在公司局域网内部使用,因此此治理系统在总体结构设计上采取C/S的模式即能比较好的满足客户需求,采纳此架构模式能充分发挥客户端PC的处理能力,专门多工作能够在客户端处理后再提交给服务器,减轻了服务器的负担,因而客户端响应速度快。

相比较于目前流行的B/S架构模式,在开发上更简单易行,系统的安全性也更高。

其体系架构如图3-1所示:

图3-1:

津菱物流治理系统体系结构

3.3封仓部分要紧技术

3.3.1PowerBuilder中的DataWindow技术

纵观PowerBuilder技术,数据窗口〔DataWindow〕但是说是其核心的核心,它使得数据库的开发和应用变得更加简单,快捷。

DataWindow能够让用户在输入数据和制作报表时,以多种不同的风格来显示数据。

DataWindow是一种为正在被观看的数据保留数据信息的特有对象,因此,它为生成一个带有高质量的数据库事务应用程序提供了强大的处理工具。

数据窗口对象的要紧功能是显示数据并承诺用户修改,因为在数据窗口对象中包含两个要紧组件:

数据信息和显示格式。

数据窗口需要数据库和其他非数据库的数据资源来组装自己,它按照定义时制定的表现风格显示。

用户定义了表现风格后,能够对其进行进一步的修改,以增强数据窗口的功能。

数据窗口不但自身显示数据还能够作为生成所有报表的数据源。

在一个实际的应用程序处理过程中,数据窗口一样位于应用程序和数据库中间,按应用程序的要求来检索,操纵并显示数据。

除了数据库之外,数据窗口还能够通过ODBC,DDE〔动态数据交换〕,OLE〔对象嵌入与连接〕等方法访问文件中的数据。

数据窗口为应用程序提供了数据源和检索,操纵数据的方法与途径。

它包括数据窗口对象和数据窗口控件两个方面。

1.数据窗口对象

数据窗口对象是由数据窗口画板创建,并作为一个独立的对象存入PowerBuilder库文件中。

在实际应用中,数据窗口对象通过数据窗口控件被放置在窗口中。

数据窗口对象能够看成是封装数据的容器,数据窗口控件能够看作是窗口和数据窗口之间的连接件。

数据窗口控件拥有自己独立的属性,函数和事件,拥有读取和修改数据窗口对象属性的函数〔Describe和Modify〕。

数据窗口画板是创建和修改数据窗口对象的地点。

数据窗口对象创建以后,被定义为独立对象,而不必将它们限定到某个专门窗口,甚至不必将它们限定到某个应用程序中。

数据窗口对象能够在窗口间进行共享,能够在需要访问相同表的不同应用程序中使用相同的数据窗口对象,这表达了PowerBuilder的可重复使用性。

2.数据窗口控件

数据窗口对象是通过一个数据窗口控件来引用的,通过数据窗口控件将数据窗口对象放置到窗口中,并通过数据窗口控件实现对数据窗口对象的操纵。

在窗口中添加放置数据窗口控件和添加放置其他控件一样。

1)将数据窗口控件放置到窗口上,设定其位置和大小。

2)将数据窗口控件连接到某个特定的数据窗口对象。

3)编写脚本代码,处理数据窗口控件和操纵数据窗口对象。

3.3.2Sybase数据库中的储备过程

储备过程是储备在数据库中的一段储备程序。

当创建储备过程时,系统会对其进行编译,并将执行代码储备到数据库中。

储备过程的优点:

1〕安全性

当创建了储备过程之后,能够将执行该过程的权限授予其它用户,从而使得他能够执行特定的数据库操作,而不能访问其它模式对象〔例如表〕。

例如,你能够将执行过程〔更新表〕的权限授予其它用户,但不授予它们直截了当访问该表的权限。

2)性能

储备过程只被发送到数据库一次,相关于SQL语句或PL/SQL块而言,其网络通信量更小。

当调用储备过程时,数据库会直截了当运行该储备过程,无需进行编译。

相关于SQL语句而言,其执行速度更快。

3)内存分配 

储备过程充分利用了Sybase共享内存的能力。

在将储备过程装载到内存中后,多个用户能够同时调用该储备过程,从而降低了应用对Sybase的实际内存需求。

3.3.3面向对象的软件设计

由于PowerBuilder是完全支持面向对象的开发工具,因此此系统的开发运用了大量的面向对象的思想。

如系统中的大部分窗口以及按钮差不多上从同一个基类继承下来,大大减少了重复的工作量,增强了软件的复用性,加快了开发进程。

3.4PowerBuilder窗口设计

3.4.1过保质期自动封仓窗口设计

此窗口能够对预警天数进行设定〔默认值是14天〕,设定完毕后能够对选定仓库编号和仓位编号进行查询未被封仓的商品。

预警日期显示的为系统当前日期与预警天数相加的日期。

在数据窗口中能够对查询所得的商品进行判定,通过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_sheet

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

3.4.2过保自动封仓解封设计

此窗口能够设置解封起始日期和解封终止日期〔默认值解封起始日期为系统当前日期,解封终止日期为系统当前日期14天以后的日期〕,并在选定仓库信息和仓位编号〔能够不填〕后,点击查询,能够在数据窗口中得到当前仓库和仓位中有效期在解封起始日期和解封终止日期之间的被自动封仓商品。

按住Ctrl和Shift键可对此数据窗口中的记录进行单项选择或者多项选择,点击解封按钮能够将选中商品解封。

窗口对象:

w_stkloc_autoclose_unclose

数据窗口控件:

dw_list

数据窗口对象:

d_stkloc_autoclose_unclose

涉及储备过程:

Spu_stkloc_unclose

涉及表:

Tbb_StkLoc

表3-2:

解封窗口总体设计

PB中的对象:

含义

类型

w_stkloc_autoclose_unclose

主窗口

sy_w_sheet

dw_storage

仓库信息下拉框

dw_u_storage_query

st_1

〝仓位编号〞

statictext

sle_stkcell

仓位编号输入框

sy_u_sle

dw_list

数据输出窗口

sy_u_dw

st_2

进度条外框

statictext

st_3

进度条

statictext

em_1

起始日期输入窗口

editmask

em_2

终止日期输入窗口

editmask

st_4

解封起始日期

statictext

st_5

解封终止日期

statictext

3.4.3其他窗口的修改

1.在〝配送中心手工封仓〞窗口w_stkloc_close中去掉〝点菜封仓〞选项:

要紧对其数据窗口控件d_stkloc_list进行修改,使其中的〝点菜封仓〞选项为不可见,然而保留代码,以留作以后的接口之用。

2.在〝配送中心封仓商品查询〞窗口w_stkloc_close_query中去掉〝点菜封仓〞复选框:

要紧对其数据窗口d_stkloc_close_query进行修改,去掉〝点菜封仓〞一栏。

3.5数据库相关设计

3.5.1数据库表

封仓部分功能的实现要紧是编写储备过程对数据库中配送中心商品库存表〔Tbd_StkLoc〕的进行修改操作。

表Tbd_StkLoc包含的各个字段:

●表示商品所属标识的字段:

DeptId〔配送中心部门标识〕,StkLocId〔配送中心库存标识〕,StkRegId〔配送中心进货登记标识〕,StorageId〔配送中心仓库标识〕,StkCellId〔配送中心仓位标识〕,ProvId〔供应商标识〕,ArtiId〔基商品标识〕,ImpArtiId〔进货类商品标识〕

●表示商品差不多信息的字段:

ArtiClassCode〔商品分类码〕,ImpInclQty〔进货包装基商品含量〕,ImpUnit〔进货包装计量单位〕,DistInclQty〔配送包装基商品含量〕,DistUnit〔配送包装计量单位〕

●表示现存该商品信息的字段:

StkQty〔配送中心库存单品数量〕,TolQty〔配送中心库存单品可配送数量〕,TaxPrice〔库存商品含税进价〕,UnTaxPrice〔库存商品无税进价〕,ITaxRate〔商品进项税率〕,ImpDate〔配送中心入库日期〕,ProcDate〔配送中心商品生产日期〕,ValidDate〔配送中心商品有效日期〕,BatchCode〔配送中心商品批号〕,GiftTypeId〔赠品类型标识〕

●表示库内该商品状态的字段:

AutoCloseMark〔自动封仓承诺标志〕,CloseDate〔封仓日期〕,EmptyDate〔仓卡结零日期〕,StkStatus〔配送中心库存状态〕,Note〔配送中心库存说明〕,OptrId〔操作员标识〕

此表中的StkStatus为商品的库存状态值,其具体含义如下:

0-正常〔可配送〕

1-正在配送〔不可出库〕

2-手工点菜封仓〔可配送〕

4-手工配送封仓〔不可点菜,不可配送〕

8-到有效期自动封仓〔不可点菜,不可配送〕

16-配送中心内部返品封仓〔不可点菜,不可配送〕

32-配送返品封仓〔不可点菜,不可配送〕

64-保留库存封仓〔不可点菜,不可配送〕

128-退货封仓〔不可点菜,不可配送〕

256-与供应商调换封仓〔不可点菜,不可配送〕

512-配送中心内部移库过程封仓〔中间状态〕

注:

由于现有需求中关于点菜封仓不做要求,因此在用户操作界面上将与点菜封仓有关的操作取消,然而考虑到由于公司以后业务的进展或者别的需求,点菜封仓可能会在以后有所要求,因此在系统内部实现中保留与点菜封仓有关的字段及属性,以留作做今后功能扩展之用。

3.5.2储备过程

储备过程要紧完成对表的各种操作和修改,依照需求分析的要求,增加或修改了以下储备过程:

Spu_StkLoc_AutoClose:

实现过保质期封仓操作

Spq_Stk_CloseAlarm:

d_stkloc_autoclose_alarm的数据源

Spu_stkloc_unclose:

实现了对单个商品的解封操作

第四章系统开发实现

4.1PowerBuilder窗口实现

4.1.1过保质期自动封仓窗口要紧实现

1.创建窗口主体w_stkloc_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,依照储备过程的设计确定传递参数:

@m_DeptIdint,/*配送中心部门标识*/

@m_StorageIdint,/*配送中心仓库标识*/

@m_StkCellNovarchar(20),/*配送中心仓位编码*/

@m_ValidDaysdatetime/*估量封仓日*/

在实现查询功能的事件sy_query中调用此数据窗口控件的retrieve函数,并确定定此四个参数后数据窗口即调用储备过程进行查询,并将结果显示在数据窗口控件dw_1。

参数值均从主窗口中的输入控件取得,要紧代码如下:

li_storageid=dw_2.object.storageid[dw_2.getrow()]

s_stkcellno=sle_1.text

ls_stkcellno=sle_1.text

ld_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