Java项目:停车场管理系统(java+SSM+JSP+Bootstrap+mysql)

源码获取:俺的博客首页 "资源" 里下载!

项目介绍

本项目为后台管理系统,分为管理员、用户、工作人员三种角色;
管理员角色包含以下功能:
登陆页面,收入查看,停车卡开卡等功能。
用户角色包含以下功能:
用户登录,停车卡管理,优惠券管理,发送站内信,查看停车记录等功能。
工作人员角色包含以下功能:
登陆首页,车辆入库,车辆出库,停车卡管理,优惠券管理,站内信查看,用户管理等功能。

环境需要

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.数据库:MySql 5.7版本;
6.是否Maven项目:是;


技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:JSP+Bootstrap+Javascript


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中dbconfig.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入http://localhost:8080/ssm_depot_system/login/login 登录
注:Tomcat中配置项目路径必须为ssm_depot_system

 

 

 

 

 

车辆管理控制层:

@Controller
public class CarController {
	@Autowired
	   @Qualifier("pmsService")
	private PmsService pmsService;
	
	 @RequestMapping(value= {"/carMg"})
	  public String carMg(@ModelAttribute("car") Car car) {
	
		return "manager/carMg";
	}
	 
	@RequestMapping(value="/manager/car-list")
	 public void selectRepair(
			 HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
		request.setCharacterEncoding("UTF-8");
		String key = request.getParameter("key");
		String pageNoStr = request.getParameter("pageNo");
		String rowMaxStr = request.getParameter("rowMax");

		int pageNo = Integer.valueOf(pageNoStr);
		int rowMax = Integer.valueOf(rowMaxStr);
		
		Car car = new Car();
		car.setUserId(key);
		
		
		PageVO<Car>  page = pmsService.listCar(car, pageNo, rowMax);

		response.reset();
		response.setContentType("text/plain;charset=UTF-8");
		response.getWriter().print(JSON.toJSONString(page));
		response.flushBuffer();
}
	@RequestMapping(value="/manager/addCar")
	 public void addCar(@ModelAttribute("car") Car car){	
		pmsService.addCar(car);
		System.out.println("add car :"+ car.getCarNum());	
		car = null;
	}
   
   @RequestMapping(value="/manager/updateCar")
	 public void updateCar(@ModelAttribute("car") Car car){
		pmsService.modifyCar(car);
		System.out.println("modify Car :"+ car.getCarNum());
	}
   
   
   @RequestMapping(value="/manager/deleteCar")
	 public void deleteCar(@RequestBody Car car, HttpServletResponse response){  	    	   	 
	   String carNum = car.getCarNum();
  	
  	
		pmsService.removeCarById(carNum);
		
		
		System.out.println("delete Car :"+ carNum);	
		
	}
   
   @RequestMapping(value="/manager/loadEditCar")
   @ResponseBody
	 public  Object loadEditCar(@RequestParam(value="carNum",required=false) String carNum){
   	
		Car car = new Car();
		car = pmsService.findCarById(carNum);
		System.out.println("load Car :"+ carNum);
		return car;
	}
}

用户管理控制器:

/**
 * 用户管理控制器
 *
 */
@RestController
@RequestMapping("user")
public class UserController {

	@Autowired
	private UserService userService;

	/*
	 * 加载用户列表返回DataGridView
	 */
	@RequestMapping("loadAllUser")
	public DataGridView loadAllmeenu(UserVo userVo) {
		return this.userService.queryAllUser(userVo);
	}

	/*
	 * 注册用户--查询用户名是否存在
	 */
	@RequestMapping("queryLoginName")
	public ResultObj queryLoginName(UserVo userVo) {
		Integer count = this.userService.queryLoginName(userVo.getLoginname());
		if (count != 0) {
			return ResultObj.USER_EXIST;
		}
		return null;
	}

	/*
	 * 注册用户
	 */
	@RequestMapping("signup")
	public ResultObj signup(UserVo userVo) {
		try {
			String code = WebUtils.getHttpSession().getAttribute("code").toString();
			if (userVo.getCode().toLowerCase().equals(code)) {
				this.userService.signUpUser(userVo);
				return ResultObj.SIGNUP_SUCCESS;
			} else {
				return ResultObj.USER_SIGNUP_CODE_ERROR_MSG;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.SIGNUP_ERROR;
		}
	}

	/*
	 * 添加用户
	 */
	@RequestMapping("addUser")
	public ResultObj addUser(UserVo userVo) {
		try {
			this.userService.addUser(userVo);
			return ResultObj.ADD_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.ADD_ERROR;
		}
	}

	/*
	 * 修改用户
	 */
	@RequestMapping("updateUser")
	public ResultObj updateUser(UserVo userVo) {
		try {
			this.userService.updateUser(userVo);
			return ResultObj.UPDATE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.UPDATE_ERROR;
		}
	}

	/*
	 * 删除用户
	 */
	@RequestMapping("deleteUser")
	public ResultObj deleteUser(UserVo userVo) {
		System.out.println(userVo);
		System.out.println(userVo.getUserid());
		try {
			this.userService.deleteUser(userVo.getUserid());
			return ResultObj.DELETE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.DELETE_ERROR;
		}
	}

	/*
	 * 批量删除用户
	 */
	@RequestMapping("deleteBatchUser")
	public ResultObj deleteBatchUser(UserVo userVo) {
		try {
			this.userService.deleteBatchUser(userVo.getIds());
			return ResultObj.DELETE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.DELETE_ERROR;
		}
	}

	/*
	 * 重置用户密码
	 */
	@RequestMapping("resetUserPwd")
	public ResultObj resetUserPwd(UserVo userVo) {
		try {
			this.userService.resetUserPwd(userVo.getUserid());
			return ResultObj.RESET_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.RESET_ERROR;
		}
	}

	/*
	 * 加载用户管理分配的分配角色的数据
	 */
	@RequestMapping("initUserRole")
	public DataGridView initUserRole(UserVo userVo) {
		return this.userService.queryUserRole(userVo.getUserid());
	}

	/*
	 * 保存用户和角色的关系
	 */
	@RequestMapping("saveUserRole")
	public ResultObj saveUserRole(UserVo userVo) {
		try {
			this.userService.saveUserRole(userVo);
			return ResultObj.DISPATCH_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.DISPATCH_ERROR;
		}
	}

	/*
	 * 修改个人信息
	 */
	@RequestMapping("updateUserInfo")
	public ResultObj updateUserInfo(UserVo userVo) {
		try {
			String headimg = userVo.getHeadimg();
			if (headimg.endsWith(SysConstast.FILE_UPLOAD_TEMP)) {
				String filePath = AppFileUtils.updateFileName(headimg, SysConstast.FILE_UPLOAD_TEMP);
				userVo.setHeadimg(filePath);
				// 把原来的删除
				User user = this.userService.queryUserInfo(userVo.getUserid());
				AppFileUtils.removeFileByPath(user.getHeadimg());
			}
			this.userService.updateUserInfo(userVo);
			return ResultObj.UPDATE_SUCCESS;
		} catch (Exception e) {
			e.printStackTrace();
			return ResultObj.UPDATE_ERROR;
		}
	}

	/*
	 * 查询个人信息
	 */
	@RequestMapping("queryUserInfo")
	public User queryUserInfo() {
		User user = (User) WebUtils.getHttpSession().getAttribute("user");
		user = this.userService.queryUserInfo(user.getUserid());
		return user;
	}

	/*
	 * 查询密码
	 */
	@RequestMapping("queryPwd")
	public ResultObj queryPwd(UserVo userVo) {
		User user = (User) WebUtils.getHttpSession().getAttribute("user");
		user = this.userService.queryUserInfo(user.getUserid());
		// 生成密文
		String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());
		userVo.setPwd(pwd);
		if (userVo.getPwd().equals(user.getPwd())) {
			return ResultObj.PWD_SUCCESS;
		} else {
			return ResultObj.PWD_ERROR;
		}
	}

	/*
	 * 更改密码之查询密码
	 */
	@RequestMapping("updatePwd")
	public ResultObj updatePwd(UserVo userVo) {
		try {
			User user = (User) WebUtils.getHttpSession().getAttribute("user");
			// 生成密文
			String pwd = DigestUtils.md5DigestAsHex(userVo.getPwd().getBytes());
			userVo.setUserid(user.getUserid());
			userVo.setPwd(pwd);
			// 修改密码
			this.userService.updateUser(userVo);
			return ResultObj.UPDATE_SUCCESS;
		} catch (Exception e) {
			return ResultObj.UPDATE_ERROR;
		}
	}
}

车辆修理管理控制层:

@Controller
public class RepairController {
	@Autowired
	   @Qualifier("pmsService")
	private PmsService pmsService;
	
	 @RequestMapping(value= {"/repairMg"})
	  public String repairMg(@ModelAttribute("repair") Repair repair) {
	
		return "manager/repairMg";
	}
	 
	@RequestMapping(value="/manager/repair-list")
	 public void selectRepair(
			 HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
		request.setCharacterEncoding("UTF-8");
		String key = request.getParameter("key");
		String pageNoStr = request.getParameter("pageNo");
		String rowMaxStr = request.getParameter("rowMax");
		String repairState1 = request.getParameter("repairState");
		int pageNo = Integer.valueOf(pageNoStr);
		int rowMax = Integer.valueOf(rowMaxStr);
		int repairState = Integer.valueOf(repairState1);
		
		Repair repair = new Repair();
		repair.setUserId(key);
		repair.setRepairState(repairState);
		
		
		PageVO<Repair>  page = pmsService.listRepair(repair, pageNo, rowMax);

		response.reset();
		response.setContentType("text/plain;charset=UTF-8");
		response.getWriter().print(JSON.toJSONString(page));
		response.flushBuffer();
		
	}
	
	@RequestMapping(value="/manager/updateRepair")
	 public void updateRepair(@ModelAttribute("repair") Repair repair){
		repair.setRepairState(repair.getTypeId());
		pmsService.modifyRepair(repair);
		System.out.println("modify Repair :"+ repair.getRepairId());
	}
  
  
  @RequestMapping(value="/manager/deleteRepair")
	 public void deleteRepair(@RequestBody Repair repair, HttpServletResponse response){  	    	   	 
	   int repairId = repair.getRepairId();
 	
 	
		pmsService.removeRepair(repairId);
		
		
		System.out.println("delete Repair :"+ repairId);	
		
	}
  
  @RequestMapping(value="/manager/loadEditRepair")
  @ResponseBody
	 public  Object loadEditRepair(@RequestParam(value="repairId",required=false) String repairId){
  		int repairId1 = Integer.valueOf(repairId);
  		Repair repair = new Repair();
  		repair = pmsService.findRepair(repairId1);
		System.out.println("load Repair :"+ repairId);
		return repair;
	}
  
  @RequestMapping(value="repair")
	public String repair(Model model) {
		return "user/repair";
	}
	
	@RequestMapping(value="user/repair-list")
	public void selectAdvice(HttpServletRequest request, HttpServletResponse response, HttpSession session)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		User user = (User) session.getAttribute("user");
		String pageNoStr = request.getParameter("pageNo");
		String rowMaxStr = request.getParameter("rowMax");
		String repairState = request.getParameter("repairState");
		String beginDate = request.getParameter("beginDate");
		String endDate = request.getParameter("endDate");
		System.out.println(beginDate);
		System.out.println(endDate);
		int pageNo = Integer.valueOf(pageNoStr);
		int rowMax = Integer.valueOf(rowMaxStr);
		int reState = Integer.valueOf(repairState);
		Repair repair =new Repair();
		repair.setUserId(user.getUserId());
		repair.setRepairState(reState);
		
		PageVO<Repair>  page = pmsService.listRepair(repair, pageNo, rowMax);
		
		response.reset();
		response.setContentType("text/plain;charset=UTF-8");
		response.getWriter().print(JSON.toJSONString(page));
		response.flushBuffer();
	}
	
	 @RequestMapping(value="/user/addRepair")
	 public void addRepair(HttpServletRequest request, HttpServletResponse response, HttpSession session, 
			 @ModelAttribute("repair") Repair repair) throws ServletException, IOException{
		request.setCharacterEncoding("UTF-8");
		String buildingNum = request.getParameter("buildingNum");
		String roomNum = request.getParameter("roomNum");
		Date date = (Date) new Timestamp(System.currentTimeMillis());
		User user = (User) session.getAttribute("user");
		String userId = user.getUserId();
		int bdNum = Integer.valueOf(buildingNum);
		int rmNum = Integer.valueOf(roomNum);

		repair.setUserId(userId);
		repair.setRepairDate(date);
		repair.setBuildingNum(bdNum);
		repair.setRoomNum(rmNum);
		repair.setRepairState(0);
		pmsService.addRepair(repair);
		
	}
	 
	 @RequestMapping(value="/user/loadRepair")
   @ResponseBody
	 public Object loadAdvice(@RequestParam(value="repairId",required=false) String repairId){
		 int id = Integer.valueOf(repairId);
  	 Repair repair = new Repair();
		 repair = pmsService.selectRepairByIdUser(id);
		 return repair;
	}
}

源码获取:俺的博客首页 "资源" 里下载! 

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
初始化停车场(确定停车区个数n,每个停车区的停车位,且初始时,停车场为空),说明:使用一个共享数组(临界资源)存储每个停车区中空闲停车位的个数,每一个停车区使用一个共享缓冲区可容纳一辆车,停车场公共通道允许通过两辆车通过。 停车场入口检查是否有空闲停位,如果有发放相关停车区的停车卡,允许停车。如果不存在空闲车位,等待到有空闲车位止。注,入口处应尽量发放不同停车区的停车卡,以获得更高的效率。停车场过道允许两辆车同时通过。 停车场出口,回收停车卡,并修改相关停车区空闲车位数。注:同一时刻只能有一个车出停车场。 每一个停车区,有一个待车位,供进入停车区车辆进入停车区。停车区只能有一辆车进或出。 每辆车每进入下一环节皆应停留一定时间。每一个用户建立一个窗口,于窗口中显示当前将态。将状态转换可由人工确定亦可自动完成,但进入下状态时需要停留学生一定的时间,以保证多个用户“并行”工作。 本框架由四个类组成,这四个类分别是:InitFrame、WotkFram、carJFrame及carThread,由InitFrame启动。类InitFrame提供停车场初始化功能,完成初始任务后启动类WotkFram界面,执行停车场模拟程序,点击命令按扭“进入停车场”,建立一个线程(线程类名为carThread),线程建立一个carJFrame窗口(车辆进入、离开停车场操作程序)模拟车辆进入或离开停车场

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beyondwild

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值