Commit ba386929de370339c97ad794d424718aeca175d0
1 parent
073fdd9a
docs: update README.md for project overview and structure
- Simplified project description to focus on core functionalities of the ERP system. - Revised the project structure section for clarity and organization. - Updated environment requirements and quick start instructions for better accessibility.
Showing
2 changed files
with
116 additions
and
367 deletions
README.md
| 1 | -# 绿纤美业ERP管理系统 | ||
| 2 | - | ||
| 3 | -## 📋 项目简介 | ||
| 4 | - | ||
| 5 | -绿纤美业ERP管理系统是一个基于现代化技术栈开发的企业资源规划系统,专为绿纤美业行业量身定制。系统采用前后端分离架构,提供完整的门店管理、业绩统计、工资核算、报表分析、客户管理等业务管理功能。 | ||
| 6 | - | ||
| 7 | -**项目状态**:✅ 生产环境运行中 | 📅 最后更新:2025年1月 | ||
| 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 | -- **.NET Core 3.1/5.0** - 跨平台Web框架 | ||
| 64 | -- **SqlSugar** - 轻量级ORM框架 | ||
| 65 | -- **MySQL** - 关系型数据库 | ||
| 66 | -- **JWT** - 身份认证 | ||
| 67 | -- **Serilog** - 结构化日志 | ||
| 68 | -- **Swagger** - API文档 | ||
| 69 | - | ||
| 70 | -### 前端技术 | ||
| 71 | -- **Vue 2.6** - 渐进式JavaScript框架 | ||
| 72 | -- **Element UI** - 企业级UI组件库 | ||
| 73 | -- **Vuex** - 状态管理 | ||
| 74 | -- **Vue Router** - 路由管理 | ||
| 75 | -- **Axios** - HTTP客户端 | ||
| 76 | -- **SCSS** - CSS预处理器 | ||
| 77 | -- **ECharts** - 数据可视化图表库 | ||
| 78 | - | ||
| 79 | -### 移动端 | ||
| 80 | -- **uni-app** - 跨平台移动应用框架 | ||
| 81 | -- **微信小程序** - 支持微信小程序平台 | ||
| 82 | - | ||
| 83 | -## 📁 项目结构 | 1 | +# 绿纤美业 ERP |
| 84 | 2 | ||
| 85 | -``` | ||
| 86 | -lvqianmeiye_ERP/ | ||
| 87 | -├── netcore/ # 后端.NET Core项目 | ||
| 88 | -│ └── src/ | ||
| 89 | -│ ├── Application/ # 应用层 | ||
| 90 | -│ ├── Infrastructure/ # 基础设施层 | ||
| 91 | -│ └── Modularity/ # 业务模块层 | ||
| 92 | -│ ├── System/ # 系统管理模块 | ||
| 93 | -│ ├── Extend/ # 🎯 核心业务模块(绿纤ERP业务逻辑) | ||
| 94 | -│ │ ├── NCC.Extend/ # 业务服务层 | ||
| 95 | -│ │ ├── NCC.Extend.Entitys/ # 实体模型层 | ||
| 96 | -│ │ └── NCC.Extend.Interfaces/ # 接口定义层 | ||
| 97 | -│ ├── OAuth/ # 身份认证模块 | ||
| 98 | -│ ├── Message/ # 消息中心模块 | ||
| 99 | -│ ├── Order/ # 订单管理模块 | ||
| 100 | -│ ├── VisualDev/ # 可视化开发模块 | ||
| 101 | -│ └── Tenant/ # 多租户支持模块 | ||
| 102 | -├── antis-ncc-admin/ # 前端Vue管理后台 | ||
| 103 | -│ ├── src/ | ||
| 104 | -│ │ ├── api/ # API接口 | ||
| 105 | -│ │ ├── components/ # 公共组件 | ||
| 106 | -│ │ ├── views/ # 页面视图 | ||
| 107 | -│ │ │ ├── salaryStatistics/ # 工资统计页面 | ||
| 108 | -│ │ │ ├── personalPerformanceStatistics/ # 个人业绩统计 | ||
| 109 | -│ │ │ ├── storeTotalPerformanceStatistics/ # 门店总业绩统计 | ||
| 110 | -│ │ │ ├── departmentConsumePerformanceStatistics/ # 部门消耗业绩统计 | ||
| 111 | -│ │ │ ├── techPerformanceStatistics/ # 科技部业绩统计 | ||
| 112 | -│ │ │ ├── storeConsumePerformanceStatistics/ # 门店消耗业绩统计 | ||
| 113 | -│ │ │ ├── report/ # 报表分析页面 | ||
| 114 | -│ │ │ └── extend/ # 其他业务页面 | ||
| 115 | -│ │ ├── router/ # 路由配置 | ||
| 116 | -│ │ └── store/ # 状态管理 | ||
| 117 | -│ ├── package.json # 前端依赖配置 | ||
| 118 | -│ └── vue.config.js # Vue构建配置 | ||
| 119 | -├── 绿纤uni-app/ # 移动端uni-app项目 | ||
| 120 | -│ ├── pages/ # 页面文件 | ||
| 121 | -│ ├── components/ # 组件 | ||
| 122 | -│ ├── apis/ # API接口 | ||
| 123 | -│ └── service/ # 服务层 | ||
| 124 | -├── 绿纤html/ # 静态HTML页面 | ||
| 125 | -│ ├── appointment.html # 预约页面 | ||
| 126 | -│ ├── expansion.html # 拓客页面 | ||
| 127 | -│ ├── member-consume.html # 会员消耗页面 | ||
| 128 | -│ └── ... # 其他页面 | ||
| 129 | -├── docs/ # 📚 项目文档 | ||
| 130 | -│ ├── 数据库说明.md # 数据库文档 | ||
| 131 | -│ ├── 工资计算规则梳理.md # 工资计算规则文档 | ||
| 132 | -│ ├── 接口文档.md # API接口文档 | ||
| 133 | -│ └── ... # 其他需求文档 | ||
| 134 | -├── scripts/ # 🔧 脚本工具 | ||
| 135 | -│ ├── sh/ # Shell测试脚本 | ||
| 136 | -│ │ ├── test_*.sh # 接口测试脚本 | ||
| 137 | -│ │ └── verify_*.sh # 数据验证脚本 | ||
| 138 | -│ └── py/ # Python工具脚本 | ||
| 139 | -│ ├── export_*.py # 数据导出脚本 | ||
| 140 | -│ └── generate_*.py # 数据生成脚本 | ||
| 141 | -├── sql/ # 📊 SQL脚本 | ||
| 142 | -│ ├── 表结构.sql # 数据库表结构 | ||
| 143 | -│ ├── 初始化数据.sql # 初始化数据脚本 | ||
| 144 | -│ └── ... # 其他SQL脚本 | ||
| 145 | -├── excel/ # 📄 Excel模板文件 | ||
| 146 | -│ ├── 健康师额外数据模板.xlsx | ||
| 147 | -│ ├── 合作成本表.xlsx | ||
| 148 | -│ └── ... # 其他模板文件 | ||
| 149 | -├── ExportFiles/ # 📤 导出文件目录 | ||
| 150 | -├── PROJECT_RULES.md # 项目开发规范 | ||
| 151 | -└── README.md # 项目说明文档 | ||
| 152 | -``` | 3 | +> 面向绿纤美业的企业资源规划系统,前后端分离,覆盖门店管理、业绩统计、工资核算、报表分析与客户管理等核心业务。 |
| 153 | 4 | ||
| 154 | -## 🎯 核心业务模块说明 | 5 | +**状态**:生产环境运行中 · **版本**:v2.5.0 · **更新**:2025年1月 |
| 155 | 6 | ||
| 156 | -**Extend模块**是系统的核心业务模块,包含绿纤ERP的所有业务逻辑。该模块采用三层架构设计: | 7 | +--- |
| 157 | 8 | ||
| 158 | -### NCC.Extend(业务服务层) | 9 | +## 功能概览 |
| 159 | 10 | ||
| 160 | -#### 📊 业绩统计类 | ||
| 161 | -- `LqStatisticsService` - 核心统计服务(个人业绩、门店业绩、金三角业绩等) | ||
| 162 | -- `LqReportService` - 报表分析服务(趋势图、排行榜、仪表盘) | 11 | +| 模块 | 说明 | |
| 12 | +|--------------|------| | ||
| 13 | +| **业绩统计** | 个人 / 门店总 / 金三角 / 部门消耗 / 科技部 / 门店消耗业绩统计 | | ||
| 14 | +| **工资核算** | 健康师、店长、主任、大项目主管、科技部总经理、事业部总经理工资计算 | | ||
| 15 | +| **报表分析** | 门店/健康师/金三角业绩趋势、排行榜、综合仪表盘 | | ||
| 16 | +| **门店管理** | 门店信息、归属管理、新店保护、股份统计 | | ||
| 17 | +| **人员管理** | 金三角设定与用户绑定、顾问身份管理 | | ||
| 18 | +| **客户管理** | 客户档案、拓客记录与活动、会员权益、用户画像 | | ||
| 19 | +| **其他** | 合同、合作成本、店内支出、库存使用审批、年度汇总 | | ||
| 163 | 20 | ||
| 164 | -#### 💰 工资核算类 | ||
| 165 | -- `LqGzService` - 健康师工资核算服务 | ||
| 166 | -- `LqStoreManagerSalaryService` - 店长工资核算服务 | ||
| 167 | -- `LqDirectorSalaryService` - 主任工资核算服务 | ||
| 168 | -- `LqMajorProjectDirectorSalaryService` - 大项目主管工资核算服务 | ||
| 169 | -- `LqTechGeneralManagerSalaryService` - 科技部总经理工资核算服务 | ||
| 170 | -- `LqBusinessUnitManagerSalaryService` - 事业部总经理工资核算服务 | 21 | +--- |
| 171 | 22 | ||
| 172 | -#### 🏪 门店管理类 | ||
| 173 | -- `LqMdxxService` - 门店信息管理服务 | ||
| 174 | -- `LqMdXdbhsjService` - 门店新店保护时间管理 | 23 | +## 技术栈 |
| 175 | 24 | ||
| 176 | -#### 👥 人员管理类 | ||
| 177 | -- `LqYcsdJsjService` - 金三角设定管理服务 | ||
| 178 | -- `LqJinsanjiaoUserService` - 金三角用户绑定管理 | 25 | +| 端 | 技术 | |
| 26 | +|--------|------| | ||
| 27 | +| **后端** | .NET Core 3.1/5.0 · SqlSugar · MySQL · JWT · Serilog · Swagger | | ||
| 28 | +| **前端** | Vue 2.6 · Element UI · Vuex · Vue Router · Axios · SCSS · ECharts | | ||
| 29 | +| **移动端** | uni-app(支持微信小程序) | | ||
| 179 | 30 | ||
| 180 | -#### 📋 客户管理类 | ||
| 181 | -- `LqKhxxService` - 客户信息管理服务 | ||
| 182 | -- `LqTkjlbService` - 拓客记录管理服务 | ||
| 183 | -- `LqEventService` - 拓客活动管理服务 | 31 | +--- |
| 184 | 32 | ||
| 185 | -#### 🔧 系统工具类 | ||
| 186 | -- `EmailService` - 邮件服务 | ||
| 187 | -- `DocumentService` - 文档管理服务 | ||
| 188 | -- `BigDataService` - 大数据分析服务 | ||
| 189 | -- `WorkLogService` - 工作日志服务 | 33 | +## 项目结构 |
| 190 | 34 | ||
| 191 | -### NCC.Extend.Entitys(实体模型层) | ||
| 192 | -- **Entity/** - 数据库实体模型 | ||
| 193 | -- **Dto/** - 数据传输对象 | ||
| 194 | -- **Mapper/** - 对象映射配置 | ||
| 195 | -- **Model/** - 业务模型类 | 35 | +``` |
| 36 | +lvqianmeiye_ERP/ | ||
| 37 | +├── netcore/ # 后端 | ||
| 38 | +│ └── src/ | ||
| 39 | +│ ├── Application/ # 应用入口(NCC.API) | ||
| 40 | +│ ├── Infrastructure/ # 基础设施(SqlSugar、JWT、日志等) | ||
| 41 | +│ └── Modularity/ | ||
| 42 | +│ ├── Extend/ # 绿纤 ERP 核心业务(NCC.Extend / Entitys / Interfaces) | ||
| 43 | +│ ├── System/ # 系统管理 | ||
| 44 | +│ ├── OAuth/ # 认证 | ||
| 45 | +│ └── ... | ||
| 46 | +├── antis-ncc-admin/ # 前端管理后台(Vue) | ||
| 47 | +│ └── src/ | ||
| 48 | +│ ├── api/ # 接口封装 | ||
| 49 | +│ ├── views/ # 页面(业绩、工资、报表、门店、客户等) | ||
| 50 | +│ ├── components/ # 公共组件 | ||
| 51 | +│ └── router/、store/ | ||
| 52 | +├── 绿纤uni-app/ # 移动端 | ||
| 53 | +├── docs/ # 项目文档(数据库说明、工资规则、接口文档等) | ||
| 54 | +├── scripts/ # Shell 测试脚本、Python 工具脚本 | ||
| 55 | +├── sql/ # 表结构、初始化、迁移、统计等 SQL | ||
| 56 | +├── excel/ # Excel 模板 | ||
| 57 | +└── PROJECT_RULES.md # 开发规范(必读) | ||
| 58 | +``` | ||
| 196 | 59 | ||
| 197 | -## 🚀 快速开始 | 60 | +--- |
| 198 | 61 | ||
| 199 | -### 环境要求 | 62 | +## 快速开始 |
| 200 | 63 | ||
| 201 | -#### 开发环境 | ||
| 202 | -- **Node.js**: 16.20.2 (⚠️ 必须使用此版本,其他版本可能不兼容) | ||
| 203 | -- **.NET Core SDK**: 3.1 或 5.0 | ||
| 204 | -- **MySQL**: 5.7 或 8.0 | ||
| 205 | -- **Visual Studio 2019/2022** 或 **VS Code** | 64 | +### 环境要求 |
| 206 | 65 | ||
| 207 | -#### 浏览器支持 | ||
| 208 | -- Chrome 70+ | ||
| 209 | -- Firefox 65+ | ||
| 210 | -- Safari 12+ | ||
| 211 | -- Edge 79+ | 66 | +- **Node.js**:16.20.2(必须,其他版本可能不兼容) |
| 67 | +- **.NET Core SDK**:3.1 或 5.0 | ||
| 68 | +- **MySQL**:5.7 或 8.0 | ||
| 69 | +- **IDE**:Visual Studio 2019/2022 或 VS Code | ||
| 212 | 70 | ||
| 213 | -### 1. 克隆项目 | 71 | +### 克隆与启动 |
| 214 | 72 | ||
| 215 | ```bash | 73 | ```bash |
| 216 | git clone [项目地址] | 74 | git clone [项目地址] |
| 217 | cd lvqianmeiye_ERP | 75 | cd lvqianmeiye_ERP |
| 218 | ``` | 76 | ``` |
| 219 | 77 | ||
| 220 | -### 2. 后端启动 | ||
| 221 | - | ||
| 222 | -#### 方式一:Visual Studio | ||
| 223 | -1. 打开 `netcore/smart.agriculture.platform.NET.sln` | ||
| 224 | -2. 设置 `NCC.API` 为启动项目 | ||
| 225 | -3. 按 F5 运行 | 78 | +**后端** |
| 226 | 79 | ||
| 227 | -#### 方式二:命令行 | ||
| 228 | ```bash | 80 | ```bash |
| 229 | cd netcore/src/Application/NCC.API | 81 | cd netcore/src/Application/NCC.API |
| 230 | dotnet restore | 82 | dotnet restore |
| 231 | dotnet run | 83 | dotnet run |
| 232 | ``` | 84 | ``` |
| 233 | 85 | ||
| 234 | -### 3. 前端启动 | 86 | +或使用 Visual Studio:打开 `netcore/smart.agriculture.platform.NET.sln`,将 `NCC.API` 设为启动项目,F5 运行。 |
| 87 | + | ||
| 88 | +**前端** | ||
| 235 | 89 | ||
| 236 | ```bash | 90 | ```bash |
| 237 | cd antis-ncc-admin | 91 | cd antis-ncc-admin |
| 238 | - | ||
| 239 | -# 安装依赖 | ||
| 240 | npm install | 92 | npm install |
| 241 | - | ||
| 242 | -# 启动开发服务器 | ||
| 243 | npm run dev | 93 | npm run dev |
| 244 | ``` | 94 | ``` |
| 245 | 95 | ||
| 246 | -### 4. 访问系统 | ||
| 247 | -- 前端地址:http://localhost:3000 | ||
| 248 | -- 后端API:http://localhost:5000 | ||
| 249 | -- API文档:http://localhost:5000/antis.doc | 96 | +### 访问与默认账号 |
| 250 | 97 | ||
| 251 | -### 默认账号 | ||
| 252 | -- **管理员账号**:admin | ||
| 253 | -- **默认密码**:123456 | ||
| 254 | - | ||
| 255 | -## 📚 项目文档 | ||
| 256 | - | ||
| 257 | -项目文档统一存放在 `docs/` 目录下,包含: | ||
| 258 | - | ||
| 259 | -### 核心文档 | ||
| 260 | -- **数据库说明.md** - 数据库表结构、字段说明、关联关系 | ||
| 261 | -- **PROJECT_RULES.md** - 项目开发规范、编码规范、最佳实践 | ||
| 262 | - | ||
| 263 | -### 业务文档 | ||
| 264 | -- **工资计算规则梳理.md** - 各类工资计算规则说明 | ||
| 265 | - - 健康师工资计算规则 | ||
| 266 | - - 店长工资计算规则 | ||
| 267 | - - 主任工资计算规则 | ||
| 268 | - - 大项目主管工资计算规则 | ||
| 269 | - - 科技部总经理工资计算规则 | ||
| 270 | - - 事业部总经理工资计算规则 | ||
| 271 | -- **接口文档.md** - API接口调用说明 | ||
| 272 | -- **需求分析文档** - 各类业务需求分析文档 | ||
| 273 | - | ||
| 274 | -### 查看文档 | ||
| 275 | -```bash | ||
| 276 | -# 查看所有文档 | ||
| 277 | -ls docs/ | 98 | +| 项 | 地址/信息 | |
| 99 | +|--------|-----------| | ||
| 100 | +| 前端 | http://localhost:3000 | | ||
| 101 | +| 后端 API | http://localhost:5000 | | ||
| 102 | +| API 文档 | http://localhost:5000/antis.doc | | ||
| 103 | +| 默认账号 | admin / 123456 | | ||
| 278 | 104 | ||
| 279 | -# 查看特定文档 | ||
| 280 | -cat docs/数据库说明.md | ||
| 281 | -``` | ||
| 282 | - | ||
| 283 | -## 🔧 脚本工具 | ||
| 284 | - | ||
| 285 | -项目提供了丰富的脚本工具,位于 `scripts/` 目录下: | ||
| 286 | - | ||
| 287 | -### Shell测试脚本 (`scripts/sh/`) | ||
| 288 | -用于接口测试和数据验证: | ||
| 289 | -```bash | ||
| 290 | -# 测试个人业绩统计接口 | ||
| 291 | -./scripts/sh/test_personal_performance_api.sh | ||
| 292 | - | ||
| 293 | -# 测试门店总业绩统计接口 | ||
| 294 | -./scripts/sh/test_store_total_performance_statistics.sh | ||
| 295 | - | ||
| 296 | -# 验证门店总业绩数据 | ||
| 297 | -./scripts/sh/verify_store_total_performance_data.sh | ||
| 298 | -``` | ||
| 299 | - | ||
| 300 | -### Python工具脚本 (`scripts/py/`) | ||
| 301 | -用于数据导出和生成: | ||
| 302 | -```bash | ||
| 303 | -# 导出所有会员剩余权益数据 | ||
| 304 | -python scripts/py/export_all_member_remaining_rights.py | ||
| 305 | - | ||
| 306 | -# 生成客户Excel数据 | ||
| 307 | -python scripts/py/generate_november_customer_excel.py | ||
| 308 | -``` | ||
| 309 | - | ||
| 310 | -## 📊 SQL脚本 | ||
| 311 | - | ||
| 312 | -数据库相关SQL脚本存放在 `sql/` 目录下: | ||
| 313 | - | ||
| 314 | -- **表结构脚本** - 数据库表结构定义 | ||
| 315 | -- **初始化数据脚本** - 系统初始化数据 | ||
| 316 | -- **数据迁移脚本** - 数据库版本升级脚本 | ||
| 317 | -- **统计脚本** - 统计数据生成脚本 | 105 | +--- |
| 318 | 106 | ||
| 319 | -## ⚙️ 配置说明 | 107 | +## 配置 |
| 320 | 108 | ||
| 321 | -### 数据库配置 | ||
| 322 | -修改 `netcore/src/Application/NCC.API/appsettings.json` 中的连接字符串: | 109 | +**数据库**:修改 `netcore/src/Application/NCC.API/appsettings.json` 中的 `ConnectionStrings.DefaultConnection`: |
| 323 | 110 | ||
| 324 | ```json | 111 | ```json |
| 325 | -{ | ||
| 326 | - "ConnectionStrings": { | ||
| 327 | - "DefaultConnection": "Database=lqerp;Data Source=localhost;Port=3306;User Id=root;Password=yourpassword;Charset=utf8;" | ||
| 328 | - } | ||
| 329 | -} | ||
| 330 | -``` | ||
| 331 | - | ||
| 332 | -### 前端代理配置 | ||
| 333 | -修改 `antis-ncc-admin/vue.config.js` 中的代理地址: | ||
| 334 | - | ||
| 335 | -```javascript | ||
| 336 | -proxy: { | ||
| 337 | - '/dev': { | ||
| 338 | - target: 'http://localhost:5000', // 后端API地址 | ||
| 339 | - changeOrigin: true, | ||
| 340 | - pathRewrite: { | ||
| 341 | - '^/dev': '' | ||
| 342 | - } | ||
| 343 | - } | ||
| 344 | -} | 112 | +"DefaultConnection": "Database=lqerp;Data Source=localhost;Port=3306;User Id=root;Password=你的密码;Charset=utf8;" |
| 345 | ``` | 113 | ``` |
| 346 | 114 | ||
| 347 | -## 📦 部署说明 | 115 | +**前端代理**:修改 `antis-ncc-admin/vue.config.js` 中 `proxy['/dev'].target` 为实际后端地址(默认 `http://localhost:5000`)。 |
| 348 | 116 | ||
| 349 | -### 后端部署 | ||
| 350 | -1. 发布项目:`dotnet publish -c Release` | ||
| 351 | -2. 配置数据库连接字符串 | ||
| 352 | -3. 部署到IIS或Linux服务器 | 117 | +--- |
| 353 | 118 | ||
| 354 | -### 前端部署 | ||
| 355 | -1. 构建项目:`npm run build` | ||
| 356 | -2. 将 `dist` 目录部署到Web服务器 | ||
| 357 | -3. 配置Nginx或IIS反向代理 | 119 | +## 文档与脚本 |
| 358 | 120 | ||
| 359 | -## 📋 开发规范 | 121 | +- **文档**:`docs/` 目录 |
| 122 | + - `数据库说明.md`:表结构、字段、关联与弃用表说明 | ||
| 123 | + - `工资计算规则梳理.md`:各类工资计算规则 | ||
| 124 | + - `接口文档.md`:API 说明 | ||
| 360 | 125 | ||
| 361 | -详细的开发规范请参考 [PROJECT_RULES.md](./PROJECT_RULES.md),主要规范包括: | 126 | +- **脚本**:`scripts/sh/`(接口测试、数据验证)、`scripts/py/`(导出、生成等)。Shell 脚本需执行权限:`chmod +x scripts/sh/*.sh`。 |
| 362 | 127 | ||
| 363 | -### 核心规范 | ||
| 364 | -- **ID生成规范**: 必须使用 `YitIdHelper.NextId().ToString()` 生成ID | ||
| 365 | -- **API接口规范**: GET请求使用data字段传参,不使用params | ||
| 366 | -- **权限控制**: 所有数据查询必须添加园区权限过滤 | ||
| 367 | -- **数据一致性**: 统计数据和列表数据必须使用相同的过滤条件 | ||
| 368 | -- **SQL查询验证**: 统计类型SQL查询必须先使用MCP MySQL工具验证 | 128 | +- **SQL**:`sql/` 内存放表结构、初始化、迁移及统计相关脚本。 |
| 369 | 129 | ||
| 370 | -### 前端规范 | ||
| 371 | -- **组件开发**: views 与 components 分离,弹窗、二级页面必须单独创建 Vue 文件 | ||
| 372 | -- **文件命名**: 使用 kebab-case (如: user-dialog.vue) | ||
| 373 | -- **UI规范**: 统一使用 NCC-table,标签右对齐,卡片高度100px,内边距12px,圆角12px | 130 | +--- |
| 374 | 131 | ||
| 375 | -### 后端规范 | ||
| 376 | -- **分层架构**: Entitys → Interfaces → Services | ||
| 377 | -- **异常处理**: 全局捕获,统一 JSON 格式返回 | ||
| 378 | -- **XML注释**: 关键方法必须添加 XML 注释 | 132 | +## 核心业务模块(Extend) |
| 379 | 133 | ||
| 380 | -## ❓ 常见问题 | 134 | +业务逻辑集中在 `netcore/src/Modularity/Extend/`,服务通过动态 API 暴露为 `api/Extend/[ServiceName]`。 |
| 381 | 135 | ||
| 382 | -### Q: 前端启动失败 | ||
| 383 | -**A**: 确保使用Node.js 16.20.2版本,其他版本可能不兼容 | 136 | +| 业务 | 主要服务类 | |
| 137 | +|------------|------------| | ||
| 138 | +| 业绩统计 | `LqStatisticsService`、`LqReportService` | | ||
| 139 | +| 工资核算 | `LqGzService`、`LqStoreManagerSalaryService`、`LqDirectorSalaryService`、`LqMajorProjectDirectorSalaryService`、`LqTechGeneralManagerSalaryService`、`LqBusinessUnitManagerSalaryService` | | ||
| 140 | +| 门店管理 | `LqMdxxService`、`LqMdXdbhsjService` | | ||
| 141 | +| 人员/金三角 | `LqYcsdJsjService`、金三角用户绑定相关服务 | | ||
| 142 | +| 客户管理 | `LqKhxxService`、`LqTkjlbService`、`LqEventService` | | ||
| 143 | +| 工具 | `EmailService`、`DocumentService`、`BigDataService`、`WorkLogService` | | ||
| 384 | 144 | ||
| 385 | -### Q: 后端连接数据库失败 | ||
| 386 | -**A**: 检查数据库连接字符串和MySQL服务状态 | 145 | +实体与 DTO 在 `NCC.Extend.Entitys`(Entity、Dto、Mapper、Model)。 |
| 387 | 146 | ||
| 388 | -### Q: 权限验证失败 | ||
| 389 | -**A**: 检查JWT配置和Token有效期设置 | 147 | +--- |
| 390 | 148 | ||
| 391 | -### Q: 统计SQL执行失败 | ||
| 392 | -**A**: 使用MCP MySQL工具先验证SQL语法和字段名是否正确 | 149 | +## 开发规范 |
| 393 | 150 | ||
| 394 | -### Q: 接口测试脚本无法运行 | ||
| 395 | -**A**: 确保脚本有执行权限:`chmod +x scripts/sh/*.sh` | 151 | +完整规范见 **[PROJECT_RULES.md](./PROJECT_RULES.md)**(或仓库内 `.cursor/rules/project_rules.mdc`),开发前请阅读。要点包括: |
| 396 | 152 | ||
| 397 | -## 📈 项目状态 | 153 | +- **后端**:ID 使用 `YitIdHelper.NextId().ToString()`;分层 Entitys → Interfaces → Services;关键方法写 XML 注释;统一异常与返回格式。 |
| 154 | +- **前端**:GET 请求用 `data` 传参;表格用 NCC-table;弹窗/二级页单独组件;文件命名 kebab-case。 | ||
| 155 | +- **数据**:统计与列表使用相同筛选条件;涉及人员/门店归属等见「已弃用表」说明,使用约定表与字段。 | ||
| 398 | 156 | ||
| 399 | -### ✅ 已完成功能 | ||
| 400 | -- [x] 业绩统计系统(个人、门店、金三角、部门消耗、科技部、门店消耗) | ||
| 401 | -- [x] 工资核算系统(健康师、店长、主任、大项目主管、科技部总经理、事业部总经理) | ||
| 402 | -- [x] 报表分析系统(趋势图、排行榜、仪表盘) | ||
| 403 | -- [x] 门店管理系统(门店信息、归属管理、新店保护) | ||
| 404 | -- [x] 客户管理系统(客户信息、拓客记录、会员权益) | ||
| 405 | -- [x] 合同管理系统 | ||
| 406 | -- [x] 合作成本和店内支出管理 | ||
| 407 | -- [x] 库存使用审批流程 | ||
| 408 | -- [x] 年度汇总统计 | 157 | +--- |
| 409 | 158 | ||
| 410 | -### 🔄 持续优化 | ||
| 411 | -- 性能优化 | ||
| 412 | -- 代码重构 | ||
| 413 | -- 文档完善 | ||
| 414 | -- 测试覆盖 | 159 | +## 部署 |
| 415 | 160 | ||
| 416 | -## 📞 技术支持 | 161 | +- **后端**:`dotnet publish -c Release`,配置生产环境连接字符串,部署至 IIS 或 Linux。 |
| 162 | +- **前端**:`npm run build`,将 `antis-ncc-admin/dist` 部署至 Web 服务器,并配置反向代理(如 Nginx)指向后端 API。 | ||
| 417 | 163 | ||
| 418 | -如有技术问题,请: | ||
| 419 | -1. 查看项目文档:`docs/` 目录 | ||
| 420 | -2. 查看开发规范:`PROJECT_RULES.md` | ||
| 421 | -3. 联系开发团队 | 164 | +--- |
| 422 | 165 | ||
| 423 | -## 📝 版本信息 | 166 | +## 常见问题 |
| 424 | 167 | ||
| 425 | -- **当前版本**:v2.5.0 | ||
| 426 | -- **最后更新**:2025年1月 | ||
| 427 | -- **维护状态**:✅ 生产环境运行中 | ||
| 428 | -- **主要特性**:完整的业绩统计、工资核算、报表分析等核心功能 | 168 | +| 问题 | 处理建议 | |
| 169 | +|--------------------|----------| | ||
| 170 | +| 前端启动失败 | 确认 Node.js 为 16.20.2(`nvm use 16.20.2` 或安装该版本)。 | | ||
| 171 | +| 后端连不上数据库 | 检查 `appsettings.json` 连接字符串及 MySQL 服务是否启动。 | | ||
| 172 | +| 权限/Token 报错 | 检查 JWT 配置与 Token 有效期。 | | ||
| 173 | +| 统计类 SQL 报错 | 先用 MCP MySQL 工具验证 SQL 语法与表名字段名。 | | ||
| 174 | +| 脚本无法执行 | 执行 `chmod +x scripts/sh/*.sh`。 | | ||
| 429 | 175 | ||
| 430 | --- | 176 | --- |
| 431 | 177 | ||
| 432 | -**注意**:本项目仅供学习和内部使用,请勿用于商业用途。 | 178 | +## 许可证与说明 |
| 179 | + | ||
| 180 | +本项目仅供学习与内部使用,请勿用于商业用途。 | ||
| 181 | +技术问题可先查阅 `docs/` 与 `PROJECT_RULES.md`,或联系开发团队。 |
netcore/src/Modularity/Extend/NCC.Extend/LqDailyReportService.cs
| @@ -1538,8 +1538,8 @@ namespace NCC.Extend | @@ -1538,8 +1538,8 @@ namespace NCC.Extend | ||
| 1538 | // 3. 查询指定日期的有效开单记录(有金额的) | 1538 | // 3. 查询指定日期的有效开单记录(有金额的) |
| 1539 | // 使用 lq_md_target 表获取门店归属,替代已弃用的 lq_mdxx.syb 字段 | 1539 | // 使用 lq_md_target 表获取门店归属,替代已弃用的 lq_mdxx.syb 字段 |
| 1540 | var billingQuery = _db.Queryable<LqKdKdjlbEntity, LqMdTargetEntity, LqMdxxEntity, OrganizeEntity>( | 1540 | var billingQuery = _db.Queryable<LqKdKdjlbEntity, LqMdTargetEntity, LqMdxxEntity, OrganizeEntity>( |
| 1541 | - (billing, target, store, org) => | ||
| 1542 | - billing.Djmd == target.StoreId | 1541 | + (billing, target, store, org) => |
| 1542 | + billing.Djmd == target.StoreId | ||
| 1543 | && target.Month == month | 1543 | && target.Month == month |
| 1544 | && target.BusinessUnit == org.Id | 1544 | && target.BusinessUnit == org.Id |
| 1545 | && billing.Djmd == store.Id) | 1545 | && billing.Djmd == store.Id) |