版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一 系统简介 本系统为汽车租赁系统,采用B/S实现。可以实现不同权限的浏览和管理。管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户那么可以浏览车辆信息和个人的租车信息。 主要技术:jsp运行环境:winows os+二 数据库设计1. 需求分析因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:汽车公司方面:能够对车辆,租赁信息和用户信息进行管理。超级管理员还可以对公司内部人员的信息进行管理客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息。数据流图如下: 管理员
2、客户新增客户个人信息用户信息文件车辆新增交易车辆信息交易信息文件个人信息新增车辆车辆信息文件新增管理员内部人员管理人员信息文件2. 概念设计ER图如下所示: 管理员管理车辆车辆租用车辆客 户1N管理用户工号用户名类型密码编号类型状态起租时间单价租用时间编号客户编号车辆编号经手人员起租时间押金租用时间返回金额状态证件号用户名会员类型密码MNnm信誉度3. 逻辑设计建表语句如下:用户表:/后为各字段意义声明create table userinfo( pid varchar(8) primary key, /用户证件号 username varchar(8), /用户名 isvip int, /用
3、户类型,是否为会员 xingyu int, /信誉度,总分值100。 password varchar(8) /用户登录密码);管理员表:create table manager( wid varchar(8) primary key, /管理员工号 type int, /类型,超级管理员部门经理等和普通管理员 username varchar(8), /管理员用户名 password varchar(8) /管理员密码);车辆表:create table taxi( tid varchar(8) primary key,/车辆编号 type varchar(8), /车辆类型 state v
4、archar(8), /车辆状态,是否可租 wid varchar(8), / year int, /起租年月日 month int, day int, time int, detailinfo text, /车辆详细信息 pay int /租用单价);租车信息表create table rentinfo( rid int identity(1,1) primary key, /交易编号 wid varchar(8), /经手人员 pid varchar(8), /客户证件号 tid varchar(8),/ 车辆号码 yajin int, /押金 backmoney int, /返还金额 p
5、ay int,/单价 broken varchar(8),/破坏情况 outyear int,/结束交易时间 outmonth int, outday int, time int,/实际使用时间 state varchar(8)/交易状态 );-设置外键BEGIN TRANSACTIONalter table dbo.rentinfo add constraint FK_rentinfo_tidforeign key (tid)references dbo.taxi(tid) alter table dbo.rentinfo add constraint FK_rentinfo_pidfore
6、ign key (pid)references dbo.userinfo(pid) alter table dbo.rentinfo add constraint FK_rentinfo_widforeign key (wid)references dbo.manager(wid) COMMIT TRANSACTION4. 数据库建立与备份,恢复在sql server 2005 建立一个数据库,名称为hello,执行以上建表语句即可。或者将hello.mdf,hello_log.ldf文件恢复。sp_attach_db 'hello', 'C:Program Files
7、Microsoft SQL ServerMSSQLDatahello.mdf', 'C:Program FilesMicrosoft SQL ServerMSSQLDatahello_log.ldf' sp_attach_single_file_db 'hello','C:Program FilesMicrosoft SQL ServerMSSQLDatahello.mdf'三 框架实现 系统总体框架实现如以下图所示: 不同权限的用户登录超级管理员内部人员管理客户信息管理车辆信息管理普通管理员客户信息管理车辆信息管理客户个人信息浏览车辆信
8、息浏览租车信息浏览财务信息管理财务信息管理以下是各模块的子功能截图:登录模块截图: 超级管理员页面截图:普通管理员页面截图:员工信息管理页面截图:员工 信息管理单表查询员工业绩查询多表查询增加员工单表插入数据修改个人密码客户信息管理:交易信息查询多表查询客户信息查询车辆信息管理:新增车辆信息车辆信息查询财务信息查询:数据操作实现方法: 定义一个类DataManager,在每个jsp页面中实例化这个类,并调用它的某个方法,完成数据库的连接,数据查询,删除,及修改操作。程序例如:如check.jsp里面可以验证用户登录信息,并转向不同页面。DataManager dm = new DataMana
9、ger();/实例化DataManager类ResultSet rs = null;if (type = 1) /如果是以客户身份登录String sql = "select * from userinfo where username='" + username+ "'" + " and password = '" + password + "'"rs = dm.getResult(sql);/由用户名和密码获取记录if (rs.next() /如果记录不为空,说明该客户存在Str
10、ing pid = rs.getString("pid");/保存该用户信息session.setAttribute("type", "1");session.setAttribute("pid", pid);session.setAttribute("username", username);response.sendRedirect("user.jsp");/转向客户页面 else /转向管理员页面,以下与上面if语句类似。String sql = "selec
11、t * from manager where username='"+ username + "'" + " and password = '" + password+ "' and type ="+type;System.out.println(sql);rs = dm.getResult(sql);if (rs.next() String wid = rs.getString("wid");session.setAttribute("type", t
12、);session.setAttribute("wid", wid);session.setAttribute("username", username);response.sendRedirect("manager.jsp");此外,系统具有良好的平安性,对每个页面都有良好的保护措施,如manashare.jsp,usershar.jsp,通过session验证用户有无权限进入该页面,否那么跳转到login.jsp页面,重新登录。四 程序设计 1.含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序流程如下:开始获得隐藏
13、域变量的值为空?表单的填写跳转到本页显示表单提交结果结束YN2.财务管理中有个导出execl报表的功能,其实现如下: 从网上下载一个jxl.jar包,该jar包支持生成execl文件的操作,然后建立一个专门的类,用于生成execl,该类源码如下:package my.pkgs;import java.io.*; import jxl.*; import jxl.write.*; import java.sql.*;public class CreateXLS public String create(ResultSet rs,String filename) tryFile f = new F
14、ile(filename);boolean exist = f.exists();WritableWorkbook book = Workbook.createWorkbook(new File(filename);/生成名为“第一页的工作表,参数0表示这是第一页 WritableSheet sheet = book.createSheet("第一页", 0);/在Label对象的构造子中指名单元格位置是第一列第一行(0,0) /以及单元格内容为test Label label0 = new Label(0, 0, "交易号");Label label1
15、 = new Label(1, 0, "经手人员");Label label2 = new Label(2, 0, "客户证号");Label label3 = new Label(3, 0, "车辆号码");Label label4 = new Label(4, 0, "押金元");Label label5 = new Label(5, 0, "返还金额元");Label label6 = new Label(6, 0, "破坏情况");Label label7 = new
16、 Label(7, 0, "开始时间");Label label8 = new Label(8, 0, "实收金额元");sheet.addCell(label0);sheet.addCell(label1);sheet.addCell(label2);sheet.addCell(label3);sheet.addCell(label4);sheet.addCell(label5);sheet.addCell(label6);sheet.addCell(label7);sheet.addCell(label8);int i = 1;while (rs.n
17、ext() jxl.write.Number label01 = new jxl.write.Number(0,i,rs.getInt(1);Label label11 = new Label(1, i, rs.getString(2);Label label21 = new Label(2, i, rs.getString(3);Label label31 = new Label(3, i, rs.getString(4);jxl.write.Number label41 = new jxl.write.Number(4, i, rs.getInt(5);jxl.write.Number l
18、abel51 = new jxl.write.Number(5, i, rs.getInt(6);Label label61 = new Label(6, i, rs.getString(8);Label label71= new Label(7, i, rs.getInt(9) + "-"+ rs.getInt(10) + "-" + rs.getInt(11);jxl.write.Number label81 = new jxl.write.Number(8, i, rs.getInt(5)- rs.getInt(6);sheet.addCell(l
19、abel01);sheet.addCell(label11);sheet.addCell(label21);sheet.addCell(label31);sheet.addCell(label41);sheet.addCell(label51);ell(label61);sheet.addCell(label71);sheet.addCell(label81); i+;book.write(); book.close(); catch (Exception e) e.printStackTrace();return "ok" /测试creat方法 public static
20、 void main(String arg) throws SQLException CreateXLS c = new CreateXLS(); DataManager dm = new DataManager();String sql = "select * from rentinfo where outyear =" + 2021+ " and state='交易完成'"System.out.println(sql);ResultSet rs = dm.getResult(sql);c.create(rs, "c:3.xl
21、s"); 在jsp页面中调用该类方法既能生成Exel文件,源码如下: /该文件名按apache tomcat 安装目录而定String filename = "C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/COURSEPROJECT/execls/"+ year + "-" + month + ".xls"CreateXLS cxls = new CreateXLS();cxls.create(rss, filename);3.用到了数据库知识里
22、面的触发器,该触发器用于新增交易信息时,sql语句如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER rent1on rentinfo AFTER insertAS BEGIN update taxi set taxi.state = i.state, taxi.year = i.outyear, taxi.month = i.outmonth, taxi.day = i.outday, from taxi t,Inserted i where t.tid = i.tid SET NOCOUNT ON;ENDGO查询用户
23、李明的租车记录SF JWhere =王充五 总结 本次实验的最大收获就是真正写了个关于数据库的软件。数据库无论在现在各类软件中都有涉及,所以数据库对于计算机从业者来说是一门必须掌握的课程。本次试验只能说是初步了解了数据库编程的一些知识,许多高深的数据库知识如sql优化都未能研究深入。 其次是对jsp编程有了一定得了解。因为是首次学习jsp编程,没有用到javabean,更不用说struts,hibernate,spring框架,所用到的技术非常简单,属于“菜鸟级“,不过,打下了web编程的根底,相信以后会对web开发更有兴趣。 最后,对软件工程的知识有了一定了解。本次试验成果可以说
24、是一个软件质量暂且不管,软件的完成需要固定的几个步骤:需求分析,概念设计,编码,测试等等,经过本次尝试,终于知道了需求分析的重要性,它是整个软件的根底,影响到软件的功能是否完善等等,所以需求分析一定要到位。还有测试,测试用例一定要全面,否那么,功能实现就会有缺陷。 以上就是本次实验的心得体会。以下是赠送资料劳动合同,不需要下载后可以编辑删除!劳动合同 一、双方在签订本合同前,应认真阅读本合同书。本合同一经签订,即具有法律效力,双方必须严格履行。二、本合同必须由用人单位(甲方)的法定代表人(或者委托代理人)和职工(乙方)亲自签章,并加盖用人单位公章(或者劳动合同专用章)方
25、为有效。三、本合同中的空栏,由双方协商确定后填写,并不得违反法律、法规和相关规定;不需填写的空栏,划上“。四、工时制度分为标准工时、不定时、综合计算工时三种。实行不定时、综合计算工时工作制的,应经劳动保障部门批准。五、本合同的未尽事宜,可另行签订补充协议,作为本合同的附件,与本合同一并履行。六、本合同必须认真填写,字迹清楚、文字简练、准确,并不得擅自涂改。七、本合同(含附件)签订后,甲乙双方各保管一份备查。 甲方(用人单位): 乙方(职工): 名称: 姓名: 法定代表人:
26、身份证号码: 地址: 现住址: 经济类型: 联系 : 联系 : 根据(中华人民共和国劳动法?和国家及省的有关规定,甲乙双方按照平等自愿、协商一致的原那么订立本合同。一、合同期限(一)合同期限双方同意按以下第 种方式确定本合同期限:1、有固定期限:从 年 月 日起至 年 月 日止。2、无固定期限:从 年 月 日起至本合同约定的终止条件出现时止(不得将法定解除条件约定为终止条件)。3、以完成一定的工作为期限:从 年 月 日起至 工作任务完成时止。(二)试用期限双方同意按以下
27、第 种方式确定试用期期限(试用期包括在合同期内):1、无试用期。2、试用期从 年 月 日起至 年 月 日止。(试用期最长不超过六个月。其中合同期限在六个月以下的,试用期不得超过十五日;合同期限在六个月以上一年以下的。试用期不得超过三十日;合同期限在一年以上两年以下的,试用期不得超过六十日。)二、工作内容(一)乙方的工作岗位(工作地点、部门、工种或职务)为 (二)乙方的工作任务或职责是 (三)甲方因生产经营需要调整乙方的工作岗位,按变更本合同办理,双方签章确认的协议或通知书作为本合同的附件。(四)如甲方派乙方到外单位工作,应签订补充协议。三、工作时间(一)甲乙双方同意按以下第 种方式确定乙方的工
28、作时间:1、标准工时制,即每日工作 小时,每周工作 天,每周至少休息一天。2、不定时工作制,即经劳动保障部门审批,乙方所在岗位实行不定时工作制。3、综合计算工时工作制,即经劳动保障部门审批,乙方所在岗位实行以 为周期,总工时 小时的综合计算工时工作制。(二)甲方因生产(工作)需要,经与工会和乙方协商后可以延长工作时间。除(劳动法)第四十二条规定的情形外,一般每日不得超过一小时,因特殊原因最长每日不得超过三小时,每月不得超过三十六小时。四,工资待遇(一)乙方正常工作时间的工资按以下第( )种形式执行,不得低于当地最低工资标准。1、乙方试用期工资 元月;试用期满工资 元月(元日)。2、其他形式:。(二)工资必须以法定货币支付,不得以实物及有价证券替代货币支付。(三)甲方根据企业的经营状况和依法制定的工资分配方法调整乙方工资,乙方在六十日内未提出异议的视为同意。(四)甲方每月 日发放工资。如遇节假日或休息日,那么提前到最近的工作日支付。(五)甲方依法安排乙方延长工作时间的,应按(劳动法)第四十四条的规定支付延长工作时间的工资报酬。 (一)任何
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工队上报材料采购制度
- 采购部门制度及流程
- 采购项目备案登记制度
- 钉钉采购奖惩制度
- 食堂采购管理制度及流程
- 第19章 二次根式基础卷(答案版)-人教版(2024)八下
- 七年级下学期第一次月考测试卷(教师版)【相交线与平行线~实数】-人教版(2024)七下
- 2026年林地收购合同(1篇)
- 教学设计:5.3 直线运动
- 销售部工作总结汇编14篇
- 入职心理测试题目及答案300道
- JTG F90-2015 公路工程施工安全技术规范
- 实验室计量器器具校准操作规程
- 2024年湖南出版投资控股集团招聘笔试参考题库含答案解析
- DL∕T 547-2020 电力系统光纤通信运行管理规程
- 电气控制与PLC教案电气控制与PLC教案
- 建筑材料说课公开课一等奖市赛课获奖课件
- 湖南2023年长沙银行理财经理社会招聘(37)考试参考题库含答案详解
- 混凝土搅拌车维护保养
- 薄膜的物理气相沉积
- 铣刨加罩道路工程施工组织设计方案
评论
0/150
提交评论