Java医院预约挂号系统
一、项目简述
功能包括:
用户分为患者,医生,管理员,患者可进行注册选择医生挂号,选择日期,选择号源,医生可进行接诊,管理员可对用户,医生信息的维护等等功能。
二、项目运行
环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等
 


 
 
医生业务处理层:
public class DoctorServiceImp implements DoctorService {private DoctorMapper dm;public int countByExample(DoctorExample example) {return dm.countByExample(example);}public int deleteByPrimaryKey(Integer id) {return dm.deleteByPrimaryKey(id);}public int insertSelective(Doctor record) {// TODO Auto-generated method stubreturn dm.insertSelective(record);}public ListselectByExample(DoctorExample example) {// TODO Auto-generated method stubreturn dm.selectByExample(example);}public Doctor selectByPrimaryKey(Integer id) {// TODO Auto-generated method stubreturn dm.selectByPrimaryKey(id);}public int updateByPrimaryKeySelective(Doctor record) {// TODO Auto-generated method stubreturn dm.updateByPrimaryKeySelective(record);}public int updateByPrimaryKey(Doctor record) {// TODO Auto-generated method stubreturn dm.updateByPrimaryKey(record);}public ListselectDoctor(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);}public PageInfoselectDoctorList(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");Listshops = dm.selectByExample(se); PageInfopageinfo = new PageInfo (shops); return pageinfo;}public ListselectTime(Doctor doctor) {// TODO Auto-generated method stubreturn dm.selectTime(doctor);}}
管理员业务处理层:
public class AdminServiceImp implements AdminService {private AdminMapper am;public int insertSelective(Admin record) {// TODO Auto-generated method stubreturn am.insertSelective(record);}public ListselectByExample(AdminExample example) {// TODO Auto-generated method stubreturn am.selectByExample(example);}public Admin selectByPrimaryKey(Integer id) {// TODO Auto-generated method stubreturn am.selectByPrimaryKey(id);}public int updateByPrimaryKeySelective(Admin record) {// TODO Auto-generated method stubreturn am.updateByPrimaryKeySelective(record);}public ListselectAdmin(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);}}
登录控制层:
/*** 登录控制层*/("/login")public class LoginController {private AdminService adminService;private DoctorService doctorService;private SectionService sectionService;private PatientService patientService;("${fileUrl}") //在配置文件中获取文件的保存路径private String filePath;/*** 后台登陆界面* @throws IOException*/("/afterView")public String afterLogin(Integer type,Model model) {if(type == null) {type = 1;}model.addAttribute("type",type);return "login";}/*** 后台登陆界面*/("/index")public String index(Integer type,Model model) {if(type == null){type = 1;}model.addAttribute("type",type);return "login";}/*** 后台登陆界面*/("/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*/(value ="/zixunAdd")public Map<String, Object> zixunAdd(("mf")MultipartFile mufile,("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;}/*** 判断管理员账号*/("/sectionxList")public ListsectionxList(Model model, Integer id) { ListselectByExample = null; if(id != null) {Section section = new Section();section.setPid(id);selectByExample = sectionService.selectByExample(section);}return selectByExample;}/*** 判断管理员账号*/("/mimaUpate")public Map<String,String> passwordUpate(Model model, String zhanghao) {Map<String, String> map = new HashMap<String, String>();Admin ad = new Admin();ad.setUsername(zhanghao);ListselectAdmin = adminService.selectAdmin(ad); if(selectAdmin.size() > 0){map.put("pan","err");}else{map.put("pan","ok");}return map;}/*** 判断医生账号*/("/panzhanghao")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);ListselectByExample = doctorService.selectByExample(se); if(selectByExample.size() > 0){map.put("pan","err");}else{map.put("pan","ok");}return map;}/*** 医生添加* @param model* @param zixun* @return*/("/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";}/*** 管理员注册界面*/("/mimaPageUptate")public String mimaPageUptate(Integer type,Model model) {//1医生 2 管理员if(type == 1 ) {return "doctorRegister";}return "adminRegister";}/*** 医生注册界面*/("/doctorRegisterPage")public String doctorRegister(Model model) {Listsectionlist2 = null; Section se = new Section();se.setType(1);Listsectionlist = 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";}/*** 管理员注册*/("/admin_Register")public String admin_Register(Admin admin,Model model) {int insertSelective = adminService.insertSelective(admin);model.addAttribute("type",2);return "login";}/*** 登陆验证* @return*/("/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);Listdoctorlist = 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);Listlist = 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);Listadminlist = 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*/("/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")@ResponseBodypublic MappasswordUpate(Model model, String mima, String mibao, String zhanghao) { Mapmap = new HashMap (); Merchant me = new Merchant();me.setZhanghao(zhanghao);me.setMibao(mibao);Listlist = 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);Listmerchants = 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);Listadminlist = 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:如果觉得我的分享不错,欢迎大家随手点赞、在看。
评论
