# PHP-ERP **Repository Path**: umidteam/php-erp ## Basic Information - **Project Name**: PHP-ERP - **Description**: 基于PHP的erp系统 - **Primary Language**: PHP - **License**: Zlib - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-14 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SodaERP - 程序架构文档 **文档版本**: 1.0 **分析日期**: 2026-02-14 **项目名称**: SodaERP **许可证**: zlib License (© 2026 Abdikadir) **仓库地址**: https://gitee.com/umidteam/php-erp --- ## 📋 项目概述 SodaERP是一个基于CodeIgniter框架开发的企业资源计划系统,专为中小企业设计。系统提供完整的进销存管理、财务核算、供应链管理和系统管理功能,采用MVC架构设计,支持多主题界面和移动端访问。 ## 🏗️ 技术栈总览 ### 后端技术 - **框架**: CodeIgniter 3.x (轻量级PHP MVC框架) - **语言**: PHP 5.x+ - **数据库**: MySQL 5.5.53+ - **服务器**: Apache/Nginx (支持.htaccess) ### 前端技术 - **核心库**: jQuery (1.10.2, 1.7.1, 3.6.0 多版本并存) - **UI框架**: ligerUI (企业级UI组件) - **CSS预处理**: 原生CSS (蓝、绿、默认三套主题) - **响应式**: 移动端适配设计 ### 第三方集成 - **文档处理**: PHPExcel (Excel导入导出) - **PDF生成**: HTML2PDF + TCPDF 5.0.002 - **拼音转换**: 中文转拼音库 - **打印组件**: Lodop打印控件 - **文件上传**: jQuery File Upload插件 ## 📁 项目目录结构 ``` ErpV820260214/ ├── application/ # 应用核心代码 (MVC架构) │ ├── config/ # 配置文件 │ │ ├── autoload.php # 自动加载配置 │ │ ├── config.php # 主配置文件 (含中文注释) │ │ ├── database.php # 数据库配置 (MySQL) │ │ ├── routes.php # 路由配置 │ │ ├── constants.php # 常量定义 │ │ └── profiler.php # 调试配置 │ │ │ ├── controllers/ # 控制器层 │ │ ├── basedata/ # 基础数据管理 │ │ ├── scm/ # 供应链管理 │ │ ├── home.php # 首页控制器 │ │ ├── login.php # 登录认证 │ │ ├── report.php # 报表控制器 │ │ ├── sales.php # 销售管理 │ │ ├── settings.php # 系统设置 │ │ └── storage.php # 仓储管理 │ │ │ ├── models/ # 模型层 │ │ ├── common_model.php # 通用模型基类 │ │ ├── data_model.php # 数据模型 │ │ └── mysql_model.php # MySQL专用模型 │ │ │ ├── views/ # 视图层 │ │ ├── mobile/ # 移动端页面 │ │ ├── report/ # 报表页面 │ │ ├── sales/ # 销售页面 │ │ ├── scm/ # 供应链页面 │ │ ├── settings/ # 设置页面 │ │ ├── storage/ # 仓储页面 │ │ ├── errors/ # 错误页面 │ │ ├── header.php # 公共头部 │ │ ├── index.php # 主页面模板 │ │ └── login.php # 登录页面 │ │ │ ├── libraries/ # 自定义库 │ │ ├── excel/ # Excel处理库 │ │ ├── html2pdf/ # PDF生成库 (含TCPDF) │ │ ├── pinyin/ # 拼音转换库 │ │ └── UploadHandler.php # 文件上传处理器 │ │ │ ├── helpers/ # 辅助函数 │ │ └── fun_helper.php # 自定义辅助函数 │ │ │ ├── language/ # 多语言文件 │ │ └── english/ # 英文语言包 │ │ │ ├── cache/ # 缓存目录 │ ├── logs/ # 日志目录 │ └── third_party/ # 第三方扩展 │ ├── system/ # CodeIgniter框架核心 │ ├── core/ # 框架核心类 │ │ ├── CodeIgniter.php # 框架入口 │ │ ├── Controller.php # 控制器基类 │ │ ├── Model.php # 模型基类 │ │ ├── Loader.php # 加载器 │ │ └── ... # 其他核心类 │ │ │ ├── database/ # 数据库驱动 │ │ ├── drivers/ # 多种数据库驱动 │ │ │ ├── mysql/ # MySQL驱动 │ │ │ ├── mysqli/ # MySQLi驱动 │ │ │ ├── pdo/ # PDO驱动 │ │ │ └── ... # 其他数据库 │ │ └── DB.php # 数据库主类 │ │ │ ├── libraries/ # 框架内置库 │ │ ├── Session.php # 会话管理 │ │ ├── Email.php # 邮件发送 │ │ ├── Upload.php # 文件上传 │ │ └── ... # 其他内置库 │ │ │ ├── helpers/ # 框架辅助函数 │ ├── language/ # 框架语言包 │ └── fonts/ # 字体文件 │ ├── statics/ # 静态资源目录 │ ├── css/ # 样式文件 │ │ ├── base/ # 基础样式 │ │ ├── blue/ # 蓝色主题 │ │ ├── green/ # 绿色主题 │ │ ├── default/ # 默认主题 │ │ ├── authority.css # 权限管理样式 │ │ └── common.css # 公共样式 │ │ │ ├── js/ # JavaScript文件 │ │ ├── common/ # 公共JS库 │ │ │ ├── libs/ # 第三方库 │ │ │ │ ├── jquery/ # jQuery库 │ │ │ │ ├── swfupload/ # 文件上传 │ │ │ │ └── uploader/ # 上传组件 │ │ │ ├── plugins/ # jQuery插件 │ │ │ │ ├── datepicker/ # 日期选择器 │ │ │ │ ├── fileupload/ # 文件上传插件 │ │ │ │ ├── print/ # 打印插件 │ │ │ │ └── validator/ # 表单验证 │ │ │ └── main.js # 主JS文件 │ │ │ │ │ └── dist/ # 业务JS模块 (70+文件) │ │ ├── Contract.js # 合同管理 │ │ ├── sales.js # 销售管理 │ │ ├── purchase.js # 采购管理 │ │ ├── inventory.js # 库存管理 │ │ └── ... # 其他业务模块 │ │ │ ├── login/ # 登录页面资源 │ │ ├── blue/ # 蓝色登录主题 │ │ ├── green/ # 绿色登录主题 │ │ └── default/ # 默认登录主题 │ │ │ └── mobile/ # 移动端资源 │ ├── css/ # 移动端样式 │ ├── js/ # 移动端脚本 │ └── images/ # 移动端图片 │ ├── data/ # 数据文件目录 │ ├── backup/ # 数据库备份 │ │ ├── 202012052056123.sql # 历史备份 │ │ └── erpv8_export_*.sql # 导出文件 │ │ │ └── download/ # 下载模板 │ ├── customer.xls # 客户导入模板 │ ├── goods.xls # 商品导入模板 │ └── vendor.xls # 供应商导入模板 │ ├── logreport/ # 日志报告目录 ├── ErrorFiles/ # HTTP错误页面 (400-510错误) ├── index.php # 应用入口文件 ├── erpv8.sql # 数据库完整备份 (MySQL 5.5.53) ├── LICENSE # zlib许可证文件 ├── .gitignore # Git忽略配置 ├── 安装说明.txt # 安装说明文档 ├── ErpV8补丁20220915.zip # 系统补丁包 └── lodop.zip # 打印组件安装包 ``` ## 🔧 功能模块架构 ### 1. 基础数据管理 - **客户管理**: 客户信息、联系人、地址管理 - **供应商管理**: 供应商信息、结算方式 - **商品管理**: 商品档案、分类、属性、库存预警 - **员工管理**: 员工信息、考勤管理 - **单位管理**: 计量单位、单位换算 - **仓库管理**: 仓库设置、库位管理 ### 2. 供应链管理 (SCM) - **采购管理**: 采购订单、采购入库、采购退货 - **销售管理**: 销售订单、销售出库、销售退货 - **库存管理**: 库存盘点、库存调拨、库存查询 - **其他出入库**: 生产领料、生产入库、其他出入库 - **订单跟踪**: 采购订单跟踪、销售订单跟踪 ### 3. 财务管理 - **收款管理**: 客户收款、预收款、收款单 - **付款管理**: 供应商付款、预付款、付款单 - **往来对账**: 客户对账、供应商对账 - **费用管理**: 其他收入、其他支出 - **资金管理**: 现金银行日记账 ### 4. 报表系统 - **销售报表**: 销售明细、销售汇总、销售利润 - **采购报表**: 采购明细、采购汇总、供应商供货 - **库存报表**: 库存余额、库存流水、商品流向 - **财务报表**: 资金报表、往来账龄 - **考勤报表**: 考勤明细、考勤汇总 ### 5. 系统管理 - **权限管理**: 用户管理、角色管理、功能权限 - **系统设置**: 参数配置、打印模板、数据备份 - **操作日志**: 系统操作记录、登录日志 - **数据维护**: 数据导入导出、数据库备份恢复 ## 🔐 安全架构 ### 安全配置 - **环境配置**: 生产环境设置 (ENVIRONMENT = 'production') - **时区设置**: Asia/shanghai 时区 - **错误报告**: 生产环境错误隐藏 - **会话安全**: CodeIgniter内置会话管理 ### 权限控制 - **RBAC模型**: 基于角色的访问控制 - **功能权限**: 细粒度功能权限控制 - **数据权限**: 部门数据隔离 - **操作日志**: 完整的操作审计 ### 数据安全 - **SQL防注入**: CodeIgniter Active Record - **XSS过滤**: 输入输出过滤 - **CSRF保护**: 表单令牌验证 - **文件上传**: 类型限制、大小限制 ## 🗄️ 数据库设计 ### 数据库特性 - **字符集**: UTF-8 编码 - **存储引擎**: InnoDB (支持事务) - **表前缀**: `ci_` (可配置) - **外键约束**: 完整的外键关系 ### 核心表结构 ``` ci_account # 账户表 ci_contact # 联系人表 ci_customer # 客户表 ci_supplier # 供应商表 ci_goods # 商品表 ci_inventory # 库存表 ci_purchase # 采购表 ci_sales # 销售表 ci_payment # 付款表 ci_receipt # 收款表 ci_user # 用户表 ci_role # 角色表 ci_log # 日志表 ``` ### 索引策略 - 主键索引: 所有表都有自增主键 - 业务索引: 常用查询字段建立索引 - 组合索引: 多字段联合查询优化 ## 🎨 设计特点 ### 1. 多主题界面 - **三套主题**: 蓝色、绿色、默认主题 - **主题切换**: 用户可自定义界面风格 - **统一设计**: 保持功能一致性 ### 2. 响应式设计 - **桌面端**: 完整的ERP功能界面 - **移动端**: 简化业务流程适配 - **自适应布局**: 根据设备自动调整 ### 3. 模块化架构 - **MVC分层**: 清晰的职责分离 - **组件复用**: 公共组件统一管理 - **插件机制**: 可扩展的插件体系 ### 4. 企业级特性 - **批量操作**: 数据批量导入导出 - **打印支持**: 多种打印模板 - **数据校验**: 完整的数据验证机制 - **工作流**: 业务流程状态管理 ### 5. 国际化支持 - **多语言**: 中英文语言包 - **本地化**: 中文拼音转换 - **时区支持**: 多时区配置 ## ⚙️ 部署配置 ### 环境要求 - **PHP**: 5.3+ (推荐5.6+) - **MySQL**: 5.5+ (推荐5.6+) - **Web服务器**: Apache (支持.htaccess) 或 Nginx - **扩展要求**: GD库、MySQL扩展、文件上传支持 ### 配置要点 1. **数据库配置**: 修改 `application/config/database.php` 2. **基础URL**: 设置 `application/config/config.php` 中的 base_url 3. **文件权限**: 确保 `application/cache/` 和 `application/logs/` 可写 4. **安全设置**: 生产环境关闭错误显示 ### 安装步骤 1. 上传所有文件到Web服务器 2. 导入 `erpv8.sql` 到MySQL数据库 3. 配置数据库连接信息 4. 设置文件目录权限 5. 访问网站首页完成安装 ## 📈 性能优化建议 ### 代码优化 - **缓存机制**: 启用数据库查询缓存 - **静态资源**: 合并压缩CSS/JS文件 - **图片优化**: 压缩图片资源 - **懒加载**: 大数据列表分页加载 ### 数据库优化 - **索引优化**: 定期分析查询优化索引 - **分表策略**: 大数据量表考虑分表 - **归档策略**: 历史数据定期归档 - **连接池**: 使用持久化数据库连接 ### 服务器优化 - **OPCache**: 启用PHP OPcache加速 - **CDN加速**: 静态资源使用CDN - **负载均衡**: 高并发场景考虑负载均衡 - **监控告警**: 建立系统监控机制 ## 🔄 扩展开发指南 ### 添加新模块 1. 在 `application/controllers/` 创建控制器 2. 在 `application/models/` 创建模型 3. 在 `application/views/` 创建视图 4. 在 `statics/js/dist/` 添加前端脚本 5. 配置路由规则 ### 自定义插件 1. 在 `application/libraries/` 添加库文件 2. 在 `application/helpers/` 添加辅助函数 3. 在 `statics/js/common/plugins/` 添加前端插件 4. 在配置文件中启用插件 ### 主题定制 1. 复制现有主题目录 2. 修改CSS样式文件 3. 更新图片资源 4. 配置主题选择 ## 📝 维护说明 ### 日常维护 - **数据备份**: 定期备份数据库和文件 - **日志清理**: 定期清理系统日志 - **安全更新**: 及时更新安全补丁 - **性能监控**: 监控系统运行状态 ### 故障处理 - **错误日志**: 查看 `application/logs/` 目录 - **数据库修复**: 使用备份文件恢复 - **缓存清理**: 清除 `application/cache/` 目录 - **权限检查**: 验证文件目录权限 --- **文档维护**: 本架构文档应随系统版本更新而更新 **最后更新**: 2026-02-14 **维护人员**: 系统架构师团队