基于javaweb的私人牙科诊所病历管理系统(java+jsp+css+javascript+mysql)

基于javaweb的私人牙科诊所病历管理系统(java+jsp+css+javascript+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819205255

20220819205256

20220819205257

20220819205258

20220819205300

20220819205301

基于javaweb+mysql的私人牙科诊所病历管理系统(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 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 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 findWeekData(){

return loginCountService.getWeekData();

// 通用退出

@RequestMapping(“/edit”)

public String edit(HttpSession session){

Enumeration 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);


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值