基于ssm医院药品信息管理系统源码和论文

       目前,药品作为社会制造业态中最为重要的组成部分,处于社会制造商业 进入高速发展的轨道阶段,其在社会经济发展的作用日益明显。国内各大大型基本 上都拥有自己的社会网,将社会药品管理纳入网络管理系统,实现实际业务需求, 提高管理水平和工作效率,具有十分重要的现实意义。

药品管理系统采用基于java三层架构和B/S模块进行开发。系统分为实体 类模块、数据库管理模块、后台管理模块和前台管理模块四个模块。主要面向管 理员用户和员工用户,在浏览器中实现进退药品管理、库存信息管理、采购信息 管理、药品信息管理和综合信息管理五大功能。系统对硬件环境要求不高,模块 清晰,界面设计友好美观,操作简单,方便实用,数据存储安全。

文中首先介绍开发的背景、国内外发展现状,引出研究目的和意义;然后分 析三层架构设计模式和ssm技术在系统中的使用;再从实际调研出发,对系统 进行需求和性能分析,得到系统的功能设计和数据库设计,并利用idea 开发平台、mysql数据库管理系统java开发语言、ssm等技术进行详细 设计与实现;最后经过初步测试,已经基本达到设计要求。

随着国家骨干高等院校和数字化社会的建设,依 托现代和社会信息资源,建立了一个大型药品管理系统。本系统目前在 已安全开发完成并且在运行中。今后还要进一步根 据药品实际业务需要,完善系统功能。

关键词:药品管理系统,三层架构,信息管理

【572】基于ssm医院药品信息管理系统源码和论文

ABSTRACT

At present, as the most important part of social manufacturing industry, medicine is in the track stage of rapid development of social manufacturing business, and its role in social and economic development is increasingly obvious. Domestic large-scale basically have their own social network, the social drug management into the network management system, realize the actual business needs, improve the management level and work efficiency, has a very important practical significance.

The drug management system is developed based on Java three-tier architecture and B / S module. The system is divided into four modules: entity module, database management module, background management module and foreground management module. Mainly for administrator users and staff users, in the browser to achieve advance and retreat drug commodity management, inventory information management, sales information management, drug commodity information management and comprehensive information management five functions. The system has low requirements for hardware environment, clear modules, friendly and beautiful interface design, simple operation, convenient and practical, and safe data storage.

This paper first introduces the development background, the development status at home and abroad, leads to the purpose and significance of the research; then analyzes the three-tier architecture design pattern and the use of ssm technology in the system; then from the actual research, analyzes the requirements and performance of the system, obtains the function design and database design of the system, and uses the idea Development platform, MySQL database management system, java development language, ssm and other technologies for detailed design and implementation; finally, after preliminary testing, it has basically reached the design requirements.

With the construction of national key universities and digital society, relying on modern and social information resources, a large-scale drug management system has been established. At present, the system has been developed safely and is running. In the future, we should further improve the system function according to the actual business needs of drugs.

Key words: drug management system, three-tier architecture, information management

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.model.Bingli;
import com.model.Dclass;
import com.model.Drug;
import com.model.Orderitem;
import com.model.Torder;
import com.model.User;
import com.response.OrderitemListResponse;
import com.response.TorderListResponse;
import com.service.BingliService;
import com.service.DclassService;
import com.service.DoctorService;
import com.service.DrugService;
import com.service.OrderitemService;
import com.service.TorderService;
import com.service.UserService;
import com.util.Cart;
import com.util.Config;
import com.util.PageBean;

/**
 * 药单Controller业务控制类
 */
@Controller
public class TorderController {
	/**
	 * 注入Service
	 */
	@Autowired
	private TorderService torderService;
	@Autowired
	private DrugService drugService;
	
	@Autowired
	private DclassService dclassService;
	@Autowired
	private OrderitemService orderitemService;
	@Autowired
	private BingliService bingliitemService;
	@Autowired
	private UserService userService;
	@Autowired
	private DoctorService doctorService;
	
	/**
	 * 进入列表页面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_toList")
	public String toList(HttpServletRequest request) throws Exception {
		return "/admin/torder/torder_list.jsp";
	}

	/**
	 * 药单列表
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_list")
	@ResponseBody
	public TorderListResponse list(HttpServletRequest request) throws Exception {
		TorderListResponse res = new TorderListResponse();
		/**
		 * 获取分页参数
		 */
		int page = 0; // 当前页数
		int limit = 0;// 每页显示的数量
		int offset = 0;
		try {
			page = Integer.parseInt(request.getParameter("page"));
			limit = Integer.parseInt(request.getParameter("limit"));
		} catch (Exception e) {
		}
		if (page > 0) {
			offset = (page - 1) * limit;
		}
		PageBean pages = new PageBean(offset);
		Torder torder = new Torder();
		String blid = request.getParameter("blid");
		torder.setBlid(Integer.parseInt(blid == null || "".equals(blid) ? "0"
				: blid));
		request.setAttribute("blid", blid);
		String uid = request.getParameter("uid");
		torder.setUid(Integer.parseInt(uid == null || "".equals(uid) ? "0"
				: uid));
		request.setAttribute("uid", uid);
		String zt = request.getParameter("zt");
		torder.setZt(zt);
		request.setAttribute("zt", zt);
		// 查询记录总数
		int count = torderService.getCount(torder);
		// 获取当前页记录
		List<Torder> torderList = torderService.queryTorderList(torder, pages);
		if(torderList!=null&&torderList.size()>0){
			for (Torder torder2 : torderList) {
				User userVO = userService.queryUserById(torder2.getUid());
				if(userVO!=null){
					torder2.setUserVO(userVO);
				}
			}
		}
		res.setCode(0);
		res.setRows(torderList);
		res.setTotal(count);
		return res;
	}

	/**
	 * 跳转到新增药品界面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_toAdd")
	public String toAdd(HttpServletRequest request) throws Exception {
		int blid = Integer.parseInt(request.getParameter("blid"));
		request.getSession().setAttribute("blid",blid);
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		if(cart==null){
			cart = new Cart();
		}
		request.getSession().setAttribute("cart",cart);
		//跳转至药品页面
		return "redirect:drug_toList_cart.action";
	}
    /**
       *   购药结算
     * @param request
     * @return
     * @throws Exception
     */
	@RequestMapping(value = "/torder_toAdd2")
	public String toAdd2(HttpServletRequest request) throws Exception {
		int blid = Integer.parseInt(request.getSession().getAttribute("blid").toString());
		Bingli bingli = bingliitemService.queryBingliById(blid);
		User user = userService.queryUserById(bingli.getUid());
		request.setAttribute("user", user);
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		List<Orderitem> list = new ArrayList<Orderitem>();
		if(cart!=null&&cart.getItems()!=null){
			for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) {
				Orderitem orderItem = (Orderitem) it.next();
				orderItem.getJiage();
				list.add(orderItem);
			}
		}
		Torder torder = new Torder();
		torder.setZongjine(getTotalPrice(list));
		torder.setUid(bingli.getUid());
		request.setAttribute("torder", torder);
		//跳转至药品页面
		return "/admin/torder/torder_add.jsp";
	}

	/**
	 * 跳转到更新药单界面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_toUpdate")
	public String toUpdate(HttpServletRequest request) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Torder torder = torderService.queryTorderById(id);
		request.setAttribute("torder", torder);
		return "/admin/torder/torder_update.jsp";
	}

	/**
	 * 更新药单
	 * 
	 * @param torder
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_update")
	public String update(HttpServletRequest request)
			throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Torder torder = torderService.queryTorderById(id);
		torder.setZt("已缴费");
		// 更新数据库
		torderService.updateTorder(torder);
		return "redirect:admin/torder/torder_list.jsp";
	}
	
	/**
	 *  取药
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_qy")
	public String qy(HttpServletRequest request)
			throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Torder torder = torderService.queryTorderById(id);
		torder.setZt("已取药");
		// 更新数据库
		torderService.updateTorder(torder);
		Orderitem orderitem = new Orderitem();
		orderitem.setOrderid(id);
		List<Orderitem> orderitemList = orderitemService.queryOrderitemList(orderitem,null);
		for (Orderitem orderItem:orderitemList) {
			Drug drug = drugService.queryDrugById(orderItem.getDrugid());
			if(drug!=null){
				drug.setNum(drug.getNum()-orderItem.getNum());
				drugService.updateDrug(drug);
			}
		}
		
		return "redirect:admin/bingli/bingli_list_user.jsp";
	}

	/**
	 * 删除药单
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_delete")
	public String delete(HttpServletRequest request) throws Exception {
		// 根据id删除数据库记录
		int id = Integer.parseInt(request.getParameter("id"));
		torderService.deleteTorder(id);
		return "redirect:admin/torder/torder_list.jsp";
	}

	/**
	 * 查看药单详情
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_toView")
	public String toView(HttpServletRequest request) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出记录放到request中,到前台jsp界面显示
		// 通过病历Id查询
		Torder torder = new Torder();
		torder.setBlid(id);
		List<Torder> tlist = torderService.queryTorderList(torder, null);
		torder = tlist.get(0);
		if(torder!=null) {
			User userVO = userService.queryUserById(torder.getUid());
			torder.setUserVO(userVO);
		}
		
		request.setAttribute("torder", torder);
		Orderitem orderitem = new Orderitem();
		orderitem.setOrderid(torder.getId());
		List<Orderitem> orderitemList = orderitemService.queryOrderitemList(orderitem,null);
		request.setAttribute("list", orderitemList);
		return "/admin/torder/torder_view.jsp";
	}
	
	
	/**
	 * 跳转到加入药单
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/drug_toAddDan")
	public String drug_toAddDan(HttpServletRequest request) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Drug drug = drugService.queryDrugById(id);
		Dclass dclass = dclassService.queryDclassById(drug.getDcode());
		if (dclass != null) {
			drug.setDclassVO(dclass);
		}	
		request.setAttribute("drug", drug);
	

		return "/admin/dan/iteam_add.jsp";
	}


	
	/**
	 * 添加到药单中
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/addToCart")
	public String addToCart(HttpServletRequest request) throws Exception {
		int drugid = Integer.parseInt(request.getParameter("drugid"));
		int num = Integer.parseInt(request.getParameter("num"));
		Drug drug = drugService.queryDrugById(drugid);
		Dclass dclass = dclassService.queryDclassById(drug.getDcode());
		if (dclass != null) {
			drug.setDclassVO(dclass);
		}	

		Orderitem orderItem = new Orderitem();
		orderItem.setDrugid(drugid);
		orderItem.setDrugVO(drug);
		orderItem.setNum(num);
		orderItem.setDanjia(drug.getDanjia());
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		if(cart==null){
			cart = new Cart();
		}
		cart.addGoods(drugid, orderItem);
		
		request.getSession().setAttribute("cart", cart);
		request.setAttribute("path", "myCart.action");
		return "/common/succeed.jsp";
	}
	/***
	 * 添加购药
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/myCart_list")
	@ResponseBody
	public OrderitemListResponse myCart2(HttpServletRequest request) throws Exception {
		OrderitemListResponse res = new OrderitemListResponse();
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		List<Orderitem> list = new ArrayList<Orderitem>();
		if(cart!=null&&cart.getItems()!=null){
			for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) {
				Orderitem orderItem = (Orderitem) it.next();
				orderItem.getJiage();
				list.add(orderItem);
			}
		}
		request.setAttribute("totalPrice", getTotalPrice(list));
		res.setCode(0);
		res.setRows(list);
		res.setTotal(0);
		return res;
	}
	/**
	 * 购药清单
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/myCart")
	public String myCart(HttpServletRequest request) {
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		List<Orderitem> list = new ArrayList<Orderitem>();
		if(cart!=null&&cart.getItems()!=null){
			for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) {
				Orderitem orderItem = (Orderitem) it.next();
				orderItem.getJiage();
				list.add(orderItem);
			}
		}
		
		request.setAttribute("totalPrice", getTotalPrice(list));
		return "/admin/dan/myCart.jsp";
	}
	/**
	 * 保存新增药单
	 * 
	 * @param torder
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/torder_add")
	public String add(Torder torder, HttpServletRequest request)
			throws Exception {
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		int blid =Integer.parseInt(request.getSession().getAttribute("blid").toString());
		List<Orderitem> list = new ArrayList<Orderitem>();
		for (Iterator it = cart.getItems().values().iterator(); it.hasNext();) {
			Orderitem orderItem = (Orderitem) it.next();
			list.add(orderItem);
			
		}
		
		torder.setBianhao("YD"+new SimpleDateFormat("yyyyMMddHHmmss")
		.format(new Date()));
		torder.setCdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
				.format(new Date()));
		torder.setZt("未缴费");
		torder.setBlid(blid);
		torder.setZongjine(getTotalPrice(list));
		// 保存到数据库
		torderService.insertTorder(torder);

		for (Iterator it = list.iterator(); it.hasNext();) {
			Orderitem orderItem = (Orderitem) it.next();
			orderItem.setOrderid(torder.getId());
			orderItem.setDrugid(orderItem.getDrugVO().getId());
			orderitemService.insertOrderitem(orderItem);
			
		}
		cart.getItems().clear();
		cart.setSjfk("0");
		request.getSession().setAttribute("blid", null);
		request.getSession().setAttribute("cart", cart);
		request.setAttribute("message","操作成功");
  		request.setAttribute("path","admin/bingli/bingli_list.jsp");
  		return "/common/succeed.jsp";
	}
	/**
	 * 计算总金额
	 * @param list
	 * @return
	 */
	public String getTotalPrice(List<Orderitem> list) {
		String totalPrice = "0";
		for (Iterator it = list.iterator(); it.hasNext();) {

			Orderitem orderItem = (Orderitem) it.next();
			int quantity = orderItem.getNum();
			totalPrice = Config.getTPrice(totalPrice,orderItem.getDanjia(), quantity) ;
		}
		return totalPrice;
	}
	/**
	 * 删除购买的药品
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/iteam_delete")
	public String iteam_delete(HttpServletRequest request) {
		Cart cart = (Cart) request.getSession().getAttribute("cart");
		int drugid = Integer.parseInt(request.getParameter("drugid"));
		cart.getItems().remove(drugid);
		return "redirect:/myCart.action";
	}
}

 

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.model.Doctor;
import com.model.Keshi;
import com.model.Torder;
import com.model.User;
import com.model.Yuyue;
import com.response.YuyueListResponse;
import com.service.DoctorService;
import com.service.KeshiService;
import com.service.UserService;
import com.service.YuyueService;
import com.util.Config;
import com.util.DuanVO;
import com.util.PageBean;
import com.util.YuyueVO;

/**
 * 预约Controller业务控制类
 */
@Controller
public class YuyueController {
	/**
	 * 注入Service
	 */
	@Autowired
	private YuyueService yuyueService;
	@Autowired
	private UserService userService;
	@Autowired
	private DoctorService doctorService;
	@Autowired
	private KeshiService keshiService;
	/**
	 * 进入列表页面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_toList")
	public String toList(HttpServletRequest request) throws Exception {
		User user = new User();
		List<User> userList = userService.queryUserList(user, null);
		request.setAttribute("userList", userList);
		return "/admin/yuyue/yuyue_list.jsp";
	}
	
	/**
	 * 预约列表(用户)
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_list_user")
	@ResponseBody
	public YuyueListResponse list_user(HttpServletRequest request) throws Exception {
		YuyueListResponse res = new YuyueListResponse();
		/**
		 * 获取分页参数
		 */
		int page = 0; // 当前页数
		int limit = 0;// 每页显示的数量
		int offset = 0;
		try {
			page = Integer.parseInt(request.getParameter("page"));
			limit = Integer.parseInt(request.getParameter("limit"));
		} catch (Exception e) {
		}
		if (page > 0) {
			offset = (page - 1) * limit;
		}
		
		PageBean pages = new PageBean(offset);
		Yuyue yuyue = new Yuyue();
		User user = (User) request.getSession().getAttribute("user");
		yuyue.setUid(user.getId());
	
		String yydateStart = request.getParameter("yydateStart");
		String yydateEnd = request.getParameter("yydateEnd");
		yuyue.setYydateStart(yydateStart);
		yuyue.setYydateEnd(yydateEnd);
		request.setAttribute("yydateStart", yydateStart);
		request.setAttribute("yydateEnd", yydateEnd);
		String state = request.getParameter("state");
		yuyue.setState(state);
		request.setAttribute("state", state);
		
		// 查询记录总数
		int count = yuyueService.getCount(yuyue);
		// 获取当前页记录
		List<Yuyue> yuyueList = yuyueService.queryYuyueList(yuyue, pages);
		if(yuyueList!=null && yuyueList.size()>0){
			for (Yuyue yuyue2 : yuyueList) {
				Doctor doctorVO = doctorService.queryDoctorById(yuyue2.getDoctorid());
				if(doctorVO!=null){
					Keshi keshi = keshiService.queryKeshiById(doctorVO.getKsid());
					if(keshi!=null){
						doctorVO.setKeshiVO(keshi);
					}
					yuyue2.setDoctorVO(doctorVO);
				}
			}
		}
		
		res.setCode(0);
		res.setRows(yuyueList);
		res.setTotal(count);
		return res;
	}

	/**
	 * 预约列表(医生)
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_list")
	@ResponseBody
	public YuyueListResponse list(HttpServletRequest request) throws Exception {
		YuyueListResponse res = new YuyueListResponse();
		/**
		 * 获取分页参数
		 */
		int page = 0; // 当前页数
		int limit = 0;// 每页显示的数量
		int offset = 0;
		try {
			page = Integer.parseInt(request.getParameter("page"));
			limit = Integer.parseInt(request.getParameter("limit"));
		} catch (Exception e) {
		}
		if (page > 0) {
			offset = (page - 1) * limit;
		}
		int utype = Integer.parseInt(request.getSession().getAttribute("utype").toString());
		PageBean pages = new PageBean(offset);
		Yuyue yuyue = new Yuyue();
		if(utype==2){
			Doctor doctor = (Doctor) request.getSession().getAttribute("doctor");
			yuyue.setDoctorid(doctor.getId());
		}
		String username = request.getParameter("username");
		yuyue.setUsername(username);
		String yydateStart = request.getParameter("yydateStart");
		String yydateEnd = request.getParameter("yydateEnd");
		yuyue.setYydateStart(yydateStart);
		yuyue.setYydateEnd(yydateEnd);
		request.setAttribute("yydateStart", yydateStart);
		request.setAttribute("yydateEnd", yydateEnd);
		String state = request.getParameter("state");
		yuyue.setState(state);
		request.setAttribute("state", state);
		
		// 查询记录总数
		int count = yuyueService.getCount(yuyue);
		// 获取当前页记录
		List<Yuyue> yuyueList = yuyueService.queryYuyueList(yuyue, pages);
		if(yuyueList!=null && yuyueList.size()>0){
			for (Yuyue yuyue2 : yuyueList) {
				Doctor doctorVO = doctorService.queryDoctorById(yuyue2.getDoctorid());
				if(doctorVO!=null){
					Keshi keshi = keshiService.queryKeshiById(doctorVO.getKsid());
					if(keshi!=null){
						doctorVO.setKeshiVO(keshi);
					}
					yuyue2.setDoctorVO(doctorVO);
				}
				
				
			}
		}
		
		res.setCode(0);
		res.setRows(yuyueList);
		res.setTotal(count);
		return res;
	}

	/**
	 * 跳转到新增预约界面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_toAdd")
	public String toAdd(HttpServletRequest request) throws Exception {
		User user = (User) request.getSession().getAttribute("user");
		int uid= user.getId();
		int doctorid = Integer.parseInt(request.getParameter("doctorid"));
		int zw = Integer.parseInt(request.getParameter("zw"));
		String yydate = request.getParameter("yydate");
		//查询当天预约的情况
		Yuyue yuyue = new Yuyue();
		yuyue.setTemp(1);
		yuyue.setDoctorid(doctorid);
		yuyue.setYydateStart(yydate);
		yuyue.setYydateEnd(yydate);
		List<Yuyue> yuyueList = yuyueService.queryYuyueList(yuyue, null);
		if(yuyueList!=null||yuyueList.size()>0){
			for (Yuyue yuyue2 : yuyueList) {
				if(yuyue2.getUid()==uid){
					request.setAttribute("message","您当前日期已预约过此医生,不能重复预约!");
					request.setAttribute("path","riqi_list.action");
					request.setAttribute("doctorid",doctorid);
					return "common/succeed1.jsp";
				}
			}
		}
		
		Doctor doctor = new Doctor();
		doctor.setId(doctorid);
		List<Doctor> list = doctorService.queryDoctorList(doctor, null);
		doctor = list.get(0);
		yuyue.setUid(uid);
		yuyue.setDoctorid(doctorid);
		yuyue.setYydate(yydate);
		yuyue.setTemp(zw);
		yuyue.setDoctorVO(doctor);
		request.setAttribute("yuyue", yuyue);
		List<DuanVO> duanList =null;
		if(zw==1){
			duanList = new ArrayList<DuanVO>(){{
			    add(new DuanVO(Config.TIME1,false));
			    add(new DuanVO(Config.TIME2,false));
			    add(new DuanVO(Config.TIME3,false));
			    add(new DuanVO(Config.TIME4,false));
			    add(new DuanVO(Config.TIME5,false));
			    add(new DuanVO(Config.TIME6,false));
			    add(new DuanVO(Config.TIME7,false));
			    add(new DuanVO(Config.TIME8,false));
			}};
		}else {
			duanList = new ArrayList<DuanVO>(){{
			    add(new DuanVO(Config.TIME9,false));
			    add(new DuanVO(Config.TIME10,false));
			    add(new DuanVO(Config.TIME11,false));
			    add(new DuanVO(Config.TIME12,false));
			    add(new DuanVO(Config.TIME13,false));
			    add(new DuanVO(Config.TIME14,false));
			    add(new DuanVO(Config.TIME15,false));
			    add(new DuanVO(Config.TIME16,false));
				add(new DuanVO(Config.TIME17,false));
			}};
		}
		for (DuanVO duanVO : duanList) {
			isZy(duanVO,yuyueList);
		}
		request.setAttribute("duanList", duanList);
		
		
		return "/admin/yuyue/yuyue_add.jsp";
	}
	/**
	 * 是否已经预约过
	 * @param duan
	 * @param yuyueList
	 */
	private void isZy(DuanVO duan,List<Yuyue> yuyueList){
		if(yuyueList==null||yuyueList.size()==0){
			return;
		}
		//设置禁止
		for (Yuyue yuyue : yuyueList) {
			if(yuyue.getTdate().equals(duan.getYydate())){
				duan.setDisable(true);
				break;
			}
		}
	}

	/**
	 * 保存新增预约
	 * 
	 * @param yuyue
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_add")
	public String add(Yuyue yuyue,HttpServletRequest request)
			throws Exception {
		User user = (User) request.getSession().getAttribute("user");
		yuyue.setUid(user.getId());
		String cdate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
		yuyue.setCdate(cdate);
		yuyue.setState("预约");
		yuyue.setBianhao("yy"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
		
		// 保存到数据库
		yuyueService.insertYuyue(yuyue);
		return "redirect:admin/yuyue/yuyue_list_user.jsp";
	}

	/**
	 * 跳转到更新预约界面
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_toUpdate")
	public String toUpdate(HttpServletRequest request) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Yuyue yuyue = yuyueService.queryYuyueById(id);
		request.setAttribute("yuyue", yuyue);
		User user = new User();
		List<User> userList = userService.queryUserList(user, null);
		request.setAttribute("userList", userList);
		return "/admin/yuyue/yuyue_update.jsp";
	}

	/**
	 * 更新预约
	 * 
	 * @param yuyue
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_update")
	public String update( HttpServletRequest request)
			throws Exception {
		
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出需要更新的记录
		Yuyue yuyue = yuyueService.queryYuyueById(id);
		yuyue.setState("就诊");
		// 更新数据库
		yuyueService.updateYuyue(yuyue);
		return "redirect:admin/yuyue/yuyue_list.jsp";
	}

	/**
	 * 删除预约
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_delete")
	public String delete(HttpServletRequest request) throws Exception {
		// 根据id删除数据库记录
		int id = Integer.parseInt(request.getParameter("id"));
		yuyueService.deleteYuyue(id);
		return "redirect:admin/yuyue/yuyue_list.jsp";
	}
	
	/**
	 * 取消预约
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_delete_user")
	public String delete_user(HttpServletRequest request) throws Exception {
		// 根据id删除数据库记录
		int id = Integer.parseInt(request.getParameter("id"));
		yuyueService.deleteYuyue(id);
		return "redirect:admin/yuyue/yuyue_list_user.jsp";
	}

	/**
	 * 查看预约详情
	 * 
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/yuyue_toView")
	public String toView(HttpServletRequest request) throws Exception {
		int id = Integer.parseInt(request.getParameter("id"));
		// 根据ID查询出记录放到request中,到前台jsp界面显示
		Yuyue yuyue = new Yuyue();
		yuyue.setId(id);
		List<Yuyue> list = yuyueService.queryYuyueList(yuyue, null);
		yuyue = list.get(0);
		Doctor doctorVO = doctorService.queryDoctorById(yuyue.getDoctorid());
		if(doctorVO!=null){
			Keshi keshi = keshiService.queryKeshiById(doctorVO.getKsid());
			if(keshi!=null){
				doctorVO.setKeshiVO(keshi);
			}
			yuyue.setDoctorVO(doctorVO);
		}
		request.setAttribute("yuyue", yuyue);
		return "/admin/yuyue/yuyue_view.jsp";
	}
	
	/***
	 * 患者预约日期列表
	 * @param request
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "/riqi_list")
	public String riqi_list(HttpServletRequest request) throws Exception {
		int doctorid = Integer.parseInt(request.getParameter("doctorid"));
		//获得未来6天后的日期
		String edate = Config.getFetureDate(6) ;
		//获得当天日期
		String sdate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
		Yuyue yuyue = new Yuyue();
		yuyue.setTemp(1);
		yuyue.setDoctorid(doctorid);
		yuyue.setYydateStart(sdate);
		yuyue.setYydateEnd(edate);
		//查所有预约信息
		List<Yuyue> yuyueList = yuyueService.queryYuyueList(yuyue, null);
		List<YuyueVO> yuyueVOList = convertVO(doctorid,yuyueList,request);
		request.setAttribute("list", yuyueVOList);
		return "/admin/yuyue/riqi_list.jsp";
	}
	/**
	 * 一周预约表
	 * @param doctorid
	 * @param yuyueList
	 * @param request
	 * @return
	 */
	private  List<YuyueVO> convertVO(int doctorid,List<Yuyue> yuyueList,HttpServletRequest request){
		List<YuyueVO> yuyueVOList = new ArrayList<YuyueVO>();
		List<String> days = Config.getNear7Day(7);
		request.setAttribute("dayList", days);
			Map<String,Integer> map = new HashMap<String, Integer>();
			if(yuyueList!=null&&yuyueList.size()>0){
				for (Yuyue yy : yuyueList) {
					String duan = Config.moningAfter(yy.getTdate());
					String key = yy.getYydate()+duan;
					Integer num = map.get(key);
					if(num!=null){
						num =num+1;
					}else{
						num=1;
					}
					map.put(key, num);
				}
			}
			
			for (String d : days) {
				YuyueVO vo= new YuyueVO();
				vo.setYydate(d);
				//上午人数
				int mnum = map.get(d+"m")!=null?map.get(d+"m"):0;
				//下午人数
				int anum = map.get(d+"a")!=null?map.get(d+"a"):0;
				vo.setMnum(mnum);
				vo.setDoctorid(doctorid);
				vo.setAnum(anum);
				yuyueVOList.add(vo);
			}
		return yuyueVOList;
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿毕业分享网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值