代码编织梦想

format,png

介绍

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
  1. 安装node.js

  2. 切换到ant-design-jeecg-vue文件夹下

# 安装yarn
npm install -g yarn

# 下载依赖
yarn install

# 启动
yarn run serve

# 编译项目
yarn run build

# Lints and fixes files
yarn run lint

系统效果

系统登录
format,png
采购入库
format,png
采购入库-单据新增
format,png
采购入库-自定义显示列
format,png
应付核销-编制
format,png
树结构数据
format,png
树结构数-编辑
format,png

其他说明

jeecg-Boot技术官网:

http://www.jeecg.com

jeecg-Boot开发文档:

http://doc.jeecg.com

项目地址:

https://gitee.com/FINERME/psi

END

推荐好文

强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

为什么MySQL不推荐使用uuid或者雪花id作为主键?

为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

IntelliJ IDEA 15款 神级超级牛逼插件推荐(自用,真的超级牛逼)

炫酷,SpringBoot+Echarts实现用户访问地图可视化(附源码)

记一次由Redis分布式锁造成的重大事故,避免以后踩坑!

十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统(附源码)

format,png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_36380516/article/details/111087787

因为一条SQL,我差点被祭天......-爱代码爱编程

来自公众号:鄙人薛某 作者:很懒的程序员 上周四午休时分,我正在工位上小憩,睡梦中仿佛看到了自己拿着李白在荣耀峡谷里大杀四方的情景,就在我刚拿完五杀准备带领队友推对面水晶的时候,一句慌乱急促的“糟了”把我从睡梦中惊醒...... 反常的 SQL 语句 我眯开朦胧的双眼,才发现刚才的发声来源于我的组长庄哥,看到他在紧张的点开日志系统

Spring Boot Mybatis 搞反向工程,太方便咯。。-爱代码爱编程

作者:山丘i blog.csdn.net/m0_37922192/article/details/109248865 1. 拷贝 Mybatis 反向工程配置文件到项目的根目录下 2. 根据项目及表的情况,修改 GeneratorMapper.xml 配置 如果使用 高版本 , 驱动类变为:com.mysql.cj.jdbc.

200页!分享我珍藏很久的Python学习知识手册(附链接)-爱代码爱编程

这是之前入门学习Python时候的学习资料,非常全面,从Python基础、到web开发、数据分析、机器学习、深度学习、金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的讲解,适合python学习者,对某些知识点不熟悉的话,将页面保存到浏览器书签,可以快速在没网的情况下查找知识点,总计有200多页! 资料领取:扫描下方

MyBatis:懒加载实例超详细讲解(10)-爱代码爱编程

mapper里的sql操作,不懂得看之前博文,这里只对懒加载做讲解 什么是懒加载? 按需加载,先从单表查询,需要时再去从关联表去关联查询,能大大提升数据库性能,并不是所有场景下使用懒加载都能提高效率 Mybatis懒加载 像之前博文做为大家做的resultMap联表查询里面的的association、collection有延迟加载功能 下面的示例

Python连接mysql -爱代码爱编程

连接本地安装的mysql的时候, 创建连接engine的固定写法: from sqlalchemy import create_engine def engines(): """建立连接并返回数据库的引擎 """ host = 'localHost' db = 'practice' # 数据库名 user = 'zn

mysql:1130 is not allowed to connect to this MariaDB server解决办法-爱代码爱编程

MySQL 1130错误,无法远程连接 一、先打开phpstudy,打开phpMyAdmin二、打开mysql数据库,user表,Host选项,并将localhost更改为%      mysql:1130 is not allowed to connect to this MariaDB server 一、先打开phpstudy,打开php

【Android工具】Yandex!可以安装PCchrome插件的手机浏览器!更新网页剪辑插件测试情况...-爱代码爱编程

公众号关注 “DLGG创客DIY” 设为“星标”,重磅干货,第一时间送达。     最近在手机上看(你懂的)神坛,看到各种不错的文章,当然想收藏下来,毕竟神坛有清理帖子的习惯(个人感觉没深究)。最方便的方法当然是用网页剪辑工具(不讲嫖德?这些年接触/使用的网页剪辑工具小汇总大总结)。     今天详细的测试了一下在手机上使用网页剪辑功能,将结论

【Webpack】805- Webpack 异步加载及分包策略-爱代码爱编程

作者:lzg9527 https://segmentfault.com/a/1190000038180453 webpack 异步加载原理 webpack ensure 有人称它为异步加载,也有人称为代码切割,他其实就是将 js 模块给独立导出一个.js 文件,然后使用这个模块的时候,再创建一个 script 对象,加入到 do

jsliang 求职系列 - 40 - CSS 移动端-爱代码爱编程

一 目录 不折腾的前端,和咸鱼有什么区别 目录一 目录二 前言三 移动端使用的单位四 移动端布局总结五 1px 实现六 300ms 点击延迟 6.1 jsliang 阐述 6.2 浏览器开发商解决方案 6.3 JavaScript 解决方案七 参考文献 二 前言 关于移动端的一些问题。 三 移动端使用的单位 em:定义字体大小时

基于Vue的前端架构,我做了这15点-爱代码爱编程

关注公众号 前端开发博客,回复“加群” 加入我们一起学习,天天进步 作者:codexu 链接:https://juejin.cn/post/6901466994478940168 1.分解需求 技术栈 考虑到后续招人和现有人员的技术栈,选择 Vue 作为框架。公司主要业务是 GIS 和 BIM,通常开发一些中大型的系统,所以 v

Vue最佳实战系列(一):设计一个回味无穷的高扩展性路由,比意大利面香【详解+实践贴上代码】-爱代码爱编程

在接触Vue的过程中,总能令我惊喜,却也因不够老练而带来了让人耗时的bug;但都一一过五关,斩六将,胜在好用且好玩。 所以我想跟你一起拆Vue这堵墙,再把它重新搭建的更好! 这也是我准备写 最佳Vue开发实战系列 的理由。 还等什么? 一键三连码起! 一、什么是高扩展性路由? 与其问什么是高扩展性路由,其实更应该问的是为什么要高扩展性路由? 其

springboot + shiro应用,[nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]-爱代码爱编程

1、报错:ERROR 14584 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request p