获取源码,请复制百度云链接
链接:https://pan.baidu.com/s/1n4PkQ95tVGW-Bws_qwQ78A?pwd=uny1
提取码:uny1
家电进销系统
作 者:XXX
指导教师:XXXX
摘要:随着人们生活水平的不断提高,对家电的需求量也越来越大,销售商对库存及客户的各种数据管理也将面临着新挑战,新的销售管理系统势在必行。新时代下,家电进销系统采用SSM框架、MVC设计模式、ActiveMQ消息队列等技术,完成了对库存管理、销售管理、开售发票、维修管理等模块功能的实现,解决了销售商对库存及销售等各种数据管理的难题。
关键词:SSM;销售管理系统;MVC
1 绪论
1.1 研究背景及意义
人类使用各种辅助工具在悠久的历史中就早有记载。在互联网发展前期,人们记账、管理库存等,都需要专门的人力,通过纸质的本子去记录大大小小的数据,缺点是很难对数据进行查询、统计,甚至本子丢失之后,所有的数据全部丢失。在互联网发达的当今时代,很多数据可以存储在云服务器上。对于家电销售商来说,他们希望可以通过系统进行管理自己的数据,且无需人工就可以完成分析查询统计等功能。
家电进销系统,是一款专门为家电销售商打造的辅助工具。开发者从用户的角度思考,专注于解决之前人工需要完成的复杂事情,对基本的数据存储查询、数据的统计、智能分析等都是具有非常好的实际意义。
1.2 研究现状
目前在各大管理系统盛行的市场,很多系统都是从较大的维度开发,导致出现很多无用的功能及用户无法理解的功能。对于大型销售商来说,基本都已拥有该系统,但是中小型销售商,大多都不具备此系统在用着很不方便的office工具进行人工记录。
2 系统可行性分析
2.1 技术可行性
本系统采用当今主流SSM框架、Mysql数据库、ActiveMQ消息队列和Ajax等成熟的技术进行设计开发。SSM框架因其独特的设计模式被当今企业广泛的使用,ActiveMQ高效的消息队列及较高的社区活跃度很受得开发者的依赖,这些因素使得系统开发在技术方面具有可行性。
2.2 经济可行性
该系统从开发角度考虑采用SSM,Bootstrap,Mysql等第三方开源技术,开发工具免费,开发效率高,周期短、成本低。系统操作简便,维护成本低,从市场角度考虑该类系统市场占有率低且针对性不强,上线后可以得到很好的推广,因此从经济方面上考虑是可行的。
2.3 操作可行性
本系统可以在Windows、Linux等多种操作系统上运行。支持谷歌、IE等各种主流浏览器。系统UI界面采用Bootstrap,页面简洁易懂,方便操作,用户体验良好。
2.4 法律可行性
本系统全部使用开源技术和开源框架,不存在任何侵权和责任问题。系统设计开发都为原创,不存在侵权行为。
3 系统业务和模块划分
家电进销系统作为一站式家电销售商辅助系统,其主要包含几个模块:用户管理、库存管理、卖出管理、欠账管理、维修管理、备忘录、商品类别、智能报表、用户日志、数据备份、在线维修订单提交平台。
3.1 系统模块分析
- 用户管理:系统初始化时,经过授权过的用户会得到一个key即可注册本系统成为超级管理员。登录系统后,可以通过用户管理模块,添加不同角色的用户,进行本系统的使用。
- 库存管理:库存管理模块主要包含对库存的增删改查,库存总量金额、总数量的统计或者选定库存的统计。
- 卖出管理:卖出管理即账单管理,是本系统的核心,主要是记录所销售的商品,可以根据指定的日期进行账单分析,算出近一段时间的销售金额,数量,及收入金额,净赚利润(包含每台所获利润)。在添加卖出商品完成后,会自动跳转到开发票的页面,一键打印电子发票。如需对用户进行补票,也可在本模块找到该条订单,即可选择打印发票。在用户添加卖出订单的时候,可以根据实际情况,选择从库存中销售和填入欠款金额,如果为从库存中销售,则对应的库存中的数量就会减少,如果欠款金额为大于0的数字,则自动添加到欠账管理模块,如果用户删除了该条订单,则所有的操作就会回滚,保证整个数据库数据的精准性。
- 欠账管理:欠账管理模块,用户可以填写一些欠账的订单,进行记录。在用户还款的时候,可以点击还款操作按钮,输入用户还款的金额,确定之后,会自动在备注中添加用户在何时还款多少元,剩余欠款多少元。
- 维修管理:维修管理主要是添加一些维修的订单。
- 备忘录:备忘录是给用户提供的一个开放性的记录数据模块。
- 商品类别:商品类别模块,是一个允许用户添加自定义类别的模块,在用户添加库存的时候,如果录入的商品不在该模块中,也会自动的添加到该模块中。
- 智能报表模块:主要分为销售情况统计图和重点客户统计图,以五个月为时间窗口进行统计。
- 日志管理:记录了用户所有的操作日志。
- 备份系统:备份系统是每周五凌晨会备份本系统的数据库到远端服务器即FastDFS存储节点,防止数据的丢失[1]。
- 在线维修订单提交平台:在线维修订单提交平台,是单独开发的一个微服务,通过MQ消息队列与短信平台进行通信,可以实现用户在该系统在线提交维修服务订单,直接短信通知对应的维修人员,为了提高MQ的高可用,采用点对点的消息模式,使得数据不会丢失[2]。
3.2 系统模块结构图
家电进销系统从用户角度进行需求分析,对多用户都需要用到的功能进行了抽取,保证了较强的应用性,针对于数据的安全,系统专门指定的有备份系统模块,对于资金充足的客户,可以选择备份远端服务器,不足的可以备份本地,定时取出进行留存。
家电进销系统最终确定为11个大模块,每个模块都有自己独特的意义,以高内聚低耦合的方式将不同功能呈现给用户[3]。
系统模块结构如图1
4 数据库设计
4.1 数据库详细设计
家电进销系统需要建立以下数据表:用户表、账单表、库存表、欠账表、类别表、日志表、备忘录、分页信息表、维修表。
- 用户表:admin表
用户表存放了用户的一些基本信息,包括角色及权限的信息。系统出厂时会默认给用户生成一个key,通过key便可以进行注册。
表1用户表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
用户编号 | admin_id | int | 是 | 否 |
头像 | image | varchar | 否 | 是 |
用户名 | username | varchar | 否 | 是 |
密码 | password | varchar | 否 | 是 |
身份 | identity | varchar | 否 | 是 |
许可 | permit | int | 否 | 是 |
备注 | annotation | varchar | 否 | 是 |
- 类别表:category表
类别表存放的是商品的基本类别,用户可以自定义类别,也可以通过添加库存,系统自动的加入其中。
表2类别表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
商品类别id | categoriy_id | int | 是 | 否 |
商品名称 | name | varchar | 否 | 是 |
商品品牌 | brand | varchar | 否 | 是 |
商品型号 | model | varchar | 否 | 是 |
- 账单表:bills表
账单表存放的是客户购买商品的记录数据,其中加了一些库存表中的冗余字段,其目的是为了提高查询速度。
表3账单表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
账单id | bills_id | int | 是 | 否 |
客户姓名 | name | varchar | 否 | 是 |
客户手机号 | phone | varchar | 否 | 是 |
客户住址 | address | varchar | 否 | 是 |
销售时间 | outtime | datetime | 否 | 是 |
销售价格 | money | float | 否 | 是 |
欠款金额 | bmoney | float | 否 | 是 |
利润 | gainmoney | float | 否 | 是 |
是否为库存 | isinventory | varchar | 否 | 是 |
商品名称 | shopname | varchar | 否 | 是 |
商品类别 | shopbrand | varchar | 否 | 是 |
商品型号 | shopmodel | varchar | 否 | 是 |
进价 | inmoney | float | 否 | 是 |
(4)欠账表:brrow表
欠账表记录的是客户购买哪样商品时欠款的金额,其中备注字段详细的记录了客户的还款情况。
表4欠账表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
欠账id | brrow_id | int | 是 | 否 |
客户姓名 | name | varchar | 否 | 是 |
客户手机号 | phone | varchar | 否 | 是 |
客户住址 | address | varchar | 否 | 是 |
购买时间 | buytime | datetime | 否 | 是 |
价格 | price | float | 否 | 是 |
商品 | shop | varchar | 否 | 是 |
备注 | memo | varchar | 否 | 是 |
- 库存表:inventory表
库存表存放的是用户库存中存放的商品及数量,其中进货价格字段可以用于计算库存中总金额。界面显示的方式是根据入库时间进行倒排。
表5库存表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
商品编号 | inventory_id | int | 是 | 否 |
商品名称 | name | varchar | 否 | 是 |
商品品牌 | brand | varchar | 否 | 是 |
商品型号 | model | varchar | 否 | 是 |
入库时间 | intime | datetime | 否 | 是 |
进货价格 | money | float | 否 | 是 |
数量 | count | int | 否 | 是 |
- 日志表:log表
日志表用于记录用户进行一系列操作的记录,可在后期进行追溯某一事件产生的原由。
表6日志表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
日志id | log_id | int | 是 | 否 |
操作管理员 | admin_id | int | 否 | 是 |
操作内容 | msg | longtext | 否 | 是 |
操作还原记录 | msgsql | varchar | 否 | 是 |
操作时间 | time | datetime | 否 | 是 |
- 备忘录表:memo表
备忘录表是给用户开放的一个自定义记录信息表,信息内容不限。
表7备忘录表
名称 | 字段名称 | 类型 | 主键 | 允许空 |
备忘录id | memo_id | int | 是 | 否 |
标题 | title | varchar | 否 | 是 |
内容 | msg | varchar | 否 | 是 |
时间 | time | datetime | 否 | 是 |