服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java实战之酒店人事管理系统的实现

Java实战之酒店人事管理系统的实现

2022-09-14 14:44qq_1334611189 Java教程

这篇文章主要介绍了如何用Java实现酒店人事管理系统,文中采用的技术有:JSP、Spring、SpringMVC、MyBatis等,感兴趣的小伙伴可以学习一下

一、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax 等等

二、效果图

Java实战之酒店人事管理系统的实现

Java实战之酒店人事管理系统的实现

Java实战之酒店人事管理系统的实现

Java实战之酒店人事管理系统的实现

Java实战之酒店人事管理系统的实现

 

三、核心代码

用户管理注册登录控制层

 
@Controller
@RequestMapping("/user")
public class UserController {
  
  @Autowired
  private UserService userService;

  /**
   * 注册
   * @param user
   * @return
   */
  @RequestMapping("/register")
  @ResponseBody
  public String register(User user){
      Map<String,Object> map = new HashMap<String,Object>();
      //调用注册的方法
      if(userService.addUser(user)>0){
          map.put(SystemConstant.SUCCESS,true);
          map.put(SystemConstant.MESSAGE,"恭喜你,注册成功!");
      }else{
          map.put(SystemConstant.SUCCESS,false);
          map.put(SystemConstant.MESSAGE,"很遗憾,注册失败,请重新尝试!");
      }
      return JSON.toJSONString(map);
  }



  /**
   * 登录
   * @param
   * @return
   */
  @RequestMapping("/login")
  @ResponseBody
  public String login(String loginName, String password, HttpSession Session){
      Map<String,Object> map = new HashMap<String,Object>();

      //调用注册的方法
      User loginUser = userService.login(loginName, password);

      //登录判断
      if(loginUser!=null){
          //将密码清空
          loginUser.setPassword(null);
          map.put(SystemConstant.SUCCESS,true);
          //保存登录用户信息到session中
          Session.setAttribute(SystemConstant.FRONT_LOGIN_USER,loginUser);
      }else{
          map.put(SystemConstant.SUCCESS,false);
          map.put(SystemConstant.MESSAGE,"用户名或密码错误,请重新登录!");
      }
      return JSON.toJSONString(map);
  }

  /**
   * 根据用户名查询用户信息
   * @param loginName
   * @return
   */
  @RequestMapping("/checkName")
  @ResponseBody
  public String checkName(String loginName){
      Map<String,Object> map = new HashMap<String,Object>();
      //调用注册的方法
      if(userService.findUserByName(loginName)!=null){
          map.put(SystemConstant.EXISI,true);
          map.put(SystemConstant.MESSAGE,"用户名存在,请重新输入");
      }else{
          map.put(SystemConstant.EXISI,false);
      }
      return JSON.toJSONString(map);
  }

}

房间管理控制层

@Controller
@RequestMapping("/room")
public class RoomController {

  @Resource
  private RoomService roomService;

  @Resource
  private RoomTypeService roomTypeService;

  /**
   * 查询房间详情
   * @param id
   * @param model
   * @return
   */
  @RequestMapping("/{id}.html")
  public String detail(@PathVariable Integer id, Model model){
      //调用查询房间详情的方法
      Room room = roomService.findById(id);
      //将数据放到模型中
      model.addAttribute("room",room);
      return "detail";
  }

  /**
   * 查询全部房间列表
   * @param model
   * @return
   */
  @RequestMapping("/list.html")
  public String list(Model model){
      //调用查询所有房型列表的方法
      List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(null);
      //创建查询条件类
      RoomVo roomVo = new RoomVo();
      roomVo.setStatus(3);//可预订
      //查询房间列表
      List<Room> roomList = roomService.findRoomListByPage(roomVo);
      //将数据放到模型中
      model.addAttribute("roomTypeList",roomTypeList);
      model.addAttribute("roomList",roomList);
      return "hotelList";
  }

  /**
   * 根据房型查询房间列表
   * @param model
   * @return
   */
  @RequestMapping("/list/{id}")
  public String list(@PathVariable Integer id,Model model){
      //调用查询所有房型列表的方法
      List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(null);
      //创建查询条件类
      RoomVo roomVo = new RoomVo();
      roomVo.setRoomtypeid(id);//房型ID
      roomVo.setStatus(3);//可预订
      //查询房间列表
      List<Room> roomList = roomService.findRoomListByPage(roomVo);
      //将数据放到模型中
      model.addAttribute("roomTypeList",roomTypeList);
      model.addAttribute("roomList",roomList);
      model.addAttribute("typeId",id);//将当前选中的房型ID保存到模型中,目的是在页面中回显选中的文本(改变选中的颜色)
      return "hotelList";
  }
}

订单管理控制层

@Controller
@RequestMapping("/orders")
public class OrdersController {

  @Resource
  private OrdersService ordersService;

  /**
   * 添加订单
   * @param orders
   * @return
   */
  @RequestMapping("/addOrders")
  @ResponseBody
  public String addOrders(Orders orders){
      Map<String,Object> map = new HashMap<String,Object>();
      //调用添加订单的方法
      if(ordersService.addOrders(orders)>0){
          map.put(SystemConstant.SUCCESS,true);
          map.put(SystemConstant.MESSAGE,"酒店预订成功");
      }else{
          map.put(SystemConstant.SUCCESS,false);
          map.put(SystemConstant.MESSAGE,"酒店预订失败,请重试!");
      }
      return JSON.toJSONString(map);
  }

}

角色管理控制层

/**
* 角色管理
*/
@RequestMapping("/admin/role")
@RestController
public class RoleController {


  @Autowired
  private RoleService roleService;

  @Autowired
  private EmployeeService employeeService;

  @Autowired
  private MenuService menuService;

  /**
   * 角色列表查询
   * @return
   */
  @RequestMapping("/list")
  public DataGridViewResult list(RoleVo roleVo){
      //设置分页信息
      PageHelper.startPage(roleVo.getPage(),roleVo.getLimit());
      //调用分页查询的方法
      List<Role> roleList = roleService.findRoleList(roleVo);
      //创建分页对象
      PageInfo<Role> pageInfo = new PageInfo<Role>(roleList);
      //返回数据
      return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());
  }



  //添加部门信息
  @RequestMapping("/addRole")
  public String addRole(Role role){
      //创建map存放信息
      Map<String,Object> map = new HashMap<String, Object>();
      int addRole = roleService.addRole(role);
      if(addRole>0){
          map.put(SystemConstant.SUCCESS,true);
          map.put(SystemConstant.MESSAGE,"添加成功");
      }else{
          map.put(SystemConstant.SUCCESS,false);
          map.put(SystemConstant.MESSAGE,"添加失败");
      }
      //map中存放的信息已json形式返回
      return JSON.toJSONString(map);
  }

  //修改角色信息
  @RequestMapping("/updateRole")
  public String updateRole(Role role){
      Map<String,Object> map = new HashMap<String, Object>();
      int updateRole = roleService.updateRole(role);
      if(updateRole>0){
          map.put(SystemConstant.SUCCESS,true);
          map.put(SystemConstant.MESSAGE,"修改成功");
      }else{
          map.put(SystemConstant.SUCCESS,false);
          map.put(SystemConstant.MESSAGE,"修改失败");
      }
      //map中存放的信息已json形式返回
      return JSON.toJSONString(map);
  }

  //删除角色信息
  @RequestMapping("/deleteById")
  public String deleteById(Integer id){
      Map<String,Object> map = new HashMap<String, Object>();
      int deleteById = roleService.deleteById(id);
      if (deleteById>0){
          map.put(SystemConstant.SUCCESS,true);//删除成功
          map.put(SystemConstant.MESSAGE,"删除成功");
      }else{
          map.put(SystemConstant.SUCCESS,false);//删除失败
          map.put(SystemConstant.MESSAGE,"删除失败");
      }
      return JSON.toJSONString(map);
  }


  //查看该角色编号下是否有员工
  @RequestMapping("/checkRoleHasEmployee")
  public String checkDeptHasEmployee(Integer id){
      Map<String,Object> map = new HashMap<String, Object>();
      int countById = employeeService.getEmployeeCountByRoleId(id);
      if (countById>0){
          //该角色是否有员工在用
          map.put(SystemConstant.EXISI,true);//存在
          map.put(SystemConstant.MESSAGE,"该角色有员工使用,不能删除");
      }else{
          map.put(SystemConstant.EXISI,false);//存在
      }
      return JSON.toJSONString(map);
  }


  /**
   * 初始化菜单
   * @return
   */
  @RequestMapping("/initMenuTree")
  public DataGridViewResult initMenuTree(Integer roleId){
      //调用查询菜单列表的方法
      List<Menu> menuList = menuService.findMenuList();

      //根据角色ID查询该角色已经拥有的菜单ID的方法
      List<Integer> currentRoleMenuIds = menuService.findMenuIdListByRoleId(roleId);
      //定义集合,保存菜单信息
      List<Menu> currentMenus = new ArrayList<Menu>();
      //判断集合是否存在数据
      if(currentRoleMenuIds!=null && currentRoleMenuIds.size()>0){
      //根据菜单ID查询该菜单的信息
          currentMenus = menuService.findMenuByMenuId(currentRoleMenuIds);
      }
      //创建集合保存树节点信息
      List<TreeNode> treeNodes = new ArrayList<TreeNode>();
      //循环遍历集合
      for (Menu menu : menuList) {
          //定义变量,标识是否选中
          String checkArr = "0";//0表示复选框不选中,1表示选中复选框
          //内层循环遍历当前角色拥有的权限菜单
          //循环比较的原因:比较两个集合中的数据是否有相同的,有相同的表示当前角色拥有这个权限
          for (Menu currentMenu : currentMenus) {
              //如果ID相等,表示当前角色有这个菜单,有这个菜单则需要将复选框选中
              if(menu.getId() == currentMenu.getId()){
                  checkArr ="1";//选中
                  break;
              }
          }

          //定义变量,表示菜单是否展开
          Boolean spread = (menu.getSpread()==null || menu.getSpread()==1) ? true : false;
          treeNodes.add(new TreeNode(menu.getId(),menu.getPid(),menu.getTitle(),spread,checkArr));
      }
      //将数据返回到页面
      return new DataGridViewResult(treeNodes);
  }

  /**
   * 分配菜单
   * @param ids
   * @param roleId
   * @return
   */
  @RequestMapping("/saveRoleMenu")
  public String saveRoleMenu(String ids,Integer roleId){
      Map<String,Object> map = new HashMap<String,Object>();
      //调用保存角色菜单关系的方法
      if(roleService.saveRoleMenu(ids,roleId)>0){
          map.put(SystemConstant.MESSAGE,"菜单分配成功");
      }else{
          map.put(SystemConstant.MESSAGE,"菜单分配失败");
      }
      return JSON.toJSONString(map);
  }


  /**
   * 查询角色列表通过员工ID
   * @param id
   * @return
   */
  @RequestMapping("/initRoleListByEmpId")
  public DataGridViewResult initRoleListByEmpId(int id){
      List<Map<String, Object>> roleList = roleService.findRoleListByMap();
      //调用根据员工ID查询该员工拥有的角色列表的方法
      List<Integer> roleIds = roleService.findEmployeeRoleByEmployeeId(id);
      //循环比较两个集合中的角色ID值是否相等,相等则选中该角色
      for (Map<String, Object> map : roleList) {
          //定义变量,标识是否选中
          boolean flag = false;//不选中
          //获取每一个角色ID
          Integer rid = (Integer) map.get("id");//id是主键,以主键作为map集合中key
          //内层循环遍历该员工拥有的角色列表
          for (Integer roleId : roleIds) {
              //判断两个集合中是否存在角色ID相同
              if(rid == roleId){
                  flag = true;//选中该角色
                  break;
              }
          }
          //将状态保存在map集合中
          map.put("LAY_CHECKED",flag);//key必须是LAY_CHECKED
      }
      return new DataGridViewResult(Long.valueOf(roleList.size()),roleList);
  }
}

以上就是Java实战之酒店人事管理系统的实现的详细内容,更多关于Java酒店管理系统的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/m0_59687645/article/details/123415829

延伸 · 阅读

精彩推荐