物资管理系统之物资管理模块的设计与实现(7)

2019-04-02 18:45

图4.4.4 条件查询顺序图

4.4.5 物资编辑

当用户在前台对应的物资记录点击物资编辑时,前台将发送messageId为P104的Url,并将当前的物资记录的id发送到后台,后台的ControlServlet接收到messageId为P104的Url后,将通过Java反射调用P104Controller,P104Controller的在业务处理中将查询数据表中符合条件的物资记录,封装成Json数据发送到前台,前台接收到Json数据后,实现异步刷新,弹出记录物资信息的弹窗。

时序图如图4.4.5所示。

31

图4.4.5 物资编辑时序图

4.5数据库设计

数据库作为储存数据的工具,设计得好将大大提升系统本身的运作效率,所以数据库设计环节也是非常重要的,经过我们小组的思考与讨论,设计出了如下数据表。

32

图4.5.1 物资与物资借用表关系图

表名:good

功能:记录物资名称、物资总数、物资剩余数量。

字段名称 ID 数据类型 int 数据长度 5 是否允许为空 否 说明 物资ID(自增长、主键) GOODNAME GOODLEFTNUM GOODTOTALNUM char int int 20 5 5 表4.5.2 good 物资表

否 否 否 物资名称 物资剩余数量 物资总数 表名:borrowgood

功能:用于记录物资借用时的信息,方便之后对物资借用进行操作。 其中物资借用状态,物资归还状态为YES或者NO,当物资借用状态为NO时,表示这条物资记录是预约的。借用详细过程可以记录所有对这条物资信息进行编辑时的详细操作。

字段名称 数据类型 数据长度 是否允许为空 ID int 8 否 物资借用ID(主键)

33

说明 GOODNAME GOODNUM BORROWORGANIZETION BORROWSTU BORROWSTUPHONE char int char char char 20 5 30 10 20 否 否 否 否 否 物资名称 物资总数 借用物资单位 借用物资学生 借用物资学生电话 BORROWDATE RETURNDATE BORROWCHECKINUSER char char char 15 15 10 否 否 否 借用日期 归还日期 借用物资登记人 RETURNCHECKINUSER char 10 否 归还物资登记人 DATAIL text 0 是 更多物资借用详细信息 BORROWSTATUS RETURNSTATUS BORROWPROCESS char char text 3 3 0 否 否 否 物资借用状态 物资归还状态 借用详细过程 表4.5.3 borrowgood物资借用表

5系统实现

(1)浏览器通过URL访问服务器,携带messageId参数以及一些必要的其他参数信息。

(2)所有的访问信息都由ControlServlet来处理,ControlServlet得到messageId后,ControlServlet通过Java反射技术调用对应的Controller类。部分代码如下【9】:

BaseController controller = null;

34

Class classType = null;

String messageId = request.getParameter(\); String className = \+messageId+ \;

System.out.println(\进入ControllerServlet\); //反射生成对应的controller

classType=Class.forName(className);

controller=(BaseController) classType.newInstance(); response.setCharacterEncoding(\);

request=controller.RequestWrapper(request,response); response=controller.ResponseWrapper(response);

举个例子,如果传入的messageId是B101,则系统则将会找到Cotroller.UserController包下对应的B101Controller类,调用它的RequestWrapper和ResponseWrapper方法。(注:截至今天ResponseWrapper方法并没有实际的作用,之所以定义这个方法是为了防止以后的业务拓展需求而不得不改大量的代码。)

(3)为了满足系统的需求,我设计了6个业务逻辑处理的类【6】。

1. B101Controller(部分代码) List returnList

=borrowGoodManageService.getGoodByParams(borrowGood); PageTool tool=new PageTool(); returnList=tool.loadData(pageSize, 1, returnList); //设置属性

request.setAttribute(\, tool.getTotalPage()); request.setAttribute(\,1); //封装成JSON

JSONArray jsonList=JSONArray.fromObject(returnList); response.setCharacterEncoding(\);

response.getWriter().write(jsonList.toString());

35


物资管理系统之物资管理模块的设计与实现(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016吉林省考1022申论(甲级)真题及答案解析(完整版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: