演示视频:
https://www.bilibili.com/video/BV1ow4m1o7Y8/
第4章 详细设计与实现
3.1 公共模块设计
为了节省系统资源,实现代码重用,提高程序运行速度,可以将一些公用的数据信息放到模块中,本系统中主要用到了FrameWork权限管理模块 ,其主要的功能就是,进行后台权限管理模块整合. 其可以支持多个应用,多个模块的权限管理. 其特点:
支持Access和MsSql200/2005/2008及Oracle9i以上.
支持Access和MsSql200/2005及Oracle9i以上.
采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限.
整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合.
可视化编辑,全新的Menu和Tab控件.支持拖拉式编辑.
统一的事件日志管理,所有登陆操作都有安全记录.
每个模块的每个栏目对应一个目录, 栏目的权限默认抽象分为(查看/新增/修改/删除/排序/打印/备用A/备用B),每栏目权限可最多扩展为20个自定义权限.
可通过目录中web.config来进行目录文件权限配置,可直接将某个文件名设定到相对应的权限上.
配合免费的DDBuildTools (代码生成工具介绍)生成数据库代码及后台页面代码进行快速开发.
软件结构采用Façade模式,用存储过程进行数据的增,删,查。
BusinessFacadeExpress类为数据操作接口
SqlDataProvider类为具体数据库的操作类
Component目录中存放数据库表的实体对象类。
3.2 系统登录及系统主界面的设计
系统登录主要用于对登录物流配送管理系统的用户进行安全性检查,以防止非法用户登录系统。根据管理员分配的权限,登录用户可以根据自己所具有的权限操作系统中相应的功能。
在登录系统时验证操作员及密码,判断用户选定的操作员及输入的密码与数据库中的操作员和密码是否匹配来实现,如果相同则允许登录,并给予相应权限,否则将不允许用户登录。
系统登录模块的运行结果如图3.1所示。
图3.1 系统登录模块图
系统主界面为了使操作更加快捷进入各个功能模块,所以在主界面左边为软件功能的列表。主要包括字典管理,订单管理,快件管理,库存管理,系统应用,用户操作起来更加方便。系统主界面如图3.2所示。
图3.2 系统主界面图
图3.3 系统登录程序流程图
3.3 部分功能模块的设计与实现
4.3.1 员工信息设定
由于在软件操作的过程中会记录操作员工,收件员,发件员的相关信息,因此设置员工信息就显得特别重要。在员工信息中员工编号,所在部门必须录入。公司资料设置模块的运行结果如图3.4所示。
图3.4 员工信息设置模块图
4.3.2 订单管理
订单录入是快递管理过程中的重要环节,快递公司有统一的客服电话,当客服收到用户需要发件的要求时,录入订单信息,主要录入顾客的手机号,住址,所在的城市。录入顾客编码(手机号),单击查询按钮,如果有该顾客的信息,会自定填写电话,住址。订单录入模块的运行结果如图3.5所示。
图3.5 订单录入模块图
各集散点可以查看自己城市的定单,根据用户地址,派发给收货员。
定单确认,收货员到达顾客,进行收件后,选择订单说明,进行订单确认。订单完成。默认收货员为登录人员。
4.3.3 快件管理
快件从发件人到收货人,一般经过收件录入,快件入库,打包出库,集散中心分发,集散点派件出库,快件签收等几个大的步骤。
1. 快件录入。主要登记快件的条码(快件的唯一标示),收件人的目的地址,重量,金额。并插入到快件跟踪表中。
2. 收货入库。 收取的快件,在集散点入库,主要选择收货人,然后扫描快件条码,InBill记录单据信息,InBillDetail记录单据明细,I_Style为单据类型,用来区分收货入库,拆包入库 入库单明细保存时,要校验快件信息,快件信息保存到stock库存数据表,然后插入到单据明细。
3. 打包出库,在建单时要选择目的城市,然后扫描快件条码,保存在出库明细。
图3.6打包出库图
录入快件条码时,检索单据的收货部门,发货部门, 先检测发货部门的库存是否有该快件,单据的收货部门与快件的目的部门是否一致,修改库存标志为已出库,增加信息到出库明细中。
4. 拆包入库, 对应打包出库单,集散点拆包入库后,要进行快件派发,把快件送到收件人手中。集散中心拆包入库后,对快件根据不同的收件地址,进行分捡,然后根据下一个目的城市,进行打包出库。
拆包入库代码,与收库入库相类似,拆包入库由单据条码惟一识别,单据类型为“拆包入库”
5. 快件签收,发货员扫描快件条码后即可。