Springboot实例讲解实现宠物医院管理系统流程

项目编号:BS-XX-098

本系统前台面向的用户是客户,客户可以进行预约、浏览医院发布的文章、进入医院商城为宠物购物、如有疑问可以向官方留言、还可以查看关于自己的所有记录信息,如:看病记录、预约记录、疫苗注射记录等。后台面向的用户是医院人员,系统管理员拥有最高权限,可以对所有数据进行管理,为所有的角色分配权限以及创建角色;业务管理员的权限主要是对一些常用数据的维护;医生可以接受客户发布的预约医生的预约单以及处理属于自己的预约单,回答客户的问诊;美容师可以接受客户发布的预约美容的预约单以及处理属于自己的预约单。

本项目核心技术采用Spring Boot+Mybatis;开发工具idea;数据库MySQL5.6;模版引擎采用的是Thymeleaf;安全框架采用Shiro,实现了完整权限系统,Controller方法采用Shiro注解来实现有效的权限控制;前台界面采用了Bootstrap技术;后台界面采用了EasyUI技术;
#### 未注册用户

非注册用户(即游客身份)进入医院官网首页,可以浏览关于医院的宣传以及医院发布的文章,进入医院商城浏览正在发售的商品,搜索已发布的文章和商品,注册以及登录。

#### 已注册用户

注册用户可以修改个人信息和宠物信息,发布预约单(预约医生和美容师),在医院的商城购物,收藏商品,给官方留言,查看与自己相关的记录信息,如:病例记录、预约记录、问诊记录、订单记录等,注销退出系统。

#### 医生

医生可以查看并接受客户发布的未被处理的预约医生的预约单,结束属于自己的预约单,回复客户的网上问诊以及查看自己回复的问诊记录,修改个人密码,安全退出系统。

#### 美容师

美容师可以查看并接受客户发布的未被处理的预约美容师的预约单,结束属于自己的预约单。

#### 业务管理员

业务管理员具有进货管理(包括进货入库、退货出库、进货单据查询、退货单据查询以及当前库存查询)、销售管理(包括销售出库、客户退货入库、销售单据查询、退货单据查询)、库存管理(包括商品报损、商品报溢、库存报警、报损报溢记录查询)、查看统计数据(供应商进退货单统计、客户进退货单统计、按日统计销售利润、按月统计销售利润)、供应商管理、客户管理、商品管理、期初库存管理、前台轮播图管理、设备类型管理、设备管理、设备使用管理、设备使用记录管理、文章类型管理、文章管理、客户留言管理、医院用品管理、医院用品出入库管理、医院用品出入库记录管理、客户消息管理、客户订单处理、客户预约单管理、客户问诊记录管理、病历单管理、化验记录管理、疫苗注射记录管理、客户回访记录管理、寄养记录管理、修改密码、安全退出系统。

#### 系统管理员

系统管理员除了具备业务管理员的所有权限外,还有创建角色并赋予角色权限的功能,还可以查看系统操作日志。

#### 系统自身

系统每天0点自动创建明天的分别属于各个医生或美容师各个时间段的空预约单(未被客户接受的预约单)、每分钟自动筛选出5分钟后过期的空预约单并从数据库删除、每分钟自动筛选和取消客户提交的超过一天未支付的订单并释放库存、每天凌晨1点自动将发布日期超过3个月的商品的"新品"标签去掉、医院上班后(8点)系统自动给当天有预约的客户发送提醒消息

下面展示一下系统的整体功能:

前端首页

商城首页

前端用户登陆注册

个人中心

个人订单

预约医生

客户服务功能

添加到购物车

提交订单

支付订单

新闻文章

后台管理功能

进货管理

销售管理

库存管理

统计报表

基础数据管理

预约单管理

看病服务模块

系统管理模块

具体的角色就不再一一展示了,不同的用户可以根据后台设定不同的操作权限,整体系统的功能非常强大,几乎包含了宠物商城、宠物看病就医、宠物进销存等管理的所有功能模块,可以根据自己的需求选择一部分功能进行使用!

比如医生登陆后:

系统工程结构:

部分核心代码:

package com.ledao.controller;
import com.ledao.entity.Article;
import com.ledao.service.ArticleService;
import com.ledao.service.ArticleTypeService;
import com.ledao.util.PageUtil;
import com.ledao.util.StringUtil;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * @author 指南针
 * @company
 * @create 2022-01-27 19:04
 */
@Controller
@RequestMapping("/article")
public class ArticleController {
    @Resource
    private ArticleService articleService;
    @Resource
    private ArticleTypeService articleTypeService;
    @RequestMapping("/search")
    public ModelAndView search(@Valid Article searchArticle, BindingResult bindingResult) {
        ModelAndView mav = new ModelAndView();
        if (bindingResult.hasErrors()) {
            mav.addObject("error", bindingResult.getFieldError().getDefaultMessage());
            mav.addObject("title", "首页");
            mav.addObject("mainPage", "page/indexFirst");
        } else {
            Map<String, Object> map = new HashMap<>(16);
            map.put("title", StringUtil.formatLike(searchArticle.getTitle()));
            List<Article> articleList = articleService.list(map);
            mav.addObject("articleList", articleList);
            mav.addObject("title", "关于(" + searchArticle.getTitle() + ")的文章");
            mav.addObject("mainPage", "page/article/articleResult");
            mav.addObject("mainPageKey", "#b");
            mav.addObject("searchArticle", searchArticle);
            mav.addObject("total", articleList.size());
        }
        mav.setViewName("index");
        return mav;
    }
    /**
     * 分页分类查询文章信息
     *
     * @param page
     * @param typeId
     * @return
     */
    @RequestMapping("/list/{id}")
    public ModelAndView list(@PathVariable(value = "id", required = false) Integer page, @RequestParam(value = "typeId", required = false) Integer typeId) {
        ModelAndView mav = new ModelAndView();
        Map<String, Object> map = new HashMap<>(16);
        String typeName = articleTypeService.findById(typeId).getName();
        map.put("typeId", typeId);
        int pageSize = 7;
        map.put("start", (page - 1) * pageSize);
        map.put("size", pageSize);
        List<Article> articleList = articleService.list(map);
        Long total = articleService.getCount(map);
        mav.addObject("typeName", typeName);
        mav.addObject("title", "文章列表(" + typeName + ")");
        mav.addObject("articleList", articleList);
        mav.addObject("total", total);
        mav.addObject("pageCode", PageUtil.genPagination("/article/list", total, page, pageSize, typeId));
        mav.addObject("mainPage", "page/article/articleList");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 根据id获取文章详细信息
     *
     * @param id
     * @return
     */
    @RequestMapping("/{id}")
    public ModelAndView view(@PathVariable(value = "id", required = false) Integer id) {
        ModelAndView mav = new ModelAndView();
        Article article = articleService.findById(id);
        article.setClick(article.getClick()+1);
        articleService.update(article);
        mav.addObject("typeName", articleTypeService.findById(article.getTypeId()).getName());
        mav.addObject("article", article);
        mav.addObject("title", article.getTitle());
        mav.addObject("pageCode", this.getLastAndNextArticle(articleService.getLast(id), articleService.getNext(id)));
        mav.addObject("mainPage", "page/article/articleView");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 获取上一篇文章和下一篇文章
     *
     * @param lastArticle
     * @param nextArticle
     * @return
     */
    private String getLastAndNextArticle(Article lastArticle, Article nextArticle) {
        StringBuffer pageCode = new StringBuffer();
        if (lastArticle == null || lastArticle.getId() == null) {
            pageCode.append("<p>上一篇:没有了</p>");
        } else {
            pageCode.append("<p>上一篇:<a href='/article/" + lastArticle.getId() + "'>" + lastArticle.getTitle() + "</a></p>");
        }
        if (nextArticle == null || nextArticle.getId() == null) {
            pageCode.append("<p>下一篇:没有了</p>");
        } else {
            pageCode.append("<p>下一篇:<a href='/article/" + nextArticle.getId() + "'>" + nextArticle.getTitle() + "</a></p>");
        }
        return pageCode.toString();
    }
}
package com.ledao.controller;
import com.ledao.entity.*;
import com.ledao.service.*;
import com.ledao.util.PageUtil;
import com.ledao.util.StringUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 前台客户商品评论Controller层
 *
 * @author 指南针
 * @company
 * @create 2022-05-27 23:04
 */
@Controller
@RequestMapping("/comment")
public class CommentController {
    @Resource
    private CommentService commentService;
    @Resource
    private GoodsService goodsService;
    @Resource
    private SaleListGoodsService saleListGoodsService;
    @Resource
    private ReturnListGoodsService returnListGoodsService;
    @Resource
    private GoodsTypeService goodsTypeService;
    @Resource
    private CustomerService customerService;
    @Resource
    private FavoriteService favoriteService;
    /**
     * 我的化验记录
     *
     * @param page
     * @param session
     * @return
     */
    @RequestMapping("/myComment/list/{id}")
    public ModelAndView myComment(@PathVariable(value = "id", required = false) Integer page, HttpSession session) {
        ModelAndView mav = new ModelAndView();
        Map<String, Object> map = new HashMap<>(16);
        int pageSize = 4;
        map.put("start", (page - 1) * pageSize);
        map.put("size", pageSize);
        Customer currentCustomer = (Customer) session.getAttribute("currentCustomer");
        map.put("customerId", currentCustomer.getId());
        List<Comment> commentList = commentService.list(map);
        for (Comment comment : commentList) {
            comment.setGoods(goodsService.findById(comment.getGoodsId()));
            comment.setSaleListGoods(saleListGoodsService.findById(comment.getSaleListGoodsId()));
            comment.setSaleList(comment.getSaleListGoods().getSaleList());
        }
        Long total = commentService.getCount(map);
        mav.addObject("commentList", commentList);
        mav.addObject("total", total);
        mav.addObject("pageCode", PageUtil.genPagination2("/comment/myComment/list", total, page, pageSize));
        mav.addObject("title", "我的评论");
        mav.addObject("mainPage", "page/comment/myComment");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 跳转到客户评价商品界面
     *
     * @param saleListGoodsId
     * @return
     */
    @RequestMapping("/commentPage")
    public ModelAndView commentPage(Integer saleListGoodsId) {
        ModelAndView mav = new ModelAndView();
        SaleListGoods saleListGoods = saleListGoodsService.findById(saleListGoodsId);
        Goods goods = goodsService.findById(saleListGoods.getGoodsId());
        mav.addObject("saleListGoods", saleListGoods);
        mav.addObject("goods", goods);
        mav.addObject("title", "评价商品");
        mav.addObject("mainPage", "page/comment/commentPage");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 添加商品评价
     *
     * @param comment
     * @return
     */
    @RequestMapping("/save")
    public String save(Comment comment, HttpSession session) {
        Customer currentCustomer = (Customer) session.getAttribute("currentCustomer");
        comment.setCustomerId(currentCustomer.getId());
        commentService.add(comment);
        SaleListGoods saleListGoods = saleListGoodsService.findById(comment.getSaleListGoodsId());
        saleListGoods.setStatus(1);
        saleListGoodsService.update(saleListGoods);
        return "redirect:/comment/myComment/list/1";
    }
    /**
     * 查看评价详情
     *
     * @param commentId
     * @return
     */
    @RequestMapping("/commentDetails")
    public ModelAndView commentDetails(Integer commentId) {
        Comment comment = commentService.findById(commentId);
        comment.setGoods(goodsService.findById(comment.getGoodsId()));
        ModelAndView mav = new ModelAndView();
        mav.addObject("comment", comment);
        mav.addObject("title", "查看评价详情");
        mav.addObject("mainPage", "page/comment/commentDetails");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping("/customerComment/list/{id}")
    public ModelAndView customerComment(@PathVariable(value = "id", required = false) Integer page, Integer goodsId, HttpSession session) {
        ModelAndView mav = new ModelAndView();
        Map<String, Object> map = new HashMap<>(16);
        int pageSize = 4;
        map.put("start", (page - 1) * pageSize);
        map.put("size", pageSize);
        map.put("goodsId", goodsId);
        List<Comment> commentList = commentService.list(map);
        for (Comment comment : commentList) {
            comment.setCustomer(customerService.findById(comment.getCustomerId()));
        }
        Long total = commentService.getCount(map);
        List<GoodsType> goodsTypeList = goodsTypeService.findByParentId(1);
        for (GoodsType goodsType : goodsTypeList) {
            goodsType.setSmallGoodsTypeList(goodsTypeService.findByParentId(goodsType.getId()));
        }
        Map<String, Object> map2 = new HashMap<>(16);
        map.put("typeId", goodsService.findById(goodsId).getType().getId());
        List<Goods> goodsList = goodsService.list(map2);
        Collections.shuffle(goodsList);
        goodsList.remove(goodsService.findById(goodsId));
        Goods goods = goodsService.findById(goodsId);
        this.setGoodsFavorite(goods,session);
        mav.addObject("allSaleTotal", saleListGoodsService.getSaleCount(goods.getId()) - returnListGoodsService.getReturnCount(goods.getId()));
        mav.addObject("goodsTypeList", goodsTypeList);
        mav.addObject("goods", goods);
        mav.addObject("commentList", commentList);
        mav.addObject("recommendGoodsList", goodsList);
        mav.addObject("total", total);
        mav.addObject("pageCode", PageUtil.genPagination3("/comment/customerComment/list", total, page, pageSize,goodsId));
        mav.addObject("title", "客户评价");
        mav.addObject("mainPage", "page/comment/customerComment");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 给商品设置是否已收藏标签(0否,1是)
     *
     * @param goods
     */
    private void setGoodsFavorite(Goods goods, HttpSession session) {
        Map<String, Object> map = new HashMap<>(16);
        map.put("customer", session.getAttribute("currentCustomer"));
        List<Favorite> favoriteList = favoriteService.list(map);
        for (Favorite favorite : favoriteList) {
            if (goods.getId().equals(favorite.getGoods().getId())) {
                goods.setIsFavorite(1);
            }
        }
    }
}
package com.ledao.controller;
import com.ledao.entity.Customer;
import com.ledao.entity.Log;
import com.ledao.entity.Pet;
import com.ledao.service.CustomerService;
import com.ledao.service.LogService;
import com.ledao.service.PetService;
import com.ledao.util.DateUtil;
import com.ledao.util.PageUtil;
import org.apache.commons.io.FileUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import javax.validation.Valid;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 前台客户Controller层
 *
 * @author 指南针
 * @company
 * @create 2022-01-30 14:57
 */
@Controller
@RequestMapping("/customer")
public class CustomerController {
    @Value("${customerImageFilePath}")
    private String customerImageFilePath;
    @Resource
    private CustomerService customerService;
    @Resource
    private PetService petService;
    /**
     * 添加或者修改客户信息
     *
     * @param customer
     * @return
     */
    @RequestMapping("/save")
    public ModelAndView save(Customer customer, @RequestParam("customerImage") MultipartFile file, HttpSession session) throws Exception {
        if (!file.isEmpty()) {
            if (customer.getId() != null) {
                FileUtils.deleteQuietly(new File(customerImageFilePath + customerService.findById(customer.getId()).getImageName()));
            }
            // 获取上传的文件名
            String fileName = file.getOriginalFilename();
            // 获取文件的后缀
            String suffixName = fileName.substring(fileName.lastIndexOf("."));
            String newFileName = DateUtil.getCurrentDateStr2() + suffixName;
            FileUtils.copyInputStreamToFile(file.getInputStream(), new File(customerImageFilePath + newFileName));
            customer.setImageName(newFileName);
        }
        if (customer.getId() == null) {
            customerService.add(customer);
            ModelAndView mav = new ModelAndView("redirect:/login");
            mav.addObject("successRegister", true);
            mav.addObject("title", "用户登录");
            mav.addObject("mainPage", "page/login");
            mav.addObject("mainPageKey", "#b");
            return mav;
        } else {
            customerService.update(customer);
            ModelAndView mav = new ModelAndView("redirect:/customer/personalCenter");
            mav.addObject("successModify", true);
            mav.addObject("title", "个人中心");
            mav.addObject("mainPage", "page/customer/personalCenterFirst");
            customer.setImageName(customerService.findById(customer.getId()).getImageName());
            session.setAttribute("currentCustomer", customer);
            mav.addObject("mainPageKey", "#b");
            return mav;
        }
    }
    /**
     * 客户登录
     *
     * @param customer
     * @param bindingResult
     * @param session
     * @return
     */
    @RequestMapping("/login")
    public ModelAndView login(@Valid Customer customer, BindingResult bindingResult, HttpSession session) {
        ModelAndView mav = new ModelAndView();
        if (bindingResult.hasErrors()) {
            mav.addObject("customer", customer);
            mav.addObject("error", bindingResult.getFieldError().getDefaultMessage());
            mav.addObject("title", "用户登录");
            mav.addObject("mainPage", "page/login");
        } else {
            List<Customer> customerList = customerService.findByUserName(customer.getUserName());
            if (customerList.size() != 0) {
                Customer currentCustomer = customerService.findByUserName(customer.getUserName()).get(0);
                if (currentCustomer.getPassword().equals(customer.getPassword())) {
                    session.setAttribute("currentCustomer", currentCustomer);
                    mav.addObject("successLogin", true);
                    mav.addObject("title", "首页");
                    mav.addObject("mainPage", "page/indexFirst");
                } else {
                    mav.addObject("successLogin", false);
                    mav.addObject("title", "用户登录");
                    mav.addObject("mainPage", "page/login");
                }
            } else {
                mav.addObject("successLogin", false);
                mav.addObject("title", "用户登录");
                mav.addObject("mainPage", "page/login");
            }
        }
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 退出登录返回的页面
     *
     * @param session
     * @return
     */
    @RequestMapping("/logout")
    public ModelAndView logout(HttpSession session) {
        session.invalidate();
        ModelAndView mav = new ModelAndView("");
        mav.addObject("title", "用户登录");
        mav.addObject("mainPage", "page/indexFirst");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 跳转到修改个人中心页面
     *
     * @return
     */
    @RequestMapping("/personalCenter")
    public ModelAndView personalCenter() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("title", "个人中心");
        mav.addObject("mainPage", "page/customer/personalCenterFirst");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 跳转到修改个人信息页面
     *
     * @return
     */
    @RequestMapping("/personalCenter/ModifyMessage")
    public ModelAndView personalCenterModifyMessage() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("title", "修改个人信息");
        mav.addObject("mainPage", "page/customer/personalCenterModifyMessage");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 客户注册时判断用户名是否已经存在
     *
     * @param userName
     * @return
     */
    @ResponseBody
    @RequestMapping("/existUserWithUserName")
    public Map<String, Object> existUserWithUserName(String userName) {
        Map<String, Object> resultMap = new HashMap<>(16);
        Long count = customerService.getCountByUserName(userName);
        if (count != 0) {
            resultMap.put("success", true);
        } else {
            resultMap.put("success", false);
        }
        return resultMap;
    }
    /**
     * 查看我的宠物
     *
     * @return
     */
    @RequestMapping("/myPet/list/{id}")
    public ModelAndView myPet(@PathVariable(value = "id", required = false) Integer page, HttpSession session) {
        ModelAndView mav = new ModelAndView();
        Map<String, Object> map = new HashMap<>(16);
        int pageSize = 3;
        map.put("start", (page - 1) * pageSize);
        map.put("size", pageSize);
        map.put("customer", session.getAttribute("currentCustomer"));
        List<Pet> petList = petService.list(map);
        Long total = petService.getCount(map);
        mav.addObject("petList", petList);
        mav.addObject("total", total);
        mav.addObject("pageCode", PageUtil.genPagination2("/customer/myPet/list", total, page, pageSize));
        mav.addObject("title", "我的宠物");
        mav.addObject("mainPage", "page/customer/myPet");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 添加宠物信息页面
     *
     * @return
     */
    @RequestMapping("/petAdd")
    public ModelAndView petAdd() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("title", "添加宠物信息");
        mav.addObject("mainPage", "page/customer/petAdd");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 修改宠物信息页面
     *
     * @param petId
     * @return
     */
    @RequestMapping("/petModify")
    public ModelAndView petModify(Integer petId) {
        Pet pet = petService.findById(petId);
        ModelAndView mav = new ModelAndView();
        mav.addObject("pet", pet);
        mav.addObject("title", "修改宠物信息");
        mav.addObject("mainPage", "page/customer/petModify");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
    /**
     * 查看宠物信息页面
     *
     * @param petId
     * @return
     */
    @RequestMapping("/petDetails")
    public ModelAndView petDetails(Integer petId) {
        Pet pet = petService.findById(petId);
        ModelAndView mav = new ModelAndView();
        mav.addObject("pet", pet);
        mav.addObject("title", "查看宠物信息");
        mav.addObject("mainPage", "page/customer/petDetails");
        mav.addObject("mainPageKey", "#b");
        mav.setViewName("index");
        return mav;
    }
}

到此这篇关于Springboot实例讲解实现宠物医院管理系统流程的文章就介绍到这了,更多相关Springboot宠物医院管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现医院管理系统

    本文实例为大家分享了Java实现医院管理系统的具体代码,供大家参考,具体内容如下 1.开发工具 NetBeans8.2 Mysql5.7 mysql-connector-java-5.1.6.jar 2.演示 登录界面 增删查改界面 3.源码 CREATE TABLE user ( username varchar(255) NOT NULL, password varchar(255) DEFAULT NULL, PRIMARY KEY (username) ) ENGINE=InnoDB D

  • Java+Swing实现医院管理系统的完整代码

    一.系统介绍 本系统实现的以下功能 管理员功能:登录系统.病人信息的增删改查.就医档案的录入.医生信息的增删改查.科室信息的增删改查.收费统计功能.修改密码. 医生功能:登录系统.病人信息的增删改查.医生信息的增删改查.科室信息的增删改查.收费统计功能.修改密码. 收费员功能:价格管理.收费管理.修改密码. JDK版本:1.8 数据库:Mysql8.0.13 数据库用到的表 cashier charge department doctor drugtable manager medical_re

  • Java实战之医院管理系统的实现

    目录 项目介绍 环境需要 技术栈 使用说明 效果图展示 核心代码 用户管理控制层 医生管理控制层 病房管理控制层 项目介绍 医院管理系统,分为管理员.医生.病人三种角色: 管理员主要功能包括: 首页.系统管理:医生管理.患者管理.药品管理:预约管理:病史管理:住院信息管理:管理员用户管理: 医生主要功能包括:首页.就医/查看病史: 病人主要功能包括:首页.病史.住院信息.挂号: 环境需要 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. 2.IDE环境

  • Java 实战项目锤炼之医院门诊收费管理系统的实现流程

    一.项目简述 功能:登录,门诊划价,收费,报表,药品管理等等功能. 二.项目运行 运行环境: Jdk1.8 + Tomcats . 5 + mysql + Eclispe ( IntelliJ IDEA ,Eclispe , MyEclispe , sts 都支持). 项目技术: JSP + Entity + Servlert + html + css + Javascript + JQuery + Ajax +「 ileupload 等等. 药品操作代码: //药品操作 @Controller

  • Springboot实例讲解实现宠物医院管理系统流程

    项目编号:BS-XX-098 本系统前台面向的用户是客户,客户可以进行预约.浏览医院发布的文章.进入医院商城为宠物购物.如有疑问可以向官方留言.还可以查看关于自己的所有记录信息,如:看病记录.预约记录.疫苗注射记录等.后台面向的用户是医院人员,系统管理员拥有最高权限,可以对所有数据进行管理,为所有的角色分配权限以及创建角色:业务管理员的权限主要是对一些常用数据的维护:医生可以接受客户发布的预约医生的预约单以及处理属于自己的预约单,回答客户的问诊:美容师可以接受客户发布的预约美容的预约单以及处理属

  • Springboot实例讲解实现专业材料认证管理系统流程

    目录 一,项目简介 二,环境介绍 三,系统展示 四,核心代码展示 五,项目总结 一,项目简介 这是一个基于java的毕业设计项目,毕设课题为springboot框架的知识产权服务平台系统, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+springboot+mybatis, 知识产权服务平台系统采用mysql进行数据存储, 并基于mybatis进行了orm实体关系映射, 该知识产权服务平台系统系统通过模块化实现,支持多角色权限管理系统,

  • Springboot详解实现食品仓库管理系统流程

    目录 一,项目简介 二,环境介绍 三,系统展示 3.1 系统功能模块设计 3.1.1 登录模块 3.1.2 客户管理模块 3.1.3 供应商管理功能 3.1.4 商品管理模块 3.1.5 商品进货管理模块 3.1.6 商品退货信息查询模块 四,核心代码展示 五,项目总结 一,项目简介 经过调查研究进行开发设计的这款仓库管理系统,主要是为商家提供商品货物进销存的信息化管理,以便让商家在竞争如此激烈的今天占据一定的优势和商机,通过信息化技术手段的应用来减少库存,提升周转率,降低成本,提高盈利. 仓库

  • Springboot与vue实例讲解实现前后端分离的人事管理系统

    目录 一,项目简介 二,环境介绍 三,系统展示 四,核心代码展示 五,项目总结 一,项目简介 系统是前后端分离的项目,直接启动Springboot应用程序类后,再启动前端工程访问即可.主要实现了企业的人事管理功能,主要包含员工管理.薪资管理.职位管理.权限管理.网盘文件分享管理等模块. 系统亮点:使用REDIS进行数据缓存,优化查询性能:使用分布式文件系统进行文件存储服务:基于Springboot+vue实现前后端分离开发 二,环境介绍 语言环境:Java: jdk1.8 数据库:Mysql:

  • Java实战宠物医院预约挂号系统的实现流程

    一.项目简述 功能包括: 用户分为宠物,医生,管理员,宠物主人可进行注册选择医生挂号,选择日期,选择号源,医生可进行宠物接诊,管理员可对宠物,医生信息的维护等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery +

  • python用户管理系统的实例讲解

    学Python这么久了,第一次写一个这么多的代码(我承认只有300多行,重复的代码挺多的,我承认我确实垃圾),但是也挺不容易的 自定义函数+装饰器,每一个模块写的一个函数 很多地方能用装饰器(逻辑跟不上,有的地方没用),包括双层装饰器(不会),很多地方需要优化,重复代码太多 我还是把我的流程图拿出来吧,虽然看着比上次的垃圾,但是我也做了一个小时,不容易! 好像是挺丑的(表示不会画,但我下次一定努力) 用户文件: 文件名为:user.txt 1代表管理员用户 2代表普通用户 smelond|adm

  • springboot的java配置方式(实例讲解)

    1.创建User实体类. @Data public class User { private String username; private String password; private Integer age; } 2.创建UserDao用于模拟数据库交互. public class UserDao{ public List<User> queryUserList() { List<User> result = new ArrayList<User>(); //

  • SpringBoot RestTemplate GET POST请求的实例讲解

    一)RestTemplate简介 RestTemplate是HTTP客户端库提供了一个更高水平的API.主要用于Rest服务调用. RestTemplate方法: 方法组 描述 getForObject 通过GET检索表示形式. getForEntity ResponseEntity通过使用GET 检索(即状态,标头和正文). headForHeaders 通过使用HEAD检索资源的所有标头. postForLocation 通过使用POST创建新资源,并Location从响应中返回标头. po

  • python中Pexpect的工作流程实例讲解

    1.工作流程步骤 (1)用spawn来执行一个程序: (2)用expect方法来等待指定的关键字,这个关键字是被执行的程序打印到标准输出上面的: (3)当发现这个关键字以后,使用send/sendline方法发送字符串给这个程序. 2.实例 spawn类 class spawn(SpawnBase): '''This is the main class interface for Pexpect. Use this class to start and control child applica

  • Java实现商品管理系统代码实例讲解

    实现功能:商品查询,新增,更改价格,以及删除 首先是三个基本类的构建 商品类.账号类.品牌类 1.商品类 public class Goods { //商品信息:商品名称,商品价格,商品销量,商品种类,商品品牌对应编号 private String goodsName; private double goodsPrice; private int goodsSales; private String goodsCategories; private int brandsNum; private

随机推荐