Blame view

README.md 10.9 KB
bdf9e891   “wangming”   更新.gitignore以包含.z...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  # 绿纤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` - 产品信息管理服务
bdf9e891   “wangming”   更新.gitignore以包含.z...
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
  - `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/2022****VS Code**
  
  ### 浏览器支持
  - Chrome 70+
  - Firefox 65+
  - Safari 12+
  - Edge 79+
  
  ## 快速开始
  
  ### 1. 克隆项目
  ```bash
  git clone [项目地址]
  cd lvqianmeiye_ERP
  ```
  
  ### 2. 后端启动
  
  #### 方式一:Visual Studio
  1. 打开 `netcore/smart.agriculture.platform.NET.sln`
  2. 设置 `NCC.API` 为启动项目
  3. 按 F5 运行
  
  #### 方式二:命令行
  ```bash
  cd netcore/src/Application/NCC.API
  dotnet restore
  dotnet run
  ```
  
  ### 3. 前端启动
  
  ```bash
  cd antis-ncc-admin
  
  # 安装依赖
  npm install
  
  # 启动开发服务器
  npm run dev
  ```
  
  ### 4. 访问系统
  - 前端地址:http://localhost:3000
  - 后端API:http://localhost:5000
  - API文档:http://localhost:5000/antis.doc
  
  ## 默认账号
  
  - **管理员账号**:admin
  - **默认密码**:123456
  
  ## 主要功能模块
  
  > 💡 **说明**:所有业务功能的核心代码都位于 `netcore/src/Modularity/Extend/` 模块中
  
  ### 📋 基础管理模块
  - **部门管理** (`LqBmzbService`) - 组织架构管理,部门分类维护
  - **产品信息** (`LqCpxxService`) - 产品档案管理,产品分类维护
bdf9e891   “wangming”   更新.gitignore以包含.z...
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
  - **客户信息** (`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/`)
     ```csharp
     [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/`)
     ```csharp
     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/`)
     ```csharp
     [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/`)
     ```javascript
     export function getLq新实体List(data) {
       return request({
         url: '/api/Extend/Lq新实体',
         method: 'GET',
         data
       })
     }
     ```
  
  ### 前端开发
  ```bash
  # 开发模式
  npm run dev
  
  # 构建生产版本
  npm run build
  
  # 代码检查
  npm run lint
  ```
  
  ### 后端开发
  ```bash
  # 还原包
  dotnet restore
  
  # 编译项目
  dotnet build
  
  # 运行项目
  dotnet run
  
  # 发布项目
  dotnet publish -c Release
  ```
  
  ## 配置说明
  
  ### 数据库配置
  修改 `netcore/src/Application/NCC.API/appsettings.json` 中的连接字符串:
  
  ```json
  {
    "ConnectionStrings": {
      "DefaultConnection": "Database=lqerp;Data Source=localhost;Port=3306;User Id=root;Password=yourpassword;Charset=utf8;"
    }
  }
  ```
  
  ### 前端代理配置
  修改 `antis-ncc-admin/vue.config.js` 中的代理地址:
  
  ```javascript
  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年
  - **维护状态**:活跃开发中
  
  ---
  
  **注意**:本项目仅供学习和内部使用,请勿用于商业用途。