计算机毕业设计基于SSM的药品仓库管理系统源码分享

前言:我是天码编程,从事计算机开发行业数年,专注Java程序设计开发、源码分享、技术指导和毕业设计
在这里插入图片描述

项目名
基于SSM的药品仓库管理系统

技术栈
Spring+SpringMVC+Mybatis+JSP+Bootstrap+Maven

一、环境介绍

1.1 运行环境

开发语言:Java
数据库:MySQL
系统架构:B/S
后端:SSM(Spring+SpringMVC+Mybatis)
前端:JSP+Bootstrap
工具:IDEA,JDK1.8,Maven

二、系统介绍

药品仓库管理系统是一种专门设计用于药品仓储管理的计算机系统。随着计算机技术的普及,越来越多的企业开始采用数字化管理系统,以提高药品仓库管理的效率和准确性。

随着医药行业的快速发展,药品生产和销售数量的急剧增加,传统的药品仓库管理方法已经无法满足现代仓库管理的需求。此外,国家强制推行GMP认证,要求药品生产过程需要实现标准化、规范化和严格化管理,这也需要药品仓库管理系统来实现。因此,设计一款能够满足现代药品仓库管理需求的数字化管理系统,是非常必要的。

药品仓库管理系统对于保证药品质量、降低管理成本、提高运营效率等方面都具有非常重要的意义。首先,系统可以实现对药品的有效管理,保证药品存储条件符合规定,防止药品受潮、发霉、变质等问题,保证药品质量。其次,系统可以记录药品的入库、出库等操作,减少人为操作失误,避免药品的丢失和损坏。最后,系统可以提高药品仓库的运营效率,加快药品的流通速度,减少库存积压和浪费,降低管理成本。

2.1 功能模块

  • 系统角色:管理员、仓库管理员
  • 管理员:登录、仓库管理员管理、仓库信息管理、货物信息管理、客户信息管理、供应商管理、货物出库、货物入库、库存管理、查询出入库记录、系统日志、登陆日志
  • 仓库管理员:登录、货物出库、货物入库、查看库存、修改密码

2.2 系统架构

B/S架构
前端页面使用JSP+Bootstrap

三、系统展示

3.1部分功能图文展示

登录界面:
在这里插入图片描述
仓库管理员管理:
在这里插入图片描述
仓库信息管理:
在这里插入图片描述
货物信息管理:
在这里插入图片描述
客户信息管理:
在这里插入图片描述
供应商管理:
在这里插入图片描述
货物入库:
在这里插入图片描述
货物出库:
在这里插入图片描述
库存管理:
在这里插入图片描述
查看出入库记录:
在这里插入图片描述
系统日志:
在这里插入图片描述
登陆日志:
在这里插入图片描述

四、部分代码设计

4.1.部分代码如下:

/**
     * 登陆账户
     *
     * @param user 账户信息
     * @return 返回一个 Map 对象,其中包含登陆操作的结果
     */
    @RequestMapping(value = "login", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> login(@RequestBody Map<String, Object> user) {
        // 初始化 Response
        Response response = ResponseFactory.newInstance();
        String result = Response.RESPONSE_RESULT_ERROR;
        String errorMsg = "";

        // 获取当前的用户的 Subject
        Subject currentUser = SecurityUtils.getSubject();

        // 判断用户是否已经登陆
        if (currentUser != null && !currentUser.isAuthenticated()) {
            String id = (String) user.get(USER_ID);
            String password = (String) user.get(USER_PASSWORD);
            Session session = currentUser.getSession();
            UsernamePasswordToken token = new UsernamePasswordToken(id, password);

            try {
                // 执行登陆操作
                currentUser.login(token);

                /* 设置 session 中 userInfo 的其他信息 */
                UserInfoDTO userInfo = (UserInfoDTO) session.getAttribute("userInfo");
                // 设置登陆IP
                userInfo.setAccessIP(session.getHost());
                // 查询并设置用户所属的仓库ID
                List<RepositoryAdmin> repositoryAdmin = (List<RepositoryAdmin>) repositoryAdminManageService.selectByID(userInfo.getUserID()).get("data");
                userInfo.setRepositoryBelong(-1);
                if (!repositoryAdmin.isEmpty()) {
                    Integer repositoryBelong = repositoryAdmin.get(0).getRepositoryBelongID();
                    if (repositoryBelong != null) {
                        userInfo.setRepositoryBelong(repositoryBelong);
                    }
                }

                // 记录登陆日志
                systemLogService.insertAccessRecord(userInfo.getUserID(), userInfo.getUserName(),
                        userInfo.getAccessIP(), SystemLogService.ACCESS_TYPE_LOGIN);

                // 设置登陆成功响应
                result = Response.RESPONSE_RESULT_SUCCESS;

            } catch (UnknownAccountException e) {
                errorMsg = "unknownAccount";
            } catch (IncorrectCredentialsException e) {
                errorMsg = "incorrectCredentials";
            } catch (AuthenticationException e) {
                errorMsg = "authenticationError";
                e.printStackTrace();
            } catch (SystemLogServiceException | RepositoryAdminManageServiceException e) {
                errorMsg = "ServerError";
            } finally {
                // 当登陆失败则清除session中的用户信息
                if (result.equals(Response.RESPONSE_RESULT_ERROR)) {
                    session.setAttribute("userInfo", null);
                }
            }
        } else {
            errorMsg = "already login";
        }

        // 设置 Response
        response.setResponseResult(result);
        response.setResponseMsg(errorMsg);
        return response.generateResponse();
    }

麻烦大家帮忙点赞、收藏、关注、评论啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值