Java项目:私人牙科诊所病历管理系统(java+JSP+CSS+JavaScript+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.后端技术:Servlet
2.前端技术:JSP+CSS+JavaScript


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中dbconnection.properties配置文件中的数据库配置改为自己的配置;
将项目中src/dao/CommDAO.java中第71行的数据库配置用户名密码改为自己的配置;
4. 运行项目,输入http://localhost:8080/srykzsblmis/ 登录 注:Tomcat中配置路径必须为srykzsblmis
管理员账号/密码:admin/123
病人账号/密码: xm/123
挂号人员账号/密码:gh/123
收费人员账号/密码:sf/123
药房人员账号/密码:yf/123
医生人员账号/密码:doctor1/123

 

 

 

 

 

 

医生管理控制层:

@Controller
@RequestMapping("/doctor")
public class DoctorHandler {
    @Resource
    DoctorService doctorService;

    @RequestMapping("/toDocWel")
    public String toCusWel(HttpSession session){
        String userId = (String) session.getAttribute("userId");
        if(userId.contains("D")){
            return "doctor/doc_wel";
        }else {
            return "redirect:/login/toDocLogin";
        }
    }

    @ResponseBody
    @RequestMapping("/delByDocId")
    public Integer delByDocId(String docId){
        String img_path = "D:/eaducation/Dcms004/src/main/resources/static/img/doc/" + docId + ".bmp";
        File file = new File(img_path);
        String resultInfo;
        if (file.exists()) {//文件是否存在
            if (file.delete()) {//存在就删了,返回1
                resultInfo =  "1";
            } else {
                resultInfo =  "0";
            }
        } else {
            resultInfo = "文件不存在!";
        }
        System.out.println("图片删除结果:" + resultInfo);
        return doctorService.delById(docId);
    }
    @RequestMapping("/toDocInfo")
    public ModelAndView toDocInfo(HttpSession session){
        ModelAndView model = new ModelAndView();
        String userId = (String) session.getAttribute("userId");
        Doctor byId = doctorService.findById(userId);
        model.addObject("doc",byId);
        model.setViewName("doctor/doc_info");
        return model;
    }

    @RequestMapping("/toDocRePass")
    public String toRePass(){
        return "doctor/doc_mess";
    }
    /*管理员模块*/
    @RequestMapping("/adminToDocList")
    public String adminToDocList(){
        return "admin/doctor/doc_list";
    }

    @RequestMapping("/adminToAdd")
    public String adminToAdd(){
        return "admin/doctor/doc_add";
    }

    @ResponseBody
    @RequestMapping("/adminFindAllDoc")
    public LayData adminFindAllDoc(Integer page, Integer limit){
        return doctorService.findAll(page,limit);
    }

    /*管理员模块*/
    @RequestMapping("/toAddDoc")
    public String toAddDoc(){
        return "admin/doctor/doc_add";
    }

    @RequestMapping("/toDocEdit")
    public ModelAndView toDocEdit(String docId){
        ModelAndView model = new ModelAndView();
        Doctor byId = doctorService.findById(docId);
        model.addObject("doctor",byId);
        model.setViewName("admin/doctor/doc_edit");
        return model;
    }

    @ResponseBody
    @RequestMapping("/updateDoc")
    public Integer updateDoc(@RequestBody Doctor doctor){
        return doctorService.updateDoc(doctor);
    }

    @ResponseBody
    @RequestMapping("/saveDoc")
    public Integer saveDoc(@RequestBody Doctor doctor){
        return doctorService.saveDoc(doctor);
    }

    // 按ID搜索医生信息
    @ResponseBody
    @GetMapping("/adminFindById")
    public LayData adminFindById(String docId){
        LayData layData = new LayData();
        layData.setCode(0);
        if(docId != null && !docId.equals("")){
            Doctor byId = doctorService.findById(docId);
            if(byId != null) {
                List<Doctor> list = new ArrayList<>();
                list.add(byId);
                layData.setData(list);
                layData.setCount(1);
                layData.setMsg("按ID查询");
            }
        }
        return layData;
    }

    // 按Name搜索医生信息
    @ResponseBody
    @GetMapping("/adminFindByName")
    public LayData adminFindByName(String docName){
        LayData layData = new LayData();
        layData.setCode(0);
        List<Doctor> byName = doctorService.findByName(docName);
        if(byName.size() > 0){
            layData.setData(byName);
            layData.setCount(byName.size());
            layData.setMsg("按Name查询");
        }
        return layData;
    }

    @ResponseBody
    @RequestMapping("/fileUpload")
    public Map<String,Object> fileUpload(@RequestParam("file") MultipartFile file){
        Map<String,Object> map  = new HashMap<>();
        String userId = doctorService.getDoctorId();
        String uploadDir = "D:/eaducation/Dcms004/src/main/resources/static/img/doc/";
        try {
            // 图片路径
            String imgUrl = null;
            //上传
            String filename = doctorService.upload(file, uploadDir, Objects.requireNonNull(file.getOriginalFilename()), userId);
            if (filename != null) {
                imgUrl = new File(uploadDir).getName() + "/" + filename;
            }
            map.put("code",0);
            map.put("msg","");
            map.put("data",imgUrl);
            return map;
        } catch (Exception e) {
            e.printStackTrace();
            map.put("code",500);
            map.put("msg","上传失败");
            map.put("data",null);
            return map;
        }
    }
}

登录管理控制层:

@RequestMapping("/login")
@Controller
public class LoginHandler {
    @Resource
    private LoginInfoRepository loginInfoRepository;
    @Resource
    private DoctorService doctorService;
    @Resource
    private CustomerService customerService;
    @Resource
    private LoginCountService loginCountService;

    // ----------------------------客户登录模块---
    @RequestMapping("/toUserLogin")
    public String toUserLogin(HttpSession session){
        String cusName = (String) session.getAttribute("userName");
        String cusId = (String) session.getAttribute("userId");
        Customer byId = customerService.findById(cusId);
        if(cusName != null && cusId != null && byId != null){
            return "redirect:/user/toCusInfo";
        }else {
            return "user/login";
        }
    }

    @RequestMapping("/toUserRegister")
    public String toUserRegister(){
        return "user/cus_register";
    }

    @RequestMapping("/userLogin")
    public ModelAndView userLogin(LoginInfo loginInfo, HttpServletRequest req){
        ModelAndView model = new ModelAndView();
        HttpSession session = req.getSession();
        LoginInfo byName = loginInfoRepository.findByName(loginInfo.getUsername());
        if (byName == null){
            model.setViewName("forward:toUserLogin");
            model.addObject("message","该用户未注册!");
        }else if(byName.getUserSort() != 1){
            model.setViewName("forward:toUserLogin");
            model.addObject("message","该账号非客户!");
        } else if(loginInfo.getUsername().equals(byName.getUsername())
                && loginInfo.getPassword().equals(byName.getPassword())
                && byName.getUserSort() == 1){
            model.setViewName("redirect:/user/toCusInfo");
            session.setAttribute("userName",byName.getUsername());
            session.setAttribute("userId",byName.getUserId());
        }else {
            model.setViewName("forward:toUserLogin");
            model.addObject("message","用户名或密码错误!");
        }
        return model;
    }
    // ----------------------------医生登录模块-----
    @RequestMapping("/toDocLogin")
    public String toDocLogin(){
        return "doctor/login";
    }

    //  后台验证登录
    @RequestMapping("/docLogin")
    public ModelAndView docLogin(LoginInfo loginInfo, HttpServletRequest request){
        ModelAndView model = new ModelAndView();
        HttpSession session = request.getSession();
        LoginInfo byName = loginInfoRepository.findByName(loginInfo.getUsername());
        if (byName == null){
            model.setViewName("forward:toDocLogin");
            model.addObject("message","该用户未注册!");
        }else if(loginInfo.getUsername().equals(byName.getUsername())
                && loginInfo.getPassword().equals(byName.getPassword())
                && byName.getUserSort() != 1){
            if(byName.getUserSort() == 3){
                model.setViewName("redirect:/admin/toAdminWel");
            }else if(byName.getUserSort() == 2){
                model.setViewName("redirect:/doctor/toDocWel");
            }
            session.setAttribute("userName",byName.getUsername());
            session.setAttribute("userId",byName.getUserId());
        }else {
            model.setViewName("forward:toDocLogin");
            model.addObject("message","用户名或密码错误!");
        }
        return model;
    }

    // 修改密码
    @ResponseBody
    @RequestMapping("/updateDocMess")
    public Integer updateMess(@RequestBody LoginInfo loginInfo, HttpSession session){
        String userId = (String) session.getAttribute("userId");
        String userName = (String) session.getAttribute("userName");
        LoginInfo byId = loginInfoRepository.findById(userId);
        loginInfo.setUserId(userId);
        loginInfo.setUsername(userName);
        loginInfo.setUserSort(byId.getUserSort());
        return loginInfoRepository.update(loginInfo);
    }

    /*管理员模块*/
    @RequestMapping("/toAdminRePass")
    public String toRePass(){
        return "admin/admin_mess";
    }

    @ResponseBody
    @RequestMapping("/findWeekData")
    public List<CustomerWeekData> findWeekData(){
        return loginCountService.getWeekData();
    }
    // 通用退出
    @RequestMapping("/edit")
    public String edit(HttpSession session){
        Enumeration<String> em = session.getAttributeNames();
        // 清除所有session数据,准备退出
        while (em.hasMoreElements()) {
            session.removeAttribute(em.nextElement());
        }
        System.out.println("------------用户已注销-------------");
        return "redirect:/login/toDocLogin";
    }
    // 通用获取密码
    @ResponseBody
    @RequestMapping("/getPassword")
    public String getPassword(HttpSession session){
        String userId = (String) session.getAttribute("userId");
        LoginInfo byId = loginInfoRepository.findById(userId);
        return byId.getPassword();
    }
}

用户管理控制层:

@RequestMapping("/cus")
@Controller
public class CustomerHandler {
    @Resource
    private CustomerService customerService;
    @RequestMapping("/toCusList")
    public String toCusList(){
        return "doctor/customer/cus_list";
    }

    @RequestMapping("/toAddCus")
    public String toAddCus(){
        return "doctor/customer/cus_add";
    }

    // 展示客户信息列表
    @ResponseBody
    @RequestMapping("/findAllByDoc")
    public LayData getAll(HttpSession session){
        String userId = (String) session.getAttribute("userId");
        ModelAndView model = new ModelAndView();
        LayData all = customerService.findAllByDoc(userId);
        model.setViewName("doctor/customer/cus_list");
        model.addObject("cusList", all);
        return all;
    }

    // 按ID搜索客户信息
    @ResponseBody
    @GetMapping("/findById")
    public LayData findById(String customerId, HttpSession session){
        String userId = (String) session.getAttribute("userId");
        LayData layData;
        if(customerId == null || customerId.equals("")){
            layData = customerService.findAllByDoc(userId);
        }else {
            layData = customerService.layFindById(customerId);
        }
        return layData;
    }

    // 按Name搜索客户信息
    @ResponseBody
    @GetMapping("/findByName")
    public LayData findByName(String customerName, HttpSession session){
        String userId = (String) session.getAttribute("userId");
        LayData layData;
        if(customerName == null || customerName.equals("")){
            layData = customerService.findAllByDoc(userId);
        }else {
            layData = customerService.layFindByName(customerName);
        }
        return layData;
    }

    // 新增客户信息
    @ResponseBody
    @RequestMapping("/insertCus")
    public Integer insertCus(@RequestBody Customer customer){
        System.out.println("insertCus中的Customer信息:" + customer);
        int index = customerService.save(customer);
        return index;
    }
    //    执行弹出窗的操作
    @RequestMapping("/toCusInfo")
    public ModelAndView toCusInfo(String customerId){
        ModelAndView model = new ModelAndView();
        model.setViewName("admin/customer/cus_info");
        Customer customer = customerService.findById(customerId);
        model.addObject("cus",customer);
        return model;
    }

    /*管理员模块*/
    @RequestMapping("/adminToList")
    public String adminToList(){
        return "admin/customer/cus_list";
    }

    @RequestMapping("/adminToAddCus")
    public String adminToAddCus(){
        return "admin/customer/cus_add";
    }
    // 展示客户信息列表 分页
    @ResponseBody
    @RequestMapping("/adminFindAll")
    public LayData adminFindAll(Integer page,Integer limit){
        return customerService.findAll(page,limit);
    }

    // 按ID搜索客户信息
    @ResponseBody
    @GetMapping("/adminFindById")
    public LayData adminFindById(String customerId){
        LayData layData;
        if(customerId == null || customerId.equals("")){
            layData = new LayData();
            layData.setCode(0);
        }else {
            layData = customerService.layFindById(customerId);
        }
        return layData;
    }

    // 按Name搜索客户信息
    @ResponseBody
    @GetMapping("/adminFindByName")
    public LayData adminFindByName(String customerName){
        LayData layData;
        if(customerName == null || customerName.equals("")){
            layData = new LayData();
            layData.setCode(0);
        }else {
            layData = customerService.layFindByName(customerName);
        }
        return layData;
    }
    // 按ID删除客户信息
    @ResponseBody
    @GetMapping("/deleteById")
    public Integer deleteById(String customerId){
        return customerService.deleteById(customerId);
    }
}

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

猜你喜欢

转载自blog.csdn.net/yuyecsdn/article/details/125256909