计算机科学与技术毕业论文物流管理系统.doc

上传人:文库蛋蛋多 文档编号:3992676 上传时间:2023-03-30 格式:DOC 页数:29 大小:1.28MB
返回 下载 相关 举报
计算机科学与技术毕业论文物流管理系统.doc_第1页
第1页 / 共29页
计算机科学与技术毕业论文物流管理系统.doc_第2页
第2页 / 共29页
计算机科学与技术毕业论文物流管理系统.doc_第3页
第3页 / 共29页
计算机科学与技术毕业论文物流管理系统.doc_第4页
第4页 / 共29页
计算机科学与技术毕业论文物流管理系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《计算机科学与技术毕业论文物流管理系统.doc》由会员分享,可在线阅读,更多相关《计算机科学与技术毕业论文物流管理系统.doc(29页珍藏版)》请在三一办公上搜索。

1、中华女子学院毕业设计(论文)物流管理系统作 者 院 系 计算机系专 业 计算机科学与技术班 级 2008 级 2 班学 号 080501038指导教师 成 绩 日 期 2012 年 4 月 11日摘要本物流管理系统应用于物流公司管理物流信息,主要使用了JSP、Struts、JDBC技术。控制层由Action控制流程,并调用业务层的相应方法进行不同的业务处理管理员端主要包括货物信息管理、物流信息管理、车辆信息管理、企业信息管理、客户订单管理、客户信息管理以及个人管理,管理员能对客户和货物、物流、车辆等进行增、删、查、改的操作,还能修改自己的基本信息并且在订单签订时操作员能自动提取目前登陆的用户名

2、。客户端能查看货物车辆物流公司概况等基本信息,以及根据物流编号对物流信息进行查询,修改个人信息等操作。能更高效的提高物流公司的管理。关键词:物流,JSP, Struts,管理AbstractThe logistics management system used in logistics company management logistics information, The main use the JSP, Struts, JDBC technology. the administrator mainly includes cargo information management, lo

3、gistics information management, vehicle information management, enterprise information management, management of customer orders, customer information management, and personal management, the administrator can to client and goods, logistics, vehicles and so on them, delete, check, change of operatio

4、n, also can modify your basic information and signed in order when the operator can automatically extracted at present on the user name. The client can check goods vehicle logistics company profile and other basic information, and according to the logistics Numbers in logistics information query, mo

5、dify the personal information and other operational. Can more efficient logistics to improve the management of the company.Keywords: logistics, JSP, Struts, management,目录1、项目背景和意义12、系统运行环境及实现逻辑13、需求分析13.1、登录模块功能需求23.2、主页功能模块23.3、基本信息管理23.4、客户信息管理23.5、个人信息管理24、总体设计24.1、E-R图34.1.1 物流信息34.1.2 货物信息44.1.

6、3 车辆信息44.1.4 企业信息54.2、数据库表54.2.1 货物信息表54.2.2 物流信息表64.2.3 车辆信息表74.2.4 企业信息表74.2.5 订单信息表84.2.6 会员信息表85、详细设计95.1、类模块具体设置95.2、具体功能模块设计:105.2.1、登录模块:105.2.1 货物信息管理:125.2.2 物流信息管理:165.2.3、车辆信息管理模块185.2.4、企业信息管理模块205.2.5、订单信息管理模块215.2.6、个人信息管理模块226、测试237、心得体会238、致谢249、参考文献241、项目背景和意义在当今高速发展的信息社会,现代物流行业突飞猛进

7、发展,伴随着我国国民经济连续多年的高速增长,为现代物流发展创造了良好的条件。目前,我国各类物流企业有14万家左右,展望整个21世纪,可以说现代物流业还将有更大的发展。本系统就是针对这些问题根据中小型企业的实际需求而开发的一套物流管理系统。系统的开发能够帮助企业实现对物流全过程的优化调度和动态控制,高效整合企业的物流业务,以全面提高经济效益和效率为目的,提供高效、实用、技术的物流管理系统和运营手段。物流管理系统从物流行业的实际需求出发,参照先进的物流理念和多家领先的物流公司实际的运营流程开发而成,系统从完善的基础信息设置到货物的托运管理、信息查询、到最后订单的生成,清晰的业务流程,使操作人员能够

8、按照流程清晰的进行实际的操作,保证物流运作有序而高效的进行。本文档旨在陈述本人在完成该招商管理系统中所遵循项目开发流程,系统、详细地介绍了物流管理系统的各项工作,从需求分析、总体设计、详细设计三个层面展开详述了该系统的开发过程,简洁、直观,具有很强的可读性、实用性和可操作性,是物流管理系统使用和维护的必备的工作手册。2、系统运行环境及实现逻辑系统运行于Apache Tomcat + Mysql平台。主要使用了JSP、Struts、JDBC技术。控制层由Action控制流程,并调用业务层的相应方法进行不同的业务处理,可以对数据库中的表进行增、删、改、查等基本操作。表示层则由JSP页面通过stru

9、ts标签显示。实现逻辑:DBDao类Service类Action类页面数据库连接3、需求分析3.1、登录模块功能需求 对用户身份进行判断,管理员进入到管理员操作界面,普通用户进入到普通用户操作界面。对用户名输入框及密码输入框做非空判断处理。3.2、主页功能模块用于调用各个功能模块。3.3、基本信息管理货物信息管理:能增加、修改、删除和编辑货物,也可以根据货物编号查找货物信息,添加时货物编号(主键)自动生成。物流信息管理:能增加、修改、删除和编辑物流信息,也可以根据运单号查找物流信息车辆信息管理:能增加、修改、删除和编辑车辆企业信息管理:能增加、修改、删除和编辑企业信息3.4、客户信息管理客户信

10、息管理:能增加、修改、删除和编辑客户信息客户订单管理:能够多订单进行签订、编辑、修改、删除操作。3.5、个人信息管理个人信息管理:对自己的详细信息进行编辑(密码修改等)4、总体设计物流系统处理流程登陆主页基本信息客户管理快速查询个人管理首页货物信息物流信息车辆信息企业信息会员信息客户订单货物状态查询客户信息查询个人管理安全设置4.1、E-R图4.1.1 物流信息货物类型货物重量货物数量货物编号货物名称起始省份起始城市备注物流信息到达省份收件人电话到达城市收件人发件人发件人收件人地址收件人电话收件人电话收件人电话发货时间发件人电话发件人地址图4-1-1物流信息E-R图4.1.2 货物信息货物信息

11、货物名称货物编号货物类型货物数量货物重量货物价格货物状态货物产地备注图4-1-2货物信息E-R图4.1.3 车辆信息车辆信息车辆编号车辆类型车辆名称车辆载重量备注联系人使用年限联系电话使用年限车牌号驾驶员驾龄驾驶证号图4-1-3 车辆信息E-R图4.1.4 企业信息企业信息企业编号企业名称企业类型企业邮箱联系电话联系人经营范围企业地址企业网址图4-1-4 企业信息E-R图4.2、数据库表 本次设计主要要用到的数据库表分别是:4.2.1 货物信息表 Cargo: 字 段类 型描 述是否允许为空是否为主键codeVarchar(20)货物编号否是nameVarchar(20)货物名称否否price

12、Varchar(20)货物价格否否typeVarchar(20)货物类型否否countVarchar(20)货物重量否否numberVarchar(20)货物数量否否stateVarchar(20)货物状态否否originaddrVarchar(20)货物产地否否remarkVarchar(20)货物简介是否opuser_cdVarchar(20)添加人否否4.2.2 物流信息表t_logistic:字 段类 型描 述是否允许为空是否为主键billIdVarchar(20)物流编号否是codeVarchar(20)货物编号否外键(货物表)nameVarchar(20)货物名称否外键(货物表)g

13、countVarchar(20)货物重量否否gnumVarchar(20)货物数量否否companyVarchar(20)货运公司否否sprovVarchar(20)起始省份否否scityVarchar(20)起始城市否否eprovVarchar(20)到达省份否否ecityVarchar(20)到达城市否否addrVarchar(30)收件人地址否否gnameVarchar(20)收件人否否telVarchar(20)收件人电话否否dateVarchar(20)添加时间否否senderVarchar(20)发件人否否sendtelVarchar(20)发件人电话否否sendaddrVarch

14、ar(20)发件人地址否否4.2.3 车辆信息表Vehicle:字 段类 型描 述是否允许为空是否为主键vehicleIdVarchar(20)车辆编号否是vehiclenameVarchar(20)车辆名称否否vehicletypeVarchar(20)车辆类型否否vehiclenumVarchar(20)车牌号否否yearsVarchar(20)使用年限否否dnameVarchar(20)司机姓名否否dageVarchar(20)司机驾龄否否dtelVarchar(20)司机电话否否remarkVarchar(20)备注信息是否licensenumVarchar(20)假证号码否否4.2.

15、4 企业信息表T_qyxx:字 段类 型描 述是否允许为空是否为主键qyIdVarchar(20)企业编号否是qynameVarchar(20)企业名称否否qytypeVarchar(20)企业类型否否qywzVarchar(20)企业网址否否emailVarchar(20)企业邮箱否否telVarchar(20)企业电话否否addrVarchar(20)企业地址否否nameVarchar(20)联系人否否remarkVarchar(20)备注信息是否scopeVarchar(20)经营范围否否4.2.5 订单信息表t_order:字 段类 型描 述是否允许为空是否为主键orderIdVarc

16、har(20)订单编号否是clientnameVarchar(20)客户名称否否visatimeVarchar(20)签订日期否否paymentVarchar(20)付款方式否否priceFloat(10)货物价格否否nameVarchar(20)货物名称否否CodeVarchar(20)货物编号否否companyVarchar(20)货运公司否否gnameVarchar(20)收件人姓名是否addrVarchar(20)收件人地址是否TelVarchar(20)收件人电话否否4.2.6 会员信息表t_employeeInfo:No.对象名字段名类型长度Null许可主键1客户编号empIdch

17、ar15否PK2客户密码emppasswordchar20否3客户姓名namevarchar30否4性别sexchar2否5年龄agechar4否6职位jobvarchar30是7身份证号码codeidvarchar40是8学历studyeffortvarchar40是9现住址empadressvarchar50是10联系电话telvarchar50是11邮箱emailvarchar50是12录入时间imputtimevarchar12是13操作员operatorvarchar20是5、详细设计5.1、类模块具体设置模块实现类(action)数据存储类(form)事务处理类(DAO)处理类(s

18、ervice)实现页面(jsp)CargoCargoInfoActionCargocActioncargoCargoDaoCargocDaoCargoInfoServiceCargocServiceCargoInfo.jspCargoc.jspCompanyCompanyActionCompanyFormCompanyDaoCompanyServicecompany.jspaddcompany.jspdetailcp.jspLogisticLogisticActionLogisticcActionLogisticFormLogisticDaoLogisticcDaoLogisticServic

19、eLogisticcServicelogistic.jspopencode.jsplogisticc.jspVehicleVehicleActionVehicleFormVehicleDaoVehicleServiceaddVehicle.jspVehicle.jspDetailvehicle.jspPersonalLoginActionLoginFormLoginDaoLoginServicepersonInfo.jspsafe.jsppersonc.jspOrderFormorderformActionOrderFormorderFormDaoorderFormServiceorderFo

20、rm.jspopenCargo.jsphuiyuanEmployeeActionEmployeeFormEmployeeDaoEmployeeServiceOwnerInfo.jspLoginLogincLoginActionLogincActionLoginFormLoginDaoLogincDaoLoginServiceLogincServicemain.jspvehicle. jspindex.jsplogin.jsploginc.jspcargoInfo.jspcompany.jsplogistic.jspRegusersign.jsp5.2、具体功能模块设计:5.2.1、登录模块:登

21、录模块用Javascript代码实现了用户名、密码非空判断。若用户名或者密码为空则提示:用户名为空或者密码为空。直到用户名和密码都输入,则调用Service里面的getUser ()方法判断用户名是否存在,密码是否错误。直到输入正确的用户名或者密码便进入主界面,截图如下;登陆进去后能获取到用户名和当前时间。重点代码:public ActionForward getInfo(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exceptio

22、nLoginForm tf=(LoginForm)form;String userName = request.getParameter(opUserName);String password = request.getParameter(userPassword);tf.setOpuser_cd(userName);tf.setUserpassword(password);int x=LoginService.getUInfo(tf);if(x=1)request.setAttribute(message,用户名不存在);return mapping.findForward(login);e

23、lse if(x=3)request.setAttribute(message,密码错误);return mapping.findForward(login);/获得登录者的相关信息LoginForm loginForm = (LoginForm)form;String operatorId = LoginService.getId(userName,password);String operatorName = loginForm.getOpuser_cd(); HttpSession session = request.getSession();session.setAttribute(o

24、peratorName,operatorName);session.setAttribute(operatorId,operatorId);return mapping.findForward(index);5.2.1 货物信息管理:(1)初始界面默认显示货物的所有信息,上方信息录入框显示第一条货物信息,仅“添加”“返回”按钮可用。输入货物编号,可查找到相应信息。(2)点击货物编号链接,“编辑”按钮可用,上方信息录入框显示链接货物信息。点击“编辑”按钮,录入框中输入框可用,此时可以修改货物信息,点击“取消”取消编辑操作,点击“保存”保存修改后的信息。(3)点击“添加”可以增加货物信息,货物编号

25、系统自动生成,在保存时可以自动判断输入信息的正误,提示引导用户填入有效数据。(4)点击删除可删除货物信息。重点代码:(1) Action类public ActionForward cargoInfoSelect(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception / TODO Auto-generated method stubString code=request.getParameter(code);cargo t

26、f=(cargo) CargoInfoService.getSelect(code);/把tf放入request中 页面进行读取List list = CargoInfoService.getList();request.setAttribute(list,list);request.setAttribute(CargoInfoForm,tf);request.setAttribute(updateDis,updateDis);/取消编辑按钮不可操作的属性return mapping.findForward(cargoInfo);(2) Sevice类:public static cargo

27、getSelect(String code) throws SQLException, DataBaseException String sql = select * from cargo where code=+code.replace(,)+;cargo tf= CargoDao.getSelect(sql);/返回formreturn tf;public static void updateCargo(cargo tf) throws SQLException String sql = update cargo set name=+tf.getName()+,code=+tf.getCo

28、de()+,number=+tf.getNumber()+,type=+tf.getType()+,price=+tf.getPrice()+,count=+tf.getCount()+,state=+tf.getState()+,originaddr=+tf.getOriginaddr()+,remark=+tf.getRemark()+ where code=+tf.getCode()+;JDBConnection.executeUpdate(sql);public static void addCargo(cargo tf) throws SQLException, DataBaseEx

29、ception String sql = insert into cargo(code,name,number,count,state,price,type, originaddr, remark)values(+tf.getCode()+,+tf.getName()+,+tf.getNumber()+,+tf.getCount()+,+tf.getState()+,+tf.getPrice()+,+tf.getType()+,+tf.getOriginaddr()+,+tf.getRemark()+);JDBConnection.executeUpdate(sql);/查找最大Idpubli

30、c static String getId() throws SQLException, DataBaseException / TODO Auto-generated method stubString sql=select max(code) from cargo;String id=CargoDao.getId(sql);if(id=null)id=BH0001;elseString test=id.substring(2,6);test=(Integer.parseInt(test)+1)+;for(int i=test.length();i4;i+)test=0+test;id=BH

31、+test;return id;(3) Dao类:public static List getList(String sql) throws DataBaseException, SQLExceptionList list=new ArrayList();Connection con=JDBConnection.getConnection();/进行sql预处理PreparedStatement ps=con.prepareStatement(sql);/运行ps 结果集rs接受sql语句查询出的数据ResultSet rs=ps.executeQuery();/进行rs取值操作? 存入for

32、m中并把form封装入listwhile(rs.next()cargo tf=new cargo();tf.setCode(rs.getString(code);tf.setName(rs.getString(name); tf.setState(rs.getString(state);tf.setPrice(rs.getFloat(price);tf.setCount(rs.getString(count);tf.setNumber(rs.getString(number);tf.setType(rs.getString(type);tf.setOriginaddr(rs.getString

33、(originaddr);tf.setRemark(rs.getString(remark);System.out.println(rs.getString(code); /封装listlist.add(tf);closeAll(con,ps,rs);/返回listreturn list;5.2.2 物流信息管理:(1)页面初始化上半部分显示表中第一条详细记录,不可修改,只有“添加”和“返回”按钮可操作,下半部分列表中显示所有物流信息。点击右面的“删除”可永久注销员工信息,并注销相对应的登录编号。(2)点击“添加”按钮进入添加界面,运单号自动获取,点击货物编号旁边按钮客从货物列表中获得货物编号

34、和货物名称自动填取进去,发货时间选用隐式添加,鼠标点击自动出来日历,并且对各个输入框做了非空判断,点击保存即可添加成功。(2)点击“编辑”、“取消”、“返回”、“保存”按钮可对数据库中信息进行相关操作。添加员工信息时,录入时间和操作员隐式添加,入职时间用日历组件选录。(3)查询文本框可根运单号查询此运单信息,结果显示在下面的列表框。(4)点击下半部分列表中的某个员运单号,在上半部分各数据项文本框中可显示对应单号的详细信息。重点代码:public ActionForward getList(ActionMapping mapping,ActionForm form,HttpServletRequ

35、est request,HttpServletResponse response)throws ExceptionList list = LogisticService.getList(); request.setAttribute(list,list);/把查询结果list放入request容器中,以便页面取值 LogisticForm tf = new LogisticForm();if(list.size()!=0)/将第一条信息提取到表单tf = (LogisticForm)list.get(0);/将查询结果的第一条信息赋值给tfrequest.setAttribute(Logist

36、icForm,tf);/将hf放入request容器中return mapping.findForward(logistic);public static void updateLogistic(LogisticForm tf) throws SQLException String sql = update t_logistics set billId=+tf.getBillId()+code=+tf.getCode()+,name=+tf.getName()+,gname=+tf.getGname()+gcount=+tf.getGcount()+,company=+tf.getCompan

37、y()+,sprov=+tf.getSprov()+,scity=+tf.getScity()+,eprov=+tf.getEprov()+ ,ecity=+tf.getEcity()+ ,sender=+tf.getSender()+,addr=+tf.getAddr()+,sendaddr=+tf.getSendaddr()+,tel=+tf.getTel()+,date=+tf.getDate()+,sendtel=+tf.getSendtel()+ where billId=+tf.getBillId()+;JDBConnection.executeUpdate(sql);5.2.3、

38、车辆信息管理模块主要实现对车辆信息的管理。从数据库中提取车辆信息显示在表中,对其中的每一个车辆信息项目,都有编辑和删除两个操作。点击操作中的编辑,会自动跳转到编辑收车辆信息的页面,在此页面中填入相关信息,提交之后会对车辆信息列表中的该记录进行更新。点击编辑车辆信息详细页面中的返回则退回到车辆信息列表页面,即未对车辆信息进行修改。点击车辆信息管理中的删除,则删除数据库中的该条记录的所有相关信息。点击车辆信息管理页面中的增加车辆,则会跳转到添加车辆信息页面,实现对车辆信息添加操作。提交之后显示添加成功,该记录已自动添加到列表中。点击添加车辆信息页面中的“返回”按钮则退回到车辆信息列表。点击车辆信息

39、管理中的返回,则返回到一进入系统时的显示页面。重点代码:public ActionForward addCargo(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response )throws Exceptioncargo tf = (cargo)form;String code=request.getParameter(code);if(code.equals(*)code=CargoInfoService.getId();tf.setCode(code);Cargo

40、InfoService.addCargo(tf);List list = CargoInfoService.getList();request.setAttribute(list,list);request.setAttribute(CargoInfoForm,tf);return mapping.findForward(cargoInfo);public static void addCargo(cargo tf) throws SQLException, DataBaseException String sql = “insert into cargo (code,name,number,

41、count,state,price,type, originaddr, remark)values(+tf.getCode()+,+tf.getName()+,+tf.getNumber()+,+tf.getCount()+,+tf.getState()+,+tf.getPrice()+,+tf.getType()+,+tf.getOriginaddr()+,+tf.getRemark()+);JDBConnection.executeUpdate(sql);5.2.4、企业信息管理模块主要实现对企业信息的管理。从数据库中提取企业信息显示在表中,对其中的每一个企业信息项目,都有编辑和删除两个操作。具体操作同车辆信息相同。5.2.5、订单信息管理模块(1)初始界面默认显示客户订单的所有信息,上方信息录入框显示第一条

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号