题目:基于web的车辆管理系统
4.2.1  管理员子系统功能划分

代码已经上传github,下载地址:https://github.com/21503882/car
管理员子系统完成此系统的管理维护操作,主要包括管理员信息管理模块,用户管理模块,驾驶员信息模块,奖罚信息管理模块,车辆维修信息管理模块,车辆违章管理模块,车辆事故,车辆运营,车辆档案,车辆报废等。管理员子系统的的功能结图如图4-1所示:
 


图 4-1 管理员子系统模块
4.2.2  普通员工子系统功能划分
普通员工子系统功能结图如图4-2所示:


 

图 4-2 普通员工子系统模块
 
图5-3登录页面
5.3.2  管理主页面
输入正确的用户名及密码后,进入系统管理主界,系统的设计采用框架的结构,管理员可以选择左面的功能项实现某些功能的管理。台管理主页面的设计如图5-4所示:

5.3.3 车辆档案信息管理模块
本模块完成车辆档案信息的管理,包括车辆信息的添加、删除、修改及查询的功能,可以按车牌号进行查询,本页对应的磁盘文件为carmanager.jsp。页面的设计如图5-5所示:

图5-5 车辆管理模块
3.点击新增按钮打开新增车辆信息页面,本页对应的磁盘文件为addcar.jsp。页面的设计如图5-6所示:

图5-6 新增车辆信息页面
 
图5-7 车辆信息查询页面
5.3.4 车辆报废管理模块
管理员对车辆的报废信息进行管理。点击报废按钮,对所选的车辆进行报废登记处理,此页对应的磁盘文件为bfmanager.jsp,页面设计如图5-8所示:
 
图5-8 车辆报废信息管理页面
5.3.5 运营信息管理模块
运营信息管理模块完成车辆和司机的运营信息的登记功能,管理员可以添加新的运营信息,并能够对运营信息进行修改及删除操作。此页对应的磁盘文件为yyanager.jsp,模块的页面设计如图5-9所示:

图5-9 运营管理页面
1.在主页面中点击新增按钮,打开新增信息页面。此页对应的磁盘文件为addyy.jsp。页面设计如图5-10所示:
 
图5-10 新增运营信息管理页面
 
图5-11 查找运营信息管理页面
5.3.6 车辆维修管理模块
车辆维修管理模块,完成车辆的维修信息管理的功能,维修管理模块主要完成车辆维修信息的添加、删除功能。
1.车辆维修管理模块主页面对应的磁盘文件为wxmanager.jsp,页面设计如图5-12所示:

图5-12 车辆维修信息管理模块
 
图5-13 新增维修信息管理模块
5.3.7 车辆违章管理模块
车辆违章管理模块,完成车辆的违章信息管理的功能,本模块主要完成违章信息的添加及删除功能,本模块对应的磁盘文件为wzmanager.jsp,页面设计如图5-14所示:

图5-14 违章信息管理模块
1.    点击新增违章按钮,进入新增违章信息页面,违章模块完成车辆违章信息管理的功能,此页面对应的磁盘文件为addwz.jsp,新增违章信息的页面设计如图5-15所示:
 
图5-15 新增违章信息页面
5.3.8 事故信息管理模块
1.管理员对车辆的事故信息进行管理,对应的磁盘文件为xgmanager.jsp,页面设计如图5-16所示:
 
图5-16事故信息管理模块页面
5.3.9 驾驶员信息管理模块
对单位的驾驶员信息进行管理,通过编号也可以快速查询驾驶员信息。也可以浏览全部驾驶员的信息。
1.驾驶员管理主页面,此页面对应的磁盘文件为jsymanager.jsp,页面的设计如图5-17所示:

图5-17驾驶员管理模块
2.新增驾驶员管理页面,此页面对应的磁盘文件为addjsy.jsp,页面的设计如图5-18所示:
 
图5-18新增驾驶员管理模块

5.3.10 驾驶员奖罚页面
对驾驶员的奖励处罚信息进行管理。
1.对奖罚信息的主要操作有新增、修改和删除奖罚信息。此页面对应的磁盘文件为jfmanager.jsp,页面的设计如图5-19所示:

图5-19  奖罚信息管理页面

2.选择驾驶员信息。在主页面中点击新增奖罚按钮进入选择驾驶员信息页面,此页面对应的磁盘文件为jcmanager2.jsp,页面的设计如图5-20所示:
 
图5-20  选择驾驶员信息管理页面

3.新增奖罚信息。选择要奖罚的驾驶员,进入新增奖罚信息页面。此页面对应的磁盘文件为addjc.jsp?rh= &xm= &zh= ,页面的设计如图5-21所示:
 
图5-21  新增奖罚信息管理页面
5.3.11管理员管理页面
对系统中的管理员信息进行管理。主要操作有新增和删除管理员。
1.管理员管理主页面,此页面对应的磁盘文件为glmanager.jsp,页面的设计如图5-22所示:

图5-22  管理员管理页面
2.新增管理员页面,在主页面中点击新增管理员按钮,进入新增管理员页面。此页面对应的磁盘文件为addgl.jsp,页面的设计如图5-23所示:

图5-23  新增管理员页面

5.3.12用户管理页面
对使用系统的用户进行管理,用户不可以对用户信息进行管理,管理员可以。
1.用户管理主页面,此页面对应的磁盘文件为rymanager.jsp,页面的设计如图5-24所示:

图5-24  用户管理页面

2.新增用户管理页面,此页面对应的磁盘文件为addry.jsp,页面的设计如图5-25所示:

图5-25 新增用户管理页面

5.3.13修改密码页面
管理员登录系统后,可以修改自己的密码。要求输入原密码进行验证,输入两遍新密码,防止输入错误。此页面对应的磁盘文件为modipass.jsp,页面的设计如图5-26所示:

图5-26  修改密码页面

普通员工登录车辆管理系统

package com.linxf.ticketsale.controller;

import com.linxf.ticketsale.pojo.Order;
import com.linxf.ticketsale.pojo.Passenger;
import com.linxf.ticketsale.pojo.Train;
import com.linxf.ticketsale.pojo.User;
import com.linxf.ticketsale.service.OrderService;
import com.linxf.ticketsale.service.UserService;
import com.linxf.ticketsale.util.JedisUtil;
import com.linxf.ticketsale.util.TimeUtil;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/orderController")
public class OrderController {

private static final Logger LOG = Logger.getLogger(UserController.class);

@Resource
    private OrderService orderService;
    @Resource
    private UserService userService;

// 根据订单号查看订单详情
    @RequestMapping("/toOrderShow.action")
    public ModelAndView toOrderShow(int oid) {
        ModelAndView modelAndView = new ModelAndView();
        Order order = null;
        try {
            if (oid != 0) {
                order = orderService.findOrderByOid(oid);
            }
        } catch (Exception e) {
            LOG.info("orderController.toOrderShow e:" + e);
            e.printStackTrace();
        }
        modelAndView.addObject("order", order);
        modelAndView.setViewName("WEB-INF/jsp/main/orderShow.jsp");
        return modelAndView;

}

/*
     * 支付成功,订单状态为已支付,并跳转到订单列表页面
     */
    @RequestMapping("/toPay.action")
    public String toPay() {
        try {
            Order order = JedisUtil.get("order");// 从缓存中取
            if (order != null) {// 缓存中有
                orderService.OtypeToPay(order.getOid());// 改变订单状态为已支付
            }
        } catch (Exception e) {
            LOG.info("orderController.toPay e:" + e);
            e.printStackTrace();
        }
        return "WEB-INF/jsp/main/payUi.jsp";
    }

/*
     * 从订单列表中出票,并刷新订单列表页面
     */
    @RequestMapping("/listToTake.action")
    public ModelAndView listToTake(int oid) {
        ModelAndView modelAndView = new ModelAndView();
        try {
            orderService.OtypeToPost(oid);// 改变订单状态为已支付
        } catch (Exception e) {
            LOG.info("orderController.listToPay e:" + e);
            e.printStackTrace();
        }
        modelAndView.setViewName("forward:orderListUi.action");
        return modelAndView;
    }

/*
     * 从订单列表中支付支付,并跳转到订单列表页面
     */
    @RequestMapping("/listToPay.action")
    public String listToPay(int oid) {
        try {
            orderService.OtypeToPay(oid);// 改变订单状态为已支付
        } catch (Exception e) {
            LOG.info("orderController.listToTake e:" + e);
            e.printStackTrace();
        }
        return "WEB-INF/jsp/main/payUi.jsp";
    }

/*
     * 确认订单,并跳转到支付页面
     */
    @RequestMapping("/sureOrder.action")
    public ModelAndView sureOrder(Order order) {
        ModelAndView modelAndView = new ModelAndView();
        String m = "s" + order.getCreateTime();
        double money = Double.parseDouble(m.split("¥")[1]);
        order.setMoney(money); // 订单总价
        order.setCreateTime(TimeUtil.getTime());// 订单创建时间
        // 根据乘客id查询乘客信息
        Passenger passenger = null;
        int oid = 0;
        try {
            passenger = userService.findByid(order.getPid());
            orderService.addOrder(order); // 添加订单
            oid = order.getOid();
        } catch (Exception e) {
            e.printStackTrace();
        }
        order.setPassenger(passenger);
        order.setOid(oid);
        // 将订单信息存入缓存
        Order order0 = JedisUtil.get("order");
        if (order0 == null) {// 缓存中没有
            JedisUtil.put("order", order);
        } else {// 缓存中有
            JedisUtil.remove("order");
            JedisUtil.put("order", order);
        }
        modelAndView.addObject("order", order);
        modelAndView.setViewName("WEB-INF/jsp/main/sureOrder.jsp");
        return modelAndView;
    }

/*
     * 跳转到订单列表页面
     */
    @RequestMapping("/orderListUi.action")
    public String orderListUi(HttpServletRequest request) {
        User user = (User) request.getSession().getAttribute("loginUser");
        List<Order> list = null;
        Passenger passenger = null;
        try {
            list = orderService.findAllOrderByUid(user.getUid());
            if (list != null) {
                for (Order order2 : list) {
                    int pid = order2.getPid();
                    passenger = orderService.findNameByUid(pid);
                    order2.setPassenger(passenger);
                    // 将订单信息存入缓存
                    Order order0 = JedisUtil.get("order-" + user.getUid() + order2.getOid());
                    if (order0 == null) {// 缓存中没有
                        JedisUtil.put("order-" + user.getUid() + order2.getOid(), order2);
                    } else {// 缓存中有
                        JedisUtil.remove("order-" + user.getUid() + order2.getOid());
                        JedisUtil.put("order-" + user.getUid() + "-" + order2.getOid(), order2);
                    }
                }
            }
            request.setAttribute("orderList", list);
        } catch (Exception e) {
            LOG.info("orderController.orderListUi e:" + e);
        }
        return "WEB-INF/jsp/main/orderList.jsp";
    }

/*
     * 根据订单状态查询订单,异步加载
     */
    @RequestMapping("/findOrderByOtype.action")
    @ResponseBody
    public List<Order> findOrderByOtype(int otype, HttpSession session) {
        User user = (User) session.getAttribute("loginUser");
        List<Order> orders = new ArrayList<>();
        try {
            orders = orderService.findOrderByOtype(otype);
            if (orders != null) {
                Iterator<Order> it = orders.iterator();
                while (it.hasNext()) {
                    Order orderTemp = it.next();
                    // 从缓存中获取
                    Order order0 = JedisUtil.get("order-" + user.getUid() + "-" + orderTemp.getOid());
                    if (order0 == null) {// 缓存中没有
                        it.remove();
                    }
                }
            }
        } catch (Exception e) {
            LOG.info("orderController.findOrderByOtype e:" + e);
        }
        return orders;
    }

/*
     * 取消订票
     */
    @RequestMapping("/deleteOrder")
    @ResponseBody
    public ModelAndView deleteOrder(int oid) {
        ModelAndView modelAndView = new ModelAndView();
        try {
            orderService.deleteOrderByOid(oid);
            modelAndView.addObject("msg", "取消订单成功!");
        } catch (Exception e) {
            LOG.info("orderController.deleteOrder e:" + e);
        }
        modelAndView.setViewName("forward:orderListUi.action");
        return modelAndView;
    }

// 跳转到订单详情页--用户购票下单
    @RequestMapping("/toOrderInfo.action")
    public ModelAndView toOrderInfo(String tid, String sname1, String sname2, int type, String startDay) {
        ModelAndView modelAndView = new ModelAndView();
        Train train = null;
        if (type == 1) {// 直达车
            List<Train> trainList = JedisUtil.get(sname1 + "-" + sname2 + "直达");// 从缓存中获取车辆信息
            if (trainList != null) {
                for (Train traint : trainList) {
                    if (tid.equals(traint.getTid())) {
                        train = traint;
                        break;
                    }
                }
            }
        } else if (type == 2) {// 换乘
            // 从缓存中获取车辆信息
            List<Map<String, Object>> listMap = JedisUtil.get(sname1 + "-" + sname2 + "换乘");
            if (listMap != null) {
                for (Map<String, Object> map : listMap) {
                    String saname = (String) map.get("changeState");
                    Train train1 = (Train) map.get("train1");
                    Train train2 = (Train) map.get("train2");
                    if (tid.equals(train1.getTid())) {// 买train1的票
                        train = train1;
                        sname2 = saname;
                        break;
                    } else if (tid.equals(train2.getTid())) {// 买train2的票
                        train = train2;
                        sname1 = saname;
                        break;
                    }
                }
            }
        } else {
            modelAndView.setViewName("forword:404");
            return modelAndView;
        }
        modelAndView.addObject("train", train);
        modelAndView.addObject("sname1", sname1);
        modelAndView.addObject("sname2", sname2);
        modelAndView.addObject("startDay", startDay);
        modelAndView.setViewName("WEB-INF/jsp/main/orderInfo.jsp");
        return modelAndView;
    }

}
代码已经上传github,下载地址:https://github.com/21503882/car
————————————————

java+sql+基于web的车辆管理系统相关推荐

  1. java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于Web的人事管理系统的设计与实现mybatis+源码+调试部署+系统+数据库 ...

  2. java面试项目车辆管理_基于jsp的车辆管理系统-JavaEE实现车辆管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的车辆管理系统, 该项目可用各类java课程设计大作业中, 车辆管理系统的系统架构分为前后台两部分, 最终实现在线上 ...

  3. 基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java基于Web的人事管理系统的设计与实现计算机毕业设计源码+系统+lw文档+my ...

  4. java毕业设计基于web的学校工资管理系统Mybatis+系统+数据库+调试部署

    java毕业设计基于web的学校工资管理系统Mybatis+系统+数据库+调试部署 java毕业设计基于web的学校工资管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S ...

  5. 1.0 java_Mybatis_oracle基于WEB的仓库管理系统的设计与实现(源码+数据库sql+论文+视频齐全)----库管理系统---源码在底部

    基于Web的仓库管理系统的设计与实现 摘 要 仓库物品的管理是与我们的日常生活息息相关的一个重大问题.随着我国经济飞速的发展,改革开放的不断深入,企业要想在激烈的市场竞争中立于不败之地,要想继续的发展 ...

  6. java毕业设计_基于web的游泳馆管理系统的设计与实现

    基于web的游泳馆管理系统的设计与实现 基于web的游泳馆管理系统的设计与实现mysql数据库创建语句 基于web的游泳馆管理系统的设计与实现oracle数据库创建语句 基于web的游泳馆管理系统的设 ...

  7. 基于java+sql+servlet的金融借贷管理系统mysql数据源

    基于java+sql+servlet的金融借贷管理系统 一套基于基于JavaWeb实现的金融借贷系统 或 P2P金融管理系统 或 小额贷款系统,详细介绍了金融借贷系统的实现,包括:1.项目介绍2.环境 ...

  8. java计算机毕业设计Web企业客户管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Web企业客户管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Web企业客户管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

  9. java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

最新文章

  1. ASP.NET2.0 GridView小技巧汇粹
  2. 人脸识别争议不断 中美市场冰火两重天
  3. JScrollPane 双滚动条
  4. TDD, what, why, how
  5. 16 分频 32 分频是啥意思_Verilog 数字分频器的设计及验证
  6. VIM配置ActionScript
  7. 赫夫曼编码-译码器(Huffman Coding)
  8. darknet-训练自己的yolov3模型
  9. 图书 网管天下系列图书 之 网络管理工具实用详解 目录
  10. Jetty 与 Tomcat 比较,及性能分析
  11. C++中空指针调用类成员函数的原理
  12. [转载]对称加密DES和TripleDES
  13. 4g内存电脑装xp系统怎么样_系统坏了?去店了重装系统又贵?今天手把手教你如何重装系统...
  14. python常用内置模块,执行系统命令的模块
  15. linux运维脚本编写,Linux运维基础技能: 脚本编程与Linux命令
  16. JLNews新闻点评系统--君兰IT
  17. 兄弟HL4150cdn恢复出厂设置_兄弟打印机恢复出厂设置
  18. 大容量网盘才是王道?看看坚果云这类的小容量网盘的生存之道
  19. 【Debug记录】Libtorch部署YOLO时cmake报错--symbol lookup error: ./test/test: undefined symbol: _ZN2at6detail1
  20. 如何去掉now函数时间中的汉字

热门文章

  1. Oracle中的DDL,DML,DCL总结
  2. 一体化低压伺服电机在写真机上的应用
  3. 大数据就业培训 大数据的发展方向
  4. Python实例9:基本数据统计值计算
  5. 计算机怎么把文字转换成表格,Word文档如何将文字转换成表格形式
  6. pycharm安装到32位操作系统
  7. [FROM WOJ]#4764 子矩阵
  8. 施耐德电气护航中国首台9.4T核磁共振成像系统稳定运行
  9. echsrts 地图 镇、街道数据
  10. EUL(end user layer)是什么