ssm+vue787基于BS的超市商品管理系统的设计与实现


博主介绍:专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1600+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍  翰文编程CSDN博客翰文编程-CSDN博客
文末下方有源码获取地址

ssm+vue787基于BS的超市商品管理系统的设计与实现(包含源码+文档)轻松搞定毕设作业-java项目-java基础-java开发-web-前端

3.1系统功能结构设计

系统的功能结构是采用树形图来绘制功能设计。根据分析所得,本系统的功能设计为管理员和销售员工、采购员工三部分。管理员为高级角色,可以管理系统里的所有信息,包括员工信息。本基于B/S的超市商品管理系统的功能结构设计图如下图3-1所示:  

图3-1基于B/S的超市商品管理系统功能结构图

3.2数据库设计

  数据库为数据的仓库,决定了数据的保存和修改、删除、调用等。数据库的稳定决定了系统里数据的安全。本系统采用Mysql数据库,在建立数据库时采用Root用户名。数据库的建立过程为先进行数据的ER图设计然后进行数据库表的实现。

3.2.1数据ER图设计

数据ER图中记录了关系、实体、属性。实体与实体的关系决定了数据在调用时的正确与否,实体的属性决定了该实体的内容。数据ER图的设计同样重要,也是数据库建立的基础。

通过系统中的功能数据分析,本系统的实体主要有员工、管理员、商品信息、销售信息、采购信息等。

  1. 管理员的ER图中的属性有账号、密码、权限。管理员ER图如下图3-2所示:

图3-2管理员ER图

  1. 员工的ER图里的属性有账号、姓名、编号等,员工的ER图如下图3-3所示:

图3-3员工ER图

  1. 商品信息的ER图里的属性有名称、类别、图片、价格、数量等,商品的ER图如下图3-4所示:

图3-4商品信息ER图

(4)采购的ER图里的属性有名称、编号、供应商、负责人等,采购ER图如下图3-5所示:

图3-5采购ER图

(5)销售信息ER图里的属性有编号、名称、价格、操作员、库存、数量等,销售信息ER图如下图3-6所示:

图3-6销售信息ER图

3.2.2数据库表设计

数据库表是把ER图进行详细化、实体化。不同的表名下保存着相对应的表信息数据。在数据库表里记录着数据的主键、外键、数据类型、长度等。本基于B/S的超市商品管理系统所创建的数据库表有管理员信息表、员工信息表、商品信息表、库存信息表、进货入库信息表等。本基于B/S的超市商品管理系统的数据库表如下表3-1—3-11所示:

表3-1 caigoujinhuo

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

shangpin_id

int

11

3

gongyingshang_id

int

11

4

caigouyuangong_id

int

11

5

caigoujinhuo_uuid_number

varchar

200

6

caigoujinhuo_number

int

11

7

caigoujinhuo_content

text

8

insert_time

timestamp

9

create_time

timestamp

表3-2 caigoutuihuo

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

shangpin_id

int

11

3

caigouyuangong_id

int

11

4

caigoutuihuo_uuid_number

varchar

200

5

caigoutuihuo_number

int

11

6

caigoutuihuo_content

text

7

insert_time

timestamp

8

create_time

timestamp

表3-3 caigouyuangong

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

username

varchar

200

3

password

varchar

200

4

caigouyuangong_uuid_number

varchar

200

5

caigouyuangong_name

varchar

200

6

caigouyuangong_phone

varchar

200

7

caigouyuangong_id_number

varchar

200

8

caigouyuangong_photo

varchar

200

9

sex_types

int

11

10

caigouyuangong_email

varchar

200

11

create_time

timestamp

表3-4 config

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

name

varchar

100

3

value

varchar

100

表3-5 dictionary

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

dic_code

varchar

200

3

dic_name

varchar

200

4

code_index

int

11

5

index_name

varchar

200

6

super_id

int

11

7

beizhu

varchar

200

8

create_time

timestamp

表3-6 gongyingshang

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

gongyingshang_name

varchar

200

3

gongyingshang_types

int

11

4

gongyingshang_xinyongdengji_types

int

11

5

gongyingshang_content

text

6

create_time

timestamp

表3-7 shangpin

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

shangpin_uuid_number

varchar

200

3

shangpin_name

varchar

200

4

shangpin_photo

varchar

200

5

shangpin_types

int

11

6

shangpin_kucun_number

int

11

7

shangpin_danwei

varchar

200

8

shangpin_jinjia_money

decimal

10

2

9

shangpin_shoujia_money

decimal

10

2

10

shangpin_content

text

11

insert_time

timestamp

12

create_time

timestamp

表3-8 token

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

userid

bigint

20

3

username

varchar

100

4

tablename

varchar

100

5

role

varchar

100

6

token

varchar

200

7

addtime

timestamp

CURRENT_TIMESTAMP

8

expiratedtime

timestamp

CURRENT_TIMESTAMP

表3-9 users

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

bigint

20

auto_increment

2

username

varchar

100

3

password

varchar

100

4

role

varchar

100

管理员

5

addtime

timestamp

CURRENT_TIMESTAMP

表3-10 xiaoshou

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

shangpin_id

int

11

3

xiaoshouyuangong_id

int

11

4

xiaoshou_uuid_number

varchar

200

5

xiaoshou_kucun_number

int

11

6

xiaoshou_zongchengben_money

decimal

10

2

7

xiaoshou_zongshoujia_money

decimal

10

2

8

xiaoshou_zonglirun_money

decimal

10

2

9

xiaoshou_content

text

10

insert_time

timestamp

11

create_time

timestamp

表3-11 xiaoshouyuangong

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

id

int

11

auto_increment

2

username

varchar

200

3

password

varchar

200

4

xiaoshouyuangong_uuid_number

varchar

200

5

xiaoshouyuangong_name

varchar

200

6

xiaoshouyuangong_phone

varchar

200

7

xiaoshouyuangong_id_number

varchar

200

8

xiaoshouyuangong_photo

varchar

200

9

sex_types

int

11

10

xiaoshouyuangong_email

varchar

200

11

create_time

timestamp

第4章 系统详细实现                                                                                                                                                                                                                                                                                                                                                                                           

4.1用户登录功能的详细实现

用户登录界面起到验证身份的作用,本界面采用图片背景进行设计。在用户登录界面里设置了程序的名称和用户、密码、权限的文本框。在文本框下是登录按钮。用户在信息输入完成后可以使用这个按钮进行相对应的操作。用户登录功能的实现界面如下图4-1所示:

图4-1用户登录实现界面

4.2管理员权限的功能实现

4.2.1个人中心管理功能的详细实现

   个人中心管理功能的作用为修改密码和添加、删除管理员用户。本功能可以实现新增管理员和减少管理员。个人中心管理功能的实现界面如下图4-2所示:

图4-2个人中心管理功能的界面实现

4.2.2员工信息管理功能的详细实现

管理员负责员工信息的录入和管理。员工信息包括销售员工和采购员工,员工的账号和密码则是由本功能进行添加。管理员查询员工信息的功能实现如下图4-3所示:

图4-3管理员查询员工信息的实现界面

4.2.3商品信息管理功能的详细实现

管理员可以对商品的信息进行管理、审核。管理员查询商品信息的实现界面如下图4-4所示:

图4-4管理员查询商品信息的实现界面

4.2.4供应商管理功能的详细界面实现

管理员可以对供应商信息进行管理和添加。管理员查询供应商信息的实现界面如下图4-5所示:

图4-5管理员查询供应商功能的运行界面

4.2.5商品销售管理功能的详细实现

管理员可以添加和管理商品的销售信息,查询商品销售功能的界面实现如下图4-6所示:

图4-6管理员查询商品销售功能的运行界面

4.2.6商品销售统计功能的详细实现

管理员可以对销售数据进行统计,功能的实现界面如下图4-7所示:

图4-7管理员商品销售统计功能的运行界面

主要代码:

   /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("采购员工".equals(role))
            params.put("caigouyuangongId",request.getSession().getAttribute("userId"));
        else if("销售员工".equals(role))
            params.put("xiaoshouyuangongId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = xiaoshouService.queryPage(params);

        //字典表数据转换
        List<XiaoshouView> list =(List<XiaoshouView>)page.getList();
        for(XiaoshouView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        XiaoshouEntity xiaoshou = xiaoshouService.selectById(id);
        if(xiaoshou !=null){
            //entity转view
            XiaoshouView view = new XiaoshouView();
            BeanUtils.copyProperties( xiaoshou , view );//把实体数据重构到view中

                //级联表
                ShangpinEntity shangpin = shangpinService.selectById(xiaoshou.getShangpinId());
                if(shangpin != null){
                    BeanUtils.copyProperties( shangpin , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setShangpinId(shangpin.getId());
                }
                //级联表
                XiaoshouyuangongEntity xiaoshouyuangong = xiaoshouyuangongService.selectById(xiaoshou.getXiaoshouyuangongId());
                if(xiaoshouyuangong != null){
                    BeanUtils.copyProperties( xiaoshouyuangong , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
                    view.setXiaoshouyuangongId(xiaoshouyuangong.getId());
                }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

4.2.7采购进退货管理功能的实现界面

管理员可以查看和管理采购的进货信息、退货信息,实现界面如下图4-8所示:

图4-8管理员查询采购进退货功能的实现界面

4.2.8基础数据管理功能的实现界面

基础数据包括商品类型和供应商类型,管理员可以设置不同的类型。实现界面如下图4-9所示:

图4-9基础数据管理功能的实现界面

4.3采购员工权限的功能详细实现

4.3.1采购进货管理功能的详细实现

采购员工功能里可以添加采购进货信息。采购员工添加采购进货功能的实现界面如下图4-10所示:

图4-10采购员工添加采购进货功能的运行界面

大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

翰文编程

你的鼓励 是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值