Blame view

README.md 16.3 KB
bdf9e891   “wangming”   更新.gitignore以包含.z...
1
2
3
4
  # 绿纤ERP管理系统
  
  ## 项目简介
  
47d33dca   “wangming”   国庆快乐~
5
6
7
8
9
10
11
12
13
14
  绿纤ERP管理系统是一个基于现代化技术栈开发的企业资源规划系统,专为绿纤行业量身定制。系统采用前后端分离架构,提供完整的门店管理、业绩统计、工资核算、报表分析等业务管理功能。
  
  ## 🎯 核心功能亮点
  
  - **📊 业绩统计系统** - 门店业绩、个人业绩、金三角业绩等多维度统计
  - **💰 工资核算系统** - 健康师底薪、提成、奖励等自动计算
  - **📈 报表分析系统** - 可视化图表、趋势分析、排行榜展示
  - **🏪 门店管理系统** - 门店信息、归属管理、新店保护
  - **👥 人员管理系统** - 健康师管理、金三角团队管理
  - **📋 客户管理系统** - 客户信息、会员权益、拓客记录
bdf9e891   “wangming”   更新.gitignore以包含.z...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  
  ## 技术栈
  
  ### 后端技术
  - **.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预处理器
47d33dca   “wangming”   国庆快乐~
33
  - **ECharts** - 数据可视化图表库
bdf9e891   “wangming”   更新.gitignore以包含.z...
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
  
  ## 项目结构
  
  ```
  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/             # 页面视图
47d33dca   “wangming”   国庆快乐~
59
60
61
62
63
64
65
  │   │   │   ├── salaryStatistics/  # 工资统计页面
  │   │   │   ├── personalPerformanceStatistics/  # 个人业绩统计
  │   │   │   ├── storeTotalPerformanceStatistics/  # 门店总业绩统计
  │   │   │   ├── departmentConsumePerformanceStatistics/  # 部门消耗业绩统计
  │   │   │   ├── techPerformanceStatistics/  # 科技部业绩统计
  │   │   │   ├── storeConsumePerformanceStatistics/  # 门店消耗业绩统计
  │   │   │   ├── report/        # 报表分析页面
bdf9e891   “wangming”   更新.gitignore以包含.z...
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  │   │   │   └── ...            # 其他业务页面
  │   │   ├── router/            # 路由配置
  │   │   └── store/             # 状态管理
  │   ├── package.json           # 前端依赖配置
  │   └── vue.config.js          # Vue构建配置
  └── html/                      # 静态资源
  ```
  
  ## 🎯 核心业务模块说明
  
  **Extend模块**是系统的核心业务模块,包含绿纤ERP的所有业务逻辑。该模块采用三层架构设计:
  
  ### NCC.Extend(业务服务层)
  包含所有业务服务的具体实现,按功能分类:
  
47d33dca   “wangming”   国庆快乐~
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
  #### 📊 业绩统计类
  - `LqStatisticsService` - 核心统计服务(个人业绩、门店业绩、金三角业绩等)
  - `LqReportService` - 报表分析服务(趋势图、排行榜、仪表盘)
  
  #### 💰 工资核算类
  - `LqGzService` - 工资核算服务(健康师底薪、提成计算)
  
  #### 🏪 门店管理类
  - `LqMdxxService` - 门店信息管理服务
  - `LqMdXdbhsjService` - 门店新店保护时间管理
  
  #### 👥 人员管理类
  - `LqYcsdJsjService` - 金三角设定管理服务
  - `LqJinsanjiaoUserService` - 金三角用户绑定管理
  
  #### 📋 客户管理类
bdf9e891   “wangming”   更新.gitignore以包含.z...
97
  - `LqKhxxService` - 客户信息管理服务
47d33dca   “wangming”   国庆快乐~
98
99
  - `LqTkjlbService` - 拓客记录管理服务
  - `LqEventService` - 拓客活动管理服务
bdf9e891   “wangming”   更新.gitignore以包含.z...
100
101
102
103
104
105
106
107
  
  #### 🔧 系统工具类
  - `EmailService` - 邮件服务
  - `DocumentService` - 文档管理服务
  - `BigDataService` - 大数据分析服务
  - `WorkLogService` - 工作日志服务
  
  ### NCC.Extend.Entitys(实体模型层)
47d33dca   “wangming”   国庆快乐~
108
109
110
111
112
113
114
115
116
117
  - **Entity/** - 数据库实体模型(包含统计表、工资表等核心实体)
    - `lq_statistics_personal_performance/` - 个人业绩统计实体
    - `lq_statistics_store_total_performance/` - 门店总业绩统计实体
    - `lq_statistics_gold_triangle/` - 金三角业绩统计实体
    - `lq_statistics_department_consume_performance/` - 部门消耗业绩统计实体
    - `lq_statistics_tech_performance/` - 科技部业绩统计实体
    - `lq_statistics_store_consume_performance/` - 门店消耗业绩统计实体
    - `lq_salary_statistics/` - 工资统计实体
  - **Dto/** - 数据传输对象(包含统计、报表等DTO)
  - **Mapper/** - 对象映射配置
bdf9e891   “wangming”   更新.gitignore以包含.z...
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
178
179
180
181
182
183
184
185
186
  - **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/` 模块中
  
47d33dca   “wangming”   国庆快乐~
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
  ### 📊 业绩统计模块
  - **个人业绩统计** (`LqStatisticsService`) - 健康师个人业绩统计,包含首单业绩、升单业绩等
  - **门店总业绩统计** (`LqStatisticsService`) - 门店整体业绩统计,包含总业绩、欠款金额等
  - **金三角业绩统计** (`LqStatisticsService`) - 金三角团队业绩统计和分析
  - **部门消耗业绩统计** (`LqStatisticsService`) - 部门消耗业绩统计,包含人头数、人次等
  - **科技部业绩统计** (`LqStatisticsService`) - 科技部老师业绩统计
  - **门店消耗业绩统计** (`LqStatisticsService`) - 门店消耗业绩统计
  
  ### 💰 工资核算模块
  - **工资统计** (`LqGzService`) - 健康师工资核算,包含底薪、提成、奖励等
  - **底薪计算** - 根据业绩标准自动计算健康师底薪(一星、二星、三星标准)
  - **提成计算** - 根据业绩类型计算各类提成(基础业绩、合作业绩、奖励业绩等)
  - **占比计算** - 队伍业绩与个人总业绩的占比分析
  
  ### 📈 报表分析模块
  - **门店业绩趋势** (`LqReportService`) - 门店业绩时间趋势分析
  - **门店业绩排行榜** (`LqReportService`) - 门店业绩排名统计
  - **健康师业绩趋势** (`LqReportService`) - 健康师个人业绩趋势
  - **健康师业绩排行榜** (`LqReportService`) - 健康师业绩排名统计
  - **金三角业绩趋势** (`LqReportService`) - 金三角团队业绩趋势
  - **金三角业绩排行榜** (`LqReportService`) - 金三角团队排名统计
  - **综合仪表盘** (`LqReportService`) - 多维度数据汇总展示
  
  ### 🏪 门店管理模块
  - **门店信息管理** (`LqMdxxService`) - 门店基础信息维护
  - **门店归属管理** - 门店归属事业部、教育部、科技部等
  - **新店保护时间** (`LqMdXdbhsjService`) - 新店保护期管理
  
  ### 👥 人员管理模块
  - **金三角设定** (`LqYcsdJsjService`) - 金三角团队配置管理
  - **金三角用户绑定** (`LqJinsanjiaoUserService`) - 用户与金三角团队绑定关系
  - **顾问身份管理** - 根据金三角绑定自动设置顾问身份
  
  ### 📋 客户管理模块
  - **客户信息管理** (`LqKhxxService`) - 客户档案管理
  - **拓客记录管理** (`LqTkjlbService`) - 拓客活动记录
  - **拓客活动管理** (`LqEventService`) - 拓客活动配置
  - **会员权益管理** - 历史会员权益数据管理
bdf9e891   “wangming”   更新.gitignore以包含.z...
225
226
227
228
229
230
231
232
233
234
235
  
  ### ⚙️ 系统管理模块(位于System模块)
  - **用户管理** - 系统用户维护,用户权限管理
  - **角色权限** - 权限分配管理,角色权限配置
  - **系统配置** - 系统参数设置,基础配置维护
  - **日志管理** - 操作日志查看,系统日志分析
  
  ## 开发指南
  
  ### 🎯 核心业务开发(Extend模块)
  
47d33dca   “wangming”   国庆快乐~
236
237
  #### 统计服务开发规范
  1. **统计表实体** (`NCC.Extend.Entitys/Entity/lq_statistics_*/`)
bdf9e891   “wangming”   更新.gitignore以包含.z...
238
     ```csharp
47d33dca   “wangming”   国庆快乐~
239
     [SugarTable("lq_statistics_新统计表")]
bdf9e891   “wangming”   更新.gitignore以包含.z...
240
     [Tenant(ClaimConst.TENANT_ID)]
47d33dca   “wangming”   国庆快乐~
241
     public class LqStatistics新统计Entity
bdf9e891   “wangming”   更新.gitignore以包含.z...
242
243
244
     {
         [SugarColumn(ColumnName = "F_Id", IsPrimaryKey = true)]
         public string Id { get; set; }
47d33dca   “wangming”   国庆快乐~
245
246
247
248
249
         
         [SugarColumn(ColumnName = "F_StatisticsMonth")]
         public string StatisticsMonth { get; set; }
         
         // 其他统计字段...
bdf9e891   “wangming”   更新.gitignore以包含.z...
250
251
252
     }
     ```
  
47d33dca   “wangming”   国庆快乐~
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
  2. **统计DTO对象** (`NCC.Extend.Entitys/Dto/LqStatistics/`)
     - `Lq新统计ListQueryInput` - 列表查询输入
     - `Lq新统计ListOutput` - 列表输出DTO
  
  3. **统计服务实现** (`LqStatisticsService`)
     ```csharp
     /// <summary>
     /// 保存新统计数据
     /// </summary>
     public async Task Save新统计Statistics(string statisticsMonth)
     {
         // 统计逻辑实现
     }
     
     /// <summary>
     /// 获取新统计列表
     /// </summary>
     public async Task<dynamic> Get新统计StatisticsList(Lq新统计ListQueryInput input)
     {
         // 查询逻辑实现
     }
     ```
bdf9e891   “wangming”   更新.gitignore以包含.z...
275
  
47d33dca   “wangming”   国庆快乐~
276
277
  #### 报表服务开发规范
  1. **报表接口定义** (`NCC.Extend.Interfaces/LqReport/`)
bdf9e891   “wangming”   更新.gitignore以包含.z...
278
     ```csharp
47d33dca   “wangming”   国庆快乐~
279
     public interface ILqReportService
bdf9e891   “wangming”   更新.gitignore以包含.z...
280
     {
47d33dca   “wangming”   国庆快乐~
281
         Task<object> Get新报表Data(新报表Input input);
bdf9e891   “wangming”   更新.gitignore以包含.z...
282
283
284
     }
     ```
  
47d33dca   “wangming”   国庆快乐~
285
  2. **报表服务实现** (`LqReportService`)
bdf9e891   “wangming”   更新.gitignore以包含.z...
286
     ```csharp
47d33dca   “wangming”   国庆快乐~
287
288
     [HttpPost("get-新报表-data")]
     public async Task<object> Get新报表Data(新报表Input input)
bdf9e891   “wangming”   更新.gitignore以包含.z...
289
     {
47d33dca   “wangming”   国庆快乐~
290
         // 报表数据查询和格式化
bdf9e891   “wangming”   更新.gitignore以包含.z...
291
292
293
     }
     ```
  
47d33dca   “wangming”   国庆快乐~
294
295
296
297
298
299
300
301
302
303
  #### 前端页面开发规范
  1. **统计页面组件** (`antis-ncc-admin/src/views/新统计Statistics/`)
     - `index.vue` - 统计列表页面
     - 使用 `NCC-table` 组件
     - 支持分页、筛选、导出功能
  
  2. **报表页面组件** (`antis-ncc-admin/src/views/report/`)
     - 集成到现有报表页面
     - 使用 ECharts 图表组件
     - 支持时间筛选、类型切换
bdf9e891   “wangming”   更新.gitignore以包含.z...
304
  
47d33dca   “wangming”   国庆快乐~
305
  3. **API接口** (`antis-ncc-admin/src/api/`)
bdf9e891   “wangming”   更新.gitignore以包含.z...
306
     ```javascript
47d33dca   “wangming”   国庆快乐~
307
308
     // 统计接口
     export function get新统计StatisticsList(data) {
bdf9e891   “wangming”   更新.gitignore以包含.z...
309
       return request({
47d33dca   “wangming”   国庆快乐~
310
311
312
313
314
315
316
317
318
319
320
         url: '/api/Extend/LqStatistics/get-新统计-statistics-list',
         method: 'post',
         data
       })
     }
     
     // 报表接口
     export function get新报表Data(data) {
       return request({
         url: '/api/Extend/LqReport/get-新报表-data',
         method: 'post',
bdf9e891   “wangming”   更新.gitignore以包含.z...
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
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
         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反向代理
  
47d33dca   “wangming”   国庆快乐~
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
  ## 开发规范
  
  ### 📋 项目开发规范
  - **ID生成规范**: 必须使用 `YitIdHelper.NextId().ToString()` 生成ID,禁止使用 `Guid.NewGuid().ToString()`
  - **API接口规范**: GET请求使用data字段传参,不使用params
  - **权限控制**: 所有数据查询必须添加园区权限过滤
  - **数据一致性**: 统计数据和列表数据必须使用相同的过滤条件
  - **UI一致性**: 所有页面必须使用统一的布局和样式规范
  - **性能优化**: 所有列表接口支持分页,避免大数据量查询
  - **安全防护**: 使用SqlSugar ORM防止SQL注入
  
  ### 🗄️ 数据库规范
  - **表命名**: 业务前缀 + 功能名称 (如: lq_)
  - **字段命名**: 驼峰化
  - **时间字段**: 统一使用 DateTime 类型
  - **删除标记**: `base_organize.DeleteMark` 为 `null` 表示未删除
  - **SQL查询验证**: 对于统计类型的SQL查询,在提交代码前必须先使用MCP MySQL工具执行验证
  
  ### 🎨 前端开发规范
  - **组件开发**: views 与 components 分离,弹窗、二级页面必须单独创建 Vue 文件
  - **文件命名**: 使用 kebab-case (如: user-dialog.vue)
  - **UI规范**: 统一使用 NCC-table,标签右对齐,卡片高度100px,内边距12px,圆角12px
  - **性能要求**: 启用懒加载和代码分割,页面加载时间 < 3s
  
bdf9e891   “wangming”   更新.gitignore以包含.z...
417
418
419
420
421
422
423
424
425
426
427
428
429
430
  ## 常见问题
  
  ### Q: 前端启动失败
  A: 确保使用Node.js 16.20.2版本,其他版本可能不兼容
  
  ### Q: 后端连接数据库失败
  A: 检查数据库连接字符串和MySQL服务状态
  
  ### Q: 权限验证失败
  A: 检查JWT配置和Token有效期设置
  
  ### Q: 页面显示异常
  A: 检查浏览器控制台错误信息和网络请求状态
  
47d33dca   “wangming”   国庆快乐~
431
432
433
434
435
436
  ### Q: 统计SQL执行失败
  A: 使用MCP MySQL工具先验证SQL语法和字段名是否正确
  
  ### Q: 报表页面404错误
  A: 检查LqReportService是否正确实现ITransient接口并注册到DI容器
  
bdf9e891   “wangming”   更新.gitignore以包含.z...
437
438
439
440
  ## 技术支持
  
  如有技术问题,请联系开发团队或查看项目文档。
  
47d33dca   “wangming”   国庆快乐~
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
  ## 📊 已完成功能
  
  ### ✅ 核心统计功能
  - [x] 个人业绩统计 - 健康师个人业绩统计,包含首单业绩、升单业绩等
  - [x] 门店总业绩统计 - 门店整体业绩统计,包含总业绩、欠款金额等
  - [x] 金三角业绩统计 - 金三角团队业绩统计和分析
  - [x] 部门消耗业绩统计 - 部门消耗业绩统计,包含人头数、人次等
  - [x] 科技部业绩统计 - 科技部老师业绩统计
  - [x] 门店消耗业绩统计 - 门店消耗业绩统计
  
  ### ✅ 工资核算功能
  - [x] 工资统计 - 健康师工资核算,包含底薪、提成、奖励等
  - [x] 底薪计算 - 根据业绩标准自动计算健康师底薪(一星、二星、三星标准)
  - [x] 提成计算 - 根据业绩类型计算各类提成(基础业绩、合作业绩、奖励业绩等)
  - [x] 占比计算 - 队伍业绩与个人总业绩的占比分析
  
  ### ✅ 报表分析功能
  - [x] 门店业绩趋势 - 门店业绩时间趋势分析
  - [x] 门店业绩排行榜 - 门店业绩排名统计
  - [x] 健康师业绩趋势 - 健康师个人业绩趋势
  - [x] 健康师业绩排行榜 - 健康师业绩排名统计
  - [x] 金三角业绩趋势 - 金三角团队业绩趋势
  - [x] 金三角业绩排行榜 - 金三角团队排名统计
  - [x] 综合仪表盘 - 多维度数据汇总展示
  
  ### ✅ 系统优化
  - [x] 删除废弃代码 - 清理lq_ryzl、lq_tk_xsc等废弃模块
  - [x] 修复SQL语法 - 解决MySQL兼容性问题
  - [x] 修复字段映射 - 解决数据库字段名不匹配问题
  - [x] 优化前端页面 - 修复布局、分页、样式等问题
  
bdf9e891   “wangming”   更新.gitignore以包含.z...
472
473
  ## 版本信息
  
47d33dca   “wangming”   国庆快乐~
474
475
  - **当前版本**:v2.0.0
  - **最后更新**:2024年12月
bdf9e891   “wangming”   更新.gitignore以包含.z...
476
  - **维护状态**:活跃开发中
47d33dca   “wangming”   国庆快乐~
477
  - **主要更新**:完成业绩统计、工资核算、报表分析等核心功能
bdf9e891   “wangming”   更新.gitignore以包含.z...
478
479
480
481
  
  ---
  
  **注意**:本项目仅供学习和内部使用,请勿用于商业用途。