项目编号:BS-YL-006
本系统基于JSP+SERVLET实现医院病历管理系统,前端基于CSS+JS实现开发,数据库采用MYSQL,开发工具为IDEA或ECLIPSE均可。
本系统共分为四个角色:
管理员角色:主要管理工作人员信息,管理员信息,系统日志等。
医生角色:主要进行患者就诊,病历管理,处方管理,个人信息管理等功能。
窗口工作人员角色:主要进行划价收费工作。
库存工作人员角色:主要管理药品相关的库存工作。
系统部分功能展示:
http://localhost:8080/tjsqyygl/login.jsp
管理员登陆:
工作人员管理
管理人员管理
日志管理
医生登陆系统:
患者就诊
填写病历
病历查看
处方管理
个人信息管理
窗口工作人员:
患者挂号
处方划价
处方缴费
药品取药
库管人员登陆
药品管理
药品入库管理
药品盘点
本系统功能完整,运行无误,界面简洁大方,适合做毕业设计使用。
部分代码实现:
package cn.bukaa.control;import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import cn.bukaa.dao.CommDAO;
import cn.bukaa.util.Info;public class UserController extends MainCtrl {private CommDAO dao;public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {dao = new CommDAO();response.setContentType("text/html");PrintWriter out = response.getWriter();String ac = request.getParameter("ac");String date = Info.getDateStr();String today = date.substring(0, 10);String tomonth = date.substring(0, 7);if ("login".equals(ac)) {login(request, response);}else if("logout".equals(ac)){logout(request,response);}else if("uppass".equals(ac)){updatePass(request, response);}}private void logout(HttpServletRequest request,HttpServletResponse response) {request.getSession().invalidate();gor("login.jsp", request, response);}private void login(HttpServletRequest request, HttpServletResponse response){String pagerandom = request.getParameter("pagerandom") == null ? "": request.getParameter("pagerandom");String random = (String) request.getSession().getAttribute("random");if (!pagerandom.equals(random) && request.getParameter("a") != null) {request.setAttribute("random", "");go("/login.jsp", request, response);} else {dao = new CommDAO();String username = request.getParameter("uname");String password = request.getParameter("upass");String utype = request.getParameter("utype");request.getSession().setAttribute("utype", utype);List<HashMap> list = dao.select("select * from sysuser where uname='"+ username + "'");if (list.size() == 1) {HashMap map = list.get(0);List<HashMap> ulist = dao.select("select * from sysuser where uname='"+ username + "' and upass='" + password+ "'");if (ulist.size() == 1&& password.equals(map.get("upass").toString())) {request.getSession().setAttribute("admin", map);dao = new CommDAO();HashMap<String,Object> ext = new HashMap<String,Object>();ext.put("userid", map.get("id"));ext.put("tname", map.get("tname"));ext.put("oper", "登录");request.setAttribute("f", "f");dao.insert(request, response, "log", ext, false, true);gor("admin/index.jsp", request, response);} else {request.setAttribute("error", "");go("/login.jsp", request, response);}} else {request.setAttribute("error", "");go("/login.jsp", request, response);}}}private void updatePass(HttpServletRequest request, HttpServletResponse response){dao = new CommDAO();String olduserpass = request.getParameter("oldpass");String userpass = request.getParameter("upass");String copyuserpass = request.getParameter("repass");HashMap user = dao.getmap(Info.getUser(request).get("id").toString(), "sysuser");if (!(((String) user.get("upass")).equals(olduserpass))) {request.setAttribute("error", "");go("/admin/uppass.jsp", request, response);} else {String id = (String) user.get("id");String sql = "update sysuser set upass='" + userpass+ "' where id=" + id;dao.commOper(sql);request.setAttribute("suc", "");go("/admin/uppass.jsp", request, response);}}}
package cn.bukaa.control;import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.RequestContext;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;import cn.bukaa.dao.CommDAO;
import cn.bukaa.util.Info;public class MainCtrl extends HttpServlet {public MainCtrl() {super();}public void destroy() {super.destroy(); }public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}public void go(String url, HttpServletRequest request,HttpServletResponse response) {try {request.getRequestDispatcher(url).forward(request, response);} catch (ServletException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void gor(String url, HttpServletRequest request,HttpServletResponse response) {try {response.sendRedirect(url);} catch (IOException e) {e.printStackTrace();}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String ac = request.getParameter("ac");if (ac == null)ac = "";CommDAO dao = new CommDAO();String date = Info.getDateStr();String today = date.substring(0, 10);String tomonth = date.substring(0, 7);if (ac.equals("uploaddoc")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploaddoc.jsp?docname=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploaddoc2")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploaddoc2.jsp?docname=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploaddoc3")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploaddoc3.jsp?docname=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}// 导excelif (ac.equals("importexcel")) {String page = request.getParameter("page");String whzdstr = request.getParameter("whzdstr");String tablename = request.getParameter("tablename");try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}if (filename.indexOf(".xls") > -1) {Workbook workbook;try {workbook = Workbook.getWorkbook(new File(request.getRealPath("/upfile/") + "/" + filename));// 通过Workbook的getSheet方法选择第一个工作簿(从0开始)Sheet sheet = workbook.getSheet(0);// 通过Sheet方法的getCell方法选择位置为C2的单元格(两个参数都从0开始)for (int i = 1; i < 1000; i++) {Cell cell = null;try {String isql = "insert into " + tablename+ "(";for (String str : whzdstr.split("-")) {isql += str + ",";}isql = isql.substring(0, isql.length() - 1);isql += ")values(";int j = 0;int empty = 1;for (String str : whzdstr.split("-")) {cell = sheet.getCell(j, i);isql += "'" + cell.getContents() + "',";String content = cell.getContents() == null ? "": cell.getContents();if (!"".equals(content.trim())) {empty = 0;}j++;}if (empty == 1)continue;isql = isql.substring(0, isql.length() - 1);isql += ")";dao.commOper(isql);} catch (Exception e) {continue;}}workbook.close();} catch (Exception e) {e.printStackTrace();}}}go("/admin/" + page + "?docname=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploadimg")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploadimg.jsp?filename=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploadimg2")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploadimg2.jsp?filename=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploadimg3")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploadimg3.jsp?filename=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploadimg4")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploadimg4.jsp?filename=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}if (ac.equals("uploadimg5")) {try {String filename = "";request.setCharacterEncoding("utf-8");RequestContext requestContext = new ServletRequestContext(request);if (FileUpload.isMultipartContent(requestContext)) {DiskFileItemFactory factory = new DiskFileItemFactory();factory.setRepository(new File(request.getRealPath("/upfile/") + "/"));ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(100 * 1024 * 1024);List items = new ArrayList();items = upload.parseRequest(request);FileItem fileItem = (FileItem) items.get(0);if (fileItem.getName() != null && fileItem.getSize() != 0) {if (fileItem.getName() != null&& fileItem.getSize() != 0) {File fullFile = new File(fileItem.getName());filename = Info.generalFileName(fullFile.getName());File newFile = new File(request.getRealPath("/upfile/") + "/"+ filename);try {fileItem.write(newFile);} catch (Exception e) {e.printStackTrace();}} else {}}}go("/js/uploadimg5.jsp?filename=" + filename, request, response);} catch (Exception e1) {e1.printStackTrace();}}dao.close();out.flush();out.close();}public void init() throws ServletException {}}