介绍
Finer进销存是一款面向中小企业的供销链管理系统,基于J2EE快速开发平台Jeecg-Boot开发,采用前后端分离架构:SpringBoot2.x,Ant Design&Vue,Mybatis-plus,Shiro,JWT。项目基于十多年的中小企业管理经验,由ERP领域的资深专家设计;产品分为基础版、标准版、企业版三个版本,可适应不同的管控流程;对于灵活多样的个性化的管理需求,在Jeecg-Boot支撑下,利用其强大的代码生成器,无需写任何代码就可以快速实现大多功能,也可手工加入复杂的业务逻辑!
-
基础版:管结果,直接出入库,生成应收应付,进行收付款并核销
-
标准版:管过程,业务从合同、申请、订单开始
-
企业版:管协同,全过程跟踪管理,集成协同办公
-
本发布为基础版
功能模块
┌─库存管理 │ ├─入库管理 │ │ ├─采购入库(自动生成采购应付) │ │ ├─采购退货出库(自动生成红字采购应付) │ │ ├─盘盈入库 │ │ ├─涨库入库 │ │ └─其他入库 │ ├─出库管理 │ │ ├─监销售出库(自动生成销售应收) │ │ ├─销售退货入库(自动生成红字销售应收) │ │ ├─盘亏出库 │ │ └─其他出库 │ ├─库存调拨 │ ├─成本调整 │ ├─库存盘点 │ ├─实时库存 │ └─库存报表(开发中) ├─往来管理: │ ├─收款管理 │ │ ├─销售预收 │ │ ├─销售收款 │ │ └─其他收款 │ ├─付款管理 │ │ ├─采购预付 │ │ ├─采购付款 │ │ └─其他付款 │ ├─应收管理 │ │ ├─销售应收 │ │ ├─其他应收 │ │ └─应收核销 │ ├─应付管理 │ │ ├─采购应付 │ │ ├─其他应付 │ │ └─应付核销 │ ├─发票登记 │ │ ├─销售发票 │ │ ├─销售发票(红字) │ │ ├─采购发票 │ │ └─采购发票(红字) │ ├─月末结转 │ └─财务统计 │ ├─商品毛利 │ └─(其他功能开发中) ├─基础资料 │ ├─客户、供应商 │ ├─仓库、物料分类、物料、计量单位 │ └─银行账户、币种 ├─系统管理(Jeecg-Boot功能) │ ├─用户管理 │ ├─角色管理 │ ├─菜单管理 │ ├─权限设置(支持按钮权限、数据权限) │ ├─表单权限(控制字段禁用、隐藏) │ ├─部门管理 │ ├─字典管理 │ ├─系统公告 │ ├─我的组织机构 │ ├─职务管理 │ └─通讯录 ├─消息中心(Jeecg-Boot) │ ├─消息管理 │ └─模板管理 ├─智能化开发支持(Jeecg-Boot) │ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音) │ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择) │ ├─代码生成器模板(生成代码,自带excel导入导出) │ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成) │ ├─高级查询器(弹窗自动组合查询条件) │ ├─Excel导入导出工具集成(支持单表,一对多 导入导出) │ └─平台移动自适应支持 └─系统监控(Jeecg-Boot) ├─性能扫描监控 │ ├─监控 Redis │ ├─Tomcat │ ├─jvm │ ├─服务器信息 │ ├─请求追踪 │ └─磁盘监控 ├─定时任务 ├─系统日志 ├─消息中心(支持短信、邮件、微信推送等等) ├─数据日志(记录数据快照,可对比快照,查看数据变更情况) ├─系统通知 ├─SQL监控 └─swagger-ui(在线接口文档)
技术架构
开发环境
-
语言:Java 8
-
IDE(JAVA):IDEA / Eclipse,安装lombok插件
-
IDE(前端):IDEA / WebStorm
-
依赖管理:Maven
-
数据库:MySQL5.7+ & Oracle 11g & SqlServer2017
-
缓存:Redis
后端
-
基础框架:Spring Boot 2.1.3.RELEASE
-
持久层框架:Mybatis-plus_3.1.2
-
安全框架:Apache Shiro 1.4.0,Jwt_3.7.0
-
数据库连接池:阿里巴巴Druid 1.1.10
-
缓存框架:redis
-
日志打印:logback
-
其他:fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。
前端
-
Vue 2.6.10,Vuex,Vue Router
-
Axios
-
ant-design-vue
-
webpack,yarn
-
vue-cropper - 头像裁剪组件
-
@antv/g2 - Alipay AntV 数据可视化图表
-
Viser-vue - antv/g2 封装实现
-
eslint,@vue/cli 3.2.1
-
vue-print-nb - 打印
后台开发环境和依赖
-
java
-
maven
-
jdk8
-
mysql
-
redis
-
数据库脚本:jeecg-boot\db\jeecgboot&psi_mysql5.7.sql
-
初始系统管理员:admin/123456
前端开发环境和依赖
-
node
-
yarn
-
webpack
-
eslint
-
@vue/cli 3.2.1
-
ant-design-vue - Ant Design Of Vue 实现
-
vue-cropper - 头像裁剪组件
-
@antv/g2 - Alipay AntV 数据可视化图表
-
Viser-vue - antv/g2 封装实现
-
jeecg-boot-angular 版本
项目下载和运行
-
拉取项目代码
git clone https://gitee.com/FINERS/psi.git
cd psi/ant-design-jeecg-vue
-
安装node.js
-
切换到ant-design-jeecg-vue文件夹下
# 安装yarn npm install -g yarn # 下载依赖 yarn install # 启动 yarn run serve # 编译项目 yarn run build # Lints and fixes files yarn run lint
系统效果
系统登录
采购入库
采购入库-单据新增
采购入库-自定义显示列
应付核销-编制
树结构数据
树结构数-编辑
面试题分享:Spring,SpringMVC,SpringBoot,SpringCloud有什么区别和联系?
简单介绍
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。
Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAndView 和 View Resolver,开发web应用变得很容易。主要针对的是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。
Spring配置复杂,繁琐,所以推出了Spring boot,约定优于配置,简化了spring的配置流程。
Spring Cloud构建于Spring Boot之上,是一个关注全局的服务治理框架。
Spring VS SpringMVC:
Spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc)、业务层(Ioc)、持久层(jdbcTemplate)等都提供了多种配置解决方案;
SpringMVC是Spring基础之上的一个MVC框架,主要处理web开发的路径映射和视图渲染,属于Spring框架中WEB层开发的一部分;
SpringMVC VS SpringBoot:
SpringMVC属于一个企业WEB开发的MVC框架,涵盖面包括前端视图开发、文件配置、后台接口逻辑开发等,XML、config等配置相对比较繁琐复杂;
SpringBoot框架相对于SpringMVC框架来说,更专注于开发微服务后台接口,不开发前端视图;
SpringBoot和SpringCloud:
SpringBoot使用了默认大于配置的理念,集成了快速开发的Spring多个插件,同时自动过滤不需要配置的多余的插件,简化了项目的开发配置流程,一定程度上取消xml配置,是一套快速配置开发的脚手架,能快速开发单个微服务;
SpringCloud大部分的功能插件都是基于SpringBoot去实现的,SpringCloud关注于全局的微服务整合和管理,将多个SpringBoot单体微服务进行整合以及管理;SpringCloud依赖于SpringBoot开发,而SpringBoot可以独立开发;
总结下来:
- Spring是核心,提供了基础功能;
- Spring MVC 是基于Spring的一个 MVC 框架 ;
- Spring Boot 是为简化Spring配置的快速开发整合包;
- Spring Cloud是构建在Spring Boot之上的服务治理框架。