0
点赞
收藏
分享

微信扫一扫

基于ssm的公交线路查询系统的设计与实现


 博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经从做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言,只有实实在在的写点程序。

系统主要功能介绍:

用户端:

1、登录注册:普通用户可以进行注册,注册完成后登录系统,然后使用相关功能

2、按照条件搜索线路:用户可以输入相关站点关键字,然后系统进行匹配,查询出相关的线路

3、按照起点站和终点站搜索线路,系统推荐最优线路:本系统的核心模块,用户输入起点站和终点站,系统根据两个站点查询出来最优的线路,展示给用户。

4、系统公告、新闻阅读:管理员发布新闻或者发布系统公告,用户登录之后可以查看系统内的公告,并且阅读新闻。

管理员端:

1、用户管理:对系统用户进行管理,包括用户的增删改查

2、车站管理:对系统的站点信息进行管理,维护站点的相关信息

3、公交线路管理:把系统录入的站点信息联系起来

4、新闻管理:管理员登录之后可以发布新闻,对新闻信息进行管理,可以发布新闻,对新闻信息金添加和删除

5、用户建议管理:管理用户的建议信息,查看建议

6、司机管理:对司机进行管理,对司机信息进行增删改查

代码结构:

基于ssm的公交线路查询系统的设计与实现_bc

基于ssm的公交线路查询系统的设计与实现_java_02编辑

部分代码:

@RequestMapping(value = "")
    public String index(ModelMap modelMap, HttpServletRequest request) {
        LoginModel login = (LoginModel) request.getSession()
                .getAttribute(CommonVal.sessionName);
        modelMap.addAttribute("login", login);
        BannerInfoExample be = new BannerInfoExample();
        be.setOrderByClause("id desc");
        be.setPageRows(0);
        be.setStartRow(4);
        List<BannerInfo> bl = bannerInfoMapper.selectByExample(be);
        modelMap.addAttribute("bl", bl);
        return "index/bus_line_info_list";
    }

基于ssm的公交线路查询系统的设计与实现_java_03

/**
     * 计算所有可达路径
     *
     * @param startId
     * @param endId
     * @return
     */
    public List<Map<String, Object>> getBusLine(Integer startId, Integer endId) {
        List<Map<String, Object>> rs = new ArrayList<Map<String, Object>>();
        if (startId == null || endId == null) {
            return rs;
        }
        if (startId.equals(endId)) {
            BusLineMsgInfoExample example = new BusLineMsgInfoExample();
            example.createCriteria().andStationIdEqualTo(startId);
            List<BusLineMsgInfo> list = busLineMsgInfoMapper.selectByExample(example);

            List<BusLineInfo> bus = new ArrayList<BusLineInfo>();
            Map<String, Object> map = new HashMap<String, Object>();


            for (BusLineMsgInfo busLineMsgInfo : list) {
                BusLineInfo key = busLineInfoMapper.selectByPrimaryKey(busLineMsgInfo.getLineId());

                bus.add(key);
            }
            map.put("list", bus);
            map.put("mess", 1);
            rs.add(map);
            return rs;
        }
        BusLineInfoExample be = new BusLineInfoExample();
        List<BusLineInfo> bl = busLineInfoMapper.selectByExample(be);
        List<Map<String, Object>> lines = new ArrayList<Map<String, Object>>();//所有的线路
        List<Integer> lineIds = new ArrayList<Integer>();
        for (BusLineInfo b : bl) {
            Map<String, Object> map = new HashMap<String, Object>();
            BusLineMsgInfoExample be2 = new BusLineMsgInfoExample();
            BusLineMsgInfoExample.Criteria bc2 = be2.createCriteria();
            bc2.andLineIdEqualTo(b.getId());
            be2.setOrderByClause("no asc");//根据编号排序
            List<BusLineMsgInfo> bl2 = busLineMsgInfoMapper.selectByExample(be2);
            map.put("id", b.getId());
            map.put("lineName", b.getLineName());
            map.put("linePrice", b.getPrice());
            map.put("list", bl2);//整个路线的站点
            lines.add(map);
            lineIds.add(b.getId());
        }
        BusLineMsgInfoExample be2 = new BusLineMsgInfoExample();
        BusLineMsgInfoExample.Criteria bc2 = be2.createCriteria();
        bc2.andStationIdEqualTo(startId);
        bc2.andLineIdIn(lineIds);
        List<BusLineMsgInfo> bl2 = busLineMsgInfoMapper.selectByExample(be2);


        if (bl2.size() == 0) {
            return rs;
        }
        getAllPath2(rs, lines, new ArrayList<Map<String, Object>>(), startId, bl2.get(0).getLineId(), endId);

        Collections.sort(rs, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> u1, Map<String, Object> u2) {
                int diff = Integer.parseInt(u1.get("costTime").toString()) - Integer.parseInt(u2.get("costTime").toString());
                if (diff > 0) {
                    return 1;
                } else if (diff < 0) {
                    return -1;
                }
                return 0; //相等为0
            }
        }); // 按花费时间排序
        return rs;

    }

基于ssm的公交线路查询系统的设计与实现_java_04

基于ssm的公交线路查询系统的设计与实现_bc_05

基于ssm的公交线路查询系统的设计与实现_List_06编辑

基于ssm的公交线路查询系统的设计与实现_java_07

基于ssm的公交线路查询系统的设计与实现_List_08编辑

基于ssm的公交线路查询系统的设计与实现_java_09

基于ssm的公交线路查询系统的设计与实现_java_10编辑

基于ssm的公交线路查询系统的设计与实现_java_11

基于ssm的公交线路查询系统的设计与实现_java_12编辑

基于ssm的公交线路查询系统的设计与实现_List_13

基于ssm的公交线路查询系统的设计与实现_bc_14编辑



举报

相关推荐

0 条评论