基于SpringBoot实现驻马店市ERP药品管理系统

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业讲师以及同行交流合作

主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等

业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号:BS-XX-268

一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

开发技术:SpringBoot+HTML5

二,项目简介

本次课题主要研究如何基于所学的软件开发技术,实现驻马店市ERP药品管理系统的设计。随着计算机信息化技术的普及,以及互联网的快速发展和应用,各行业都在使用信息化技术来提升和改造传统的业务流程,意图通过信息化来提升数据管理的效能,实现数字化运营。驻马店市属于河南的地级市,处于黄河淮河交界之处,物流交通四通发达。通过ERP资源管理系统的创建,可以更好的为驻马店市的各类药品经销商来进行服务,从而有效的管理药品的进货、出货、库存等信息。

本系统使用Java语言开发实现,主要采用SpringBoot框架技术和MyBatis持久化技术来进行开发系统后台,前端主要使用HTML和Layui框架来完成页面布局,并通过异步交互处理的方式实现前后端数据交互。整体业务数据采用MySQL数据库存储实现。

系统经过文献查找和相关同类系统的学习,分析并实现了主要的业务功能模块。包含权限管理、角色管理和用户管理,从而为系统提供了灵活的角色权限分配体系,可以根据客户需要创建相应的角色并为其分配相关的操作模块。同时实现了药品管理、供应商管理、客户管理,以及药品的进货、销售、库存、退货等业务功能的实现。整个系统经过最终的集成测,根据前期的功能需求分析进行对照,完整实现了前期的相关功能要求。

近年来,数字化与信息化已逐渐成为各行业发展的必然趋势,众多公司无论规模大小都在迅速崭露头角。其中,生产经营管理企业,尤其是大型超市与药品工厂,均有着丰富的产品生产和销售经验。这些企业的药品需妥善存放于仓库之中,以确保其安全与有效。然而,随着超市和工厂规模的不断扩大,产品数量日益增多,产品种类也在不断更新与丰富,与之相关的信息量更是成倍增长。面对如此庞大的产品信息,如何有效地进行库存管理,对这些企业来说显得至关重要。药品ERP管理的关键在于销售信息的及时反馈,这对于提升超市和工厂的运营效率至关重要。

在当前的数字时代,为了加速药品ERP管理员的工作效率,我们必须借助计算机的力量。通过计算机技术,我们可以使货物数据的管理更加简便、精准,确保信息的实时更新与共享。正是基于这样的需求与背景,开发一套高效、实用的药品ERP管理系统变得尤为迫切。

本文旨在研究如何利用计算机对仓库中的大量数据进行高效处理与管理,以期为药品ERP管理系统的开发提供有力的理论支持和实践指导。通过深入研究和探讨,我们期望能够为企业的库存管理带来革命性的变革,推动其向更加高效、智能的方向发展。药品ERP管理涉及产品进出仓库、销售人员和客户等各个方面。如何管理这些信息数据是一项复杂的系统工程,它充分考验着药品ERP管理员的工作能力。可以想象,工作量很重。因此,需要设计出一套药品ERP管理系统来提高库存管理的效率,这对于规范管理、数据统计、快速查询信息、减少管理工作量、调动员工积极性、提高生产效率具有重要的现实意义。

三,系统展示

四,核心代码展示

package com.company.stock.sys.controller;

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.LineCaptcha;
import com.company.stock.sys.service.ILoginfoService;
import com.company.stock.sys.service.IRoleService;
import com.company.stock.sys.common.ActiverUser;
import com.company.stock.sys.common.ResultObj;
import com.company.stock.sys.common.WebUtils;
import com.company.stock.sys.entity.Loginfo;
import com.company.stock.sys.vo.UserVo;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Date;


@RestController
@RequestMapping("login")
public class  LoginController {

    @Autowired
    private ILoginfoService loginfoService;

    @Autowired
    private IRoleService roleService;

    @RequestMapping("login")
    public ResultObj login(UserVo userVo, String code, HttpSession session){

        //获得存储在session中的验证码
        String sessionCode = (String) session.getAttribute("code");
        if (code!=null&&sessionCode.equals(code)){
            Subject subject = SecurityUtils.getSubject();
            AuthenticationToken token = new UsernamePasswordToken(userVo.getLoginname(),userVo.getPwd());
            try {
                //对用户进行认证登陆
                subject.login(token);
                //通过subject获取以认证活动的user
                ActiverUser activerUser = (ActiverUser) subject.getPrincipal();
                //将user存储到session中
                WebUtils.getSession().setAttribute("user",activerUser.getUser());
                //查询当前用户拥有的角色
               /* List<Integer> currentUserRoleIds = roleService.queryUserRoleIdsByUid(activerUser.getUser().getId());
                WebUtils.getSession().setAttribute("roles",activerUser.getRoles());
                System.out.println("roles:"+activerUser.getRoles());*/
                //记录登陆日志
                Loginfo entity = new Loginfo();
                entity.setLoginname(activerUser.getUser().getName()+"-"+activerUser.getUser().getLoginname());
                entity.setLoginip(WebUtils.getRequest().getRemoteAddr());
                entity.setLogintime(new Date());
                loginfoService.save(entity);

                return ResultObj.LOGIN_SUCCESS;
            } catch (AuthenticationException e) {
                e.printStackTrace();
                return ResultObj.LOGIN_ERROR_PASS;
            }
        }else {
            return ResultObj.LOGIN_ERROR_CODE;
        }

    }

    /**
     * 得到登陆验证码
     * @param response
     * @param session
     * @throws IOException
     */
    @RequestMapping("getCode")
    public void getCode(HttpServletResponse response, HttpSession session) throws IOException{
        //定义图形验证码的长和宽
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36,4,5);
        session.setAttribute("code",lineCaptcha.getCode());
        try {
            ServletOutputStream outputStream = response.getOutputStream();
            lineCaptcha.write(outputStream);
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

猜你喜欢

转载自blog.csdn.net/znzbs/article/details/143248273