基于javaweb+mysql的ssm+maven中药药方管理系统(java+ssm+jsp+bootstrap+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM+Maven中药药方管理系统(java+ssm+jsp+bootstrap+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/8.0版本均可; 6.是否Maven项目:是;
技术栈
- 后端:Spring+SpringMVC+Mbytes 2. 前端:JSP+css+javascript+bootstrap+jQuery
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中db.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入localhost:8080/ssm_yaofangsys/ 医生账号/密码: doctor/123456 药房人员账号/密码:yaofang/123456 管理员账号/密码:admin/admin
/**
* @ClassName:
* @Description:
*/
@Controller
@RequestMapping("/doctor")
public class DoctorController extends BaseController {
/**
* 依赖注入 start dao/service/===
*/
@Autowired
private DoctorService doctorService;
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", prescription);
return "prescription/prescription";
}
@RequestMapping(value = "/findBySqlUser")
public String findBySqlUser(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM prescription WHERE 1=1 ";//and isDelete = 0
if(!isEmpty(prescription.getName())){
sql += " and name like '%"+prescription.getName()+"%'";
}
if(!isEmpty(prescription.getElement())){
sql += " and element like '%"+prescription.getElement()+"%'";
}
if(!isEmpty(prescription.getEffect())){
sql += " and effect like '%"+prescription.getEffect()+"%'";
}
if(!isEmpty(prescription.getSource())){
sql += " and source like '%"+prescription.getSource()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<Prescription> pagers = prescriptionService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", prescription);
return "prescription/prescriptionUser";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "prescription/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
prescriptionService.insert(prescription);
return "redirect:/prescription/findBySql";
}
//药房人员
if (role== 3){
MedicineUser d = new MedicineUser();
d.setPassword(manage.getPassword());
d.setUserName(manage.getUserName());
MedicineUser byEntity = medicineUserService.getByEntity(d);
if(byEntity != null){
request.getSession().setAttribute("role", role);
request.getSession().setAttribute("name", byEntity.getRealName());
request.getSession().setAttribute("userId", byEntity.getId());
return "redirect:/login/index.action";
}else{
return "redirect:/login/login.action";
}
}
return null;
}
/**
* 退出
* @param request
* @param response
* @return
*/
@RequestMapping("/tuichu")
public String tuichu( HttpServletRequest request, HttpServletResponse response){
HttpSession session = request.getSession();
session.invalidate();
return "redirect:/login/login.action";
}
@RequestMapping("/uTui")
public String uTui( HttpServletRequest request, HttpServletResponse response){
HttpSession session = request.getSession();
session.invalidate();
return "redirect:/login/uLogin.action";
}
@RequestMapping("/head")
private String head(){
return "inc/head";
}
@RequestMapping("/left")
private String left(){
return "inc/left";
}
}
if(!isEmpty(dzd.getUserName())){
sql += " and userName like '%"+dzd.getUserName()+"%'";
}
if(!isEmpty(dzd.getPhone())){
sql += " and phone like '%"+dzd.getPhone()+"%'";
}
if(!isEmpty(dzd.getContent())){
sql += " and content like '%"+dzd.getContent()+"%'";
}
if(!isEmpty(dzd.getCheckResult())){
sql += " and checkResult like '%"+dzd.getCheckResult()+"%'";
}
if(!isEmpty(dzd.getDoctorId())){
sql += " and doctorId like '%"+dzd.getDoctorId()+"%'";
}
if(!isEmpty(dzd.getMedicinalMaterialsUserId())){
sql += " and medicinalMaterialsUserId like '%"+dzd.getMedicinalMaterialsUserId()+"%'";
}
if(!isEmpty(dzd.getStatus())){
sql += " and status like '%"+dzd.getStatus()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<Dzd> pagers = dzdService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", dzd);
return "dzd/dzd";
}
@RequestMapping(value = "/findBySqlUser")
public String findBySqlUser(Dzd dzd, Model model, HttpServletRequest request, HttpServletResponse response) {
String sql = "SELECT * FROM dzd WHERE 1=1 ";//and isDelete = 0
if(!isEmpty(dzd.getCode())){
sql += " and code like '%"+dzd.getCode()+"%'";
}
if(!isEmpty(dzd.getUserName())){
sql += " and userName like '%"+dzd.getUserName()+"%'";
}
public class SystemContextFilter implements Filter{
private Integer pageSize;
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
Integer offset = 0;
try {
offset = Integer.parseInt(req.getParameter("pager.offset"));
} catch (NumberFormatException e) {}
try {
SystemContext.setOrder(req.getParameter("order"));
SystemContext.setSort(req.getParameter("sort"));
SystemContext.setPageOffset(offset);
SystemContext.setPageSize(pageSize);
SystemContext.setRealPath(((HttpServletRequest)req).getSession().getServletContext().getRealPath("/"));
chain.doFilter(req,resp);
} finally {
SystemContext.removeOrder();
SystemContext.removeSort();
SystemContext.removePageOffset();
SystemContext.removePageSize();
SystemContext.removeRealPath();
}
}
public void init(FilterConfig cfg) throws ServletException {
try {
pageSize = Integer.parseInt(cfg.getInitParameter("pageSize"));
} catch (NumberFormatException e) {
pageSize = 15;
}
}
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "medicinalMaterials/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(MedicinalMaterials medicinalMaterials, Model model, HttpServletRequest request, HttpServletResponse response) {
medicinalMaterials.setIsDelete(0);
//medicinalMaterials.setCode(getOrderNo());
medicinalMaterialsService.insert(medicinalMaterials);
return "redirect:/medicinalMaterials/findBySql";
}
/**
* 跳至修改页面
* @return
*/
@RequestMapping(value = "/update")
public String update(Integer id,Model model) {
MedicinalMaterials obj = medicinalMaterialsService.load(id);
model.addAttribute("obj",obj);
return "medicinalMaterials/update";
}
/**
* 添加修改
* @return
*/
@RequestMapping(value = "/exUpdate")
public String exUpdate(MedicinalMaterials medicinalMaterials, Model model, HttpServletRequest request, HttpServletResponse response) {
//1.通过实体类修改,可以多传修改条件
medicinalMaterialsService.updateById(medicinalMaterials);
* 跳至修改页面
* @return
*/
@RequestMapping(value = "/update")
public String update(Integer id,Model model) {
Prescription obj = prescriptionService.load(id);
model.addAttribute("obj",obj);
return "prescription/update";
}
/**
* 添加修改
* @return
*/
@RequestMapping(value = "/exUpdate")
public String exUpdate(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
//1.通过实体类修改,可以多传修改条件
//prescriptionService.update(prescription);
//2.通过主键id修改
prescriptionService.updateById(prescription);
return "redirect:/prescription/findBySql";
}
/**
* 删除通过主键
* @return
*/
@RequestMapping(value = "/delete")
public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
///1.通过主键删除
prescriptionService.deleteById(id);
return "redirect:/prescription/findBySql";
}
}
/**
* @ClassName:
* @Description:
*/
@Controller
@RequestMapping("/medicinalMaterials")
public class MedicinalMaterialsController extends BaseController {
/**
* 依赖注入 start dao/service/===
*/
@Autowired
private MedicinalMaterialsService medicinalMaterialsService;
@RequestMapping(value = "/findBySql")
public String findBySql(MedicinalMaterials medicinalMaterials, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM medicinal_materials WHERE 1=1 and isDelete = 0 ";//
if(!isEmpty(medicinalMaterials.getCode())){
sql += " and code like '%"+medicinalMaterials.getCode()+"%'";
}
if(!isEmpty(medicinalMaterials.getName())){
sql += " and name like '%"+medicinalMaterials.getName()+"%'";
}
if(!isEmpty(medicinalMaterials.getType())){
sql += " and type like '%"+medicinalMaterials.getType()+"%'";
}
/**
* @ClassName:
* @Description:
*/
@Controller
@RequestMapping("/prescription")
public class PrescriptionController extends BaseController {
/**
* 依赖注入 start dao/service/===
*/
@Autowired
private PrescriptionService prescriptionService;
@RequestMapping(value = "/findBySql")
public String findBySqlr(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM prescription WHERE 1=1 ";//and isDelete = 0
if(!isEmpty(prescription.getName())){
sql += " and name like '%"+prescription.getName()+"%'";
}
if(!isEmpty(prescription.getElement())){
sql += " and element like '%"+prescription.getElement()+"%'";
}
if(!isEmpty(prescription.getEffect())){
sql += " ORDER BY ID DESC ";
Pager<Dzd> pagers = dzdService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", dzd);
return "dzd/dzdUser";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "dzd/add";
}
private static String date ;
private static long orderNum = 0l;
public static synchronized String getOrderNo() {
String str = new SimpleDateFormat("yyyyMMddHHmm").format(new Date());
if(date==null||!date.equals(str)){
date = str;
orderNum = 0l;
}
orderNum ++;
long orderNo = Long.parseLong((date)) * 10000;
orderNo += orderNum;;
return orderNo+"";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(Dzd dzd, Model model, HttpServletRequest request, HttpServletResponse response) {
Object attribute = request.getSession().getAttribute("userId");
if (attribute == null){
return "redirect:/login/login.action";
}
* @return
*/
@RequestMapping(value = "/delete")
public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
Doctor load = doctorService.load(id);
load.setIsDelete(1);
doctorService.update(load);
doctorService.updateById(load);
return "redirect:/doctor/findBySql";
}
}
/**
* @ClassName:
* @Description:
}
if(!isEmpty(doctor.getPassword())){
sql += " and password like '%"+doctor.getPassword()+"%'";
}
if(!isEmpty(doctor.getRealName())){
sql += " and realName like '%"+doctor.getRealName()+"%'";
}
if(!isEmpty(doctor.getIdCard())){
sql += " and idCard like '%"+doctor.getIdCard()+"%'";
}
if(!isEmpty(doctor.getPhone())){
sql += " and phone like '%"+doctor.getPhone()+"%'";
}
if(!isEmpty(doctor.getSex())){
sql += " and sex like '%"+doctor.getSex()+"%'";
}
if(!isEmpty(doctor.getIsDelete())){
sql += " and isDelete like '%"+doctor.getIsDelete()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<Doctor> pagers = doctorService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", doctor);
return "doctor/doctor";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "doctor/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(Doctor doctor, Model model, HttpServletRequest request, HttpServletResponse response) {
/**
* @ClassName:
* @Description:
*/
@Controller
@RequestMapping("/dzd")
public class DzdController extends BaseController {
/**
* 依赖注入 start dao/service/===
*/
@Autowired
private DzdService dzdService;
@RequestMapping(value = "/dc", method = RequestMethod.GET)
public void queryGorupListExport(Integer id,HttpServletRequest request, HttpServletResponse response,HttpSession session) {
OutputStream out = null;
try {
Dzd byId = dzdService.getById(id);
Workbook wb = null;
wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("导诊单");
sheet.autoSizeColumn(1);
Row row =sheet.createRow(0);
CellRangeAddress cra = new CellRangeAddress(0, 0, 0, 1);
sheet.addMergedRegion(cra);
Cell cell = row.createCell(0);
cell.setCellValue("导诊单");
CellStyle cellStyle = wb.createCellStyle();
Font font = wb.createFont();
font.setBold(true);
cellStyle.setAlignment(CellStyle.ALIGN_CENTER); // 灞呬腑
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
sheet.setColumnWidth(0, 10000);
sheet.setColumnWidth(1, 30000);
cellStyle.setFont(font);
file.transferTo(newFile);
String visitUrl = "/ueditor/";
visitUrl = visitUrl.concat(n+file.getOriginalFilename());
long endTime=System.currentTimeMillis();
System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");
System.out.println("*********************************************************");
System.out.println("*********************************************************");
params.put("state", "SUCCESS");
params.put("url", visitUrl);
params.put("size", file.getSize());
params.put("original", file.getOriginalFilename());
params.put("type", file.getContentType());
return params;
}
}
/**
* 分页
*/
public class SystemContextFilter implements Filter{
private Integer pageSize;
if(!isEmpty(medicineUser.getRealName())){
sql += " and realName like '%"+medicineUser.getRealName()+"%'";
}
if(!isEmpty(medicineUser.getIdCard())){
sql += " and idCard like '%"+medicineUser.getIdCard()+"%'";
}
if(!isEmpty(medicineUser.getPhone())){
sql += " and phone like '%"+medicineUser.getPhone()+"%'";
}
if(!isEmpty(medicineUser.getSex())){
sql += " and sex like '%"+medicineUser.getSex()+"%'";
}
if(!isEmpty(medicineUser.getIsDelete())){
sql += " and isDelete like '%"+medicineUser.getIsDelete()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<MedicineUser> pagers = medicineUserService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", medicineUser);
return "medicineUser/medicineUser";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "medicineUser/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(MedicineUser medicineUser, Model model, HttpServletRequest request, HttpServletResponse response) {
medicineUser.setIsDelete(0);
medicineUserService.insert(medicineUser);
return "redirect:/medicineUser/findBySql";
public class DoctorController extends BaseController {
/**
* 依赖注入 start dao/service/===
*/
@Autowired
private DoctorService doctorService;
@RequestMapping(value = "/findBySql")
public String findBySql(Doctor doctor, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM doctor WHERE 1=1 and isDelete = 0 ";//and isDelete = 0
if(!isEmpty(doctor.getUserName())){
sql += " and userName like '%"+doctor.getUserName()+"%'";
}
if(!isEmpty(doctor.getPassword())){
sql += " and password like '%"+doctor.getPassword()+"%'";
}
if(!isEmpty(doctor.getRealName())){
sql += " and realName like '%"+doctor.getRealName()+"%'";
}
if(!isEmpty(doctor.getIdCard())){
sql += " and idCard like '%"+doctor.getIdCard()+"%'";
}
if(!isEmpty(doctor.getPhone())){
sql += " and phone like '%"+doctor.getPhone()+"%'";
}
if(!isEmpty(doctor.getSex())){
sql += " and sex like '%"+doctor.getSex()+"%'";
}
if(!isEmpty(doctor.getIsDelete())){
sql += " and isDelete like '%"+doctor.getIsDelete()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<Doctor> pagers = doctorService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", doctor);
return "doctor/doctor";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "doctor/add";
public String findBySqlUser(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
//分页查询
String sql = "SELECT * FROM prescription WHERE 1=1 ";//and isDelete = 0
if(!isEmpty(prescription.getName())){
sql += " and name like '%"+prescription.getName()+"%'";
}
if(!isEmpty(prescription.getElement())){
sql += " and element like '%"+prescription.getElement()+"%'";
}
if(!isEmpty(prescription.getEffect())){
sql += " and effect like '%"+prescription.getEffect()+"%'";
}
if(!isEmpty(prescription.getSource())){
sql += " and source like '%"+prescription.getSource()+"%'";
}
sql += " ORDER BY ID DESC ";
Pager<Prescription> pagers = prescriptionService.findBySqlRerturnEntity(sql);
model.addAttribute("pagers", pagers);
//存储查询条件
model.addAttribute("obj", prescription);
return "prescription/prescriptionUser";
}
/**
* 跳至添加页面
* @return
*/
@RequestMapping(value = "/add")
public String add() {
return "prescription/add";
}
/**
* 添加执行
* @return
*/
@RequestMapping(value = "/exAdd")
public String exAdd(Prescription prescription, Model model, HttpServletRequest request, HttpServletResponse response) {
prescriptionService.insert(prescription);
return "redirect:/prescription/findBySql";
}
/**
* 添加修改
* @return
*/
@RequestMapping(value = "/exUpdate")
public String exUpdate(Dzd dzd, Model model, HttpServletRequest request, HttpServletResponse response) {
//1.通过实体类修改,可以多传修改条件
dzdService.updateById(dzd);
//2.通过主键id修改
//dzdService.updateById(dzd);
return "redirect:/dzd/findBySql";
}
/**
* 删除通过主键
* @return
*/
@RequestMapping(value = "/delete")
public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
///1.通过主键删除
dzdService.deleteById(id);
return "redirect:/dzd/findBySql";
}
}