# tsd-jxc
**Repository Path**: hellowilliam/tsd-jxc
## Basic Information
- **Project Name**: tsd-jxc
- **Description**: 提升多进销存是一套面向中小企业的进销存管理;基于SpringBoot+Vue+Element框架,前后端分离。多账套,业务数据与日志数据分库存储
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 8
- **Created**: 2025-01-07
- **Last Updated**: 2025-01-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# tsd-jxc
#### 介绍
* 提升多进销存(tsd-jxc)是一套面向中小企业的进销存管理;
* 基于SpringBoot+Vue+Element框架,前后端分离。
* 支持多账套、多版本,主要模块有基础资料、销售管理、采购管理、库存管理、财务管理、统计报表、系统管理等。
* 采用基于角色的权限控制模式,粒度包括:菜单、按钮和访问地址。
* 每个账套对应一个mysql数据库,实现账套数据的库间隔离。
* 每个账套包括一个业务数据库、一个日志数据库,将日志与业务数据分离,较少业务数据库的容量,便于业务数据与日志数据的独立备份。
#### 软件架构
系统软件架构
* Java: 1.8
* MySql:5.7, 8.0
* 核心框架:SpringBoot 2.3.2.RELEASE
* 持久层框架:Mybatis 3.5.9
* 数据库版本控制:flyway 5.2.4
* 身份认证框架:shiro 1.10.1
* 日志管理:log4j 1.2.17 SLF4J 1.7.26
* API构建工具: Maven 3.3.9
前端框架:
* Vue 2.6.10
* Node 11.5.0
* UI框架: Element UI 2
其他依赖包:
* aspectj 1.8.5
* easypoi 4.2.0
* ehcache 2.4.8
* fastjson 1.2.83
* httpclient 4.5.5
* hutool 5.6.4
* itextpdf 5.5.12
* jjwt 0.9.1
* jsoup 1.12.1
* pinyin4j 2.5.0
* quartz 2.3.0
* redis 3.7.1
#### 系统功能菜单
┌─销售管理
│ ├─销售报价
│ ├─销售订单
│ └─销售退货单
├─采购管理
│ ├─采购订单
│ ├─采购退货单
│ └─以销定购
├─库存管理
│ ├─物料库存
│ ├─入库单
│ ├─出库单
│ ├─调拨单
│ └─盘点单
├─财务管理
│ ├─对账管理
│ ├─资金账号
│ ├─资金管理
│ ├─月末结账
│ └─发票管理
├─统计报表
│ ├─购销清单
│ ├─销售报表
│ ├─采购报表
│ ├─出入库清单
│ ├─出入库报表
│ ├─盘盈盘亏
│ └─利润报表
├─基础资料
│ ├─编码规则
│ ├─物料管理
│ ├─计量单位
│ ├─往来单位
│ └─仓库资料
│
└─系统管理
├─角色管理
├─组织架构
├─账户管理
├─数据授权
└─系统设置
#### 开发环境搭建
建议开发者使用以下环境,可以避免版本带来的问题
* IDE: IntelliJ IDEA 2018.3+
* DB: Mysql 5.7+
* JDK: JDK 1.8
* Node: Node 11.15.0
* Maven: Maven 3.3.9+
#####项目下载和运行
以下说明以表示工作根目录(例如D:\jxc):
将项目代码克隆到
执行:git clone https://gitee.com/gzhillpool/tsd-jxc.git
在IDEA下直接打开目录
等待工具自动构建后台API代码
1)修改数据库链接配置:/code/api/pacakge/src/main/resources/application.properties的第54、55、56行,修改数据库连接的地址、端口、用户名、密码。
SpringBoot启动模式的端口默认为8080,在第三行的server.port指定
2)修改日志文件路径,位置:/code/api/pacakge/src/main/resources/application.properties的第22行,logging.file
SpringBoot 应用启动类:/code/api/pacakge/src/main/java/com/tsd/Tsd2Application.java,执行该类的main方法即可。
数据库脚本在代码中,系统启动时会自动创建数据库和表、视图、存储过程等,不需要另外的数据库还原过程
后端打包:在IDEA工具的Maven面板,展开TsdApi Community(root)\Lifecycle,先执行clean,完成后再执行package。部署包的位置是/code/api/package/target/tsdapi.war,tsd-common,tsd-core,tsd-jxc模块以jar方式发布到lib目录下,里面的\*mapper.xml文件、resources目录下的配置文件发布到classes目录下。
* 前端的启动
在/code/mnt目录下执行:
npm install
npm run dev
前端默端口是8090,启动后访问:http://127.0.0.1:8090
* 前端打包:npm run build
系统启动后,需要先登录主账套,然后创建业务账套进行业务处理。
主账套号:tsd,用户名:admin,密码:123456
登录后,点击“账套管理”、会显示一套记录(主账套),点击“操作栏”的“复制”按钮,在弹窗中输入业务账套编号的数据库。点击“确定”后,系统创建账套,当账套状态从“建库中”变成“运行中”(需要手动刷新列表),就可以退出主账套,然后再登录到新建的业务账套。新建业务账套的初始用户名、密码与账套编号相同,第一次登录后强制修改密码。
#### 代码结构说明
┌─code
│ ├─api
│ │ ├─common 公共功能模块,包括基础资料、系统管理的各个功能、上传文件及存储、序列号统一管理、前端Table用户设置管理
│ │ │ ├─src 源码目录
│ │ │ │ └──main
│ │ │ │ ├─java java代码目录
│ │ │ │ └─resources 配置文件目录
│ │ │ ├─target 构建输出目录
│ │ │ └─pom.xml 公共功能模块的POM文件,配置依赖关系、构建配置等
│ │ ├─core 核心模块,包括自定义注解、切面、缓存、配置、常量、数据源、异常、excel、拦截器、redis、微信、认证、存储、版本等功能代码
│ │ │ ├─src 源码目录
│ │ │ │ └──main
│ │ │ │ ├─java java代码目录
│ │ │ │ └─resources 配置文件目录
│ │ │ ├─target 构建输出目录
│ │ │ └─pom.xml 核心模块的POM文件,配置依赖关系、构建配置等
│ │ ├─jxc 进销存功能模块,包括销售管理、采购管理、库存管理、财务管理、统计报表等功能代码
│ │ │ ├─src 源码目录
│ │ │ │ └──main
│ │ │ │ ├─java java代码目录
│ │ │ │ └─resources 配置文件目录
│ │ │ ├─target 构建输出目录
│ │ │ └─pom.xml 进销存模块的POM文件,配置依赖关系、构建配置等
│ │ ├─package
│ │ └─pom.xml 项目总体配置POM文件
│ └─mnt
└─doc
#### 使用说明
系统系统可登录https://www.tishengduo.cn/tsd2体验
体验账套:demo,用户:demo,密码:123456
#### 开源及商务合作说明
1、开源说明:本项目完全开源。
2、商务合作:本项目同时支持开源版实施、SAAS服务、定制开发服务,商务合作请联系 微信:gzhillpool, QQ:737816745