erp_pro
基于SpringBoot 2.X框架,为中小企业打造开源好用的ERP软件。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单,生产等特色功能。拥有库存状况、出入库统计等报表。对权限进行精确划分,同时支持多系统集成方案,可与OA,CRM,知识库等多个系统进行集成使用。同时对角色和权限进行了细致全面控制,精确到每个按钮和菜单。集成apollo配置中心。
环境搭建
该项目是maven工程,如果遇到jar包没下载下来的问题,请更换镜像地址.
- 1.搭建apollo配置中心,将
docs/配置中心参数.md
复制到配置中心
- 2.搭建redis(3.2)集群
- 3.MySQL 5.5.X
- 4.最后修改配置中心参数,启动
SkyeyeErpApplication.java
项目
开源版功能介绍
功能 |
描述 |
功能 |
描述 |
用户管理 |
用户是系统操作者,该功能主要完成系统用户配置 |
部门管理 |
配置系统组织机构(公司、部门、小组),树结构展现支持数据权限 |
岗位管理 |
配置系统用户所属担任职务 |
菜单管理 |
配置系统菜单,操作权限,按钮权限标识等 |
角色管理 |
角色菜单权限分配、设置角色按机构进行数据范围权限划分 |
基础设置 |
包含背景图片设置、锁屏图片设置等 |
计量单位 |
产品规格单位管理 |
结算账户 |
自定义账户的结算方式以及结算明细的查看 |
收支(科目)项目 |
自定义除了采购/销售等产生的费用外,其他产生费用的项目 |
基本资料 |
包含会员管理、供应商管理,商业版客户已抽离为CRM |
采购管理 |
包含采购单、转入库单、采购入库、采购退货等功能,整改完成 |
销售管理 |
包含销售单、转出库单、销售出库、销售退货等功能,整改完成 |
其他入库管理 |
整改完成 |
库存盘点 |
对现有仓库的库存进行盘点 |
零售管理 |
包含零售出库、零售退货等功能,整改完成 |
拆分单 |
整改完成 |
调拨单 |
整改完成 |
仓库管理 |
管理用户所拥有的仓库,整改完成 |
商品管理 |
管理用户所拥有的产品信息,整改完成 |
其他单据管理 |
包含其他入库、其他出库、调拨、组装单、拆分单等功能 |
报表管理 |
包含入库/出库明细、入库/出库汇总、库存状况、客户/供应商/会员对账等报表 |
财务管理 |
收入单、支出单、收付款单、转账单等 |
库存管理 |
对比开源版新增库存管理,可以查看每个商品不同规格的库存数 |
工序管理 |
管理每个商品自产的流程工序 |
BOM表 |
为自产商品打造结构清单,清晰了解成本价等 |
生产计划 |
销售计划单直接生成生产计划(也可以手动下达生产计划),可根据BOM表自动生成半成品生产计划 |
加工单管理 |
根据生产计划单下达部门加工单,完成成品的加工 |
领料单 |
部门领料单管理,部门员工通过领料单从仓库进行领料 |
补料单 |
部门补料单管理 |
退料单 |
部门退料单管理 |
部门存量管理 |
部门拥有的物料存量管理 |
工艺路线管理 |
工艺路线设计 |
车间管理 |
生产车间管理 |
加工机器管理 |
工厂加工机器信息登记 |
技术选型
后端技术:
前端技术:
代码描述
前后台接口映射
<url id="前端请求id" path="后台接口" val="备注" allUse="是否需要登录">
<property id="前端请求key" name="后台接收key" ref="限制条件(参考项目内文档)" var="key含义"/>
</url>
后台代码编写规范
控制层
@RequestMapping("后台接口")
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception{
服务层接口对象.方法名(inputObject, outputObject);
}
服务层
@Override
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();//接收参数
Map<String, Object> user = inputObject.getLogParams();//获取当前登录用户信息
/**
* 业务逻辑
*/
outputObject.setBean(bean);//返回单个实体Bean
outputObject.setBeans(beans);//返回集合
outputObject.settotal(total);//返回数量
outputObject.setreturnMessage("信息");//返回前端的错误信息
outputObject.setreturnMessage("信息", 错误码);//返回前端的错误信息,同时抛出异常(不常用)
}
效果图
捐助
如果您觉得我们的开源软件对你有所帮助,请扫下方二维码打赏我们一杯咖啡。关注下方公众号,第一时间获取最新资讯以及文档资料。