基于springboot的药品销售管理系统的设计与实现

521 篇文章 7 订阅
49 篇文章 2 订阅

收藏关注不迷路,源码文章末


一、项目介绍

  本系统是通过面向对象的Java语言搭建系统框架,通过关系型数据库MySQL存储数据。使用Spring框架进行药店药品的信息管理,用户只需要通过浏览器访问系统即可获取药店药品信息,并可以在线管理,实现了信息的科学管理与查询统计。本文是先对相关系统的调查和研究,提出了开发系统的意义,运用Java技术开发,满足基于Spring的药品销售管理系统的技术要求,然后分析系统需要实现的功能并进行设计。梳理业务流程,并根据功能设计数据库,最后通过编码实现,介绍实现的关键算法逻辑。在测试阶段通过测试用例来确保系统可以正常运行,并达到前期要求的目的。系统的实施方便了药店药品在线管理,将信息化技术完美的应用在基于Spring的药品销售管理系统中,使得药店药品业务管理变得简单高效。

关键词:药品销售管理;信息技术;Spring;数据库设计

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

基于Spring的药品销售管理系统分为管理员和客户用户。管理员管理药品分类信息、药店药品、客户信息。
药店药品出库入库管理:登记药店药品销售情况,记录药店药品出入库管理。能更好的掌握药品的一个销售情况,利于药店的经营,同时药品的类型多样,药品的分类管理也是非常重要的。
系统维护:对系统的基本信息进行管理。
处方单的上传:生成处方单和上传处方单能够有效解决处方药物的取药,也对于患者能够更加便利。
续购提醒:对于一部分需要长期服用药物的客人,客户登录系统会看到续购提醒是非常重要的,特别是某些顾客需要购买的药物比较多,或者一段时间后不记得购买药物的名称,也能起到提醒服务。

3.3系统用例分析
基于Spring的药品销售管理系统包括管理员和客户。其中系统用例图如3.1所示:

在这里插入图片描述

图3.1系统用例图

基于Spring的药品销售管理系统的设计与实现,使用Java开发Spring结构的框架,前台使用html等技术,数据库存储在MySQL中。系统包括两种角色,管理员和客户。
其中系统功能图如4.1所示。
在这里插入图片描述

图4.1 系统功能模块图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
摘 要…Ⅰ
Abstract Ⅱ
绪论 1
1.1 研究背景 1
1.2 系统开发意义 1
1.3 国内外分析 2
环境搭建和相关技术介绍 3
2.1环境的搭建 3
2.2 相关技术的介绍 4
系统分析 5
3.1可行性分析 5
3.2功能性需求分析 5
3.3系统用例分析 6
3.4系统用例规约 6
3.5系统非功能性需求 8
系统设计 10
4.1系统架构设计 10
4.2系统功能设计 10
4.3数据库设计 12
4.3.1数据库逻辑结构设计 12
4.3.2数据库物理结构设计 12
系统实现 17
5.1系统登录 17
5.2系统主界面实现 18
5.3客户信息管理 19
5.4药店药品管理的实现 19

5.5药店药品入库管理 20
5.6销售出库管理 21
5.7处方单管理 21
5.8续购提醒管理 22
系统测试 23
6.1测试目的和原则 24
6.2功能测试 24
6.3测试结论 25
结束语 27
参考文献 28
致谢 29

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QQ1039692211

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

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

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

打赏作者

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

抵扣说明:

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

余额充值