|
2.8 发货单管理流程模块 |
本模块使用的数据表:tb_operationgoods(发货单信息表)和tb_carlo (车源日志表)
车源管理模块主要功能有如下几点。
填写发货单:对普通发货单的填写及根据固定的车源对发货单的填写。
回执发货单确认:根据发货单的号码,对指定发货记录进行回执。
发货单查询:实现对发货单的全部查询,并对指定的发货单进行删除操作。
发货单管理模块流程图如图2.9所示。
图2.9 发货单管理流程图
在发货单管理流程模块中,主要涉及两个数据表,分别为发货单信息表(tb_operationgoods)和车源日志表(tb_carlog),因此需要创建两个FormBean。还需要创建一个发货单管理的Action实现类并在Struts 2的配置文件中对Action进行配置。
1)编写发货单表的FormBean
根据发货单表(tb_operationgoods)中的字段内容,创建名称为GoodsForm.java类文件,具体代码如下:
代码位置:光盘 \ MR\02\src\com\form\GoodsForm.java
2)编写发货单日志表的FormBean
根据车源日志表(tb_carlog)中的字段内容,创建名称为LogForm.java类文件,具体代码如下:
代码位置:光盘 \ MR\02\src\com\form\LogForm.java
在本实例中,发货单实现类的实现类名称为GoodsAction。该类继承GoodsForm类,可以使用GoodsForm类的属性和方法,而GoodsForm本身继承了MySuperAction类,可以使用MySuperAction类中的属性和方法。在GoodsAction类中除了具有继承关系外,还将调用LogForm类的属性与方法,实现对发货单日志的操作。
GoodsAction类中可以使用GoodsForm类和MySupperAction类中的方法和属性。首先需要在该类静态方法中实例化发货单管理模块的GoodsAndLogDao类(该类用于实现与数据库的交互)及车源信息模块的CarDao类。发货单管理中实现类的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\GoodsAction.java
在创建完发货单实现类后,需要在struts.xml文件中进行配置,该文件主要配置发货单实现了的所有请求结果。发货单实现类涉及的struts.xml文件的代码如下:
代码位置:光盘 \MR\02\src\Struts.xml
1)填写发货单页面
管理员登录系统后,可以通过两种方式进入到填写发货单页面,一种是直接单击“发货单”超链接,直接进入到发货单填写页面,运行结果如图2.10所示。
图2.10 直接进入到发货单填写页面
另一种是单击“车源信息查询”超链接,可以对所有的车源进行查看,这里也包括车源的使用日志,单击没有使用车源中的“未被使用”超链接,可以将指定的车源添加在发货单内,运行结果如图2.11所示。
图2.11 间接进入填写发货单页面
2)编写发货单填写代码
在发货单填写页面中,将发货单的内容填写完毕后,单击“发货”按钮,网页会访问一个URL地址,该地址是“goods_insertGoods”。根据struts.xml文件的配置信息可以知道,发货单填写涉及的操作指的是GoodsAction类中的insertGoods()方法。
在insertGoods()方法中,将执行两条SQL语句的操作,一个是对发货单信息表(tb_operationgoods)实现添加数据的操作,另一个是对车源日志表(tb_carlog)实现添加数据的操作。insertGoods()的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\GoodsAction.java
3)编写发货单信息的GoodsDao类
添加发货单信息时使用的是GoodsAndLogDao类中的operationGoodsAndLog(),在该方法中将SQL语句作为这个方法的参数,通过JDBConnection类中的executeUpdate()方法执行该SQL语句,由于这个方法的返回值为boolean类型,可以根据这个返回值的结果判断该SQL语句是否执行成功。operationGoodsAndLog()方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao\GoodsAndLogDao.java
1)回执发货单确认页面
如果收货人收到发货单中的货物,管理员可以进行回执发货单确认操作。管理员登录系统后,单击“回执发货单确认”的超链接,在回执发货单确认页面中,在发货单文本框中输入发货单号,单击“订单确认”按钮后,将对发货单号所对应的发货单内容全部查询,运行结果如图2.12所示。
图2.12 根据发货单号查询发货单全部内容
2)编写回执发货单确认代码
如图2.12所示,单击“回执发货单确认”按钮后,网站会访问一个URL地址,该地址是“goods_changeOperation.action?goods_id=<%=logForm.getGoods_id()%>”,其中,goods_id为发货单编号,根据这个编号将修改发货单表的sign字段内容及删除车源日志表的内容。
根据struts.xml文件中的内容,可以知道,该URL地址调用的是GoodsAction类中的changeOperation(),该方法的主要代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\GoodsAction.java
当管理员登录后,单击“发货单查询”超链接,则执行对所有发货单查询的操作。查看发货单确认的页面运行结果如图2.13所示。
图2.13 查看发货单确认页面
根据该超链接的URL的地址,可以知道“发货单查询”超链接调用是GoodsAction类中的queryGoodsList()方法,该方法的主要代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\GoodsAction.java
查询发货单确认信息所使用的方法是GoodsAndLogDao类中的queryGoodsList()。该方法将执行select查询语句,对发货单内容全部查询,该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\dao\GoodsAndLogDao.java
当执行回执发货单确认操作后,通过发货单的查询操作,可以对已经回执发货信息进行删除操作。在发货单查询页面中可以找到删除发货单信息的超链接代码,代码如下:
代码位置:光盘 \ MR\02\WebRoot \goods _queryGoodsList.java
从上面的链接地址中可以知道,删除发货单信息调用的是GoodsAction类中的deleteGoods()方法。在该方法中,通过request对象中的Parameter()方法获取链接地址的ID值,根据这个ID值,设置删除的SQL语句,通过执行这个SQL语句进行删除发货单信息的操作。该方法的关键代码如下:
代码位置:光盘 \ MR\02\src\com\webtier\GoodsAction.java
在上述代码中,根据struts.xml文件的配置可以知道,当执行完删除发货单操作后,将会执行对发货单的查询操作。