基于Java实现的医院药品信息管理系统

基于Java实现的医院药品信息管理系统(文末附源码)

前言

背景:
随着社会的发展,计算机已经基本普及,而且使用计算机有非常巨大的优势,用计算机进行软件开发,再用开发出来的系统来应对各种需求,医院管理系统就是这样应运而生,在医院管理中,药品管理是不可或缺的一部分,开发一款医院药品管理系统势在必行,而且应该主要研究医院药品在软件开发中应该怎么结合实际情况来进行开发。在不同的医院使用不同的医院药品管理系统,能更符合该医院的实际情况,对症下药能更快的解决医院方面,患者方面的急切需求。

    该系统主要是基于Java语言开进行开发的,简要说明一下该系统,该系统登录的用户不同,登录进去后的功能页面也不同,管理员登录进去会有更多的权限,比如审核权限等,另一种是用户,用户相当于只有经办权限,用户进行申请药品后,需要在管理员账号审核。医院药品管理系统的开发,是为了给医院管理提供更加良好的条件,是医院管理系统中较为重要的一部分。

技术

SSM为Spring+SpringMVC+ MyBatis的缩写,由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。

(1)Spring

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

(2)SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

(3)MyBatis

MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis 。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

功能

登录系统:管理员需要输入正确的用户名和密码来登录系统,从而完成各类信息的管理工作;
信息查询:查询客户信息、查询经办人信息、查询药品信息;
信息录入:录入顾客信息、录入经办人信息、录入药品信息;
信息修改:删除顾客信息、删除经办人信息、删除药品信息;
信息浏览:浏览顾客信息、删除经办人信息、删除药品信息;
数据报表:顾客信息报表、经办人信息报表、药品信息报表;
用户管理:管理系统的各个管理员信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

技术栈

基于SSM框架开发。

  • Spring
  • SpringMVC
  • MyBatis
  • MySQL
  • Jquery
  • html
  • Layui

代码

@Controller
@RequestMapping(value = "/billinfo")
public class BillinfoController {
    @Autowired
    private IBillinfoService iBillinfoService;


    /**
     * 转向账单信息页面
     * @return
     */
    @RequestMapping
    public String login(){
        return "/billinfo";
    }

    /**
     * 分页查询账单信息列表
     * @return
     */
    @RequestMapping(value = "/billinfoQueryPage")
    @ResponseBody
    public HashMap<String, Object> billinfoQueryPage(String param, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int limit) {
        try {
            IPage<Billinfo> iPage = iBillinfoService.selectBillinfoPage(page, limit, param);
            return ResultMapUtil.getHashMapMysqlPage(iPage);
        } catch (Exception e) {
            e.printStackTrace();
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 转向账单信息新增页面
     * @return
     */
    @RequestMapping(value = "/billinfoPage")
    public String billinfoPage(){
        return "/billinfoPage";
    }

    /**
     * 添加一个账单信息
     * @return
     */
    @RequestMapping(value = "/billinfoAdd")
    @ResponseBody
    public Object billinfoAdd(Billinfo billinfo){
        try {
//            billinfo(new Date());
            int i = iBillinfoService.addBillinfo(billinfo);

            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e) {
            return ResultMapUtil.getHashMapException(e);
        }
    }

    /**
     * 转向账单信息编辑页面
     * @return
     */
    @RequestMapping(value = "/billinfoQueryById")
    public String billinfoQueryById(@RequestParam(name = "id",required = true) Integer id, Model model){
        Billinfo billinfo = iBillinfoService.queryBillinfoById(id);
        model.addAttribute("obj",billinfo);

        return "/billinfoPage";
    }
    /**
     * 修改一个账单信息
     * @return
     */
    @RequestMapping(value = "/billinfoEdit")
    @ResponseBody
    public Object billinfoEdit(Billinfo billinfo){
        try {
            int i = iBillinfoService.editBillinfo(billinfo);

            return ResultMapUtil.getHashMapSave(i);
        } catch (Exception e) {
            return ResultMapUtil.getHashMapException(e);
        }
    }
    /**
     * 删除一个账单信息
     * @return
     */
    @RequestMapping(value = "/billinfoDelById")
    @ResponseBody
    public Object billinfoDelById(Integer id){
        try {
            int i = iBillinfoService.delBillinfoById(id);

            return ResultMapUtil.getHashMapDel(i);
        } catch (Exception e) {
            return ResultMapUtil.getHashMapException(e);
        }
    }

}
<!DOCTYPE html>
<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>医院药品管理系统</title>
    <link rel="stylesheet" th:href="@{/static/layui/css/layui.css}" media="all">
    <link rel="stylesheet" th:href="@{/static/admin/style.css}" media="all">
</head>
<body>
    <div class="login-main">
        <header class="layui-elip">登录</header>
        <form class="layui-form">
            <div class="layui-input-inline">
                <input type="text" name="username" required lay-verify="required" placeholder="用户名" class="layui-input" autocomplete="off">
            </div>
            <div class="layui-input-inline">
                <input type="password" name="password" required lay-verify="required" placeholder="密码" class="layui-input" autocomplete="off">
            </div>

            <div class="layui-input-inline login-btn">
               <button lay-submit lay-filter="login" class="layui-btn">登录</button>
            </div>

        </form>
    </div>
    <script th:src="@{/static/layui/layui.js}"></script>
    <script>
        layui.use("form",function () {
           var form = layui.form;
           var $ = layui.$;
           //监听提交
            form.on("submit(login)",function (data) {
                console.log("点击了login")
                $.ajax({
                    url:'/toLogin',
                    type:'POST',
                    data:data.field,
                    dataType:'json',
                    success:function (result) {
                        if (result.code == "1"){
                            layer.msg(result.msg,{icon:result.icon,anim:result.anim},function () {
                                location.href = "/index";  // 登陆成功转向后台主页
                            });
                        }else {
                            layer.msg(result.msg,{icon:result.icon,anim:result.anim});
                        }
                    }
                });
                return false;
            });
        });
    </script>
</body>
</html>

数据库

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for billinfo
-- ----------------------------
DROP TABLE IF EXISTS `billinfo`;
CREATE TABLE `billinfo` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `sname` varchar(255) DEFAULT NULL COMMENT '供应商名称',
  `dname` varchar(255) DEFAULT NULL COMMENT '药品名称',
  `count` int(10) DEFAULT NULL COMMENT '数量',
  `total` float(20,2) DEFAULT NULL COMMENT '总金额',
  `buytime` datetime DEFAULT NULL COMMENT '进货时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='账单信息';

-- ----------------------------
-- Records of billinfo
-- ----------------------------
BEGIN;
INSERT INTO `billinfo` VALUES (1, '哈药六厂', '感冒灵', 1, 100.00, '2023-01-07 16:00:00');
COMMIT;

-- ----------------------------
-- Table structure for druginfo
-- ----------------------------
DROP TABLE IF EXISTS `druginfo`;
CREATE TABLE `druginfo` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) DEFAULT NULL COMMENT '名称',
  `supplier` varchar(255) DEFAULT NULL COMMENT '供应商',
  `producttime` datetime DEFAULT NULL COMMENT '生产日期',
  `warrenty` varchar(255) DEFAULT NULL COMMENT '保质期(月)',
  `number` varchar(255) DEFAULT NULL COMMENT '药品编码',
  `price` float(20,2) DEFAULT NULL COMMENT '价格',
  `stock` int(10) DEFAULT NULL COMMENT '库存',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='药品信息';

-- ----------------------------
-- Records of druginfo
-- ----------------------------
BEGIN;
INSERT INTO `druginfo` VALUES (1, '感冒灵', '哈药六厂', '2020-10-09 16:00:00', '12', '1001', 15.58, 99);
INSERT INTO `druginfo` VALUES (5, '羚翘解毒丸', '哈药六厂', '2014-09-05 16:00:00', '24', '1002', 10.50, 100);
INSERT INTO `druginfo` VALUES (6, '人参益母丸', '哈药六厂', '2021-10-04 16:00:00', '24', '1003', 11.50, 100);
INSERT INTO `druginfo` VALUES (7, '启脾丸', '哈药六厂', '2021-10-04 16:00:00', '24', '1004', 13.00, 100);
INSERT INTO `druginfo` VALUES (8, '板兰根', '哈药六厂', '2021-10-04 16:00:00', '24', '1005', 15.00, 100);
INSERT INTO `druginfo` VALUES (9, '三九感冒灵', '哈药六厂', '2021-10-04 16:00:00', '24', '1006', 16.00, 100);
INSERT INTO `druginfo` VALUES (10, '牛黄上清丸', '哈药六厂', '2021-10-04 16:00:00', '24', '1007', 17.00, 100);
INSERT INTO `druginfo` VALUES (11, '华佗再造丸', '哈药六厂', '2021-10-04 16:00:00', '24', '1008', 19.00, 100);
INSERT INTO `druginfo` VALUES (12, '知柏地黄丸', '云南白药', '2021-10-04 16:00:00', '24', '1009', 22.00, 200);
INSERT INTO `druginfo` VALUES (13, '振源胶囊', '云南白药', '2021-10-04 16:00:00', '24', '1010', 100.00, 100);
INSERT INTO `druginfo` VALUES (14, '地奥心血康', '云南白药', '2021-10-04 16:00:00', '24', '1011', 24.00, 100);
INSERT INTO `druginfo` VALUES (15, '双黄连胶囊', '云南白药', '2020-10-04 16:00:00', '12', '1012', 120.00, 100);
INSERT INTO `druginfo` VALUES (16, '仙灵骨葆', '云南白药', '2020-09-04 16:00:00', '12', '1013', 200.00, 30);
COMMIT;

-- ----------------------------
-- Table structure for owinfo
-- ----------------------------
DROP TABLE IF EXISTS `owinfo`;
CREATE TABLE `owinfo` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dname` varchar(255) DEFAULT NULL COMMENT '药品名称',
  `type` varchar(255) DEFAULT NULL COMMENT '出库/入库',
  `count` int(10) DEFAULT NULL COMMENT '数量',
  `operator` varchar(255) DEFAULT NULL COMMENT '操作人',
  `createtime` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='出入库';

-- ----------------------------
-- Records of owinfo
-- ----------------------------
BEGIN;
INSERT INTO `owinfo` VALUES (2, '感冒灵', '入库', 11, '张仲景', '2021-10-04 09:27:38');
COMMIT;

-- ----------------------------
-- Table structure for problem
-- ----------------------------
DROP TABLE IF EXISTS `problem`;
CREATE TABLE `problem` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dname` varchar(255) DEFAULT NULL COMMENT '药品名称',
  `dcount` int(10) DEFAULT NULL COMMENT '问题药品数量',
  `dprice` float(20,2) DEFAULT NULL COMMENT '药品单价',
  `reason` varchar(1000) DEFAULT NULL COMMENT '问题原因',
  `createtime` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='问题药品';

-- ----------------------------
-- Records of problem
-- ----------------------------
BEGIN;
INSERT INTO `problem` VALUES (1, '感冒灵', 11, 15.58, '有破包现象', '2021-10-05 06:46:45');
COMMIT;

-- ----------------------------
-- Table structure for returngoods
-- ----------------------------
DROP TABLE IF EXISTS `returngoods`;
CREATE TABLE `returngoods` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dname` varchar(255) DEFAULT NULL COMMENT '退货药品名称',
  `count` int(10) DEFAULT NULL COMMENT '数量',
  `reason` varchar(1000) DEFAULT NULL COMMENT '退货原因',
  `total` float(20,2) DEFAULT NULL COMMENT '总金额',
  `createtime` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='收到退货';

-- ----------------------------
-- Records of returngoods
-- ----------------------------
BEGIN;
INSERT INTO `returngoods` VALUES (1, '感冒灵', 1, '多发', 10.00, '2022-12-31 16:00:00');
COMMIT;

-- ----------------------------
-- Table structure for returnsupplier
-- ----------------------------
DROP TABLE IF EXISTS `returnsupplier`;
CREATE TABLE `returnsupplier` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dname` varchar(255) DEFAULT NULL COMMENT '药品名称',
  `dcount` int(10) DEFAULT NULL COMMENT '药品数量',
  `sname` varchar(255) DEFAULT NULL COMMENT '供应商名称',
  `buytime` datetime DEFAULT NULL COMMENT '生产时间',
  `reason` varchar(1000) DEFAULT NULL COMMENT '退货原因',
  `createtime` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='退货给供应商';

-- ----------------------------
-- Records of returnsupplier
-- ----------------------------
BEGIN;
INSERT INTO `returnsupplier` VALUES (1, '感冒灵', 1, '哈药六厂', '2023-01-14 16:00:00', '1', NULL);
COMMIT;

-- ----------------------------
-- Table structure for saleinfo
-- ----------------------------
DROP TABLE IF EXISTS `saleinfo`;
CREATE TABLE `saleinfo` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dname` varchar(255) DEFAULT NULL COMMENT '药品名称',
  `dnumber` varchar(255) DEFAULT NULL COMMENT '药品编号',
  `count` int(10) DEFAULT NULL COMMENT '数量',
  `total` float(20,2) DEFAULT NULL COMMENT '金额',
  `operator` varchar(255) DEFAULT NULL COMMENT '操作人',
  `operatetime` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='销售记录';

-- ----------------------------
-- Records of saleinfo
-- ----------------------------
BEGIN;
INSERT INTO `saleinfo` VALUES (1, '感冒灵', '1001', 2, 20.50, '小王', '2021-10-12 16:00:00');
INSERT INTO `saleinfo` VALUES (11, '羚翘解毒丸', '1002', 10, 10.50, '扁鹊', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (12, '人参益母丸', '1003', 30, 11.50, '扁鹊', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (13, '启脾丸', '1004', 20, 13.00, '华佗', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (14, '板兰根', '1005', 10, 15.00, '华佗', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (15, '三九感冒灵', '1006', 20, 16.00, '张仲景', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (16, '牛黄上清丸', '1007', 20, 16.00, '张仲景', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (17, '华佗再造丸', '1008', 10, 19.00, '华佗', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (18, '知柏地黄丸', '1009', 30, 19.00, '张仲景', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (19, '知柏地黄丸', '1009', 10, 20.00, '张仲景', '2021-10-04 16:00:00');
INSERT INTO `saleinfo` VALUES (20, '感冒灵', '1001', 10, 10.50, '扁鹊', '2021-10-05 16:00:00');
COMMIT;

-- ----------------------------
-- Table structure for supplier
-- ----------------------------
DROP TABLE IF EXISTS `supplier`;
CREATE TABLE `supplier` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) DEFAULT NULL COMMENT '供应商名称',
  `content` varchar(1000) DEFAULT NULL COMMENT '供应商描述',
  `createtime` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='供应商';

-- ----------------------------
-- Records of supplier
-- ----------------------------
BEGIN;
INSERT INTO `supplier` VALUES (1, '哈药六厂', '东北很知名的企业之儿', '2021-10-11 16:18:07');
INSERT INTO `supplier` VALUES (3, '云南白药', '云南白药是云南著名的中成药,由云南民间医生曲焕章于1902年研制成功。对跌打损伤、创伤出血有很好的疗效。云南白药由名贵药材制成,具有化瘀止血、活血止痛、解毒消肿之功效。', '2021-10-04 10:20:30');
COMMIT;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(255) DEFAULT NULL COMMENT '用户名',
  `password` varchar(255) DEFAULT NULL COMMENT '密码',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';

-- ----------------------------
-- Records of user
-- ----------------------------
BEGIN;
INSERT INTO `user` VALUES (1, 'admin', 'admin');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

源码

点击免费获取源码&数据库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猿神面试题

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

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

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

打赏作者

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

抵扣说明:

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

余额充值