基于Java+MySQL 实现(图形界面)快递公司管理系统

发布于:2025-04-08 ⋅ 阅读:(53) ⋅ 点赞:(0)

快递公司管理系统

软件需求

1. 引言

1.1 目的

本文档描述了快递公司管理系统的功能需求和非功能需求。开发小组的软件系统实现与验证工作都以此文档为依据。除特殊说明外,本文档所包含的需求都是高优先级需求。

1.2 范围

快递公司管理系统是为 ××× 物流公司开发的业务系统,开发的目标是帮助该物流公司处理日常的重点业务,包括物流信息查询,装车管理,库存管理,员工信息管理,财务信息管理。

通过快递公司管理系统的应用,期望为 ××× 物流公司提高员工工作效率,提高货运速度,降低货运成本,减少库存积压,减少车辆,人员闲置或过量运作,提高满意度并扩大顾客规模,提高订单量和利润。

1.3 参考文献

1) IEEE 标准。

2) 快递公司管理系统用例文档 V1.0。

3) 项目实践 V4.0

2 总体描述

2.1 商品前景
2.1.1 背景和机遇

XXX 快递公司是一本地民营物流企业,希望通过对城市网点建设,扩大快运服务通达的片区。企业在每个市设立中转中心、营业厅、快递员三个层级快递模式。快递员收件送往营业厅,同市间快递在营业厅通过汽车运输,跨市之间快递一律由营业厅发往中转中心,通过飞机、火车、汽车流通发往收件人所属中转中心。再由收件人所属中转中心发向所属的营业厅。再由快递员在营业厅提件,送达给收件人。然而,现在由于公司规模的扩大,企业业务量、办公场所、员工数的增加,现有条件已经不能满足业务发展的需求,现在有新的环境需要适应,工作效率和用户满意度也需要提高。

快递公司管理系统就是为了满足 XXX 快递公司新的业务发展要求而开发的,它包括一个数据集中服务器和多个客户端。数据集中服务器将所有的数据存储起来进行维护。用户通过客户端完成日常任务,客户端与数据集中服务器才是实时通信的方式完成数据交换。

2.1.2 业务需求

BR1:在系统使用 6 个月后,库存积压的现象要减少 30%。

BR2:在系统使用 6 个月后,用户满意度要提高 20%。

BR3:在系统使用 6 个月后,业务额要提高 40%。

BR4:在系统使用 6 个月后,财务人员工作效率要提高 30%。

BR5:在系统使用 6 个月后,经理的决策效率要提高 20%。

2.2 商品功能

SF1:适应公司规模扩大,企业业务量、办公场所、员工数都发生增长的新环境,提高工作效率和用户满意度

SF2:处理货物出库入库,保持合理库存,盘点库存信息

SF3:允许寄件人查询物流信息,提高用户服务体验

SF4:帮助工作人员处理各类单据,提高工作效率

SF5:掌握人员机构,财务,车辆和司机信息

SF6:合理分配快递员快件

SF7:掌握快递历史记录和装运信息

SF8:统计收支信息,进行成本管理,生成统计报表,降低成本

SF9:帮助总经理审批单据,降低工作量

SF10:根据财务状况制定薪水策略

2.3 用户特征

寄件人:

寄件人是该系统唯一身份为顾客的用户群体,主要涉及到物流信息查询的功能。他们主要希望能够快速准确查询他们所有快件实时的货运状态及历史状态,并为他们提供一个大概的到达时间。一个寄件人可能同时有较多快件同时在运送中,因此需要考虑到查询功能的运行速度。寄件人计算机操作能力一般不高,因此应该提供一个较为方便的查询功能方便那些不太会计算机的寄件人。

快递员:

每个营业厅大约有 50 个快递员。他们每天来往于客户和营业厅之间,预估计在节假日及特定日期(如双十一),他们每天至少要往返 20 次,有时还可能遇到客户较远或者客户要求取消快递的情况。他们的任务不仅繁忙而且涉及钱财事宜,同时快递员一般为临时雇佣的非专业人员,一般计算机操作能力较低,甚至有可能因此他们对系统的简单,方便,准确,节省时间要求很高。系统需要尽量避免快递员因不熟悉系统而出现大规模错误。

营业厅业务员:

每个营业厅大约有 5 个营业厅业务员,他们主要负责装车,接、派件,记录收款信息及车辆司机信息管理。他们负责的项目相对来说比较种类多且每一项都有些复杂,而且有些是要频繁的重复操作,有些是不定时的触发的,即任何时候都可能发生的操作。接派件需要与快递员进行交换信息,因此这也是业务员最频繁的操作。每当发车时需要录入装车单,每日大概 20-30 次。每当有司机,车辆信息变更时需要对这些信息进行管理,大约每日 1 次。每个营业厅营业员并不多,而且他们的工作比较复杂繁重,需要面对反复不断的接件、派件、装车、收款和随时可能发生的司机车辆信息的变更。同样,在节假日及特定日期会迎来工作繁忙的时段,对于每个营业厅仅有的 5 个业务员,在没有软件系统的支持的情况下是很难明显提高工作效率的。因此一个方便工作的软件系统可有效的让他们突破人力不足的瓶颈。营业厅业务员应有较强的计算机操作能力,能应对比较复杂的操作。

中转中心业务员:

每个中转中心有 10-20 个中转中心业务员,他们每天要完成大量的快递转运任务,在快递送达中转中心时要检查货物的到达状态。他们每天根据库存的状况,进行中转,并办理出库手续。在出库时记录装车信息。因为工作较为繁忙,他们希望新系统不要太多地浪费他们的时间。中转中心业务员能够简单使用办公信息化系统。

中转中心库存管理人员:

每个中转中心有 1-2 个库存管理人员,他们每天要完成大量的出入库工作,在快递到达中转中心时进行入库记录,在快递出库时进行出库记录。他们每天要进行 2-4 次库存查看,每天要进行 1 次库存盘点,在某一分区的库存数量到达警戒值时对库存分区进行分区调整。因为工作较为繁忙,他们希望新系统不要太多地浪费他们的时间。中转中心库存管理人员能够简单使用办公信息化系统。

财务人员:

总店有 1~2 名财务人员,。由于快递收款都是在营业厅完成,所以财务人员需要按天或者营业厅查看收款单记录并且合计数据。由于快递公司涉及很多方面的支出,所以财务人员也需要能新建付款单进行成本管理。为了了解知道当前的经营情况,他们也需要查看截止当前日期的成本收益表。为了查看一段时间内的经营情况,财务人员也需要查看某一段时间内的收款单和入款单信息。同时,财务人员在期初的时候需要新建账目,同时还可以查看期初信息。而且,财务人员需要能够导出任何报表。仅有拥有最高权限的财务人员可以进行账户管理,管理该公司的银行账户,包括增加账户、删除账户、修改账户属性和查询账户,并且账户的余额是不能被修改的。财务人员办公信息化系统较强。

总经理:

总店有 2 名总经理。为了对人员机构进行调整,他们需要能够直接管理人员机构的信息。所有的单据都需要经过总经理的审批,所以总经理每天都要查看所有申请单据,修改单据数据,通过审批。为了了解知道当前的经营情况,他们也需要查看截止当前日期的成本收益表。为了查看一段时间内的经营情况,总经理也需要查看某一段时间内的收款单和入款单信息。针对不同的人员,总经理也需要使用不同的方式,按月,按次或者按提成制定薪水策略。城市距离、价格等常量也需要总经理制定。总经理能够熟练使用办公信息化系统。

管理员:

整个系统有 1 个管理员,他处理该公司的员工的雇佣、离职与职位变换。离职与职位变换通常是单个员工行为。系统管理员是计算机专业维护人员,计算机性能好。

2.4 约束

CON1:系统将使用 Java 语言进行开发。

CON2:系统不适用 Web 界面,而是图形界面。

CON3:项目要使用持续集成方法进行开发。

CON4:在开发中,开发者要提交软件需求规格说明文档、设计文档和测试报告。

CON5:用户远程使用系统。

2.5 假设和依赖

AE1:每天能将库存中 85% 的货物成功派件。

AE2:货物在到达时 98% 以上为完整状态。

软件体系结构

1. 引言

1.1 编制目的

本报告详细完成对快递公司管理系统的概要设计,达到直到详细设计和开发的目的,同时实现和测试人员及用户的沟通。

本报告面向开发人员、测试人员及最终用户而编写,是了解系统的导航。

1.2 参考资料

·项目实践 v4

·快递公司管理系统用例文档

·快递公司管理系统软件规格说明文档

2.  产品概述

快递公司管理系统是为 ××× 物流公司开发的业务系统,开发的目标是帮助该物流公司处理日常的重点业务,包括物流信息查询,装车管理,库存管理,员工信息管理,财务信息管理。

通过快递公司管理系统的应用,期望为 ××× 物流公司提高员工工作效率,提高货运速度,降低货运成本,减少库存积压,减少车辆,人员闲置或过量运作,提高满意度并扩大顾客规模,提高订单量和利润。

3.  逻辑视角

快递公司管理系统中,选择了分层体系结构风格,将系统分为三层(展示层、业务逻辑层、数据层)能够很好地示意整个高层抽象。展示层包含 GUI 页面的实现,业务逻辑层包含业务逻辑处理的实现,数据层负责数据的持久化和访问。分层体系结构的逻辑视角和逻辑设计方案如图 1 和图 2 所示。

图 1 参照体系结构风格的包图表达逻辑视角

图 2 软件体系结构逻辑设计方案

4.组合视角

4.1 开发包图

快递公司管理系统的最终开发包设计如表 1 所示。

表 1 快递公司管理系统的最终开发包设计

开发(物理)包

所依赖的其他开发包

mainui

commodityui, transportui, logisticui,accountui, balanceui, userui, orderui, managerui,vo

commodityui

界面类库包,commodityblservice

commodityblservice

commoditybl

commodityblservice, commoditydataservice,po, logisticbl

commoditydataservice

Java RMI,po

commoditydata

Java RMI,po,databaseutility

transportui

transportblservice,界面类库包

transportblservice

transportbl

transportblservice, transportui,po

transportdataservice

Java RMI,po

transportdata

Java RMI,po,databaseutility

logisticui

Logisticblservice,界面类库包

logisticblservice

logisticbl

Logisticblservice,logisticdataservice,po, transportbl(commodityInfo),orderbl

logisticdataservice

Java RMI,po

logisticdata

po,databaseutility, logisticdataservice

accountui

界面类库包,accountblservice

accountblservice

accountbl

accountblservice, accountdataservice,po,balancebl

accountdataservice

Java RMI,po

accountdata

Java RMI,po,databaseutility

balanceui

balanceblservice,界面类库包

balanceblservice

balancebl

balanceblservice, balancedataservice,po

balancedataservice

Java RMI,po

balancedata

po,databaseutility, balancedataservice

userui

userblservice,界面类库包

userblservice

userbl

UserInterface,UserDataClient,UserPo

userdataservice

Java RMI,po

userdata

po,databaseutility,Java RMI

orderui

orderblservice,界面类库包

orderblservice

orderbl

orderblservice, orderdataservice,po

orderdataservice

Java RMI,po

orderdata

po,databaseutility, orderdataservice

managerui

managerblservice,界面类库包

managerblservice

managerbl

managerblservice, managerdataservice,balancebl,accountbl,pocommoditybl,logisticbl

managerdataservice

Java RMI,po

managerdata

po,databaseutility, managerdataservice

vo

po

ublilitybl

界面类库包

Java RMI

databaseutility

JDBC

快递公司管理系统客户端开发包图如图 3 所示,服务器开发包图如图 4 所示。

图 3 快递公司管理系统客户端开发包图

图 4 快递公司管理系统服务器端开发包图

4.2 运行时进程

在快递管理系统中,会有多个客户端进程和一个服务器端进程,其进程图如下图所示。结合部署图,客户端进程是在客户端机器上运行,服务器端进程是在服务器端机器上运行。

4.3 物理部署

快递管理系统中客户端构件是放在客户端机器上,服务器端构件是放在服务器端机器上。在客户端节点上,还要部署 RMIStub 构件。由于 Java RMI 构件属于 JDK 6.0 的一部分。所以,在系统 JDK 环境已经设置好的情况下,不需要再独立部署。部署图如下图。

5.接口视角

5.1 模块的职责

客户端模块和服务器模块视图分别如图 7 和图 8 所示。客户端各层和服务器端各层的职责分别如表 2 和表 3 所示。

图 7 客户端模块视图图 8 服务器模块视图

表 2 客户端各层职责

职责

启动模块

负责初始化网络通信机制,启动用户界面

用户界面层

基于窗口的快递公司客户端用户界面

业务逻辑层

对于用户界面的输入进行响应并进行业务处理逻辑

客户端网络模块

利用 Java RMI 机制查找 RMI 服务

表 3 服务器端各层的职责

职责

启动模块

负责初始化网络通信机制,启动用户界面

数据层

负责数据的持久化及数据访问接口

服务器端网络模块

利用 Java RMI 机制开启 RMI 服务,注册 RMI 服务

每一层只是使用下方直接接触的层。层与层之间仅仅是通过接口的调用完成的。层之间调用的接口如表 4 所示。

借用订单的包来说明层之间的调用,如图 9 所示。每一层之间都是由上层依赖了一个接口(需接口),而下层实现这个接口(供接口)。OrdersBLService 提供了 Orders 界面所需要的所有业务逻辑功能。OrdersDataService 提供了对数据库的操作。这样的实现就大大降低了层与层之间的耦合。

图 9

5.2 用户界面层的分解

根据需求,系统存在 38 个用户界面:登录界面、寄件人主界面、快递员主界面、营业厅业务员主界面、中转中心业务员主界面、中转中心库存管理人员主界面、财务人员主界面、总经理主界面、管理员主界面、物流信息查询界面、订单处理界面、收件信息处理界面、车辆装车管理界面、接收货物界面、派件界面、记录收款信息界面、车辆信息管理界面、司机信息管理界面、管理到达信息界面、管理中转信息界面、管理装车信息界面、库存查看界面、库存盘点界面、入库管理界面、出库管理界面、库存分区调整界面、账户管理界面、结算管理界面、记录付款信息界面、成本管理界面、统计报表界面、期初建账界面、人员和机构管理界面、审批单据界面、查看统计分析界面、常量信息制定界面、薪水策略制定界面、用户管理界面 。界面跳转如图 10 所示。

图 10

服务器端和客户端的用户界面设计接口是一致的,只是具体的界面不一样。用户界面类如图 11 所示。

图 11

5.2.1 用户界面层模块的职责

如表 5 为用户界面层模块的职责

表 5 用户界面层模块的职责

模块

职责

MainFrame

界面 Frame,负责界面的显示和界面的跳转

5.2.2 用户界面层模块的接口规范

用户界面层模块的接口规范如表 6 所示。

表 6  用户界面层模块的接口规范

MainFrame

语法

init(args:String[])

前置条件

后置条件

显示 Frame 以及 LoginPanel

用户界面层需要的服务接口如表 7 所示。

表 7 用户界面层模块需要的服务接口

服务名

服务

Businesslogicservice.LoginBLService

登录界面的业务逻辑接口

Businesslogicservice.*BLService

每个界面都有一个响应的业务逻辑接口

5.2.3 用户界面模块设计原理

用户界面利用 Java 的 Swing 和 AWT 库来实现。

5.3 业务逻辑层的分解

业务逻辑层包括多个针对界面的业务逻辑处理对象。

业务逻辑层的设计如图 12 所示。

图 12 业务逻辑层的设计

5.3.1 业务逻辑层的模块职责

业务逻辑层模块的职责如表 8 所示。

表 8  业务逻辑层模块的职责

模块

职责

userbl

负责实现对应与登录界面以及用户管理界面需要的服务

transportbl

负责实现车辆信息管理界面,司机信息管理界面需要的服务

logisticsbl

负责实现物流信息查询界面,车辆装车管理界面,接收货物界面,派件界面,管理到达信息界面,管理中转信息界面,管理装车信息界面需要的服务

accountbl

负责实现账户管理界面,期初建账界面需要的服务

orderbl

负责实现订单处理界面,收件信息处理界面需要的服务

managerbl

负责实现常量信息制定界面,薪水策略制定界面,审批单据界面,查看统计分析界面,人员和机构管理界面需要的服务

balancebl

负责实现生成成本收益表界面,记录付款信息界面,统计报表界面,记录收款信息界面,结算管理界面需要的服务

commoditybl

负责实现库存查看界面,库存盘点界面,入库管理界面,出库管理界面,库存分区调整界面

5.3.2 业务逻辑层模块的接口规范

Userbl, transportbl, logisticsbl, accountbl, orderbl, managerbl, balancebl, commoditybl 模块的接口规范分别如表 9,表 10,表 11,表 12,表 13,表 14,表 15,表 16 所示。

表 9 userbl 模块的接口规范

提供的服务(供接口)

User.Login

语法

public ResultMessage login(long id,String password)

前置条件

password 符合输入规则

后置条件

查找是否存在相应的 User,根据输入的 password 返回登录验证结果

User.AddUser

语法

public ResultMessage addUser(UserVO vo)

前置条件

id,password 合法

后置条件

在数据库中新增 User

User.DelUser

语法

public ResultMessage delUser(UserVO vo)

前置条件

数据库中存在对应 User

后置条件

在数据库中删除该 User

User.RevUser

语法

public ResultMessage revUser(UserVO vo)

前置条件

数据库中存在对应 User

后置条件

在数据库中修改该 User

User.getUser

语法

public UserVO getUserbyID(String id)

前置条件

数据库中存在对应 User

后置条件

需要的服务(需接口)

DatabaseFactory.getUserDatabase

得到 User 数据库的服务的引用

UserDataService.insert(UserPO po)

在数据库中插入 UserPO 对象

UserDataService.delete(UserPO po)

在数据库中插入 UserPO 对象

UserDataService.update(UserPO po)

在数据库中修改更新某一 UserPO 对象

UserDataService.find(String username)

在数据库中根据用户名查找某一 UserPO 对象

表 10 transportbl 模块接口规范

提供的服务(供接口)

Transport.AddDriver

语法

public ResultMessage addDriver (DriverVO vo)

前置条件

启动一个司机信息管理任务

后置条件

在数据库中新增 driver 信息

Transport.DelDriver

语法

public ResultMessage delDriver()

前置条件

数据库中存在对应 driver 信息

后置条件

在数据库中删除该 driver 信息

Transport.RevDriver

语法

public ResultMessage revDriver (DriverVO vo)

前置条件

数据库中存在对应 driver 信息

后置条件

在数据库中修改该 driver 信息

Transport.getDriverbyDN

语法

public DriverVO getDriverbyDN(String driverNumber)

前置条件

数据库中存在对应 driver 信息

后置条件

Transport.getDriverby Name

语法

public DriverVO getDriverbyName (String name)

前置条件

数据库中存在对应 driver 信息

后置条件

Transport.AddVehicle

语法

public ResultMessage addVehicle (VehicleVo vo)

前置条件

启动一个车辆信息管理任务

后置条件

在数据库中新增 Vehicle 信息

Transport.DelVehicle

语法

public ResultMessage delVehicle ()

前置条件

数据库中存在对应 Vehicle 信息

后置条件

在数据库中删除该 Vehicle 信息

Transport.RevVehicle

语法

public ResultMessage revVehicle (VehicleVo vo)

前置条件

数据库中存在对应 Vehicle 信息

后置条件

在数据库中修改该 Vehicle 信息

Transport.getVehiclebyVN

语法

public VehicleVo getVehiclebyVN (String vehicleNumber)

前置条件

数据库中存在对应 Vehicle 信息

后置条件

Transport.getVehiclebyPN

语法

public VehicleVo getVehiclebyPN (String plateNumber)

前置条件

数据库中存在对应 Vehicle 信息

后置条件

需要的服务(需接口)

DatabaseFactory. getTransportDaTabase

DatabaseFactory.getTransportDaTabase

TransportDataService.insertDriver(DriversPO po)

在数据库中插入 DriversPO 对象

TransportDataService.deleteDriver(DriversPO po)

在数据库中删除 DriversPO 对象

TransportDataService.updateDriver(DriversPO po)

在数据库中修改更新某一 DriversPO 对象

TransportDataService.findDriver(String identity)

在数据库中查找某一 DriversPO 对象

TransportDataService.insertVehicle(VehiclesPO po)

在数据库中插入 VehiclesPO 对象

TransportDataService.deleteVehicle(VehiclesPO po)

在数据库中删除 VehiclesPO 对象

TransportDataService.updateVehicle(VehiclesPO po)

在数据库中修改更新某一 VehiclesPO 对象

TransportDataService.findVehicle(String identity)

在数据库中查找某一 VehiclesPO 对象

表 11 logisticsbl 模块接口规范

提供的服务(供接口)

Logistics. getOrderbyON

语法

public OrderVO getOrderbyON(String orderNumber)

前置条件

数据库中存在该订单

后置条件

Logistics.HallLoad

语法

public ResultMessage addHallLoadForm (HallLoadVO vo)

前置条件

输入信息符合规范

后置条件

数据库增加该营业厅装车单

Logistics. ComputeHLfare

语法

public double ComputeHLfare (HLFareVO vo)

前置条件

输入信息符合规范

后置条件

Logistics.GoodsReceving

语法

public ResultMessage GoodsReceving (GoodsRecevingVO vo)

前置条件

输入信息规范

后置条件

数据库增加该收件单

Logistics.Delivery

语法

public ResultMessageDelivery(DeliveryVO vo)

前置条件

输入信息规范

后置条件

数据库增加该派件单

Logistics.Arrival

语法

public ResultMessage Arrival(ArrivalVO vo)

前置条件

输入信息符合规范

后置条件

数据库增加该到达单

Logistics.Recordtrans

语法

public ResultMessage Recordtrans (RecordtransVO vo)

前置条件

输入信息符合规范

后置条件

数据库增加该中转单

Logistics.Centerload

语法

public ResultMessage addCenterLoadForm (CenterloadVO vo)

前置条件

输入信息符合规范

后置条件

数据库增加该中转中心装车单

Logistics. ComputeCLfare

语法

public double ComputeCLfare (CLFareVO vo)

前置条件

输入信息符合规范

后置条件

需要的服务(需接口)

DatabaseFactory.getLogisticsDaTabase

DatabaseFactory.getLogisticsDaTabase

LogisticsDataService.findLogisticsInfo(String Ordernum)

根据订单编号在数据库中查找某一 LogisticsPO 对象(物流信息)

LogisticsDataService.addLoadForm(LoadPO po)

向数据库中插入 LoadPO 对象(营业厅装车单)

LogisticsDataService.getLoadForm(Formstate state)

从数据库中得到 LoadPO 对象数组

LogisticsDataService.updateLoadForm(LoadPO po)

向数据库中更新 LoadPO 对象

LogisticsDataService.addGoodsRecevingForm(GoodsRecevingPO  po)

向数据库中插入 GoodsRecevingPO 对象(货物接收单)

LogisticsDataService.getGoodsReceivingForm(Formstate state)

从数据库中得到 GoodsReceivingPO 对象

LogisticsDataService.updateGoodsReceivingForm(GoodsReceivingPO po)

向数据库中更新 GoodsReceivingPO 对象

LogisticsDataService.addDeliveryForm(DeliveryPO  po)

向数据库中插入 DeliveryPO 对象(派件单)

LogisticsDataService.getDeliveryForm(Formstate state)

从数据库中得到 DeliveryPO 对象

LogisticsDataService.updateDeliveryForm(DeliveryPO po)

向数据库中更新 DeliveryPO 对象

LogisticsDataService.addArrivalForm(ArrivalPO  po)

向数据库中插入 ArrivalPO 对象(到达单)

LogisticsDataService.getArrivalForm(Formstate state)

从数据库中得到 ArrivalPO 对象

LogisticsDataService.updateArrivalForm(ArrivalPO po)

向数据库中更新 ArrivalPO 对象

LogisticsDataService.addRecordtransForm(RecordtransPO  po)

向数据库中插入 RecordtransPO 对象(中转单)

LogisticsDataService.getRecordtransForm(Formstate state)

从数据库中得到 RecordtransPO 对象

LogisticsDataService.updateRecordtransForm(RecordtransPO po)

向数据库中更新 RecordtransPO 对象

LogisticsDataService.addCenterLoadForm(CenterLoadPO  po)

向数据库中插入 CenterLoadPO 对象(中转中心装车单)

LogisticsDataService.getCenterLoadForm(Formstate state)

从数据库中得到 CenterLoadPO 对象

LogisticsDataService.updateCenterLoadForm(CenterLoadPO po)

向数据库中更新 CenterLoadPO 对象

表 12 accountbl 模块接口规范

提供的服务(供接口)

Account.addAccount

语法

public ResultMessage addAccount(AccountVO vo)

前置条件

启动一个账户管理任务

后置条件

增加新账户

Account.delAccount

语法

public ResultMessage delAccount()

前置条件

数据库中存在该账户

后置条件

删除该账户

Account.revAccount

语法

public ResultMessage revAccount(AccountVO vo)

前置条件

数据库中存在该账户

后置条件

更改该账户

Account.searchAccount

语法

public AccountVO getAccountbyID(String id, String password)

前置条件

数据库中存在该账户

后置条件

Account.NewBook

语法

public ResultMessage NewBook (NewbookVO vo)

前置条件

输入信息符合规范

后置条件

新建账本

需要的服务(需接口)

DatabaseFactory.getAccountDaTabase

得到 Account 数据库的服务和引用

AccountDataService.addAccount(Account PO po)

向数据库中插入 AccoutPO 对象

AccountDataService.deleteAccount(Account PO po)

从数据库中删除 AccountPO 对象

AccountDataService.updateAccount(Account PO po)

从数据库中修改更新某一 AccountPO 对象

AccountDataService.findAccount(String accountname)

从数据库中查询某一 AccountPO 对象

AccountDataService.addNewBook(NewBookPO po)

向数据库中插入 NewBookPO 对象

AccountDataService.findNewBook(long time)

从数据库中查询某一 NewBookPO 对象

表 13 orderbl 模块接口规范

提供的服务(供接口)

Order.order

语法

public ResultMessage order(OrderVO vo)

前置条件

输入信息符合规范

后置条件

数据库中新增订单

Order. Computefare

语法

public double order(OrderFareVO vo)

前置条件

输入信息符合规范

后置条件

Order.reception

语法

public ResultMessage reception (ReceptionVO vo)

前置条件

输入信息符合规范

后置条件

数据库中新增收货单

需要的服务(需接口)

DatabaseFactory.getOrdersDaTabase

得到 Orders 数据库的服务和引用

OrdersDataService.addOrderForm(OrdersPO  Po)

向数据库中插入 OrdersPO 对象

OrdersDataService.getOrderForm(Formstate state)

从数据库中得到 OrdersPO 对象

OrdersDataService.getOrderForm(String Ordernum)

从数据库中得到 OrdersPO 对象

OrdersDataService.updateOrderForm(OrderPO po)

向数据库中更新 OrdersPO 对象

表 14 managerbl 模块接口规范

提供的服务(供接口)

Manager.addConstants

语法

public ResultMessage addContants (ConstantsVO vo)

前置条件

启动一个常量信息制定任务

后置条件

系统新增常量

Manager.delConstants

语法

public ResultMessage delContants(ConstantsVO vo)

前置条件

数据库存在常量

后置条件

数据库中删除该常量

Manager.revConstants

语法

public ResultMessage revContants (ConstantsVO vo)

前置条件

数据库存在常量

后置条件

数据库中修改该常量

Manager.getConstants

语法

public ConstantsVO getContants (string name)

前置条件

数据库存在该常量

后置条件

Manager.addSalary

语法

public ResultMessage addSalary (SalaryVO vo)

前置条件

启动一个常量信息制定任务

后置条件

系统新增常量

Manager.delSalary

语法

public ResultMessage delSalary(SalaryVO vo)

前置条件

数据库存在常量

后置条件

数据库中删除该常量

Manager.revSalary

语法

public ResultMessage revSalary (SalaryVO vo)

前置条件

数据库存在常量

后置条件

数据库中修改该常量

Manager.getSalary

语法

public SalaryVO getSalary (Job job)

前置条件

数据库存在该常量

后置条件

Manager.Salary

语法

public ResultMessage salary(SalaryVO vo)

前置条件

输入信息符合规范

后置条件

数据库中修改薪水策略

Manager.searchAccount

语法

public AccountVO searchAccount(String id)

前置条件

数据库中存在经营情况信息

后置条件

Manager.Balanceview

语法

public BalanceviewVO Balanceview()

前置条件

数据库中存在成本收益信息

后置条件

Manager.Statistics

语法

public StatisticsVO Statistics(long startTime,long endTime)

前置条件

数据库中存在该账户

后置条件

Manager.addOrganization

语法

public ResultMessage addOrganization (OrganizationVO vo)

前置条件

启动一个人员机构管理任务

后置条件

系统新增机构

Manager.delOrganization

语法

public ResultMessage delOrganization(OrganizationVO vo)

前置条件

数据库存在该机构

后置条件

数据库中删除该机构

Manager.revOrganization

语法

public ResultMessage revOrganization (OrganizationVO vo)

前置条件

数据库存在该机构

后置条件

数据库中修改该机构

Manager.getOrganization

语法

public OrganizationVO getOrganization (String name)

前置条件

数据库存在该机构

后置条件

Manager.addStaff

语法

public ResultMessage addStaff(StaffVO vo)

前置条件

启动一个人员机构管理任务

后置条件

系统新增人员

Manager.delStaff

语法

public StaffVO delStaff(StaffVO vo)

前置条件

数据库存在该人员

后置条件

数据库中删除该人员

Manager.revStaff

语法

public ResultMessage revStaff(StaffVO vo)

前置条件

数据库存在该人员

后置条件

数据库中修改该人员

Manager.getStaff

语法

public ResultMessage getStaff(String name)

前置条件

数据库存在该人员

后置条件

Manager.getOrders

语法

public List getOrders()

前置条件

数据库中存在订单信息

后置条件

Manager.OrdersExam

语法

public ResultMessage OrdersExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的订单

Manager.getHLForms

语法

public List getHLForms ()

前置条件

数据库中存在营业厅装车单信息

后置条件

Manager. HLFormsExam

语法

public ResultMessage HLFormsExam (List< HLFormsExamVO> volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的营业厅装车单

Manager.getCLForms

语法

public List getCLForms ()

前置条件

数据库中存在中转中心装车单信息

后置条件

Manager. CLFormsExam

语法

public ResultMessage CLFormsExam (List< CLFormsExamVO> volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的中转中心装车单

Manager.getGoodsRecevings

语法

public List getGoodsRecevings()

前置条件

数据库中存在收货单信息

后置条件

Manager. GoodsRecevingsExam

语法

public ResultMessage GoodsRecevingsExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的收货单

Manager.getDeliverys

语法

public List getDeliverys()

前置条件

数据库中存在派件单信息

后置条件

Manager. DeliverysExam

语法

public ResultMessage DeliverysExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的派件单

Manager.getArrivals

语法

public List getArrivals()

前置条件

数据库中存在到达单信息

后置条件

Manager.ArrivalsExam

语法

public ResultMessage ArrivalsExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的到达单

Manager.getRecordtrans

语法

public List getRecordtrans()

前置条件

数据库中存在中转单信息

后置条件

Manager.RecordtransExam

语法

public ResultMessage RecordtransExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的中转单

Manager.getInbounds

语法

public List getInbounds()

前置条件

数据库中存在入库单信息

后置条件

Manager.InboundsExam

语法

public ResultMessage InboundsExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的入库单

Manager.getStockouts

语法

public List getStockouts()

前置条件

数据库中存在出库单信息

后置条件

Manager.StockoutsExam

语法

public ResultMessage StockoutsExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的出库单

Manager.getRecordcollects

语法

public List getRecordcollects()

前置条件

数据库中存在收款单信息

后置条件

Manager.RecordcollectsExam

语法

public ResultMessage RecordcollectsExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的收款单

Manager.getDebitnotes

语法

public List getDebitnotes()

前置条件

数据库中存在收款单信息

后置条件

Manager.DebitnotesExam

语法

public ResultMessage DebitnotesExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的收款单

Manager.getRecordpays

语法

public List getRecordpays()

前置条件

数据库中存在付款单信息

后置条件

Manager.RecordpaysExam

语法

public ResultMessage RecordpaysExam (List volist)

前置条件

输入信息符合规范

后置条件

数据库中存储审批后的付款单

需要的服务(需接口)

DatabaseFactory.getManagerDatabase

得到 Manager 数据库的服务的引用

ManagerDataService.addConstants(ConstantsPO po)

向数据库中插入 ConstantsPO 对象

ManagerDataService.deleteConstants(ConstantsPO po)

从数据库中删除 ConstantsPO 对象

ManagerDataService.updateConstants(ConstantsPO po)

从数据库中修改更新某个 ConstantsPO 对象

ManagerDataService.updateSalary(SalaryPO po)

从数据库中修改更新某个 SalaryPO 对象(薪水策略制定)

ManagerDataService.addOrganization(OrganizationPO po)

向 Manager 数据库中插入 OrganizationPO 对象

ManagerDataService.deleteOrganization(OrganizationPO po)

向 Manager 数据库中删除 OrganizationPO 对象

ManagerDataService.updateOrganization(OrganizationPO po)

向 Manager 数据库中修改更新 OrganizationPO 对象

ManagerDataService.findOrganization(long organizationid)

向 Manager 数据库中查找 OrganizationPO 对象

ManagerDataService.addStaff(StaffPO po)

向 Manager 数据库中插入 StaffPO 对象

ManagerDataService.deleteStaff(StaffPO po)

向 Manager 数据库中删除 StaffPO 对象

ManagerDataService.updateStaff(StaffPO po)

向 Manager 数据库中修改更新 StaffPO 对象

ManagerDataService.findStaff(String Staffid)

向 Manager 数据库中查找 StaffPO 对象

表 15 balancebl 模块接口规范

提供的服务(供接口)

Balance.Balanceview

语法

public BalanceviewVO getBalanceview()

前置条件

数据库中存在成本收益信息

后置条件

Balance.RecordCollect

语法

public ResultMessage Recordcollect (RecordcollectVO vo)

前置条件

输入信息符合规范

后置条件

数据库中新增付款信息

Balance.Statistics

语法

public StatisticsVO Statistics(long startTime,long endTime)

前置条件

数据库中存在经营情况信息

后置条件

Balance.Recordpay

语法

public ResultMessage Recordpay(RecordpayVO vo)

前置条件

输入信息符合规范

后置条件

数据库中新增收款信息

Balance.Debitnote

语法

public ResultMessage Debitnote(DebitnoteVO vo)

前置条件

输入信息符合规范

后置条件

数据库中新增收款单

需要的服务(需接口)

DatabaseFactory.getBalanceDaTabase

得到 Balance 数据库的服务和引用

BalanceDataService.addBalanceview(BalanceviewPO po)

向数据库中插入 BalanceviewPO 对象

BalanceDataService.getBalanceview()

从数据库中得到 BalanceviewPO 对象(成本收益表)

BalanceDataService.addRecordcollectForm(RecordcollectPO po)

向数据库中插入 RecordcollectPO 对象(收款单)

BalanceDataService.getRecordcollectForm(Formstate state)

从数据库中得到 RecordcollectPO 对象

BalanceDataService.updateRecordcollectForm(RecordcollectPO po)

向数据库中更新 RecordcollectPO 对象

BalanceDataService.getallRecordcollectForm()

从数据库中得到所有 RecordcollectPO 对象

BalanceDataService.getallRecordpayForm()

从数据库中得到所有 RecordpayPO 对象

BalanceDataService.addRecordpayForm(RecordpayPO po)

向数据库中插入 RecordpayPO 对象(付款单)

BalanceDataService.getRecordpayForm(Formstate state)

从数据库中得到 RecordpayPO 对象

BalanceDataService.updateRecordpayForm(RecordpayPO po)

向数据库中更新 RecordpayPO 对象

BalanceDataService.addDebitnoteForm(DebitnotePO po)

向数据库中插入 DebitnotePO 对象(结算管理)

BalanceDataService.getDebitForm(Formstate state)

从数据库中得到 DebitPO 对象

BalanceDataService.updateDebitForm(DebitPO po)

向数据库中更新 DebitPO 对象

表 16 commoditybl 模块接口规范

提供的服务(供接口)

Commodity.StockExamination

语法

public StockExaminationVO StockExamination (long startTime, long endTime)

前置条件

数据库存在库存信息

后置条件

Commodity.Stocktaking

语法

public StocktakingVO Stocktaking()

前置条件

数据库存在库存信息

后置条件

Commodity.Inbound

语法

public ResultMessage Inbound(StockinVO vo)

前置条件

输入信息符合规范

后置条件

数据库增加该入库单

Commodity.Stockout

语法

public ResultMessage Stockout(StockoutVO vo)

前置条件

输入信息规范

后置条件

数据库增加该出库单

Commodity.Subregion

语法

public ResultMessage Subregion(Location beforeLocation, Location afterLocation)

前置条件

存在该货物

后置条件

更改货物位置

Commodity.getRegionInfo

语法

public RegionInfoVO getRegionInfo (Region region)

前置条件

数据库存在分区信息

后置条件

需要的服务(需接口)

DatabaseFactory.getCommodityDatabase

得到 Commodity 数据库的服务的引用

CommodityDataService.getallCommodity()

得到数据库中所有 CommodityPO 对象

CommodityDataService.getCommodityBetween(Int starttime,int endtime)

得到所有入库时间在 starttime 和 endtime 之间的 CommodityPO 对象

CommodityDataService.addnew(CommodityPO po)

向数据库中加入一个 CommodityPO 对象

CommodityDataService.setOuttime(CommodityPOpo,int endtime)

给某一 Commodity 对象填写出库时间

CommodityDataService.changeLocation(CommodityPO Po, blocknum, linenum, shelfnum, locationnum)

给数据库中某一 CommodityPO 对象修改位置

CommodityDataService.addStockinForm(StockinPO po)

向数据库中插入 StockinPO 对象(付款单)

CommodityDataService.getStockinForm(Formstate state)

从数据库中得到 StockinPO 对象

CommodityDataService.updateStockinForm(StockinPO po)

向数据库中更新 StockinPO 对象

CommodityDataService.addStockoutForm(StockoutPO po)

向数据库中插入 StockoutPO 对象(付款单)

CommodityDataService.getStockoutForm(Formstate state)

从数据库中得到 StockoutPO 对象

CommodityDataService.updateStockoutForm(StockoutPO po)

向数据库中更新 StockoutPO 对象

5.4 数据层的分解

数据层主要给逻辑层提供数据访问服务,包括对于持久化数据的增,删,改,查。由于持久化数据的保存可能存在多种形式:Txt 文件,序列化文件,数据库等,所示抽象了数据服务。数据层模块的具体描述如下图。

5.4.1 数据层模块的职责

模块

职责

UserDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

UserDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

TransportDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

TransportDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

LogisticsDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

LogisticsDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

AccountDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

AccountDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

BalanceDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

BalanceDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

OrdersDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

OrdersDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

ManagerDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

ManagerDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

模块

职责

CommodityDataService

持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

CommodityDataServiceMySqlImpl

基于 MySQL 数据库的持久化数据库的接口,提供集体载入,集体保存,增,删,改,查服务

5.4.2 数据层模块的接口规范

数据层模块的接口规范如表 12 所属。

表 12 TransportData 模块的接口规范

提供的服务(供接口)

TransportDataService.insertDriver

语法

public void insertDriver(DriversPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

TransportDataService.deleteDriver

语法

public void deleteDriver(DriversPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 po

TransportDataService.updateDriver

语法

public void updateDriver(DriversPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

TransportDataService.findDriverByNum

语法

public DriversPO findDriver(String identity)throws RemoteException

前置条件

后置条件

按 identity 进行查找返回相应的 DriversPO 结果

TransportDataService.findDriverByName

语法

public List findDriverByname(String name)throws RemoteException

前置条件

后置条件

按 name 进行查找返回相应的 DriversPO 结果

TransportDataService.getCurrentDriverID(String orgcode)

语法

public long getCurrentDriverID(String orgcode)throws RemoteException

前置条件

后置条件

按 orgcode 进行查找返回下一个 Driver 的编号

TransportDataService.insertVehicle

语法

public void insertVehicle(VehiclesPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

TransportDataService.deleteVehicle

语法

public void deleteVehicle(VehiclesPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 po

TransportDataService.updateVehicle

语法

public void updateVehicle(VehiclesPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

TransportDataService.findVehiclebyCode

语法

public VehiclesPO findVehiclebycode (String identity) throws RemoteException

前置条件

后置条件

按 identity 进行查找返回相应的 VehiclesPO 结果

TransportDataService. findVehicleByPlateNumber

语法

public VehiclesPO findVehicleByPlateNumber(String plateNumber) throws RemoteException;

前置条件

后置条件

按 plateNumber 进行查找返回相应的 VehiclesPO 结果

TransportDataService.getCurrentVehicleID(String orgcode)

语法

public long getCurrentVehicleID(String orgcode)throws RemoteException

前置条件

后置条件

按 orgcode 进行查找返回下一个 Vehicle 的编号

LogisticsData 模块的接口规范

提供的服务(供接口)

LogisticsDataService. addLoadForm

语法

public void addLoadForm (LoadPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

LogisticsDataService.getLoadForm

语法

public ListgetLoadForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateLoadForm

语法

public void updateLoadForm(LoadPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService. findLogisticsInfo

语法

public LogisticsPO findLogisticsInfo (String ordernum)throws RemoteException

前置条件

后置条件

按 ordernum 进行查找返回相应的 LogisticsPO 结果

LogisticsDataService. addGoodsReceivingForm

语法

public void addGoodsReceivingForm (GoodsReceivingPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

LogisticsDataService.getGoodsReceivingForm

语法

public List getGoodsReceivingForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateGoodsReceivingForm

语法

public void updateGoodsReceivingForm (GoodsReceivingPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService.getDeliveryForm

语法

public List getDeliveryForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateDeliveryForm

语法

public void updateDeliveryForm (DeliveryPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService. addDeliveryForm

语法

public void addDeliveryForm (DeliveryPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

LogisticsDataService.getArrivalForm

语法

public List getArrivalForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateArrivalForm

语法

public void updateArrivalForm (ArrivalPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService. addArrivalForm

语法

public void addArrivalForm (ArrivalPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

LogisticsDataService.getRecordtransForm

语法

public List getRecordtransForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateRecordtransForm

语法

public void updateRecordtransForm (RecordtransPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService. addRecordtransForm

语法

public void addRecordtransForm (RecordtransPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

LogisticsDataService.getCenterLoadForm

语法

public List getCenterLoadForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

LogisticsDataService.updateCenterLoadForm

语法

public void updateCenterLoadForm (CenterloadPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

LogisticsDataService. addCenterLoadForm

语法

public void addCenterLoadForm (CenterloadPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

AccountData 模块的接口规范

提供的服务(供接口)

AccountService.addAccount

语法

public void addAccount(AccountPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

AccountService.deleteAccount

语法

public void deleteAccount(AccountPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 po

AccountService.updateAccount

语法

public void updateAccount(AccountPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

AccountService.findAccount

语法

public AccountPO findAccount(String accountname)throws RemoteException

前置条件

后置条件

按 accountname 进行查找返回相应的 AccountPO 结果

AccountService.addNewBook

语法

public void addNewbook(NewbookPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

AccountService.findNewBook

语法

public List findNewBook(long time)throws RemoteException

前置条件

后置条件

按 time 进行查找返回相应的 List结果

BalanceData 模块的接口规范

提供的服务(供接口)

BalanceDataService. addBalanceview

语法

public void addBalanceview (BalanceviewPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

BalanceDataService.getBalanceview

语法

public BalanceviewPO getBalanceview ()throws RemoteException

前置条件

后置条件

生成并返回的 BalanceviewPO 结果

BalanceDataService. addRecordcollectForm

语法

public void addRecordcollectForm (RecordcollectPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

BalanceDataService.getRecordcollectForm

语法

public List getRecordcollectForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

BalanceDataService.updateRecordcollectForm

语法

public void updateRecordcollectForm (RecordcollectPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

BalanceDataService.getRecordpayForm

语法

public List getRecordpayForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

BalanceDataService.updateRecordpayForm

语法

public void updateRecordpayForm (RecordpayPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

BalanceDataService. addRecordpayForm

语法

public void addRecordpayForm (RecordpayPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

BalanceDataService.getDebitnoteForm

语法

public List getDebitnoteForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

BalanceDataService.updateDebitnoteForm

语法

public void updateDebitnoteForm (DebitnotePO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

BalanceDataService. addDebitnoteForm

语法

public void addDebitnoteForm (DebitnotePO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

BalanceDataService. getallRecordcollectForm

语法

public List getallRecordcollectForm ()throws RemoteException

前置条件

后置条件

返回数据库中的 List结果

BalanceDataService. getallRecordpayForm

语法

public List getallRecordpayForm ()throws RemoteException

前置条件

后置条件

返回数据库中的 List结果

OrdersData 模块的接口规范

提供的服务(供接口)

OrdersDataService. addOrderForm

语法

public void addOrderForm (OrdersPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

OrdersDataService.getOrderForm

语法

public OrdersPO getOrderForm (String ordernum)throws RemoteException

前置条件

后置条件

按 ordernum 进行查找返回相应的 OrdersPO 结果

OrdersDataService.getOrderForm

语法

public List getOrderForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

OrdersDataService.updateOrderForm

语法

public void updateOrderForm (OrdersPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

ManagersData 模块的接口规范

提供的服务(供接口)

ManagersDataService. addConstants

语法

public void addConstants (ConstantsPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

ManagersDataService. deleteConstants

语法

public void deleteConstants (ConstantsPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 PO

ManagersDataService. updateConstants

语法

public void updateConstants (ConstantsPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

ManagersDataService. findConstants

语法

public ConstantsPO  findConstants(long id)throws RemoteException

前置条件

后置条件

按 id 进行查找返回相应的 ConstantsPO 结果

ManagersDataService. updateSalary

语法

public void updateSalary (SalaryPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

ManagersDataService. findSalary

语法

public SalaryPO  findSalary (long id)throws RemoteException

前置条件

后置条件

按 id 进行查找返回相应的 SalaryPO 结果

ManagersDataService. addOrganization

语法

public void addOrganization (OrganizationPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

ManagersDataService. deleteOrganization

语法

public void deleteOrganization (OrganizationPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 PO

ManagersDataService. updateOrganization

语法

public void updateOrganization (OrganizationPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

ManagerDataService.findOrganization

语法

public OrganizationPO  findOrganization(long organizationid)throws RemoteException

前置条件

后置条件

按 organizationid 进行查找返回相应的 OrganizationPO 结果

ManagersDataService. addStaff

语法

public void addStaff (StaffPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

ManagersDataService. deleteStaff

语法

public void deleteStaff (StaffPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

删除一个 PO

ManagersDataService. updateStaff

语法

public void updateStaff (StaffPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

ManagerDataService.findStaff

语法

public StaffPO  findStaff(long Staffid)throws RemoteException

前置条件

后置条件

按 Staffid 进行查找返回相应的 StaffPO 结果

CommodityData 模块的接口规范

提供的服务(供接口)

CommodityDataService. addStockinForm

语法

public void addStockinForm (StockinPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

CommodityDataService.getStockinForm

语法

public List getStockinForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

CommodityDataService.updateStockinForm

语法

public void updateStockinForm (StockinPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

CommodityDataService. addStockoutForm

语法

public void addStockoutForm (StockoutPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

CommodityDataService.getStockoutForm

语法

public List getStockoutForm (Formstate state)throws RemoteException

前置条件

后置条件

按 state 进行查找返回相应的 List结果

CommodityDataService.updateStockoutForm

语法

public void updateStockoutForm (StockoutPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

CommodityDataService.getallCommodity

语法

public List getallCommodity()throws RemoteException

前置条件

后置条件

返回数据库中的 List

CommodityDataService.getallCommodityBetween

语法

public List  getCommodityBetween(long starttime,long endtime)throws RemoteException

前置条件

后置条件

返回数据库中所有入库时间在 starttime 和 endtime 之间的 CommodityPO

CommodityDataService.addnew

语法

public void addnew(CommodityPO po) throws RemoteException

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

CommodityDataService.setOuttime

语法

public void setOuttime(CommodityPO po,long endtime) throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

CommodityDataService.changeLocation

语法

public void changeLocation(CommodityPO Po, long blocknum, long linenum, long shelfnum, long locationnum)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

UsersData 模块的接口规范

提供的服务(供接口)

UserDataService.add

语法

public void add(UserPO po)throws RemoteException;

前置条件

同样 ID 的 po 在 Mapper 中不存在

后置条件

在数据库中增加一个 po 记录

UserDataService.delete

语法

public void delete (UserPO po)throws RemoteException

前置条件

数据库中存在同样 ID 的 po

后置条件

删除一个 po

UserDataService.find

语法

public UserPO find(long id)throws RemoteException

前置条件

后置条件

按 id 进行查找返回相应的 UserPO 结果

UserDataService.update

语法

public void update (UserPO po)throws RemoteException

前置条件

在数据库中存在同样 ID 的 po

后置条件

更新一个 po

6.信息视角

6.1 数据持久化对象

系统的 PO 类就是对应的相关的实体类,在此只做简单的介绍。

UserPO 类包含用户的用户名 username、密码 code、权限属性 level、id。

LogisticsPO 类包含快件的货运状态、历史轨迹属性。订单编号 ordernum

OrdersPO 类包含订单的寄件人姓名 sendername、住址 senderaddress、单位 senderunit、电话 senderphone、手机 sendercellphone,收件人姓名 receivername、住址 receiveraddress、单位 receiverunit、电话 receiverphone、手机 receivercellphone,原件数 numbers、实际重量 weight、体积 volume、内件品名 productname,尺寸 productsize,包装费 packagefee,费用合计 totalfee,订单条形码号 ordercode,快递类型 ordertype、收件编号 codeofreceiving、收件人 receiver、收件日期属性 receivingtime。

LoadPO 类包含快件的装车日期 loadtime、本营业厅编号 hallcode、汽运编号 motorcode、到达地 destination、车辆代号 vehiclecode、监装员 supervisor、押运员 supercargo、本次装箱所有订单条形码号 allbarcode、运费 fee、单据状态属性 documentstate。

GoodsRecevingPO 类包含快件的到达营业厅日期 arrivaltime、中转单编号 transcode、出发地 departureplace、货物到达状态 arrivalstate、单据状态属性 documentstate。

DeliveryPO 类包含快件的到达日期 arrivaltime、托运订单条形码 barcode、派件员信息 delivorinfo、单据状态属性 documentstate。

RecordcollectPO 类包含收款日期 collectiontime、收款金额 collectionsum、收款营业厅业务员 collectionman、对应的所有快递订单条形码号 allordercode、单据状态属性 documentstate。

VehiclesPO 类包含车辆代号 vehiclecode、车牌号 vehiclenum、服役时间 extendtime 属性。

DriversPO 类包含司机的编号 drivercode、姓名 drivername、出生日期 birthtime、身份证号 identifiercode、手机 cellphone、性别 drivergender、行驶证期限属性 timelimit。

ArrivalPO 类包含中转中心编号 centercode、到达日期 arrivaltime、中转单编号 transcode、出发地 departure、货物到达状态 arrivalstate、单据状态属性 documentstate。

RecordtransPO 类包含装车日期 loadtime、本中转中心中转单编号 transcode,航班号 flightcode、出发地 departure、到达地 destinaton、货柜号 countercode、监装员 supervisor、本次装箱所有托运单号 allcode、运费 fee、单据状态属性 documentstate。

CenterloadPO 类装车日期 loadtime、本中转中心汽运编号 motorcode、到达地 destination、车辆代号 vehiclecode、监装员 supervisor、押运员 supercargo、本次装箱所有订单条形码号 allbarcode、运费 fee、单据状态属性 documentstate。

CommodityPO 类包含快件的编号 ordercode、入库日期 intime、区号 blocknum、排号 linenum、架号 shelfnum、位号 locationnum、出库日期 outtime 属性。

StockinPO 类包含快件的编号 ordercode、入库日期 intime、区号 blocknum、排号 linenum、架号 shelfnum、位号 locationnum、单据状态属性 documentstate。

StockoutPO 类包含快件的编号 ordercode、出库日期 outtime、目的地 destination、装运形式 loadform、中转单编号 transcode 或者汽运编号 motorcode、单据状态属性 documentstate。

AccountPO 类包含账户的名称 accountname、金额属性 accountsum。

DebitnotePO 类包含收款日期 debittime、收款单位 debitunit、收款人 debitor、收款方 debitside、收款金额 sum、收款地点 location、单据状态属性 documentstate。

RecordpayPO 类包含付款日期 paytime、付款金额 paysum、付款人 payman、付款账号 payaccount、租金 rent、运费 fee、人员工资 salary、奖励 reward、备注 remark、单据状态属性 documentstate。

BalanceviewPO 类包含总收入 income、总支出 pay、总利润属性 allbenefit。

NewbookPO 类包含机构 organization、人员 staff、车辆 vehicle、库存 commodity、 银行账户名称 accountname、金额属性 accountsum。

OrganizationPO 类包含机构名称 name、机构类型 type 属性。

StaffPO 类包含人员姓名 name、职业 job 属性。

ConstantsPO 类包含城市距离 distance、价格 price 等属性。

SalaryPO 类包含薪水策略属性。

持久化用户对象 UserPO 的定义如图 14 所示。

图 14 持久化用户对象 UserPO 的定义

6.2 Txt 持久化对象

Txt 数据保持格式以 DriversPO 为例。每行分别对应编号、姓名、出生日期、身份证号、手机、性别、行驶证期限。中间用“:”隔开。如下所示:

025001002:张三:19800403:310228198004035430:13123456789:男:20160809

025002012:王三:19830813:310228198308134420:13123456889:男:20170516

6.3 数据库表

数据库中包含 UserPO 表、LogisticsPO 表、OrdersPO 表、LoadPO 表、GoodsRecevingPO 表、DeliveryPO 表、RecordcollectPO 表、VehiclesPO 表、DriversPO 表、ArrivalPO 表、RecordtransPO 表、CenterloadPO 表、CommodityPO 表、StockinPO 表、StockoutPO 表、AccountPO 表、DebitnotePO 表、RecordpayPO 表、StocktakingPO 表、NewBookPO 表、OrganizationPO 表、StaffPO 表、ConstantsPO 表、SalaryPO 表。

DeliveryPO 类包含快件的到达日期 arrivaltime、托运订单条形码 barcode、派件员信息 delivorinfo、单据状态属性 documentstate。

RecordcollectPO 类包含收款日期 collectiontime、收款金额 collectionsum、收款营业厅业务员 collectionman、对应的所有快递订单条形码号 allordercode、单据状态属性 documentstate。

VehiclesPO 类包含车辆代号、车牌号、服役时间、车辆图片属性。

DriversPO 类包含司机的编号 drivercode、姓名 drivername、出生日期 birthtime、身份证号 identifiercode、手机 cellphone、性别 drivergender、行驶证期限属性 timelimit。

ArrivalPO 类包含中转中心编号 centercode、到达日期 arrivaltime、中转单编号 transcode、出发地 departure、货物到达状态 arrivalstate、单据状态属性 documentstate。

RecordtransPO 类包含装车日期 loadtime、本中转中心中转单编号 transcode,航班号 flightcode、出发地 departure、到达地 destinaiton、货柜号 countercode、监装员 supervisor、本次装箱所有托运单号 allcode、运费 fee、单据状态属性 documentstate。

CenterloadPO 类装车日期 loadtime、本中转中心汽运编号 motorcode、到达地 destination、车辆代号 vehiclecode、监装员 supervisor、押运员 supercargo、本次装箱所有订单条形码号 allbarcode、运费 fee、单据状态属性 documentstate。

CommodityPO 类包含快件的编号 ordercode、入库日期 intime、区号 blocknum、排号 linenum、架号 shelfnum、位号 locationnum、出库日期 outtime、目的地 destination、装运形式 loadform、中转单编号 transcode 或者汽运编号 motorcode、单据状态属性 documentstate。

AccountPO 类包含账户的名称 accountname、金额属性 accountsum。

DebitnotePO 类包含收款日期 debittime、收款单位 debitunit、收款人 debitor、收款方 debitside、收款金额 sum、收款地点 location、单据状态属性 documentstate。

RecordpayPO 类包含付款日期 paytime、付款金额 paysum、付款人 payman、付款账号 payaccount、条目 paylist、备注 remark、单据状态属性 documentstate。

//BalanceviewPO 类包含总收入 income、总支出 pay、总利润属性 allbenefit。

NewBookPO 类包含机构 organization、人员 staff、车辆 vehicle、库存 comodity、 银行账户名称 accountname、金额属性 accountsum。

OrganizationPO 类包含机构 organization、人员信息属性 staff()。

ConstantsPO 类包含城市距离 distance、价格 price 等属性。

SalaryPO 类包含薪水策略属性。

持久化用户对象 UserPO 的定义如图 14 所示。

图 14 持久化用户对象 UserPO 的定义


网站公告

今日签到

点亮在社区的每一天
去签到