3.各数据库表结构如下: 内容来自www.paper51.com 图4-1 设备入库信息表 内容来自www.paper51.com 设备入库信息表部分字段说明: http://www.paper51.com dev_num 设备编号 dev_name 设备名称 http://www.paper51.com buyer 采购人 dev_buy_time 设备购买时间 内容来自www.paper51.com check_time 审核时间 pply_time 设备申请时间 copyright paper51.com pply_pople 设备申请人 dev_factory 设备厂商 copyright paper51.com dev_amount 设备数量 check_idea 审核批复 copyright paper51.com check_sign 审核结果 dev_in_fs 入库方式 copyright paper51.com
内容来自www.paper51.com
图4-2 设备出库信息表 内容来自论文无忧网 www.paper51.com 设备出库信息表部分字段说明: 内容来自论文无忧网 www.paper51.com dev_out_amount 设备出库数量 dev_out_sign 设备出库审核结果 内容来自www.paper51.com
out_pply_pople 设备出库申请人 dev_pply_out_time设备出库申请时间 paper51.com
http://www.paper51.com 图4-3 设备报修信息表 copyright paper51.com 设备报修信息表部分字段说明: copyright paper51.com dev_modify_amount 报修数量 pply_modify_pople 申请报修人 内容来自论文无忧网 www.paper51.com modify_check_time 报修审核时间 check_sign 审核结果 内容来自论文无忧网 www.paper51.com 内容来自论文无忧网 www.paper51.com 图4-4 设备作废信息表 内容来自www.paper51.com 设备作废信息表部分字段说明: http://www.paper51.com dev_cancel_amount 设备作废数量 pply_cancel_time 设备申请作废时间 paper51.com dev_cancel_checker 设备作废审核人 cancel_pply_pople 设备作废申请人 内容来自www.paper51.com
http://www.paper51.com
图4-5 设备基本信息表 内容来自www.paper51.com http://www.paper51.com 图4-6用户信息表 copyright paper51.com
用户信息表部分字段说明: http://www.paper51.com
username 用户名 password 用户密码 http://www.paper51.com usertype用户权限类型 truename 用户真实姓名 内容来自论文无忧网 www.paper51.com tel 用户联系电话 email 用户电子邮箱 内容来自www.paper51.com 在表中定义id为主键,因为在数据库的每个表中都拥有一个id字段,并且id值是自动递增,它是唯一的,独立的。 内容来自论文无忧网 www.paper51.com 数据库各表之间关系,如图4-7所示: http://www.paper51.com paper51.com 图4-7 数据库关系图 内容来自论文无忧网 www.paper51.com 数据库建立链接代码如下: copyright paper51.com <% 内容来自论文无忧网 www.paper51.com
Set conn = Server.CreateObject("ADODB.Connection") 内容来自论文无忧网 www.paper51.com conn.connectionstring="dsn=mydsn;uid=sa;pwd=" paper51.com conn.Open copyright paper51.com %> 内容来自www.paper51.com 代码分析: paper51.com 使用Server.CreateObject方法创建connection对象,再指派给conn。再使用connection对象的connectionstring属性设置数据库的连接方式。系统数据源命名,用户名和密码的设置。 copyright paper51.com 4.3 系统数据流程图 paper51.com
本系统作为一个工厂设备管理网站,其系统数据流程图如图4-8所示。 copyright paper51.com
http://www.paper51.com
图4-8 系统数据流程图 内容来自论文无忧网 www.paper51.com 4.4用户的登陆模块 http://www.paper51.com
网站首页总体采用上下结构的方式,首先给人以简捷的视觉外观,符合一个管理系统的风格。 paper51.com
本页有三项文本框需要进行填写,只有通过登陆成功之后才能进入以下页面进行相关的操作,在此处填写的“用户名”、“密码”和“验证码”都需要通过验证,只有数据库用户信息表userlist存在两者相互对应的用户名和密码,输入的验证码同随机产生的数相同时才能正常的进行登陆。如果登陆用户或者密码有错,都无法正常登陆,即弹出一个提示框。如“用户不存在或密码错误,要么是验证码输入有误”。 copyright paper51.com 在登陆成功后转接到设备基本信息页面main,该页面中显示出的值是从表为dev_info中获取。dev_info中的数据是在入库设备审核页面审核值为“通过”时才把 dev_in_pply中相应的值调入到dev_info表中。 内容来自论文无忧网 www.paper51.com
4.5 模块设计 http://www.paper51.com 4.5.1 设备入库申请与审核 内容来自www.paper51.com 以工人权限登陆首页后,进入到设备基本信息页面,在该页面便可以进入设备入库申请记录表,里面主要显示的是曾经申请过入库的记录,如果要对某一设备进行入库申请,就要转接到设备入库申请表中,并填写相应的字段信息,如果曾经申请过的设备还没有被有“主管”权限的用户删除而且是被审核过,那么该设备编号和设备名相对应的存储在dev_in_pply,在申请设备入库时就不能再次重复使用该编号。当入库申请表填写完成点提交,那么这些数据将保存在dev_in_pply。此时的值并没有传输到dev_info表中,只有审核并通过之后才把相应的值写入到dev_info表中。 copyright paper51.com
copyright paper51.com
图4-9 设备入库申请表界面 http://www.paper51.com 设备入库申请表审核模块只能具有“主管”权限的才能进入该页面,页面中主要显示审核记录。该模块中主要功能是针对于入库申请表中填写的申请表进行审核,该页面中获得的字段值是在dev_in_pply表中调用的,当审核人需要审核时点击进入设备入库审核页面,并填写审核批复,选择审核“通过”或“未通过”。如果通过了那么该页面部分值将写入到dev_info表中,否则只写到dev_in_pply表中。如果在设备基本信息表中存在相同的设备,而且设备编号和设备厂商都于dev_info表中某行数据相等,那么要进行库存数相加,库存量增加,如果申请入库的设备审核结果为“通过”但在数据库中不存在,那么该设备入库将不会进行相加,而是把数据插入到dev_info表中。 http://www.paper51.com
paper51.com 图4-10 设备申请表审核记录界面 copyright paper51.com 4.5.2 设备出库申请与审核 http://www.paper51.com
如果工厂中设备因需要维修或者已经不能再使用就要进行作废处理,这两种情况将进行出库处理,申请出库必然工厂存在库存,而且出库的数量必须小于库存数量。设备编号、设备名称、设备厂商三者都要同时与数据库中dev_info中的值相同时才能正常出库,要么会弹出一个提示框“设备不存在”。如果在输入出库数量大于了库存数量同样会弹出提示框“库存数量不足,请重新输入出库数量”。如果申请成功了,那么该条出库信息将保存在dev_out表中。 内容来自www.paper51.com
http://www.paper51.com 图4-11 设备出库申请记录界面 内容来自www.paper51.com 图4-11是设备出库申请记录界面,审核页面只有“主管”权限才能进行访问,所以该模块只能具有“主管”权限的才能进入该页面,页面中主要显示审核记录。该模块中主要功能是针对于出库申请表中填写的申请表进行审核,该页面中获得的字段值是在dev_out表中调用的,当审核人需要审核时点击进入设备出库审核页面,并填写审核批复,选择审核“通过”或“未通过”。如果审核通过了而且出库设备的编号、名称和厂商都要同时以dev_info表中某一条数据相等那么该页面中出库数量将从dev_info表中库存数量减去。如果审核结果为“未通过”,那么刚审核的那张出库表中的出库数量不会同库存数量进行减法运算,而是把出库数量以新增一条出库记录方式写入到dev_out表中,同时在设备出库审核页面也新增一条出库记录显示在页面。 copyright paper51.com 出库典型申请审核代码如下: copyright paper51.com <!--#includefile="conn.asp"--> 内容来自论文无忧网 www.paper51.com <%id=request.Form("id") 内容来自论文无忧网 www.paper51.com dev_name=request.Form("dev_name") copyright paper51.com dev_num =request.Form("dev_num") 内容来自www.paper51.com dev_factory =request.Form("dev_factory") 内容来自论文无忧网 www.paper51.com
dev_out_amount=request.Form("dev_out_amount") paper51.com dev_out_fs =request.Form("dev_out_fs") paper51.com dev_out_pplyer=request.Form("dev_out_pplyer") 内容来自论文无忧网 www.paper51.com result=Request.Form("result") paper51.com check_idea=Request.Form("check_idea") 内容来自论文无忧网 www.paper51.com conn.execute("update dev_out set dev_out_sign='"&result&"',check_idea='"&check_idea&"',check_time='"&year(now)&"-"&month(now)&"-"&day(now)&"'where id='"&id&"'") 内容来自www.paper51.com if result=1 then 内容来自www.paper51.com set rst = server.createobject("adodb.recordset") 内容来自www.paper51.com sq="select* from dev_info where dev_num='"&dev_num&"' and dev_factory='"&dev_factory&"' and dev_name='"&dev_name&"'" http://www.paper51.com rst.open sq,conn,1,3 内容来自www.paper51.com if rst.recordcount=0 then copyright paper51.com Response.Write"<Script>alert('对不起,无库存!');history.go(-1);</Script>" copyright paper51.com else 内容来自www.paper51.com f_amount = 0 copyright paper51.com If rst.recordcount>0then f_amount = rst("dev_amount") end if 内容来自www.paper51.com f_amount = rst("dev_amount") 内容来自www.paper51.com s_amount = request.Form("dev_out_amount") 内容来自www.paper51.com now_amount = cint(f_amount) - cint(s_amount) copyright paper51.com
conn.execute("update dev_info set dev_amount='"&now_amount &"' where dev_num='"&dev_num&"' and dev_factory='"&dev_factory&"' and dev_name='"&dev_name&"'") http://www.paper51.com endif copyright paper51.com
endif Response.Write"<Script>window.location.href='dev_out_pply_check.asp';</Script>" http://www.paper51.com %> copyright paper51.com
代码分析: 内容来自www.paper51.com
首先链接数据库,再从上页面获取ID、设备名、设备编号、设备厂商、设备出库数量、设备出库方式、设备出库申请人、设备出库审核结果(通过或未通过)和审核批复。当获取相应的信息后修改设备出库信息表dev_out。如果审核结果为通过,那么通过设备名、设备编号和设备厂商三者都符合以上条件时设备出库数量将与设备基本信息表dev_info进行减法处理。在这里也进行了一个判断,判断数据库中是否有值。如果没有值将显示“设备无库存”。当成功进行减法处理之后,所获得的减法结果将与设备基本信息表中的设备数量dev_amount字段更新。使得dev_info表中的数量为最终库存数量。 内容来自论文无忧网 www.paper51.com
|