Java医院预约挂号系统

一、项目简述

功能包括:

用户分为患者,医生,管理员,患者可进行注册选择医生挂号,选择日期,选择号源,医生可进行接诊,管理员可对用户,医生信息的维护等等功能。


二、项目运行

环境配置:

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

项目技术:

JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
 

ca6f9848607a8dec3bb7a3ee169fe0a7.png

8683b59247cac62e4b03b7e158fa84f8.png

b3b87bdc033bd6978f747ba6c25ecd05.png 44af1acd57c88df170aa953b0beb3be2.png

 ffbd3f203d09d4c246e6e769af4240af.png

医生业务处理层:

@Service
public class  DoctorServiceImp implements  DoctorService  {
  
    @Autowired
    private   DoctorMapper  dm;
 
  @Override
  public int countByExample(DoctorExample example) {
    return  dm.countByExample(example);
  }
 
  @Override
  public int deleteByPrimaryKey(Integer id) {
    return dm.deleteByPrimaryKey(id);
  }
 
  @Override
  public int insertSelective(Doctor record) {
    // TODO Auto-generated method stub
    return dm.insertSelective(record);
  }
 
  @Override
  public List<Doctor> selectByExample(DoctorExample example) {
    // TODO Auto-generated method stub
    return dm.selectByExample(example);
  }
 
  @Override
  public Doctor selectByPrimaryKey(Integer id) {
    // TODO Auto-generated method stub
    return dm.selectByPrimaryKey(id);
  }
 
  @Override
  public int updateByPrimaryKeySelective(Doctor record) {
    // TODO Auto-generated method stub
    return dm.updateByPrimaryKeySelective(record);
  }
 
  @Override
  public int updateByPrimaryKey(Doctor record) {
    // TODO Auto-generated method stub
    return dm.updateByPrimaryKey(record);
  }
 
  @Override
  public List<Doctor> selectDoctor(Doctor doctor) {
    DoctorExample se  = new  DoctorExample();
    DoctorExample.Criteria criteria = se.createCriteria();
        if(doctor != null){
            if(doctor.getName() != null && !"".equals(doctor.getName())){
                //模糊查询
                criteria.andNameLike( "%" +doctor.getName() +"%");
            }
            if(doctor.getUsername() != null){
                criteria.andUsernameEqualTo(doctor.getUsername());
            }
            if(doctor.getPasswoed() != null){
                criteria.andPasswoedEqualTo(doctor.getPasswoed());
            }
            if(doctor.getBegindate() != null) {
              criteria.andBegindateEqualTo(doctor.getBegindate());
           
            }
            if(doctor.getSid() != null) {
              criteria.andSidEqualTo(doctor.getSid());
            }
        }
        se.setOrderByClause("id desc");
    return dm.selectByExample(se);
  }
 
  @Override
  public PageInfo<Doctor> selectDoctorList(Doctor doctor, Integer page, Integer size) {
        PageHelper.startPage(page,size);
        DoctorExample se  = new DoctorExample();
        DoctorExample.Criteria criteria = se.createCriteria();
          if(doctor != null){
              if(doctor.getName() != null && !"".equals(doctor.getName())){
                  //模糊查询
                  criteria.andNameLike( "%" +doctor.getName() +"%");
              }
              
          }
          se.setOrderByClause("id desc");
          List<Doctor> shops = dm.selectByExample(se);
          PageInfo<Doctor> pageinfo = new PageInfo<Doctor>(shops);
          return pageinfo;
  }
 
  @Override
  public List<Doctor> selectTime(Doctor doctor) {
    // TODO Auto-generated method stub
    return dm.selectTime(doctor);
  }
 
 
  
 
 
  
  
}

管理员业务处理层:

@Service
public class AdminServiceImp implements AdminService  {
  
    @Autowired
    private  AdminMapper  am;
 
  
  
  @Override
  public int insertSelective(Admin record) {
    // TODO Auto-generated method stub
    return am.insertSelective(record);
  }
 
  @Override
  public List<Admin> selectByExample(AdminExample example) {
    // TODO Auto-generated method stub
    return am.selectByExample(example);
  }
 
  @Override
  public Admin selectByPrimaryKey(Integer id) {
    // TODO Auto-generated method stub
    return am.selectByPrimaryKey(id);
  }
 
  @Override
  public int updateByPrimaryKeySelective(Admin record) {
    // TODO Auto-generated method stub
    return am.updateByPrimaryKeySelective(record);
  }
 
  @Override
  public List<Admin> selectAdmin(Admin admin) {
    AdminExample ae  = new AdminExample();
        AdminExample.Criteria criteria = ae.createCriteria();
        if(admin.getUsername() != null){
            criteria.andUsernameEqualTo(admin.getUsername());
        }
        if(admin.getPassword() != null){
            criteria.andPasswordEqualTo(admin.getPassword());
        }
        return am.selectByExample(ae);
  }
  
  
  
}

登录控制层:

/**
 * 登录控制层
 */
@Controller
@RequestMapping("/login")
public class LoginController {
  
     @Autowired
     private AdminService adminService;
 
     @Autowired
     private DoctorService doctorService;
     
     @Autowired
     private SectionService sectionService;
 
     
     
     @Autowired
     private   PatientService  patientService;
     
     
     @Value("${fileUrl}") //在配置文件中获取文件的保存路径
     private String filePath;
 
     
     
    /**
            * 后台登陆界面
     * @throws IOException 
       */
      @RequestMapping("/afterView")
      public String afterLogin(Integer type,Model model) {
          if(type == null) {
              type = 1;
          }
          model.addAttribute("type",type);
          return "login";
      }
 
      
   /**
           * 后台登陆界面
      */
     @RequestMapping("/index")
     public String index(Integer type,Model model) {
         if(type == null){
             type = 1;
         }
         model.addAttribute("type",type);
         return "login";
     }
     
     /**
        * 后台登陆界面
   */
  @RequestMapping("/font/index")
  public String fontIndex(Integer type,Model model) {
      if(type == null){
          type = 3;
      }
      model.addAttribute("type",type);
      return "loginByPatient";
  }
 
/*     public static void main(String[] args) {
        String filename ="C:\\Users\\Administrator\\Pictures\\项目图片\\1156.jpg_wh1200.jpg";
        int indexOf = filename.indexOf(".");
        String substring = filename.substring(indexOf); 
        System.out.println(substring);
  }*/
     /**
      * 医生图片上传
      * @param mufile
      * @param id
      * @return
      * @throws IOException
      */
     @RequestMapping(value ="/zixunAdd")
     @ResponseBody
     public  Map<String, Object>  zixunAdd(@RequestParam("mf")MultipartFile mufile,@RequestParam("id")Integer  id) throws IOException{
         Map<String, Object> map =  new HashMap<String, Object>();
         String random   =  StringRandom.getRandom();
         String filename =  mufile.getOriginalFilename();
         //随机字符+原图片名用作新的图片名
         filename = random+".jpg";
         try {
             //文件保存路径  D:/xxxx/xxxx/
             File file = new File(filePath+filename);
             //判断父级文件是否存在
             if (!file.getParentFile().exists()) {
                 file.getParentFile().mkdir();
             }
             mufile.transferTo(file);
         } catch (IllegalStateException | IOException e) {
             e.printStackTrace();
         }
         Doctor doctor = new Doctor(); 
         if(id != -1){
           doctor.setId(id);
           doctor.setImg("/files/"+filename);
           doctorService.updateByPrimaryKeySelective(doctor);
         }else {
             //添加图片路径
           doctor.setImg("/files/"+filename);
           doctorService.insertSelective(doctor);
             System.out.println("id:"+doctor.getId());
             map.put("id",doctor.getId());
         }
         return map;
     }
     
    
     /**
       * 判断管理员账号
       */
      @RequestMapping("/sectionxList")
      @ResponseBody
      public List<Section> sectionxList(Model model, Integer id) {
          List<Section> selectByExample = null;
          if(id != null) {
              Section section = new Section();
              section.setPid(id);
              selectByExample = sectionService.selectByExample(section);
           }
           return    selectByExample;
      }   
     
      /**
       * 判断管理员账号
       */
      @RequestMapping("/mimaUpate")
      @ResponseBody
      public Map<String,String> passwordUpate(Model model, String zhanghao) {
              Map<String, String> map =  new HashMap<String, String>();
              Admin ad = new Admin();
              ad.setUsername(zhanghao);
              List<Admin> selectAdmin = adminService.selectAdmin(ad);
              if(selectAdmin.size() > 0){
                  map.put("pan","err");
              }else{
                  map.put("pan","ok");
              }
             return    map;
      }
 
      /**
       * 判断医生账号
       */
      @RequestMapping("/panzhanghao")
      @ResponseBody
      public Map<String,String> panzhanghao(Model model, String zhanghao) {
              Map<String, String> map =  new HashMap<String, String>();
            DoctorExample se  = new  DoctorExample();
          DoctorExample.Criteria criteria = se.createCriteria();
          criteria.andUsernameEqualTo(zhanghao);
              List<Doctor> selectByExample = doctorService.selectByExample(se);
              if(selectByExample.size() > 0){
                  map.put("pan","err");
              }else{
                  map.put("pan","ok");
              }
             return    map;
      }
      
     
  
     /**
        * 医生添加
      * @param model
      * @param zixun
      * @return
      */
     @RequestMapping("/zixunInsert")
     public String zixunInsert(Model model,Doctor doctor){
         if(doctor.getId() !=  null){
           if(doctor.getSid() != null) {
             Section selectByPrimaryKey = sectionService.selectByPrimaryKey(doctor.getSid());
             doctor.setSname(selectByPrimaryKey.getName());
           }
             doctorService.updateByPrimaryKeySelective(doctor);
         }
          model.addAttribute("type",1);
          return "login";
     }
        
    
      /**
          *  管理员注册界面
       */
      @RequestMapping("/mimaPageUptate")
      public String  mimaPageUptate(Integer type,Model model) {
        //1医生  2 管理员
        if(type == 1 ) {
            return "doctorRegister";
        }
        return "adminRegister";
      }
      
      /**
        *  医生注册界面
       */
      @RequestMapping("/doctorRegisterPage")
      public String  doctorRegister(Model model) {
        List<Section> sectionlist2  = null;
        Section  se = new  Section();
        se.setType(1);
        List<Section> sectionlist = sectionService.selectByExample(se);
        if(sectionlist.size() > 0 ) {
          //科室详情
          Section  section = new  Section();
          section.setPid(sectionlist.get(0).getId());
          section.setType(2);
          sectionlist2 = sectionService.selectByExample(section);
          }
       model.addAttribute("sectionlist", sectionlist);
       model.addAttribute("sectionlist2", sectionlist2);
        return "doctorRegister";
      }
      
      
      
      /**
         * 管理员注册
       */
     @RequestMapping("/admin_Register")
     public String admin_Register(Admin admin,Model model) {
       int insertSelective = adminService.insertSelective(admin);
       model.addAttribute("type",2);
         return "login";
     }
    
     
     
     
     
     
     /**
       * 登陆验证
       * @return
       */
      @RequestMapping("/verificatio")
      public String verificatio(String username, String password, Integer type, HttpServletRequest request,Model model) {
          HttpSession session = request.getSession();
          session.setAttribute("type",type);
          //类型为1是医院 2是管理员
           if(type == 1){
             Doctor doctor = new  Doctor();
             doctor.setUsername(username);
             doctor.setPasswoed(password);
             List<Doctor> doctorlist = doctorService.selectDoctor(doctor);
               if(doctorlist.size() <= 0){
                   model.addAttribute("message","密码错误");
                   model.addAttribute("type",type);
                   return "login";
               }
               session.setAttribute("DOCTOR",doctorlist.get(0));
               return "redirect:/doctor/index";
           }
           if(type == 3){
             Patient patient = new  Patient();
             patient.setUsername(username);
             patient.setPassword(password);
             List<Patient>  list = patientService.selectPatient(patient);
             if(list.size() <= 0) {
              model.addAttribute("message","密码错误");
             model.addAttribute("type",type);
             return "loginByPatient";
             }
             session.setAttribute("PATIENT",list.get(0));
             return "redirect:/api/doctorList1";
           }
           
           
          Admin admin = new Admin();
          admin.setUsername(username);
          admin.setPassword(password);
          List<Admin> adminlist  = adminService.selectAdmin(admin);
          if(adminlist.size() <= 0){
              model.addAttribute("message","密码错误");
              model.addAttribute("type",type);
              return "login";
          }
          session.setAttribute("ADMIN",adminlist.get(0));
          return "redirect:/admin/index";
      }
     
      /**
       * 退出登录
       * @param request
       * @return
       */
      @RequestMapping("/sessionInvalidate")
      public String boot(HttpServletRequest request,Model model) {
          HttpSession session = request.getSession();
          Integer type = (Integer) session.getAttribute("type");
          if(type == null){
              type=1;
          }
          
          if(type == 3){
            model.addAttribute("type",type);
            session.invalidate();   //session销毁
             return "loginByPatient";
          }
          
          model.addAttribute("type",type);
          session.invalidate();   //session销毁
          return "login";
      }
     
        
 
/*
    *//**
     * 跳转忘记密码界面
     *//*
    @RequestMapping("/mimaPageUptate")
    public String  passwordUpate() {
        return "behind/merchant/mibaoUptate";
    }
    *//**
     * 修改密码
     *//*
    @RequestMapping("/mimaUpate")
    @ResponseBody
    public Map<String,String> passwordUpate(Model model, String  mima, String  mibao, String zhanghao) {
            Map<String, String> map =  new HashMap<String, String>();
            Merchant me = new Merchant();
            me.setZhanghao(zhanghao);
            me.setMibao(mibao);
            List<Merchant> list = merchantService.selectMerchant(me);
            if(list.size() > 0){
                Merchant me2 = new Merchant();
                me2.setId(list.get(0).getId());
                me2.setMima(mima);
                merchantService.updateByPrimaryKeySelective(me2);
                map.put("pan","ok");
            }else{
                map.put("pan","err");
            }
           return    map;
    }
    *//**
     * 后台登陆界面
     * @return
     *//*
    @RequestMapping("/afterView")
    public String afterLogin(Integer type,Model model) {
        if(type == null){
            type = 1;
        }
        model.addAttribute("type",type);
        return "behind/login";
    }
    *//**
     * 登陆验证
     * @return
     *//*
    @RequestMapping("/verificatio")
    public String signin(String username, String password, Integer type, HttpServletRequest request,Model model) {
        HttpSession session = request.getSession();
        session.setAttribute("type",type);
        //类型为1是商户后台 2是管理员
         if(type == 1){
             Merchant merchant = new Merchant();
             merchant.setZhanghao(username);
             merchant.setMima(password);
             merchant.setState(1);
             List<Merchant> merchants = merchantService.selectMerchant(merchant);
             if(merchants.size() <= 0){
                 model.addAttribute("message","密码错误");
                 model.addAttribute("type",type);
                 return "behind/login";
             }
             session.setAttribute("MERCHANT",merchants.get(0));
             return "redirect:/merchant/index";
         }
        Admin admin = new Admin();
        admin.setUsername(username);
        admin.setPassword(password);
        List<Admin> adminlist  = adminService.selectAdmin(admin);
        if(adminlist.size() <= 0){
            model.addAttribute("message","密码错误");
            model.addAttribute("type",type);
            return "behind/login";
        }
        session.setAttribute("ADMIN",adminlist.get(0));
        return "redirect:/admin/index";
    }
    *//**
     * 退出登录
     * @param request
     * @return
     *//*
    @RequestMapping("/sessionInvalidate")
    public String boot(HttpServletRequest request,Model model) {
        HttpSession session = request.getSession();
        Integer type = (Integer) session.getAttribute("type");
        if(type == null){
            type=1;
        }
        model.addAttribute("type",type);
        session.invalidate();   //session销毁
        return "behind/login";
    }
    *//**
     *  管理员修改密码界面
     * @return
     *//*
    @RequestMapping("/adminUptatePage")
    public String adminUptatePage(Model model) {
        return "behind/admin/adminUptate";
    }
    *//**
     *  商户修改密码界面
     * @return
     *//*
    @RequestMapping("/merchantUptate")
    public String merchantUptate(Model model) {
        return "behind/merchant/merchantUptate";
    }
*/
 
}

PS:如果觉得我的分享不错,欢迎大家随手点赞、在看。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值