README.md 11 KB

绿纤ERP管理系统

项目简介

绿纤ERP管理系统是一个基于现代化技术栈开发的企业资源规划系统,专为绿纤行业量身定制。系统采用前后端分离架构,提供完整的生产、销售、库存、财务等业务管理功能。

技术栈

后端技术

  • .NET Core 3.1/5.0 - 跨平台Web框架
  • SqlSugar - 轻量级ORM框架
  • MySQL - 关系型数据库
  • JWT - 身份认证
  • Serilog - 结构化日志
  • Swagger - API文档

前端技术

  • Vue 2.6 - 渐进式JavaScript框架
  • Element UI - 企业级UI组件库
  • Vuex - 状态管理
  • Vue Router - 路由管理
  • Axios - HTTP客户端
  • SCSS - CSS预处理器

项目结构

lvqianmeiye_ERP/
├── netcore/                    # 后端.NET Core项目
│   └── src/
│       ├── Application/        # 应用层
│       ├── Infrastructure/     # 基础设施层
│       └── Modularity/         # 业务模块层
│           ├── System/         # 系统管理模块
│           ├── Extend/         # 🎯 核心业务模块(绿纤ERP业务逻辑)
│           │   ├── NCC.Extend/           # 业务服务层
│           │   ├── NCC.Extend.Entitys/   # 实体模型层
│           │   └── NCC.Extend.Interfaces/ # 接口定义层
│           ├── OAuth/          # 身份认证模块
│           ├── Message/        # 消息中心模块
│           ├── Order/          # 订单管理模块
│           ├── VisualDev/      # 可视化开发模块
│           └── Tenant/         # 多租户支持模块
├── antis-ncc-admin/           # 前端Vue项目
│   ├── src/
│   │   ├── api/               # API接口
│   │   ├── components/        # 公共组件
│   │   ├── views/             # 页面视图
│   │   │   ├── lqBmzb/        # 部门管理页面
│   │   │   ├── lqCpxx/        # 产品信息页面
│   │   │   ├── lqHygl/        # 会员管理页面
│   │   │   └── ...            # 其他业务页面
│   │   ├── router/            # 路由配置
│   │   └── store/             # 状态管理
│   ├── package.json           # 前端依赖配置
│   └── vue.config.js          # Vue构建配置
└── html/                      # 静态资源

🎯 核心业务模块说明

Extend模块是系统的核心业务模块,包含绿纤ERP的所有业务逻辑。该模块采用三层架构设计:

NCC.Extend(业务服务层)

包含所有业务服务的具体实现,按功能分类:

📋 基础管理类

  • LqBmzbService - 部门管理服务
  • LqCpxxService - 产品信息管理服务
  • LqHyglService - 会员管理服务
  • LqKhxxService - 客户信息管理服务
  • LqRyzlService - 人员资料管理服务

🏭 生产管理类

  • LqJsfaService - 工艺方案管理服务
  • LqSbtjbService - 设备统计管理服务
  • LqYcsdJsjService - 技术数据管理服务
  • LqYcsdJjlftjsService - 技术方案管理服务
  • LqYcsdMdlbjhsxxService - 模具管理服务

💰 销售管理类

  • LqXhHyhkService - 销售回款管理服务
  • LqXhmxbService - 销售明细管理服务
  • LqTkXscService - 提成管理服务
  • LqTkjlbService - 提成记录管理服务

📦 库存管理类

  • LqKqhzbService - 库存汇总管理服务
  • LqLssjService - 历史数据管理服务
  • LqYjmxbService - 原料明细管理服务

📊 财务管理类

  • LqSkzhService - 收款账户管理服务
  • LqHzfService - 汇总费用管理服务
  • LqJdqdService - 季度清单管理服务

🔧 系统工具类

  • EmailService - 邮件服务
  • DocumentService - 文档管理服务
  • BigDataService - 大数据分析服务
  • WorkLogService - 工作日志服务

NCC.Extend.Entitys(实体模型层)

  • Entity/ - 数据库实体模型(66个实体)
  • Dto/ - 数据传输对象(304个DTO)
  • Mapper/ - 对象映射配置(50个映射器)
  • Model/ - 业务模型类

NCC.Extend.Interfaces(接口定义层)

  • 定义所有业务服务的接口契约
  • 支持依赖注入和单元测试
  • 提供清晰的业务边界

环境要求

开发环境

  • Node.js: 16.20.2 (必须使用此版本)
  • .NET Core SDK: 3.1 或 5.0
  • MySQL: 5.7 或 8.0
  • Visual Studio 2019/2022VS Code

浏览器支持

  • Chrome 70+
  • Firefox 65+
  • Safari 12+
  • Edge 79+

快速开始

1. 克隆项目

git clone [项目地址]
cd lvqianmeiye_ERP

2. 后端启动

方式一:Visual Studio

  1. 打开 netcore/smart.agriculture.platform.NET.sln
  2. 设置 NCC.API 为启动项目
  3. 按 F5 运行

方式二:命令行

cd netcore/src/Application/NCC.API
dotnet restore
dotnet run

3. 前端启动

cd antis-ncc-admin

# 安装依赖
npm install

# 启动开发服务器
npm run dev

4. 访问系统

默认账号

  • 管理员账号:admin
  • 默认密码:123456

主要功能模块

💡 说明:所有业务功能的核心代码都位于 netcore/src/Modularity/Extend/ 模块中

📋 基础管理模块

  • 部门管理 (LqBmzbService) - 组织架构管理,部门分类维护
  • 产品信息 (LqCpxxService) - 产品档案管理,产品分类维护
  • 会员管理 (LqHyglService) - 客户信息管理,会员等级维护
  • 客户信息 (LqKhxxService) - 客户档案管理,客户关系维护
  • 人员资料 (LqRyzlService) - 员工信息管理,人员档案维护

🏭 生产管理模块

  • 工艺方案 (LqJsfaService) - 生产工艺配置,工艺流程管理
  • 设备统计 (LqSbtjbService) - 设备使用情况统计,设备维护管理
  • 技术数据 (LqYcsdJsjService) - 技术参数管理,工艺数据维护
  • 技术方案 (LqYcsdJjlftjsService) - 技术方案管理,工艺优化
  • 模具管理 (LqYcsdMdlbjhsxxService) - 模具档案管理,模具维护

💰 销售管理模块

  • 销售回款 (LqXhHyhkService) - 销售回款管理,资金回笼跟踪
  • 销售明细 (LqXhmxbService) - 销售明细管理,销售数据分析
  • 提成管理 (LqTkXscService) - 销售提成计算,提成规则维护
  • 提成记录 (LqTkjlbService) - 提成记录管理,提成发放跟踪

📦 库存管理模块

  • 库存汇总 (LqKqhzbService) - 库存数据分析,库存统计报表
  • 历史数据 (LqLssjService) - 历史数据管理,数据归档
  • 原料明细 (LqYjmxbService) - 原料库存管理,原料使用跟踪

📊 财务管理模块

  • 收款账户 (LqSkzhService) - 收款账户管理,资金账户维护
  • 汇总费用 (LqHzfService) - 费用汇总管理,成本分析
  • 季度清单 (LqJdqdService) - 季度财务清单,财务报告

🔧 系统工具模块

  • 邮件服务 (EmailService) - 邮件发送,通知提醒
  • 文档管理 (DocumentService) - 文档存储,文件管理
  • 大数据分析 (BigDataService) - 数据分析,报表生成
  • 工作日志 (WorkLogService) - 工作日志记录,操作跟踪

⚙️ 系统管理模块(位于System模块)

  • 用户管理 - 系统用户维护,用户权限管理
  • 角色权限 - 权限分配管理,角色权限配置
  • 系统配置 - 系统参数设置,基础配置维护
  • 日志管理 - 操作日志查看,系统日志分析

开发指南

🎯 核心业务开发(Extend模块)

添加新的业务服务

  1. 创建实体模型 (NCC.Extend.Entitys/Entity/)

    [SugarTable("lq_新表名")]
    [Tenant(ClaimConst.TENANT_ID)]
    public class Lq新实体Entity
    {
       [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
       public string Id { get; set; }
       // 其他字段...
    }
    
  2. 创建DTO对象 (NCC.Extend.Entitys/Dto/)

    • Lq新实体ListQueryInput - 列表查询输入
    • Lq新实体CrInput - 创建输入
    • Lq新实体UpInput - 更新输入
    • Lq新实体InfoOutput - 详情输出
    • Lq新实体ListOutput - 列表输出
  3. 创建接口定义 (NCC.Extend.Interfaces/)

    public interface ILq新实体Service : ITransient
    {
       Task<dynamic> GetInfo(string id);
       Task<dynamic> GetList(Lq新实体ListQueryInput input);
       Task Create(Lq新实体CrInput input);
       Task Update(string id, Lq新实体UpInput input);
       Task Delete(string id);
    }
    
  4. 实现业务服务 (NCC.Extend/)

    [ApiDescriptionSettings(Tag = "Extend", Name = "Lq新实体", Order = 200)]
    [Route("api/Extend/[controller]")]
    public class Lq新实体Service : ILq新实体Service, IDynamicApiController, ITransient
    {
       // 服务实现...
    }
    

前端页面开发

  1. 创建页面组件 (antis-ncc-admin/src/views/lq新模块/)

    • index.vue - 列表页面
    • Form.vue - 表单页面
    • ExportBox.vue - 导出组件
  2. 添加API接口 (antis-ncc-admin/src/api/extend/)

    export function getLq新实体List(data) {
     return request({
       url: '/api/Extend/Lq新实体',
       method: 'GET',
       data
     })
    }
    

前端开发

# 开发模式
npm run dev

# 构建生产版本
npm run build

# 代码检查
npm run lint

后端开发

# 还原包
dotnet restore

# 编译项目
dotnet build

# 运行项目
dotnet run

# 发布项目
dotnet publish -c Release

配置说明

数据库配置

修改 netcore/src/Application/NCC.API/appsettings.json 中的连接字符串:

{
  "ConnectionStrings": {
    "DefaultConnection": "Database=lqerp;Data Source=localhost;Port=3306;User Id=root;Password=yourpassword;Charset=utf8;"
  }
}

前端代理配置

修改 antis-ncc-admin/vue.config.js 中的代理地址:

proxy: {
  '/dev': {
    target: 'http://localhost:5000', // 后端API地址
    changeOrigin: true,
    pathRewrite: {
      '^/dev': ''
    }
  }
}

部署说明

后端部署

  1. 发布项目:dotnet publish -c Release
  2. 配置数据库连接字符串
  3. 部署到IIS或Linux服务器

前端部署

  1. 构建项目:npm run build
  2. dist 目录部署到Web服务器
  3. 配置Nginx或IIS反向代理

常见问题

Q: 前端启动失败

A: 确保使用Node.js 16.20.2版本,其他版本可能不兼容

Q: 后端连接数据库失败

A: 检查数据库连接字符串和MySQL服务状态

Q: 权限验证失败

A: 检查JWT配置和Token有效期设置

Q: 页面显示异常

A: 检查浏览器控制台错误信息和网络请求状态

技术支持

如有技术问题,请联系开发团队或查看项目文档。

版本信息

  • 当前版本:v1.0.0
  • 最后更新:2024年
  • 维护状态:活跃开发中

注意:本项目仅供学习和内部使用,请勿用于商业用途。