作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

源码描述:
一、源码介绍
汽车维修管理系统源码使用ssm框架,maven,bootsrap,mysql实现,带数据库。
二、主要功能
分为2个角色,管理员和顾客;
顾客登录后,操作我的车辆,预约订单,历史订单;
管理员登录后,操作订单管理,员工管理,机位管理,用户管理,零件管理。

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;

6.数据库:MySql 5.7/8.0等版本均可;

技术栈

1. 后端:Spring springmvc mybatis

2. 前端:JSP+css+javascript+jQuery+bootstrap+layui

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置,然后运行;
4. 运行成功后,在浏览器中输入:http://localhost:8080/
管理员账号密码:admin/admin

用户账号密码:user/123456

运行截图

用户角色

管理员角色

相关代码

CarController

package com.chillax.controller;import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import com.chillax.bean.Car;
import com.chillax.bean.User;
import com.chillax.service.CarService;
import com.chillax.utils.BaseController;
import com.chillax.utils.DateUtils;
import com.chillax.utils.StringUtil;
import com.chillax.utils.TableData;
@Controller
@RequestMapping("/car")
public class CarController extends BaseController {@Resourceprivate CarService carService;/**页面跳转*/@RequestMapping("/list")public String workList(HttpServletRequest request,HttpSession session){String tag = request.getParameter("tag");request.setAttribute("tag", tag);return "car/car_list";}/**数据获取*/@RequestMapping("/getData")@ResponseBodypublic String getData(HttpServletResponse response,HttpServletRequest request,String carName){Integer offset = Integer.parseInt(request.getParameter("offset"));//开始条数Integer limit = Integer.parseInt(request.getParameter("limit"));//每页条数Map<String, Object> paramMap=new HashMap<String, Object>();String tag = request.getParameter("tag");User userOn=(User)request.getSession().getAttribute("userOn");if(!StringUtil.isEmpty(tag)){paramMap.put("tag", tag);//tag 标注是否查出在维修车辆 tag=1 不查出}paramMap.put("userId", userOn.getuId());paramMap.put("carName", carName);List<Car> cars = carService.selectAllByUser(paramMap);return TableData.getJson2Table(cars, offset, limit);}/**编辑零件信息 */@RequestMapping("/edit")public String editWork(HttpServletRequest request,Model model){try {String id = request.getParameter("id");Car car = new Car();if(StringUtil.isNotEmpty(id)){car = carService.selectByPrimaryKey(id);}model.addAttribute("car", car);} catch (Exception e) {e.printStackTrace();}return "car/car_edit";}@RequestMapping("/add")@ResponseBodypublic Integer addWorker(HttpServletRequest request,Car car){int record=0;User user=(User)request.getSession().getAttribute("userOn");if( StringUtil.isEmpty(car.getCarId())){/*设置关联用户id*/car.setUserId(user.getuId());car.setCarId(StringUtil.getStringId());record= carService.insertSelective(car);}else{record= carService.updateByPrimaryKeySelective(car);}return record;}/**删除机床*/@RequestMapping("/delById")@ResponseBodypublic Integer deleteWorker(HttpServletRequest request){String ids = request.getParameter("id");if(StringUtil.isNotEmpty(ids)){String[] sIds = ids.split(",");for (String sId : sIds) {carService.deleteByPrimaryKey(sId);}return 1;}else{return 0;}}@RequestMapping("/selectCar")@ResponseBodypublic Integer selectCar(HttpServletRequest request,HttpSession session,String carId){if(!StringUtil.isEmpty(carId)){Car preCar = carService.selectByPrimaryKey(carId);session.setAttribute("preCar", preCar);}return 1;}@RequestMapping("/getCarTypeData")@ResponseBodypublic List<Map<String,Object>> getCarTypeData(HttpServletRequest request,String month){if(StringUtil.isEmpty(month)){month=DateUtils.getYearMonths(1).get(0);}Map<String,Object> map=new HashMap<String, Object>();map.put("date",month);List<Map<String,Object>> list = carService.selectCarTypeData(map);return list;}
}

OrderController

package com.chillax.controller;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.chillax.bean.Car;
import com.chillax.bean.Order;
import com.chillax.bean.OrderPart;
import com.chillax.bean.OrderWorker;
import com.chillax.bean.Part;
import com.chillax.bean.SStation;
import com.chillax.bean.User;
import com.chillax.bean.Worker;
import com.chillax.service.CarService;
import com.chillax.service.OrderPartService;
import com.chillax.service.OrderService;
import com.chillax.service.OrderWorkerService;
import com.chillax.service.PartService;
import com.chillax.service.StationService;
import com.chillax.service.WorkerService;
import com.chillax.utils.BaseController;
import com.chillax.utils.DateUtils;
import com.chillax.utils.StringUtil;@Controller
@RequestMapping("/order")
public class OrderController extends BaseController {private final Integer WARNING_COUNT=20;@Resourceprivate CarService carService;@Resourceprivate StationService stationService;@Resourceprivate PartService partService;@Resourceprivate OrderPartService orderPartService;@Resourceprivate OrderWorkerService orderWorkerService;@Resourceprivate WorkerService workerService;@Resourceprivate OrderService orderService;/** 页面跳转 预定页面 */@RequestMapping("/toPreOrder")public String toPreOrder(HttpServletRequest request, HttpSession session,String carId) {return "order/preOrder";}/** 订单预定 */@RequestMapping("/preOrder")@ResponseBodypublic Integer preOrder(HttpServletRequest request, HttpSession session,String imgurls, String arriveTime, String desc) {// User user=(User)session.getAttribute("userOn");SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date arrDate = null;try {arrDate = format.parse(arriveTime);} catch (ParseException e) {e.printStackTrace();}Car car = (Car) session.getAttribute("preCar");car.setCarState(1);int updateCar = carService.updateByPrimaryKeySelective(car);Order order = new Order();order.setOrderId(StringUtil.getStringId());order.setCarId(car.getCarId());order.setoDescribe(desc);// 0 预约中 1预约成功 2正在执行 3完成 4拒绝order.setoState("0");order.setArriveTime(arrDate);order.setOrdertime(new Date());order.setImgUrls(imgurls);int updateOrder = orderService.insertSelective(order);return updateOrder+updateCar;}/** 订单操作 */@RequestMapping("/manage")public String manageOrder(HttpServletRequest request, HttpSession session,String orderId) {Map<String, Object> paramMap=new HashMap<String, Object>();paramMap.put("orderId", orderId);//通过id查出只能是一条数据List<Map<String, Object>> order = orderService.selectOrderByAttr(paramMap);String[] imgurls = order.get(0).get("imgUrls").toString().split(",");//查询所有待使用的机床List<SStation> stations=stationService.selectAll(new HashMap<String, Object>(){{put("s_state", "完好待使用");}});//查询所有空闲的工人 state=1空闲 2在忙 0离职List<Worker> workers = workerService.selectWorkersByAttr(new Worker(){{setwState(1);}});//查询所有可使用零件List<Part> parts = partService.selectAll();request.setAttribute("imgurls",imgurls);request.setAttribute("dealOrder",order.get(0));request.setAttribute("stations",stations);request.setAttribute("workers",workers);request.setAttribute("parts",parts);return "order/manageOrder";}/** 页面跳转 */@RequestMapping("/list")public String workList(HttpServletRequest request, HttpSession session,String state) {Map<String, Object> paramMap=new HashMap<String, Object>();paramMap.put("state", state);List<Map<String, Object>> order = orderService.selectOrderByAttr(paramMap);session.setAttribute("order", order);request.setAttribute("state", state);return "order/order_list";}/**  */@RequestMapping("/accept")@ResponseBodypublic String acceptOrder(HttpServletResponse response,HttpServletRequest request,String orderId,String remark,String stationId) {String success="1";//获取订单id 机床id 员工id集合 零件id num集合String selectedWorker=request.getParameter("selectedWorker");String[] workers = selectedWorker.split(",");String selParts=request.getParameter("parts");JSONArray parts=JSONArray.parseArray(selParts);//修改订单状态 修改机床状态 更新order-worker order-part表try {Order order = orderService.selectByPrimaryKey(orderId);order.setStationId(Integer.parseInt(stationId));order.setoState("1");//1进行中order.setRemark(remark);order.setBegintime(new Date());orderService.updateByPrimaryKeySelective(order);//更新orderSStation station = stationService.selectByPrimaryKey(Integer.parseInt(stationId));station.setsState("完好在使用");stationService.updateByPrimaryKeySelective(station);for(int i=0;i<parts.size();i++){JSONObject jo = parts.getJSONObject(i);String pId = jo.get("id").toString();int num = Integer.parseInt(jo.get("num").toString());orderPartService.insert(new OrderPart(orderId, pId,num));Part part = partService.selectByPrimaryKey(pId);part.setPartNum(part.getPartNum()-num);partService.updateByPrimaryKeySelective(part);}for(String id :workers){orderWorkerService.insert(new OrderWorker(orderId,id));Worker worker = workerService.selectByPrimaryKey(id);worker.setwState(0);//忙碌workerService.updateByPrimaryKeySelective(worker);}} catch (Exception e) {success="0";}return success;}/** 修改订单*/@RequestMapping("/edit")public String edit(HttpServletRequest request,String orderId){Map<String, Object> paramMap=new HashMap<String, Object>();paramMap.put("orderId", orderId);//通过id查出只能是一条数据List<Map<String, Object>> order = orderService.selectOrderByAttr(paramMap);String[] imgurls = order.get(0).get("imgUrls").toString().split(",");//查询机床SStation station = stationService.selectByPrimaryKey(Integer.parseInt(order.get(0).get("s_id").toString()));//查询工人 0在忙 1 空闲List<Map<String, Object>> selWorkers = orderWorkerService.selectByOrderId(order.get(0).get("o_id").toString());//查询所有零件List<Map<String, Object>> selParts = orderPartService.selectByOrderId(order.get(0).get("o_id").toString());//查询所有待使用的机床List<SStation> stations=stationService.selectAll(new HashMap<String, Object>(){{put("s_state", "完好待使用");}});//查询所有空闲的工人 state=1空闲 2在忙 0离职List<Worker> workers = workerService.selectWorkersByAttr(new Worker(){{setwState(1);}});//查询所有可使用零件List<Part> parts = partService.selectAll();request.setAttribute("imgurls",imgurls);request.setAttribute("dealOrder",order.get(0));request.setAttribute("stations",stations);request.setAttribute("workers",workers);request.setAttribute("parts",parts);request.setAttribute("station",station);//已选中stationrequest.setAttribute("selWorkers",selWorkers);request.setAttribute("selParts",selParts);request.setAttribute("readonly", 0);//非只读return "order/orderDetail";}/** 订单详情*/@RequestMapping("/detail")public String detail(HttpServletRequest request,String orderId){Map<String, Object> paramMap=new HashMap<String, Object>();paramMap.put("orderId", orderId);//通过id查出只能是一条数据List<Map<String, Object>> order = orderService.selectOrderByAttr(paramMap);Map<String, Object> orderMap = order.get(0);String[] imgurls = orderMap.get("imgUrls").toString().split(",");if (orderMap.get("s_id")==null) {request.setAttribute("station",null);request.setAttribute("selWorkers",null);request.setAttribute("selParts",null);}else{//查询机床SStation station = stationService.selectByPrimaryKey(Integer.parseInt(orderMap.get("s_id").toString()));//查询工人 0在忙 1 空闲List<Map<String, Object>> workers = orderWorkerService.selectByOrderId(orderMap.get("o_id").toString());//查询所有零件List<Map<String, Object>> parts = orderPartService.selectByOrderId(orderMap.get("o_id").toString());request.setAttribute("station",station);request.setAttribute("selWorkers",workers);request.setAttribute("selParts",parts);}request.setAttribute("imgurls",imgurls);request.setAttribute("dealOrder",order.get(0));request.setAttribute("readonly", 1);//只读return "order/orderDetail";}/** 订单*/@RequestMapping("/userOrder")public String userOrder(HttpServletRequest request,HttpSession sessions){User user= (User)sessions.getAttribute("userOn");Map<String,Object> paramMap=new HashMap<String, Object>();paramMap.put("userId", user.getuId());List<Map<String, Object>> orders = orderService.selectOrderByAttr(paramMap);//返回用户的多个订单request.setAttribute("orders", orders);return "order/userOrder";}@RequestMapping("/done")@ResponseBodypublic String doneOrder(HttpServletResponse response,HttpServletRequest request,String orderId) {String msg="1";//更新  1订单状态 2更新机床 3更新员工状态 4更新车辆状态List<Map<String,Object>> ws = orderWorkerService.selectByOrderId(orderId);Order order = orderService.selectByPrimaryKey(orderId);try {//1order.setEndtime(new Date());order.setoState("2");//2完成orderService.updateByPrimaryKeySelective(order);//2SStation station = stationService.selectByPrimaryKey(order.getStationId());station.setsState("完好待使用");stationService.updateByPrimaryKeySelective(station);//4Car car = carService.selectByPrimaryKey(order.getCarId());car.setCarState(0);carService.updateByPrimaryKeySelective(car);//3for (Map<String, Object> map : ws) {String wId= (String)map.get("w_id");Worker worker = workerService.selectByPrimaryKey(wId);worker.setwState(1);//1空闲workerService.updateByPrimaryKeySelective(worker);}} catch (Exception e) {msg="0";}return msg;}/** 订单*/@RequestMapping("/home")public String homePage(HttpServletRequest request,HttpSession sessions){List<Map<String, Object>> list= orderService.selectOrderByAttr(new HashMap<String, Object>(){{put("state", 0);}});request.setAttribute("count", list.size());List<String> yearMonths = DateUtils.getYearMonths(6);//获取半年日期request.setAttribute("yearMonths", yearMonths);List<Part> parts = partService.selectAll();for (int i = 0; i < parts.size(); i++) {if(parts.get(i).getPartNum()>parts.get(i).getWarning()){parts.remove(i);}}request.setAttribute("parts", parts);return "home";}/**  */@RequestMapping("/reject")@ResponseBodypublic String rejectOrder(HttpServletRequest request,String orderId,String remark) {String success="1";//获取订单id 机床id 员工id集合 零件id num集合//修改订单状态 修改机床状态 更新order-worker order-part表try {Order order = orderService.selectByPrimaryKey(orderId);order.setoState("2");//3拒绝order.setRemark(remark);order.setEndtime(new Date());orderService.updateByPrimaryKeySelective(order);//更新orderCar car = carService.selectByPrimaryKey(order.getCarId());car.setCarState(0);carService.updateByPrimaryKeySelective(car);} catch (Exception e) {success="0";}return success;}}

如果也想学习本系统,下面领取。关注并回复:238ssm

Java项目:SSM汽车维修管理系统源码相关推荐

  1. java计算机毕业设计汽车维修管理系统源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车维修管理系统源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车维修管理系统源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 开发语 ...

  2. java计算机毕业设计汽车维修管理系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计汽车维修管理系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计汽车维修管理系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...

  3. 计算机java毕业设计 SSM房屋租赁管理系统(源码+论文)

    文章目录 1 前言 2 实现效果 3 设计方案 项目源码 1 前言

  4. java毕业设计汽车维修管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计汽车维修管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计汽车维修管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈 ...

  5. 计算机毕业设计-ssm智能小区管理系统(源码+数据库+文档)社区维修管理系统-小区缴费管理系统javaweb项目

    计算机毕业设计-ssm智能小区管理系统(源码+数据库+文档)社区维修管理系统-小区缴费管理系统javaweb项目 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 作者:IT跃迁谷 1.开发环境 ...

  6. 计算机毕业设计Java班费收支管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java班费收支管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java班费收支管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  7. java毕业设计汽车售后服务管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计汽车售后服务管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计汽车售后服务管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

  8. 基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...

  9. java计算机毕业设计固定资产管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计固定资产管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计固定资产管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

最新文章

  1. 2021年大数据常用语言Scala(三):Scala解释器
  2. ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......
  3. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读
  4. qgc地面站如何导入离线地图_QGC地面站工具下载 QGroundControl(QGC地面站软件) v2018.11.02 免费安装版 下载-脚本之家...
  5. Transformer Family
  6. 洛谷 - P1714 切蛋糕(单调队列+前缀和+思维)
  7. 1285. 单词 ac自动机 + fail树
  8. 【牛客 - NC93】设计LRU缓存结构(模拟)
  9. 电泳涂装行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  10. ROS2 Galactic teb_local_planner
  11. How To Read C Declarations
  12. matlab中的pzmap的意思,Matlab 学习
  13. After Effects - Bodymovin 插件验货及感受
  14. 读Java 804 - Quick refresher
  15. 《漫画英国》的读书笔记感想4069字
  16. 华为鸿蒙的科技话题作文800字,关于科技的话题作文3篇
  17. 查找linux内核漏洞查用的方法脚本
  18. Logit-Probit:非线性模型中交互项的边际效应解读
  19. Pandas基础入门知识点总结
  20. 【TS中的面向对象】

热门文章

  1. mysql point 经纬度_lbs - Mysql POINT类型数据,怎么计算经纬度偏差
  2. Mac—开启键盘F1 - F12功能键以及F1 - F12功能键的作用
  3. Hutool工具类之excel导入导出
  4. 【Latex】【插入图片】如何在latex中插入并列图片
  5. .CreateFeatureClass报错原因解析
  6. 大数据开发和java开发到底有什么不同?
  7. a、button、input点击出现蓝色边框,如何去掉
  8. 英文版SecureCRT显示乱码解决
  9. input 起止时间_input时间输入框小解
  10. 手机被DNS劫持后的更改方案