zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

mysqlJAVA公司管理系统 实现 基于 图形界面 快递
2023-09-11 14:17:50 时间

快递公司管理系统

软件需求

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 快递公司管理系统的最终开发包设计

开发(物理)包所依赖的其他开发包
mainuicommodityui, transportui, logisticui,accountui, balanceui, userui, orderui, managerui,vo
commodityui界面类库包,commodityblservice
commodityblservice
commodityblcommodityblservice, commoditydataservice,po, logisticbl
commoditydataserviceJava RMI,po
commoditydataJava RMI,po,databaseutility
transportuitransportblservice,界面类库包
transportblservice
transportbltransportblservice, transportui,po
transportdataserviceJava RMI,po
transportdataJava RMI,po,databaseutility
logisticuiLogisticblservice,界面类库包
logisticblservice
logisticblLogisticblservice,logisticdataservice,po, transportbl(commodityInfo),orderbl
logisticdataserviceJava RMI,po
logisticdatapo,databaseutility, logisticdataservice
accountui界面类库包,accountblservice
accountblservice
accountblaccountblservice, accountdataservice,po,balancebl
accountdataserviceJava RMI,po
accountdataJava RMI,po,databaseutility
balanceuibalanceblservice,界面类库包
balanceblservice
balanceblbalanceblservice, balancedataservice,po
balancedataserviceJava RMI,po
balancedatapo,databaseutility, balancedataservice
useruiuserblservice,界面类库包
userblservice
userblUserInterface,UserDataClient,UserPo
userdataserviceJava RMI,po
userdatapo,databaseutility,Java RMI
orderuiorderblservice,界面类库包
orderblservice
orderblorderblservice, orderdataservice,po
orderdataserviceJava RMI,po
orderdatapo,databaseutility, orderdataservice
manageruimanagerblservice,界面类库包
managerblservice
managerblmanagerblservice, managerdataservice,balancebl,accountbl,pocommoditybl,logisticbl
managerdataserviceJava RMI,po
managerdatapo,databaseutility, managerdataservice
vo
po
ublilitybl
界面类库包
Java RMI
databaseutilityJDBC

快递公司管理系统客户端开发包图如图 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. getTransportDaTabaseDatabaseFactory.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.getLogisticsDaTabaseDatabaseFactory.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 的定义

7.功能说明

用户界面

UI1 物流信息查询:系统应该使用Form风格的界面,帮助寄件人使用物流信息查询界面完成物流信息查询任务。如图1.1
UI1.1 在寄件人点击按钮“物流信息查询”时,系统应该展开物流信息查询界面,如图1.2
UI1.1.1在寄件人完成输入点击确定时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI1.1.1.1 在寄件人完成输入时,如果输入的信息符合要求,显示快件的货运状态和历史轨迹。
在这里插入图片描述
在这里插入图片描述
UI2 订单处理:系统应该使用Form风格的界面,帮助快递员使用订单处理界面完成订单处理任务。
UI2.1 在快递员点击按钮“订单处理”时,系统应该展开订单处理界面,如图2.1
UI2.1.1在快递员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI2.1.1.1 在快递员完成输入时,如果输入的信息符合要求,显示快件所有信息,生成的报价和时间
UI2.1.1.1.1 在快递员点击按钮“确认并提交”时,系统显示“订单信息提交成功”

在这里插入图片描述
UI3收件信息处理:系统应该使用Form风格的界面,帮助快递员使用收件信息处理界面完成收件信息处理任务。
UI3.1 在快递员点击按钮“收件信息处理”时,系统应该展开收件信息处理界面,如图3.1
UI3.1.1在快递员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI3.1.1.1 在快递员完成输入时,如果输入的信息符合要求,显示收件信息
UI2.1.1.1.1 在快递员点击按钮“确认并提交”时,系统显示“收件信息提交成功”
在这里插入图片描述
UI4 车辆装车管理:系统应该使用Form风格的界面,帮助营业厅业务员使用车辆装车管理界面完成车辆装车管理任务。
UI4.1 在营业厅业务员击按钮“车辆装车管理”时,系统应该展开车辆装车管理界面,如图4.1
UI4.1.1在营业厅业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI4.1.1.1 在营业厅业务员完成输入时,如果输入的信息符合要求,显示装车单的所有信息以及自动生成的运费
UI4.1.1.1.1 在营业厅业务员点击按钮“确认并提交”时,系统显示“装车单信息提交成功”
在这里插入图片描述
UI5 接收货物:系统应该使用Form风格的界面,帮助营业厅业务员使用接收货物界面完成接收货物任务。
UI5.1 在营业厅业务员点击按钮“接收货物”时,系统应该展开接收货物界面,如图5.1
UI5.1.1在营业厅业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI5.1.1.1 在营业厅业务员完成输入时,如果输入的信息符合要求,显示货物到达信息。
UI5.1.1.1.1 在营业厅业务员点击按钮“确认并提交”时,系统显示“到达单信息提交成功”
在这里插入图片描述
UI6 派件:系统应该使用Form风格的界面,帮助营业厅业务员使用派件界面完成派件任务。
UI6.1 在营业厅业务员点击按钮“派件”时,系统应该展开派件界面,如图6.1
UI6.1.1在营业厅业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI6.1.1.1 在营业厅业务员完成输入时,如果输入的信息符合要求,显示派件单信息
UI6.1.1.1.1 在营业厅业务员点击按钮“确认并提交”时,系统显示“派件单信息提交成功”
在这里插入图片描述
UI7 记录收款信息:系统应该使用Form风格的界面,帮助营业厅业务员使用记录收款信息界面完成记录收款信息任务。
UI7.1 在营业厅业务员点击按钮“记录收款信息”时,系统应该展开记录收款信息界面,如图7.1
UI7.1.1在营业厅业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI7.1.1.1 在营业厅业务员完成输入时,如果输入的信息符合要求,显示收款信息
UI7.1.1.1.1 在营业厅业务员点击按钮“确认并提交”时,系统显示“收款单信息提交成功”
在这里插入图片描述
UI8:车辆信息管理:系统应该使用form风格的界面,帮助营业厅业务员使用车辆信息管理界面完成车辆信息管理任务。
UI8.1:在营业厅业务员输入开始车辆信息管理命令时,系统应展开显示所有车辆的列表界面。每一条车辆信息为一个按钮,在列表上方有增加车辆信息选项。如图8.1
UI8.1.1:在营业厅业务员输入增加车辆信息命令时,系统展开车辆信息输入界面
UI8.1.1.1:在营业厅业务员完成输入时,如果所有信息输入完整,系统显示保存成功,3秒后返回车辆信息管理界面。
UI8.1.1.2:在营业厅业务员完成输入时,如果信息输入尚不完整,系统提示信息不完整并返回输入界面且保留已输入部分。
UI8.1.2:在营业厅业务员输入选择某个车辆信息命令时,系统显示该车辆所有信息,在信息下方有修改该条信息和删除该条信息的选项。
UI8.1.2.1:在营业厅业务员输入修改该信息命令时,系统显示与UI8.1.1相同接口,并且输入框保留原信息。
UI8.1.2.2:在营业厅业务员输入删除命令时系统询问是否确定删除及确定和取消选项。
UI8.1.2.2.1:在营业厅业务员输入确定命令时,系统显示删除成功,3秒后返回车辆信息界面。
UI8.1.2.2.2:在营业厅业务员输入取消命令时,系统返回该条车辆信息界面。
在这里插入图片描述
UI9:司机信息管理:系统应该使用form风格的界面,帮助营业厅业务员使用司机信息管理界面完成司机信息管理任务。
UI9.1:在营业厅业务员输入开始司机信息管理命令时,系统应展开显示所有司机的列表界面。每一条司机信息为一个按钮,在列表上方有增加司机信息选项。如图9.1
UI9.1.1:在营业厅业务员输入增加司机信息命令时,系统展开司机信息输入界面
UI9.1.1.1:在营业厅业务员完成输入时,如果所有信息输入完整,系统显示保存成功,3秒后返回司机信息管理界面。
UI9.1.1.2:在营业厅业务员完成输入时,如果信息输入尚不完整,系统提示信息不完整并返回输入界面且保留已输入部分。
UI9.1.2:在营业厅业务员输入选择某个司机信息命令时,系统显示该司机所有信息,在信息下方有修改该条信息和删除该条信息的选项。
UI9.1.2.1:在营业厅业务员输入修改该信息命令时,系统显示与UI9.1.1相同接口,并且输入框保留原信息。
UI9.1.2.2:在营业厅业务员输入删除命令时系统询问是否确定删除及确定和取消选项。
UI9.1.2.2.1:在营业厅业务员输入确定命令时,系统显示删除成功,3秒后返回司机信息界面。
UI9.1.2.2.2:在营业厅业务员输入取消命令时,系统返回该条司机信息界面。
在这里插入图片描述
UI10:管理到达信息:系统应该使用Form风格的界面,帮助中转中心业务员使用管理到达信息界面完成管理到达信息任务。
UI10.1 在中转中心业务员点击按钮“管理到达信息”时,系统应该展开管理到达信息界面,如图10
UI10.1.1在中转中心业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI10.1.1.1 在中转中心业务员完成输入时,如果输入的信息符合要求,显示到达单信息
UI10.1.1.1.1 在中转中心业务员点击按钮“确认并提交”时,系统显示“到达单信息提交成功”
在这里插入图片描述
UI11:记录中转信息:系统应该使用Form风格的界面,帮助中转中心业务员使用记录中转信息界面完成记录中转信息任务。
UI11.1 在中转中心业务员点击按钮“记录中转信息”时,系统应该展开记录中转信息界面
UI11.1.1在中转中心业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI11.1.1.1 在中转中心业务员完成输入时,如果输入的信息符合要求,显示中转单信息
UI11.1.1.1.1 在中转中心业务员点击按钮“确认并提交”时,系统显示“中转单信息提交成功”
在这里插入图片描述
UI12:管理装车信息:系统应该使用Form风格的界面,帮助中转中心业务员使用管理装车信息界面完成管理装车信息任务。
UI12.1 在中转中心业务员点击按钮“管理装车信息”时,系统应该展开管理装车信息界面,如图12
UI12.1.1在中转中心业务员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI12.1.1.1 在中转中心业务员完成输入时,如果输入的信息符合要求,显示装车单信息
UI12.1.1.1.1 在中转中心业务员点击按钮“确认并提交”时,系统显示“装车单信息提交成功”
在这里插入图片描述
UI13 库存查看:系统应该使用Form风格的界面,帮助中转中心仓库管理人员完成库存查看任务。
UI13.1 在中转中心仓库管理人员点击库存查看按钮时,系统应该展开库存查看界面,如图13
UI13.1.1 在中转中心仓库管理人员完成库存查看时间段的输入,开始查看后,若输入信息合法,则系统显示库存查看结果信息界面。
UI13.1.2 在中转中心仓库管理人员完成库存查看时间段的输入,开始查看后,若输入信息不合法,则系统显示错误信息提示界面。
在这里插入图片描述
UI14 库存盘点:系统应该使用Form风格的界面,帮助中转中心仓库管理人员完成库存盘点任务。
UI14.1 在中转中心仓库管理人员点击库存盘点按钮时,系统应该展开库存盘点界面,显示库存货物清单
在这里插入图片描述
UI15 入库管理:系统应该使用Form风格的界面,帮助中转中心库存管理人员使用入库管理界面完成入库管理任务。
UI15.1 在中转中心库存管理人员点击按钮“入库”时,系统应该展开入库管理界面,如图15
UI15.1.1在中转中心库存管理人员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI15.1.1.1 在中转中心库存管理人员完成输入时,如果输入的信息符合要求,显示入库单信息。
UI15.1.1.1.1 在中转中心库存管理人员点击按钮“确认并提交”时,系统显示“入库单信息提交成功”
在这里插入图片描述
UI16 出库管理:系统应该使用Form风格的界面,帮助中转中心库存管理人员使用出库管理界面完成出库管理任务。
UI16.1 在中转中心库存管理人员点击按钮“出库”时,系统应该展开出库管理界面,如图16
UI16.1.1在中转中心库存管理人员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI16.1.1.1 在中转中心库存管理人员完成输入时,如果输入的信息符合要求,显示出库单信息。
UI16.1.1.1.1 在中转中心库存管理人员点击按钮“确认并提交”时,系统显示“出库单信息提交成功”
在这里插入图片描述
UI17 账户管理:系统应该使用Form风格的界面,帮助财务人员完成账户管理任务。
UI17.1 在具有最高权限的财务人员点击账户管理按钮时,系统应该展开账户管理界面,如图18
UI17.1.1 在具有最高权限的财务人员点击账户增加按钮时,系统展开增加账户界面,
UI17.1.1.1 在具有最高权限的财务人员完成账户增加时,若账户信息合法,系统展开增加操作确定界面
UI17.1.1.2 在具有最高权限的财务人员完成账户增加时,若账户信息不合法,系统展开错误信息界面
UI 18.1.1.3在具有最高权限的财务人员在增加操作确定界面选择取消操作时,系统展开新增账户信息修改界面
UI 18.1.1.4 在具有最高权限的财务人员在确定账户操作后,系统展开增加账户界面,参见UI17.1.1
UI17.1.2 在在具有最高权限的财务人员点击账户查询按钮时,系统应该展开账户查询界面
UI17.1.2.1在具有最高权限的财务人员输入账户查询信息,进行查询时,若账户查询合法,系统展开账户查询信息显示界面 UI17.1.2.2在具有最高权限的财务人员输入账户查询信息,进行查询时,若账户查询不合法,系统展开错误信息提示界面
UI17.1.2.1.1 在具有最高权限的财务人员选择删除账户时,系统展开删除操作确定界面
UI17.1.2.1.1.1 在具有最高权限的财务人员确定删除账户时,系统展开账户查询界面,参见UI17.1.2
UI17.1.2.1.1.2 在具有最高权限的财务人员取消删除账户时,系统展开账户信息查询显示界面,参见UI17.1.2.1
UI17.1.2.1.2 在具有最高权限的财务人员选择修改账户时,系统展开账户信息修改界面
UI17.1.2.1.2.1在具有最高权限的财务人员完成账户修改操作时,若修改后的信息合法且账户余额未改变,系统展开修改操作确定界面,参见UI17.1.2.1.2
UI17.1.2.1.2.1.1 在具有最高权限的财务人员确定账户修改操作时,系统展开账户信息查询界面,参见UI17.1.2
UI17.1.2.1.2.1.2 在具有最高权限的财务人员取消账户修改操作时,系统展开账户信息修改界面,参见UI17.1.2.1.2
UI17.1.2.1.2.2 在具有最高权限的财务人员完成账户修改操作时,若修改后的信息不合法或者账户的余额被改变,系统展开账户信息修改界面,参见UI17.1.2.1.2
UI17.1.2.1.3 在具有最高权限的财务人员选择退出查询操作时,系统展开账户管理界面,参见UI17.1
在这里插入图片描述
UI18 结算管理:系统应该使用Form风格的界面,帮助财务人员使用结算管理界面完成结算管理任务。
UI18.1 在财务人员点击按钮“结算”时,系统应该展开结算管理界面,如图19
UI18.1.1在财务人员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI18.1.1.1 在财务人员完成输入时,如果输入的信息符合要求,显示结算单信息。
UI18.1.1.1.1 在财务人员点击按钮“确认并提交”时,系统显示“结算单信息提交成功”
在这里插入图片描述
UI19 记录付款信息:系统应该使用Form风格的界面,帮助财务人员使用记录付款信息界面完成记录付款信息任务。
UI19.1 在财务人员点击按钮“记录付款信息”时,系统应该展开记录付款信息界面,如图20
UI19.1.1在财务人员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI19.1.1.1 在财务人员完成输入时,如果输入的信息符合要求,显示付款信息。
UI19.1.1.1.1 在财务人员点击按钮“确认并提交”时,系统显示“付款信息提交成功”
在这里插入图片描述
UI20:生成成本收益表
UI20.1:在财务人员输入生成成本收益表命令时,系统显示输入开始结束时间界面。如图21
UI2-1.1.1:在财务人员完成开始结束时间输入,并输入确定命令时,系统生成成本收益表显示在界面上。
UI20.1.1.1:在财务人员输入导出Excel文件命令时,系统生成Excel文件并提示生成成功,3秒后返回成本收益表界面。
在这里插入图片描述
UI21:生成经营情况表
UI21.1:在财务人员输入生成经营情况表命令时,系统生成经营情况表显示在界面上。如图22
UI21.1.1:在财务人员输入导出Excel文件命令时,系统生成Excel文件并提示生成成功,3秒后返回经营情况表界面。
在这里插入图片描述
UI22 期初建账:系统应该使用Form风格的界面,帮助财务人员使用期初建账界面完成期初建账任务。
UI22.1 在财务人员点击按钮“期初建账”时,系统应该展开期初建账界面,如图23
UI22.1.1在财务人员完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI22.1.1.1 在财务人员完成输入时,如果输入的信息符合要求,显示初始账目信息。
UI22.1.1.1.1 在财务人员点击按钮“确认并提交”时,系统显示“初始账目信息提交成功”
在这里插入图片描述
UI23 人员机构管理:系统应该使用Form风格的界面,帮助总经理使用人员机构管理界面完成人员机构管理任务。
UI23.1 在总经理点击按钮“人员机构管理”时,系统应该展开人员机构管理界面,显示目前人员机构信息,如图24.1,24.2
UI23.1.1在总经理完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI23.1.1.1 在总经理完成输入时,如果输入的信息符合要求,显示更改后人员机构信息。
UI23.1.1.1.1 在总经理点击按钮“确认并提交”时,系统显示“人员机构信息提交成功”
在这里插入图片描述
在这里插入图片描述
UI24:审批单据
UI24.1:在总经理输入审批单据命令时,系统显示所有需要审批的单据列表
UI24.1.1:在总经理选择某项单据后,系统显示该批单据所有信息和当前审批状态。
UI24.1.1.1:总经理输入审批通过命令后,系统显示审批成功,3秒后返回单据界面,并将状态设置为通过。
UI24.1.1.2:总经理输入审批不通过命令后,系统显示审批不通过,3秒后返回单据界面,并将状态设置为不通过。
在这里插入图片描述
UI25:查看统计分析
UI25.1:在总经理输入查看统计报表命令时,系统显示账户查询,成本收益表,经营情况表,如图26
UI25.1.1:在总经理输入账户查询命令时,系统显示账号密码输入界面。
UI25.1.1.1:在总经理完成输入后,如果密码正确则显示该账号所有信息。
UI25.1.1.2:在总经理完成输入后,如果密码错误则提示账号密码错误,并要求重新输入。
UI25.1.2:在总经理输入成本收益表命令时,参照UI20.1
UI25.1.3:在总经理输入经营情况表命令时,参照UI21.1
在这里插入图片描述
UI26 常量信息制定:系统应该使用Form风格的界面,帮助总经理完成常量信息制定任务。
UI26.1 在总经理点击常量信息制定按钮时,系统应该展开常量信息制定界面,如图27
UI26.1.1 在总经理点击常量信息增加按钮时,系统应该展开常量信息增加界面
UI26.1.1.1 在总经理完成常量信息制定时,若输入信息合法,系统展开增加信息确定界面
UI26.1.1.1.1当系统展开增加信息确定界面后,若 总经理点击确定按钮,系统展开常量信息制定界面,参见UI26.1
UI26.1.1.1.2当系统展开增加信息确定界面后,若 总经理点击取消按钮,系统展开 常量信息修改界面
UI26.1.1.2在总经理完成常量信息制定时,若输入信息不合法,系统展开错误信息提示界面
UI26.1.1.3 在总经理结束常量信息增加时,系统展开常量信息制定界面,参见UI26.1
UI26.1.2 在总经理点击某一常量的删除按钮时,系统展开删除信息确定界面
UI26.1.2.1 若总经理选择确定删除操作,系统展开常量信息制定界面,参见UI26.1
UI26.1.2.2 若总经理选择取消删除操作,系统展开常量信息制定界面,参见UI26.1
UI26.1.3在总经理点击某一常量的修改按钮时,系统展开修改信息展示界面
UI26.1.3.1 当总经理完成常量信息的修改时,若常量信息合法,系统展开修改操作确定界面
UI26.1.3.1.1当总经理在常量信息修改界面点击确定按钮时,系统展开常量信息制定界面,参见UI26.1
UI26.1.3.1.2 当总经理在常量信息修改界面点击取消按钮时,系统展开常量信息修改界面,参见UI26.1.3.1
UI26.1.3在总经理点击返回时,系统展开常量信息制定界面,参见UI26.1
在这里插入图片描述
UI27 薪水策略制定:系统应该使用Form风格的界面,帮助总经理使用薪水策略制定界面完成薪水策略制定任务。
UI27.1 在总经理点击按钮“薪水策略制定”时,系统应该展开薪水策略制定界面,显示目前薪水策略,如图28
UI27.1.1在总经理完成输入时,如果输入的信息不完整或者与要求规范不和,显示输入信息不和要求并要求重新输入
UI27.1.1.1 在总经理完成输入时,如果输入的信息符合要求,显示更改后薪水策略。
UI27.1.1.1.1 在总经理点击按钮“确认并提交”时,系统显示“薪水策略提交成功”
UI28 用户管理:系统应该使用Form风格的界面,帮助总经理完成用户管理任务。
UI28.1 在总经理点击用户管理按钮时,系统应该展开用户管理界面,如图29
UI28.1.1 在总经理点击用户增加按钮时,系统展开增加用户界面
UI28.1.1.1 在总经理完成用户增加时,若用户信息合法,系统展开增加操作确定界面
UI28.1.1.2 在总经理完成用户增加时,若用户信息不合法,系统展开错误信息界面
UI 29.1.1.3在总经理在增加操作确定界面选择取消操作时,系统展开新增用户信息修改界面
UI 29.1.1.4 在总经理在确定用户操作后,系统展开增加用户界面,参见UI28.1.1
UI28.1.2 在在总经理点击用户查询按钮时,系统应该展开用户查询界面
UI28.1.2.1在总经理输入用户查询信息,进行查询时,若用户查询合法,系统展开用户查询信息显示界面
UI28.1.2.2在总经理输入用户查询信息,进行查询时,若用户查询不合法,系统展开错误信息提示界面.
UI28.1.2.1.1 在总经理选择删除用户时,系统展开删除操作确定界面
UI28.1.2.1.1.1 在总经理确定删除用户时,系统展开用户查询界面,参见UI28.1.2
UI28.1.2.1.1.2 在总经理取消删除用户时,系统展开用户信息查询显示界面,参见UI28.1.2.1
UI28.1.2.1.2 在总经理选择修改用户时,系统展开用户信息修改界面
UI28.1.2.1.2.1在总经理完成用户修改操作时,若修改后的信息合法且用户余额未改变,系统展开修改操作确定界面,参见UI28.1.2.1.2
UI28.1.2.1.2.1.1 在总经理确定用户修改操作时,系统展开用户信息查询界面,参见UI28.1.2
UI28.1.2.1.2.1.2 在总经理取消用户修改操作时,系统展开用户信息修改界面,参见UI28.1.2.1.2
UI28.1.2.1.2.2 在总经理完成用户修改操作时,若修改后的信息不合法或者用户的余额被改变,系统展开用户信息修改界面,参见UI28.1.2.1.2
UI28.1.2.1.3 在总经理选择退出查询操作时,系统展开用户管理界面,参见UI28.1
在这里插入图片描述

♻️ 资源

在这里插入图片描述

大小: 56.5MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87293570