前言
21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。
论文主要是对便民超市管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对超市管理系统进行了一些具体测试。
本文以java为开发技术,实现了一个超市管理系统。超市管理系统的主要使用者分为管理员;首页、个人中心、营业员管理、商品分类管理、供应商信息管理、商品信息管理、入库登记管理、销售登记管理、报损单管理、签到登记管理、员工请假管理、加班信息管理。营业员端功能:首页、个人中心、商品信息管理、销售登记管理、签到登记管理、员工请假管理、加班信息管理等功能。通过这些功能模块的设计,基本上实现了整个超市管理系统的过程。
关键词 :超市管理系统;java;Mysql数据库;B/S结构
一、项目介绍
随着人们生活节奏的加快,以前传统的购物方式发生了巨大的改变,以前一个超市要想经营好自己的门店,每天都要忙着记账出账,尤其是出库入库统计,如果忙中出乱,可能导致今天所有的营业流水,要重新换算一次,这无非加大了人力物力。随着时代的变迁,超市管理系统软件使用的普及【1】,以上所有的问题,都是为它而打造的,现在不仅是开一家店容易管理,开多家店页变得容易很多,同时它的出现也可以为本店起到宣传的作用。
二、开发环境
开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
三、功能介绍
根据现实需要,此系统我们设计出一下功能,主要有以下功能模板。
(1)注册登录模块:管理员、营业员两端登录对应实现相应功能,每个角色都有自己的账号 密码可以进行登录。
(2)营业员端功能:首页、个人中心、商品信息管理、销售登记管理、签到登记管理、员工请假管理、加班信息管理。
(3)管理员功能:首页、个人中心、营业员管理、商品分类管理、供应商信息管理、商品信息管理、入库登记管理、销售登记管理、报损单管理、签到登记管理、员工请假管理、加班信息管理。
。
系统用例
本系统主要有营业员和管理员等部分组成。
登录模块用例中营业员包括营业员和管理员和两种角色,分别可以进行其对应的身份登录或取消登录,关闭系统。登录用例图如图3-1所示。
3-1登录用例图
(2)营业员模块主要包括首页、个人中心、商品信息管理、销售登记管理、签到登记管理、员工请假管理、加班信息管理等功能,营业员用例图如图3-2所示。
图3-2营业员用例图
(3)管理员通过系统可以实现首页、个人中心、营业员管理、商品分类管理、供应商信息管理、商品信息管理、入库登记管理、销售登记管理、报损单管理、签到登记管理、员工请假管理、加班信息管理等功能。管理员用例图如图3-3所示。
图3-3管理员用例图
本系统设计时,确定详细功能,这些功能主要通过需求阶段的调研分析得来的,具体功能模块如下图,如图4-1所示。
图4-1 系统结构图
数据库表的设计
部分数据库展示
(1)表名:gongyingshangxinxi 功能:供应商信息
(2)表名:baosundan
功能:报损单
四、核心代码
部分代码:
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();
}
}
五、效果图
六、文章目录
目 录
1 概述 3
1.1课题背景及意义 3
1.2 国内外研究现状 3
1.3本论文的结构安排 4
2 系统开发环境 6
2.1 Java介绍 6
2.2 B/S模式 6
2.3 MySQL数据库 7
2.4 ssm框架 7
2.5 Vue开发技术 7
3 系统分析 8
3.1 概述 8
3.2 功能需求 8
3.3 非功能性需求 10
3.4 系统特色 11
3.5 可行性研究 11
3.5.1财务可行性 11
3.5.2技术可行性 12
3.5.3运行可行性 12
3.6系统总体设计 12
3.6.1系统设计结构 12
3.6.2系统架构设计 12
4 系统设计 13
4.1 系统设计主要功能 13
4.1.1体系结构 13
4.1.2 系统功能结构设计 13
4.2 数据库设计 14
4.2.1 数据库设计概述 14
4.2.2 数据库表的设计 15
5 系统界面实现 20
5.1 登录 20
5.2 管理员功能模块 20
5.2.1管理员界面 20
5.2.6系统管理 23
6 系统测试 24
6.1 测试定义 24
6.2 测试目的 24
6.3测试方案 25
6.4系统分析 25
7 总结 26
参考文献 27
致谢 29