From 566cc104f1463c03e2ee46f7f4fd643df6ea875f Mon Sep 17 00:00:00 2001 From: “wangming” <“wangming@antissoft.com”> Date: Tue, 30 Sep 2025 16:10:52 +0800 Subject: [PATCH] 提交一个代码。 --- add_first_upgrade_performance_fields.sql | 14 -------------- antis-ncc-admin/src/api/extend/statistics.js | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/router/modules/base.js | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/departmentConsumePerformanceStatistics/index.vue | 267 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/goldTriangleStatistics/index.vue | 267 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/personalPerformanceStatistics/index.vue | 275 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/salaryCalculation/index.vue | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------- antis-ncc-admin/src/views/salaryStatistics/index.vue | 1149 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- antis-ncc-admin/src/views/storeConsumePerformanceStatistics/index.vue | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ antis-ncc-admin/src/views/techPerformanceStatistics/index.vue | 253 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqSalaryStatistics/LqSalaryStatisticsListOutput.cs | 197 +++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListQueryInput.cs | 42 ++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListOutput.cs | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListQueryInput.cs | 37 +++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqPersonalPerformanceStatisticsListQueryInput.cs | 42 ++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListOutput.cs | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListQueryInput.cs | 32 ++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListQueryInput.cs | 32 ++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListOutput.cs | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListQueryInput.cs | 37 +++++++++++++++++++++++++++++++++++++ netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_salary_statistics/LqSalaryStatisticsEntity.cs | 232 +++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs | 365 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------- 参考资料/工资(全字段).xlsx | Bin 0 -> 346830 bytes 参考资料/工资(全字段)_副本.xlsx | Bin 0 -> 12832006 bytes 27 files changed, 3286 insertions(+), 1261 deletions(-) delete mode 100644 add_first_upgrade_performance_fields.sql create mode 100644 antis-ncc-admin/src/api/extend/statistics.js create mode 100644 antis-ncc-admin/src/views/departmentConsumePerformanceStatistics/index.vue create mode 100644 antis-ncc-admin/src/views/goldTriangleStatistics/index.vue create mode 100644 antis-ncc-admin/src/views/personalPerformanceStatistics/index.vue create mode 100644 antis-ncc-admin/src/views/storeConsumePerformanceStatistics/index.vue create mode 100644 antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue create mode 100644 antis-ncc-admin/src/views/techPerformanceStatistics/index.vue create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListQueryInput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListOutput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListQueryInput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqPersonalPerformanceStatisticsListQueryInput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListOutput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListQueryInput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListQueryInput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListOutput.cs create mode 100644 netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListQueryInput.cs create mode 100644 参考资料/工资(全字段).xlsx create mode 100644 参考资料/工资(全字段)_副本.xlsx diff --git a/add_first_upgrade_performance_fields.sql b/add_first_upgrade_performance_fields.sql deleted file mode 100644 index 116cc23..0000000 --- a/add_first_upgrade_performance_fields.sql +++ /dev/null @@ -1,14 +0,0 @@ --- 为个人业绩统计表添加首单业绩和升单业绩字段 -ALTER TABLE lq_statistics_personal_performance -ADD COLUMN F_FirstOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '首单业绩' AFTER F_UpgradeOrderCount, -ADD COLUMN F_UpgradeOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '升单业绩' AFTER F_FirstOrderPerformance; - --- 为门店总业绩统计表添加首单业绩和升单业绩字段 -ALTER TABLE lq_statistics_store_total_performance -ADD COLUMN F_FirstOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '首单业绩' AFTER F_UpgradeOrderCount, -ADD COLUMN F_UpgradeOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '升单业绩' AFTER F_FirstOrderPerformance; - --- 为工资统计表添加首单业绩和升单业绩字段 -ALTER TABLE lq_salary_statistics -ADD COLUMN F_FirstOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '首单业绩' AFTER F_UpgradePerformance, -ADD COLUMN F_UpgradeOrderPerformance decimal(18,2) DEFAULT '0.00' COMMENT '升单业绩' AFTER F_FirstOrderPerformance; diff --git a/antis-ncc-admin/src/api/extend/statistics.js b/antis-ncc-admin/src/api/extend/statistics.js new file mode 100644 index 0000000..fcd1c3d --- /dev/null +++ b/antis-ncc-admin/src/api/extend/statistics.js @@ -0,0 +1,64 @@ +import request from '@/utils/request' + +// 金三角开卡业绩统计列表 +export function getGoldTriangleStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-gold-triangle-statistics-list', + method: 'post', + data: params + }) +} + +// 健康师个人开单业绩统计列表 +export function getPersonalPerformanceStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-personal-performance-statistics-list', + method: 'post', + data: params + }) +} + +// 科技部开单业绩统计列表 +export function getTechPerformanceStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-tech-performance-statistics-list', + method: 'post', + data: params + }) +} + +// 门店耗卡业绩统计列表 (暂时不可用) +export function getStoreConsumePerformanceStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-store-consume-performance-statistics-list', + method: 'post', + data: params + }) +} + +// 个人消耗业绩统计列表 (暂时不可用) +export function getDepartmentConsumePerformanceStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-department-consume-performance-statistics-list', + method: 'post', + data: params + }) +} + +// 门店总业绩统计列表 (暂时不可用) +export function getStoreTotalPerformanceStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-store-total-performance-statistics-list', + method: 'post', + data: params + }) +} + +// 健康师工资统计列表 +export function getSalaryStatisticsList(params) { + return request({ + url: '/api/Extend/LqStatistics/get-salary-statistics-list', + method: 'post', + data: params + }) +} diff --git a/antis-ncc-admin/src/router/modules/base.js b/antis-ncc-admin/src/router/modules/base.js index b3f4641..50ba3da 100644 --- a/antis-ncc-admin/src/router/modules/base.js +++ b/antis-ncc-admin/src/router/modules/base.js @@ -97,6 +97,72 @@ const baseRouter = [{ zhTitle: '工资统计', icon: 'icon-ym icon-ym-s-data', } + }, + { + path: '/goldTriangleStatistics', + component: (resolve) => require(['@/views/goldTriangleStatistics/index'], resolve), + name: 'goldTriangleStatistics', + meta: { + title: 'goldTriangleStatistics', + affix: false, + zhTitle: '金三角开卡业绩统计', + icon: 'icon-ym icon-ym-s-data', + } + }, + { + path: '/personalPerformanceStatistics', + component: (resolve) => require(['@/views/personalPerformanceStatistics/index'], resolve), + name: 'personalPerformanceStatistics', + meta: { + title: 'personalPerformanceStatistics', + affix: false, + zhTitle: '健康师个人开单业绩统计', + icon: 'icon-ym icon-ym-user', + } + }, + { + path: '/techPerformanceStatistics', + component: (resolve) => require(['@/views/techPerformanceStatistics/index'], resolve), + name: 'techPerformanceStatistics', + meta: { + title: 'techPerformanceStatistics', + affix: false, + zhTitle: '科技部开单业绩统计', + icon: 'icon-ym icon-ym-s-promotion', + } + }, + { + path: '/storeConsumePerformanceStatistics', + component: (resolve) => require(['@/views/storeConsumePerformanceStatistics/index'], resolve), + name: 'storeConsumePerformanceStatistics', + meta: { + title: 'storeConsumePerformanceStatistics', + affix: false, + zhTitle: '门店耗卡业绩统计', + icon: 'icon-ym icon-ym-s-shop', + } + }, + { + path: '/departmentConsumePerformanceStatistics', + component: (resolve) => require(['@/views/departmentConsumePerformanceStatistics/index'], resolve), + name: 'departmentConsumePerformanceStatistics', + meta: { + title: 'departmentConsumePerformanceStatistics', + affix: false, + zhTitle: '个人消耗业绩统计', + icon: 'icon-ym icon-ym-user-solid', + } + }, + { + path: '/storeTotalPerformanceStatistics', + component: (resolve) => require(['@/views/storeTotalPerformanceStatistics/index'], resolve), + name: 'storeTotalPerformanceStatistics', + meta: { + title: 'storeTotalPerformanceStatistics', + affix: false, + zhTitle: '门店总业绩统计', + icon: 'icon-ym icon-ym-s-finance', + } } ] export default baseRouter \ No newline at end of file diff --git a/antis-ncc-admin/src/views/departmentConsumePerformanceStatistics/index.vue b/antis-ncc-admin/src/views/departmentConsumePerformanceStatistics/index.vue new file mode 100644 index 0000000..a16b20f --- /dev/null +++ b/antis-ncc-admin/src/views/departmentConsumePerformanceStatistics/index.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/antis-ncc-admin/src/views/goldTriangleStatistics/index.vue b/antis-ncc-admin/src/views/goldTriangleStatistics/index.vue new file mode 100644 index 0000000..d3756a6 --- /dev/null +++ b/antis-ncc-admin/src/views/goldTriangleStatistics/index.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/antis-ncc-admin/src/views/personalPerformanceStatistics/index.vue b/antis-ncc-admin/src/views/personalPerformanceStatistics/index.vue new file mode 100644 index 0000000..bf027cd --- /dev/null +++ b/antis-ncc-admin/src/views/personalPerformanceStatistics/index.vue @@ -0,0 +1,275 @@ + + + + + diff --git a/antis-ncc-admin/src/views/salaryCalculation/index.vue b/antis-ncc-admin/src/views/salaryCalculation/index.vue index c78a672..07cbe1f 100644 --- a/antis-ncc-admin/src/views/salaryCalculation/index.vue +++ b/antis-ncc-admin/src/views/salaryCalculation/index.vue @@ -13,15 +13,8 @@ 重置
- +
@@ -33,15 +26,9 @@

按顺序执行所有统计方法,生成完整的工资数据

- - + + {{ isCalculating ? '计算中...' : '一键计算工资' }}
@@ -59,15 +46,16 @@ 金三角开卡业绩 - - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -75,15 +63,16 @@ 健康师个人开单业绩
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -91,15 +80,16 @@ 科技部开单业绩
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -107,15 +97,16 @@ 门店耗卡业绩
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -123,15 +114,17 @@ 个人消耗业绩
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -139,15 +132,16 @@ 门店总业绩
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -155,15 +149,15 @@ 工资统计
- - 立即统计 - +
+ + 立即统计 + + + 查看 + +
@@ -172,11 +166,7 @@ 更多统计方法 - + 敬请期待 @@ -205,9 +195,6 @@
统计结果
- - 查看工资统计 - 清空 @@ -219,7 +206,8 @@

暂无统计结果

请选择月份并点击上方按钮进行统计

-
+
{{ result.title }} @@ -350,7 +338,7 @@ export default { // 按顺序执行每个统计步骤 for (let i = 0; i < steps.length; i++) { const step = steps[i] - + // 更新进度状态 this.calculationProgress.push({ name: step.name, @@ -360,10 +348,10 @@ export default { try { // 调用对应的统计方法 await this[step.method]() - + // 标记为完成 this.calculationProgress[i].status = 'completed' - + // 等待一秒再执行下一步 if (i < steps.length - 1) { await new Promise(resolve => setTimeout(resolve, 1000)) @@ -372,7 +360,7 @@ export default { // 标记为失败 this.calculationProgress[i].status = 'failed' this.$message.error(`${step.name}失败: ${error.message}`) - + // 如果某个步骤失败,询问是否继续 const continueCalc = await this.$confirm( `${step.name}执行失败,是否继续执行后续统计?`, @@ -383,7 +371,7 @@ export default { type: 'warning' } ).catch(() => false) - + if (!continueCalc) { break } @@ -637,6 +625,66 @@ export default { month: this.statisticsMonth } }) + }, + + // 跳转到金三角开卡业绩页面 + goToGoldTrianglePage() { + this.$router.push({ + path: '/goldTriangleStatistics', + query: { + month: this.statisticsMonth + } + }) + }, + + // 跳转到健康师个人开单业绩页面 + goToPersonalPerformancePage() { + this.$router.push({ + path: '/personalPerformanceStatistics', + query: { + month: this.statisticsMonth + } + }) + }, + + // 跳转到科技部开单业绩页面 + goToTechPerformancePage() { + this.$router.push({ + path: '/techPerformanceStatistics', + query: { + month: this.statisticsMonth + } + }) + }, + + // 跳转到门店耗卡业绩页面 + goToStoreConsumePerformancePage() { + this.$router.push({ + path: '/storeConsumePerformanceStatistics', + query: { + month: this.statisticsMonth + } + }) + }, + + // 跳转到个人消耗业绩页面 + goToDepartmentConsumePerformancePage() { + this.$router.push({ + path: '/departmentConsumePerformanceStatistics', + query: { + month: this.statisticsMonth + } + }) + }, + + // 跳转到门店总业绩页面 + goToStoreTotalPerformancePage() { + this.$router.push({ + path: '/storeTotalPerformanceStatistics', + query: { + month: this.statisticsMonth + } + }) } } } @@ -674,7 +722,8 @@ export default { gap: 20px; margin-bottom: 20px; - .month-selector-card, .calculate-card { + .month-selector-card, + .calculate-card { flex: 1; min-width: 0; } @@ -685,6 +734,7 @@ export default { justify-content: flex-start; align-items: center; } + .month-picker { width: 100%; max-width: 200px; @@ -768,6 +818,9 @@ export default { text-align: center; transition: all 0.3s ease; border: 2px solid transparent; + display: flex; + flex-direction: column; + height: 100%; &:hover { transform: translateY(-2px); @@ -776,6 +829,7 @@ export default { .stat-header { margin-bottom: 15px; + flex-shrink: 0; i { font-size: 1.5em; @@ -790,53 +844,124 @@ export default { } } - .stat-button { + .stat-actions { + display: flex; + flex-direction: column; + gap: 8px; width: 100%; - height: 40px; + flex: 1; + justify-content: flex-end; + } + + .stat-button { + width: 100% !important; + height: 40px !important; font-size: 0.9em; border-radius: 6px; + font-weight: 500; + margin: 0 !important; + padding: 0 !important; + box-sizing: border-box; + display: flex !important; + align-items: center !important; + justify-content: center !important; + line-height: 1 !important; + } + + .view-button { + width: 100% !important; + height: 40px !important; + font-size: 0.9em; + border-radius: 6px; + font-weight: 400; + border: 1px solid #dcdfe6; + background-color: #f5f7fa; + color: #606266; + margin: 0 !important; + padding: 0 !important; + box-sizing: border-box; + display: flex !important; + align-items: center !important; + justify-content: center !important; + line-height: 1 !important; + + &:hover { + background-color: #ecf5ff; + border-color: #c6e2ff; + color: #409eff; + } + + &:disabled { + background-color: #f5f7fa; + border-color: #e4e7ed; + color: #c0c4cc; + } } // 不同主题色 &.blue-item { border-color: #409EFF; - .stat-header i { color: #409EFF; } + + .stat-header i { + color: #409EFF; + } } &.green-item { border-color: #67C23A; - .stat-header i { color: #67C23A; } + + .stat-header i { + color: #67C23A; + } } &.orange-item { border-color: #E6A23C; - .stat-header i { color: #E6A23C; } + + .stat-header i { + color: #E6A23C; + } } &.purple-item { border-color: #909399; - .stat-header i { color: #909399; } + + .stat-header i { + color: #909399; + } } &.teal-item { border-color: #17A2B8; - .stat-header i { color: #17A2B8; } + + .stat-header i { + color: #17A2B8; + } } &.red-item { border-color: #F56C6C; - .stat-header i { color: #F56C6C; } + + .stat-header i { + color: #F56C6C; + } } &.gold-item { border-color: #E6A23C; - .stat-header i { color: #E6A23C; } + + .stat-header i { + color: #E6A23C; + } } &.placeholder-item { border-color: #C0C4CC; background: #f5f7fa; - .stat-header i { color: #C0C4CC; } + + .stat-header i { + color: #C0C4CC; + } } } } @@ -940,6 +1065,7 @@ export default { &.success-item { border-color: #67C23A; } + &.error-item { border-color: #F56C6C; } @@ -954,9 +1080,11 @@ export default { .result-icon { font-size: 1.2em; margin-right: 8px; + &.el-icon-success { color: #67C23A; } + &.el-icon-error { color: #F56C6C; } @@ -999,20 +1127,21 @@ export default { .salary-calculation-container { padding: 10px; } - + .top-controls-row { flex-direction: column; gap: 15px; } - .month-selector-card, .calculate-card { + .month-selector-card, + .calculate-card { width: 100%; } - + .statistics-grid { grid-template-columns: 1fr !important; } - + .calculate-button { height: 50px !important; font-size: 1.1em !important; diff --git a/antis-ncc-admin/src/views/salaryStatistics/index.vue b/antis-ncc-admin/src/views/salaryStatistics/index.vue index 8261bc5..60e5a2c 100644 --- a/antis-ncc-admin/src/views/salaryStatistics/index.vue +++ b/antis-ncc-admin/src/views/salaryStatistics/index.vue @@ -1,773 +1,556 @@ + \ No newline at end of file diff --git a/antis-ncc-admin/src/views/storeConsumePerformanceStatistics/index.vue b/antis-ncc-admin/src/views/storeConsumePerformanceStatistics/index.vue new file mode 100644 index 0000000..59ce37b --- /dev/null +++ b/antis-ncc-admin/src/views/storeConsumePerformanceStatistics/index.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue b/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue new file mode 100644 index 0000000..f22abd5 --- /dev/null +++ b/antis-ncc-admin/src/views/storeTotalPerformanceStatistics/index.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/antis-ncc-admin/src/views/techPerformanceStatistics/index.vue b/antis-ncc-admin/src/views/techPerformanceStatistics/index.vue new file mode 100644 index 0000000..006cf8c --- /dev/null +++ b/antis-ncc-admin/src/views/techPerformanceStatistics/index.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqSalaryStatistics/LqSalaryStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqSalaryStatistics/LqSalaryStatisticsListOutput.cs index 4b6404f..c4ecf22 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqSalaryStatistics/LqSalaryStatisticsListOutput.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqSalaryStatistics/LqSalaryStatisticsListOutput.cs @@ -3,7 +3,7 @@ using System; namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics { /// - /// 工资统计列表输出参数 + /// 健康师工资统计列表输出参数 /// public class LqSalaryStatisticsListOutput { @@ -48,6 +48,11 @@ namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics public string GoldTriangleTeam { get; set; } /// + /// 金三角ID + /// + public string GoldTriangleId { get; set; } + + /// /// 总业绩 /// public decimal TotalPerformance { get; set; } @@ -113,76 +118,6 @@ namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics public decimal UpgradePoint { get; set; } /// - /// 溯源业绩 - /// - public decimal TraceabilityPerformance { get; set; } - - /// - /// Cell业绩 - /// - public decimal CellPerformance { get; set; } - - /// - /// 大项目一部业绩 - /// - public decimal ProjectOnePerformance { get; set; } - - /// - /// 大项目二部业绩 - /// - public decimal ProjectTwoPerformance { get; set; } - - /// - /// 当月业绩 - /// - public decimal MonthlyPerformance { get; set; } - - /// - /// 物业水电 - /// - public decimal PropertyWaterElectricity { get; set; } - - /// - /// 门店支出 - /// - public decimal StoreExpense { get; set; } - - /// - /// 产品物料 - /// - public decimal ProductMaterial { get; set; } - - /// - /// 微雕成本 - /// - public decimal MicroSculptureCost { get; set; } - - /// - /// 其它合作成本 - /// - public decimal OtherCooperationCost { get; set; } - - /// - /// 洗毛巾 - /// - public decimal TowelWashing { get; set; } - - /// - /// 毛利 - /// - public decimal GrossProfit { get; set; } - - /// - /// 总经理提成额 - /// - public decimal GeneralManagerCommission { get; set; } - - /// - /// 经理提成额 - /// - public decimal ManagerCommission { get; set; } - - /// /// 消耗 /// public decimal Consumption { get; set; } @@ -228,66 +163,6 @@ namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics public decimal StoreTAreaCommission { get; set; } /// - /// 店助提成 - /// - public decimal AssistantCommission1 { get; set; } - - /// - /// 店助主任提成 - /// - public decimal AssistantDirectorCommission { get; set; } - - /// - /// 主任提成 - /// - public decimal DirectorCommission { get; set; } - - /// - /// 店长提成 - /// - public decimal AssistantCommission2 { get; set; } - - /// - /// 总经理提成 - /// - public decimal GeneralManagerCommissionAmount { get; set; } - - /// - /// 经理提成 - /// - public decimal ManagerCommissionAmount { get; set; } - - /// - /// 业绩提成 - /// - public decimal PerformanceCommission { get; set; } - - /// - /// 消耗提成 - /// - public decimal ConsumptionCommission { get; set; } - - /// - /// 科技部组长提成 - /// - public decimal TechGroupLeaderCommission { get; set; } - - /// - /// 溯源提成 - /// - public decimal TraceabilityCommission { get; set; } - - /// - /// Cell提成 - /// - public decimal CellCommission { get; set; } - - /// - /// 大项目部提成 - /// - public decimal ProjectCommission { get; set; } - - /// /// 提成合计 /// public decimal CommissionTotal { get; set; } @@ -298,64 +173,14 @@ namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics public decimal HealthCoachBaseSalary { get; set; } /// - /// 店助底薪 - /// - public decimal AssistantBaseSalary { get; set; } - - /// - /// 店长底薪 - /// - public decimal ManagerBaseSalary { get; set; } - - /// - /// 主任底薪 - /// - public decimal DirectorBaseSalary { get; set; } - - /// - /// 店助主任底薪 - /// - public decimal AssistantDirectorBaseSalary { get; set; } - - /// - /// 总经理底薪 - /// - public decimal GeneralManagerBaseSalary { get; set; } - - /// - /// 经理底薪 - /// - public decimal ManagerBaseSalaryAmount { get; set; } - - /// - /// 科技部老师底薪 - /// - public decimal TechTeacherBaseSalary { get; set; } - - /// - /// 大项目部底薪 - /// - public decimal ProjectBaseSalary { get; set; } - - /// - /// 底薪合计 - /// - public decimal BaseSalaryTotal { get; set; } - - /// - /// 手工 + /// 手工费 /// public decimal ManualWork { get; set; } /// - /// 人头奖励 + /// 额外手工费 /// - public decimal HeadCountReward { get; set; } - - /// - /// 手机管理 - /// - public decimal PhoneManagement { get; set; } + public decimal OutherHandworkFee { get; set; } /// /// 车补 @@ -531,9 +356,5 @@ namespace NCC.Extend.Entitys.Dto.LqSalaryStatistics /// 更新时间 /// public DateTime UpdateTime { get; set; } - - - - } } \ No newline at end of file diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs new file mode 100644 index 0000000..9294719 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListOutput.cs @@ -0,0 +1,65 @@ +using System; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 个人消耗业绩统计列表输出 + /// + public class LqDepartmentConsumePerformanceStatisticsListOutput + { + /// + /// 主键ID + /// + public string Id { get; set; } + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 员工ID + /// + public string EmployeeId { get; set; } + + /// + /// 员工姓名 + /// + public string EmployeeName { get; set; } + + /// + /// 门店ID + /// + public string StoreId { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 岗位 + /// + public string Position { get; set; } + + /// + /// 总业绩金额 + /// + public decimal TotalPerformance { get; set; } + + /// + /// 消耗业绩金额 + /// + public decimal ConsumePerformance { get; set; } + + /// + /// 订单数量 + /// + public int OrderCount { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListQueryInput.cs new file mode 100644 index 0000000..406cb7f --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqDepartmentConsumePerformanceStatisticsListQueryInput.cs @@ -0,0 +1,42 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 个人消耗业绩统计列表查询输入 + /// + public class LqDepartmentConsumePerformanceStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 员工姓名 + /// + public string EmployeeName { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 岗位 + /// + public string Position { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListOutput.cs new file mode 100644 index 0000000..47b3fe6 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListOutput.cs @@ -0,0 +1,65 @@ +using System; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 金三角开卡业绩统计列表输出 + /// + public class LqGoldTriangleStatisticsListOutput + { + /// + /// 主键ID + /// + public string Id { get; set; } + + /// + /// 金三角ID + /// + public string GoldTriangleId { get; set; } + + /// + /// 金三角战队名称 + /// + public string GoldTriangleName { get; set; } + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 门店ID + /// + public string StoreId { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 订单数量 + /// + public int OrderCount { get; set; } + + /// + /// 总业绩金额 + /// + public decimal TotalPerformance { get; set; } + + /// + /// 首次订单日期 + /// + public DateTime? FirstOrderDate { get; set; } + + /// + /// 最后订单日期 + /// + public DateTime? LastOrderDate { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListQueryInput.cs new file mode 100644 index 0000000..3c980b9 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqGoldTriangleStatisticsListQueryInput.cs @@ -0,0 +1,37 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 金三角开卡业绩统计列表查询输入 + /// + public class LqGoldTriangleStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 金三角战队名称 + /// + public string GoldTriangleName { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqPersonalPerformanceStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqPersonalPerformanceStatisticsListQueryInput.cs new file mode 100644 index 0000000..f325075 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqPersonalPerformanceStatisticsListQueryInput.cs @@ -0,0 +1,42 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 健康师个人开单业绩统计列表查询输入 + /// + public class LqPersonalPerformanceStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 员工姓名 + /// + public string EmployeeName { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 岗位 + /// + public string Position { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListOutput.cs new file mode 100644 index 0000000..f09fbb5 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListOutput.cs @@ -0,0 +1,55 @@ +using System; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 门店耗卡业绩统计列表输出 + /// + public class LqStoreConsumePerformanceStatisticsListOutput + { + /// + /// 主键ID + /// + public string Id { get; set; } + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 门店ID + /// + public string StoreId { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 总业绩金额 + /// + public decimal TotalPerformance { get; set; } + + /// + /// 耗卡业绩金额 + /// + public decimal ConsumePerformance { get; set; } + + /// + /// 订单数量 + /// + public int OrderCount { get; set; } + + /// + /// 是否新店 + /// + public bool IsNewStore { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListQueryInput.cs new file mode 100644 index 0000000..42ae5ee --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreConsumePerformanceStatisticsListQueryInput.cs @@ -0,0 +1,32 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 门店耗卡业绩统计列表查询输入 + /// + public class LqStoreConsumePerformanceStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs new file mode 100644 index 0000000..826a7d9 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListOutput.cs @@ -0,0 +1,70 @@ +using System; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 门店总业绩统计列表输出 + /// + public class LqStoreTotalPerformanceStatisticsListOutput + { + /// + /// 主键ID + /// + public string Id { get; set; } + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 门店ID + /// + public string StoreId { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 总业绩金额 + /// + public decimal TotalPerformance { get; set; } + + /// + /// 欠款金额 + /// + public decimal DebtAmount { get; set; } + + /// + /// 总单业绩金额 + /// + public decimal TotalOrderPerformance { get; set; } + + /// + /// 储扣总金额 + /// + public decimal StorageDeductionAmount { get; set; } + + /// + /// 品项数量 + /// + public int ItemQuantity { get; set; } + + /// + /// 首开单数量 + /// + public int FirstOrderCount { get; set; } + + /// + /// 升单数量 + /// + public int UpgradeOrderCount { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListQueryInput.cs new file mode 100644 index 0000000..0328506 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqStoreTotalPerformanceStatisticsListQueryInput.cs @@ -0,0 +1,32 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 门店总业绩统计列表查询输入 + /// + public class LqStoreTotalPerformanceStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListOutput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListOutput.cs new file mode 100644 index 0000000..8351d30 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListOutput.cs @@ -0,0 +1,55 @@ +using System; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 科技部开单业绩统计列表输出 + /// + public class LqTechPerformanceStatisticsListOutput + { + /// + /// 主键ID + /// + public string Id { get; set; } + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 老师ID + /// + public string TeacherId { get; set; } + + /// + /// 老师姓名 + /// + public string TeacherName { get; set; } + + /// + /// 门店ID + /// + public string StoreId { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + + /// + /// 总业绩金额 + /// + public decimal TotalPerformance { get; set; } + + /// + /// 订单数量 + /// + public int OrderCount { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListQueryInput.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListQueryInput.cs new file mode 100644 index 0000000..8cece40 --- /dev/null +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqStatistics/LqTechPerformanceStatisticsListQueryInput.cs @@ -0,0 +1,37 @@ +using System.ComponentModel.DataAnnotations; + +namespace NCC.Extend.Entitys.Dto.LqStatistics +{ + /// + /// 科技部开单业绩统计列表查询输入 + /// + public class LqTechPerformanceStatisticsListQueryInput + { + /// + /// 页码 + /// + [Required] + public int PageIndex { get; set; } = 1; + + /// + /// 页大小 + /// + [Required] + public int PageSize { get; set; } = 20; + + /// + /// 统计月份 + /// + public string StatisticsMonth { get; set; } + + /// + /// 老师姓名 + /// + public string TeacherName { get; set; } + + /// + /// 门店名称 + /// + public string StoreName { get; set; } + } +} diff --git a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_salary_statistics/LqSalaryStatisticsEntity.cs b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_salary_statistics/LqSalaryStatisticsEntity.cs index fbecd06..03a8d8b 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_salary_statistics/LqSalaryStatisticsEntity.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_salary_statistics/LqSalaryStatisticsEntity.cs @@ -5,7 +5,7 @@ using SqlSugar; namespace NCC.Extend.Entitys.lq_salary_statistics { /// - /// 工资统计表 + /// 健康师工资统计表 /// [SugarTable("lq_salary_statistics")] [Tenant(ClaimConst.TENANT_ID)] @@ -54,6 +54,12 @@ namespace NCC.Extend.Entitys.lq_salary_statistics public string GoldTriangleTeam { get; set; } /// + /// 金三角ID + /// + [SugarColumn(ColumnName = "F_GoldTriangleId")] + public string GoldTriangleId { get; set; } + + /// /// 总业绩 /// [SugarColumn(ColumnName = "F_TotalPerformance")] @@ -126,90 +132,6 @@ namespace NCC.Extend.Entitys.lq_salary_statistics public decimal UpgradePoint { get; set; } /// - /// 溯源业绩 - /// - [SugarColumn(ColumnName = "F_TraceabilityPerformance")] - public decimal TraceabilityPerformance { get; set; } - - /// - /// Cell业绩 - /// - [SugarColumn(ColumnName = "F_CellPerformance")] - public decimal CellPerformance { get; set; } - - /// - /// 大项目一部业绩 - /// - [SugarColumn(ColumnName = "F_MajorProject1Performance")] - public decimal MajorProject1Performance { get; set; } - - /// - /// 大项目二部业绩 - /// - [SugarColumn(ColumnName = "F_MajorProject2Performance")] - public decimal MajorProject2Performance { get; set; } - - /// - /// 当月业绩 - /// - [SugarColumn(ColumnName = "F_MonthlyPerformance")] - public decimal MonthlyPerformance { get; set; } - - /// - /// 物业水电 - /// - [SugarColumn(ColumnName = "F_PropertyWaterElectricity")] - public decimal PropertyWaterElectricity { get; set; } - - /// - /// 门店支出 - /// - [SugarColumn(ColumnName = "F_StoreExpense")] - public decimal StoreExpense { get; set; } - - /// - /// 产品物料 - /// - [SugarColumn(ColumnName = "F_ProductMaterial")] - public decimal ProductMaterial { get; set; } - - /// - /// 微雕成本 - /// - [SugarColumn(ColumnName = "F_MicroSculptureCost")] - public decimal MicroSculptureCost { get; set; } - - /// - /// 其它合作成本 - /// - [SugarColumn(ColumnName = "F_OtherCooperationCost")] - public decimal OtherCooperationCost { get; set; } - - /// - /// 洗毛巾 - /// - [SugarColumn(ColumnName = "F_TowelWashing")] - public decimal TowelWashing { get; set; } - - /// - /// 毛利 - /// - [SugarColumn(ColumnName = "F_GrossProfit")] - public decimal GrossProfit { get; set; } - - /// - /// 总经理提成额 - /// - [SugarColumn(ColumnName = "F_GeneralManagerCommission")] - public decimal GeneralManagerCommission { get; set; } - - /// - /// 经理提成额 - /// - [SugarColumn(ColumnName = "F_ManagerCommission")] - public decimal ManagerCommission { get; set; } - - /// /// 消耗 /// [SugarColumn(ColumnName = "F_Consumption")] @@ -270,78 +192,6 @@ namespace NCC.Extend.Entitys.lq_salary_statistics public decimal StoreTZoneCommission { get; set; } /// - /// 店助提成 - /// - [SugarColumn(ColumnName = "F_AssistantCommission")] - public decimal AssistantCommission { get; set; } - - /// - /// 店助主任提成 - /// - [SugarColumn(ColumnName = "F_AssistantDirectorCommission")] - public decimal AssistantDirectorCommission { get; set; } - - /// - /// 主任提成 - /// - [SugarColumn(ColumnName = "F_DirectorCommission")] - public decimal DirectorCommission { get; set; } - - /// - /// 店长提成 - /// - [SugarColumn(ColumnName = "F_StoreManagerCommission")] - public decimal StoreManagerCommission { get; set; } - - /// - /// 总经理提成 - /// - [SugarColumn(ColumnName = "F_GeneralManagerCommissionTotal")] - public decimal GeneralManagerCommissionTotal { get; set; } - - /// - /// 经理提成 - /// - [SugarColumn(ColumnName = "F_ManagerCommissionTotal")] - public decimal ManagerCommissionTotal { get; set; } - - /// - /// 业绩提成 - /// - [SugarColumn(ColumnName = "F_PerformanceCommission")] - public decimal PerformanceCommission { get; set; } - - /// - /// 消耗提成 - /// - [SugarColumn(ColumnName = "F_ConsumptionCommission")] - public decimal ConsumptionCommission { get; set; } - - /// - /// 科技部组长提成 - /// - [SugarColumn(ColumnName = "F_TechGroupLeaderCommission")] - public decimal TechGroupLeaderCommission { get; set; } - - /// - /// 溯源提成 - /// - [SugarColumn(ColumnName = "F_TraceabilityCommission")] - public decimal TraceabilityCommission { get; set; } - - /// - /// Cell提成 - /// - [SugarColumn(ColumnName = "F_CellCommission")] - public decimal CellCommission { get; set; } - - /// - /// 大项目部提成 - /// - [SugarColumn(ColumnName = "F_MajorProjectCommission")] - public decimal MajorProjectCommission { get; set; } - - /// /// 提成合计 /// [SugarColumn(ColumnName = "F_TotalCommission")] @@ -354,76 +204,16 @@ namespace NCC.Extend.Entitys.lq_salary_statistics public decimal HealthCoachBaseSalary { get; set; } /// - /// 店助底薪 - /// - [SugarColumn(ColumnName = "F_AssistantBaseSalary")] - public decimal AssistantBaseSalary { get; set; } - - /// - /// 店长底薪 - /// - [SugarColumn(ColumnName = "F_StoreManagerBaseSalary")] - public decimal StoreManagerBaseSalary { get; set; } - - /// - /// 主任底薪 - /// - [SugarColumn(ColumnName = "F_DirectorBaseSalary")] - public decimal DirectorBaseSalary { get; set; } - - /// - /// 店助主任底薪 - /// - [SugarColumn(ColumnName = "F_AssistantDirectorBaseSalary")] - public decimal AssistantDirectorBaseSalary { get; set; } - - /// - /// 总经理底薪 - /// - [SugarColumn(ColumnName = "F_GeneralManagerBaseSalary")] - public decimal GeneralManagerBaseSalary { get; set; } - - /// - /// 经理底薪 - /// - [SugarColumn(ColumnName = "F_ManagerBaseSalary")] - public decimal ManagerBaseSalary { get; set; } - - /// - /// 科技部老师底薪 - /// - [SugarColumn(ColumnName = "F_TechTeacherBaseSalary")] - public decimal TechTeacherBaseSalary { get; set; } - - /// - /// 大项目部底薪 - /// - [SugarColumn(ColumnName = "F_MajorProjectBaseSalary")] - public decimal MajorProjectBaseSalary { get; set; } - - /// - /// 底薪合计 - /// - [SugarColumn(ColumnName = "F_TotalBaseSalary")] - public decimal TotalBaseSalary { get; set; } - - /// /// 手工费 /// [SugarColumn(ColumnName = "F_HandworkFee")] public decimal HandworkFee { get; set; } /// - /// 人头奖励 - /// - [SugarColumn(ColumnName = "F_PersonnelReward")] - public decimal PersonnelReward { get; set; } - - /// - /// 手机管理费 + /// 额外手工费 /// - [SugarColumn(ColumnName = "F_PhoneManagement")] - public decimal PhoneManagement { get; set; } + [SugarColumn(ColumnName = "F_OutherHandworkFee")] + public decimal OutherHandworkFee { get; set; } /// /// 车补 @@ -653,4 +443,4 @@ namespace NCC.Extend.Entitys.lq_salary_statistics [SugarColumn(ColumnName = "F_UpdateUser")] public string UpdateUser { get; set; } } -} +} \ No newline at end of file diff --git a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs index bede976..7b1fc63 100644 --- a/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs +++ b/netcore/src/Modularity/Extend/NCC.Extend/LqStatisticsService.cs @@ -1668,10 +1668,13 @@ namespace NCC.Extend.LqStatistics return new { - Records = result.list, - Total = result.pagination.Total, - PageIndex = input.currentPage, - PageSize = input.pageSize + list = result.list, + pagination = new + { + pageIndex = input.currentPage, + pageSize = input.pageSize, + total = result.pagination.Total + } }; } catch (Exception ex) @@ -2646,6 +2649,7 @@ namespace NCC.Extend.LqStatistics EmployeeName = x.EmployeeName, Position = x.Position, GoldTriangleTeam = x.GoldTriangleTeam, + GoldTriangleId = x.GoldTriangleId, TotalPerformance = x.TotalPerformance, BasePerformance = x.BasePerformance, CooperationPerformance = x.CooperationPerformance, @@ -2658,20 +2662,6 @@ namespace NCC.Extend.LqStatistics NewCustomerPoint = x.NewCustomerPoint, UpgradePerformance = x.UpgradePerformance, UpgradePoint = x.UpgradePoint, - TraceabilityPerformance = x.TraceabilityPerformance, - CellPerformance = x.CellPerformance, - ProjectOnePerformance = x.MajorProject1Performance, - ProjectTwoPerformance = x.MajorProject2Performance, - MonthlyPerformance = x.MonthlyPerformance, - PropertyWaterElectricity = x.PropertyWaterElectricity, - StoreExpense = x.StoreExpense, - ProductMaterial = x.ProductMaterial, - MicroSculptureCost = x.MicroSculptureCost, - OtherCooperationCost = x.OtherCooperationCost, - TowelWashing = x.TowelWashing, - GrossProfit = x.GrossProfit, - GeneralManagerCommission = x.GeneralManagerCommission, - ManagerCommission = x.ManagerCommission, Consumption = x.Consumption, ProjectCount = x.ProjectCount, AttendanceDays = x.CustomerCount, @@ -2682,32 +2672,10 @@ namespace NCC.Extend.LqStatistics CooperationPerformanceCommission = x.CooperationPerformanceCommission, ConsultantCommission = x.ConsultantCommission, StoreTAreaCommission = x.StoreTZoneCommission, - AssistantCommission1 = x.AssistantCommission, - AssistantDirectorCommission = x.AssistantDirectorCommission, - DirectorCommission = x.DirectorCommission, - AssistantCommission2 = x.StoreManagerCommission, - GeneralManagerCommissionAmount = x.GeneralManagerCommissionTotal, - ManagerCommissionAmount = x.ManagerCommissionTotal, - PerformanceCommission = x.PerformanceCommission, - ConsumptionCommission = x.ConsumptionCommission, - TechGroupLeaderCommission = x.TechGroupLeaderCommission, - TraceabilityCommission = x.TraceabilityCommission, - CellCommission = x.CellCommission, - ProjectCommission = x.MajorProjectCommission, CommissionTotal = x.TotalCommission, HealthCoachBaseSalary = x.HealthCoachBaseSalary, - AssistantBaseSalary = x.AssistantBaseSalary, - ManagerBaseSalary = x.StoreManagerBaseSalary, - DirectorBaseSalary = x.DirectorBaseSalary, - AssistantDirectorBaseSalary = x.AssistantDirectorBaseSalary, - GeneralManagerBaseSalary = x.GeneralManagerBaseSalary, - ManagerBaseSalaryAmount = x.ManagerBaseSalary, - TechTeacherBaseSalary = x.TechTeacherBaseSalary, - ProjectBaseSalary = x.MajorProjectBaseSalary, - BaseSalaryTotal = x.TotalBaseSalary, ManualWork = x.HandworkFee, - HeadCountReward = x.PersonnelReward, - PhoneManagement = x.PhoneManagement, + OutherHandworkFee = x.OutherHandworkFee, CarAllowance = x.TransportationAllowance, LessRest = x.LessRest, FullAttendance = x.FullAttendance, @@ -2769,11 +2737,23 @@ namespace NCC.Extend.LqStatistics u.F_MDID as StoreId, COALESCE(md.dm, '') as StoreName, COALESCE(u.F_GW, '') as Position, - COALESCE(jsj.jsj, '') as GoldTriangleTeam + COALESCE(jsj.jsj, '') as GoldTriangleTeam, + COALESCE(jsj.jsj_id, '') as GoldTriangleId FROM BASE_USER u - LEFT JOIN lq_mdxx md ON u.F_MDID COLLATE utf8mb4_unicode_ci = md.F_Id COLLATE utf8mb4_unicode_ci - LEFT JOIN lq_ycsd_jsj jsj ON u.F_MDID COLLATE utf8mb4_unicode_ci = jsj.md COLLATE utf8mb4_unicode_ci AND jsj.yf = @statisticsMonth - WHERE u.F_EnabledMark = 1 + LEFT JOIN lq_mdxx md ON u.F_MDID COLLATE utf8mb4_general_ci = md.F_Id COLLATE utf8mb4_general_ci + LEFT JOIN ( + SELECT + jsu.user_id, + jsj.jsj, + jsj.F_Id as jsj_id + FROM lq_jinsanjiao_user jsu + INNER JOIN lq_ycsd_jsj jsj ON jsu.jsj_id COLLATE utf8mb4_general_ci = jsj.F_Id COLLATE utf8mb4_general_ci + WHERE jsu.F_Month = @statisticsMonth + AND jsu.status = 'ACTIVE' + AND (jsu.F_DeleteMark IS NULL OR jsu.F_DeleteMark = 0) + AND jsj.yf = @statisticsMonth + ) jsj ON u.F_Id COLLATE utf8mb4_general_ci = jsj.user_id COLLATE utf8mb4_general_ci + WHERE u.F_EnabledMark = 1 AND u.F_GW = '健康师' AND (u.F_DeleteMark IS NULL OR u.F_DeleteMark = 0)"; var employees = await _db.Ado.SqlQueryAsync(employeesSql, new { statisticsMonth }); @@ -2787,6 +2767,7 @@ namespace NCC.Extend.LqStatistics EmployeeName = emp.EmployeeName?.ToString() ?? "", EmployeeId = emp.EmployeeId?.ToString() ?? "", GoldTriangleTeam = emp.GoldTriangleTeam?.ToString() ?? "", + GoldTriangleId = emp.GoldTriangleId?.ToString() ?? "", StatisticsMonth = statisticsMonth, IsLocked = 0, CreateTime = DateTime.Now, @@ -2855,10 +2836,304 @@ namespace NCC.Extend.LqStatistics userId = _userManager.UserId }); + // 从金三角统计表更新队伍业绩 + var teamPerformanceSql = @" + UPDATE lq_salary_statistics s + INNER JOIN lq_statistics_gold_triangle gt + ON s.F_GoldTriangleId COLLATE utf8mb4_unicode_ci = gt.F_GoldTriangleId COLLATE utf8mb4_unicode_ci + AND s.F_StatisticsMonth = gt.F_StatisticsMonth + SET + s.F_TeamPerformance = gt.F_TotalPerformance + WHERE s.F_StatisticsMonth = @statisticsMonth + AND s.F_GoldTriangleId IS NOT NULL + AND s.F_GoldTriangleId != ''"; + + await _db.Ado.ExecuteCommandAsync(teamPerformanceSql, new + { + statisticsMonth, + userId = _userManager.UserId + }); + _logger.LogInformation($"从其他统计表更新工资数据完成 - 月份: {statisticsMonth}"); } #endregion + #region 其他统计模块列表查询接口 + + /// + /// 获取金三角开卡业绩统计列表 + /// + /// 查询参数 + /// 分页结果 + [HttpPost("get-gold-triangle-statistics-list")] + public async Task GetGoldTriangleStatisticsList([FromBody] LqGoldTriangleStatisticsListQueryInput input) + { + try + { + var query = _db.Queryable(); + + // 添加查询条件 + query = query.WhereIF(!string.IsNullOrEmpty(input.StatisticsMonth), x => x.StatisticsMonth == input.StatisticsMonth); + query = query.WhereIF(!string.IsNullOrEmpty(input.GoldTriangleName), x => x.GoldTriangleName.Contains(input.GoldTriangleName)); + query = query.WhereIF(!string.IsNullOrEmpty(input.StoreName), x => x.StoreName.Contains(input.StoreName)); + + // 按创建时间降序排序 + query = query.OrderBy(x => x.CreateTime, OrderByType.Desc); + + // 分页查询并映射到DTO + var result = await query.Select(it => new LqGoldTriangleStatisticsListOutput + { + Id = it.Id, + GoldTriangleId = it.GoldTriangleId, + GoldTriangleName = it.GoldTriangleName, + StatisticsMonth = it.StatisticsMonth, + StoreId = it.StoreId, + StoreName = it.StoreName, + OrderCount = it.OrderCount, + TotalPerformance = it.TotalPerformance, + FirstOrderDate = it.FirstOrderDate, + LastOrderDate = it.LastOrderDate, + CreateTime = it.CreateTime + }).ToPagedListAsync(input.PageIndex, input.PageSize); + + return new + { + list = result.list, + pagination = new + { + pageIndex = input.PageIndex, + pageSize = input.PageSize, + total = result.pagination.Total + } + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "查询金三角开卡业绩统计列表失败"); + throw NCCException.Oh($"查询金三角开卡业绩统计列表失败: {ex.Message}"); + } + } + + /// + /// 获取科技部开单业绩统计列表 + /// + /// 查询参数 + /// 分页结果 + [HttpPost("get-tech-performance-statistics-list")] + public async Task GetTechPerformanceStatisticsList([FromBody] LqTechPerformanceStatisticsListQueryInput input) + { + try + { + var query = _db.Queryable(); + + // 添加查询条件 + query = query.WhereIF(!string.IsNullOrEmpty(input.StatisticsMonth), x => x.StatisticsMonth == input.StatisticsMonth); + query = query.WhereIF(!string.IsNullOrEmpty(input.TeacherName), x => x.TeacherName.Contains(input.TeacherName)); + query = query.WhereIF(!string.IsNullOrEmpty(input.StoreName), x => x.StoreName.Contains(input.StoreName)); + + // 按创建时间降序排序 + query = query.OrderBy(x => x.CreateTime, OrderByType.Desc); + + // 分页查询并映射到DTO + var result = await query.Select(it => new LqTechPerformanceStatisticsListOutput + { + Id = it.Id, + StatisticsMonth = it.StatisticsMonth, + TeacherId = it.TeacherId, + TeacherName = it.TeacherName, + StoreId = it.StoreId, + StoreName = it.StoreName, + TotalPerformance = it.TotalPerformance, + OrderCount = it.OrderCount, + CreateTime = it.CreateTime + }).ToPagedListAsync(input.PageIndex, input.PageSize); + + return new + { + list = result.list, + pagination = new + { + pageIndex = input.PageIndex, + pageSize = input.PageSize, + total = result.pagination.Total + } + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "查询科技部开单业绩统计列表失败"); + throw NCCException.Oh($"查询科技部开单业绩统计列表失败: {ex.Message}"); + } + } + + /// + /// 获取门店耗卡业绩统计列表 + /// + /// 查询参数 + /// 分页结果 + [HttpPost("get-store-consume-performance-statistics-list")] + public async Task GetStoreConsumePerformanceStatisticsList([FromBody] LqStoreConsumePerformanceStatisticsListQueryInput input) + { + try + { + var query = _db.Queryable(); + + // 添加查询条件 + query = query.WhereIF(!string.IsNullOrEmpty(input.StatisticsMonth), x => x.StatisticsMonth == input.StatisticsMonth); + query = query.WhereIF(!string.IsNullOrEmpty(input.StoreName), x => x.StoreName.Contains(input.StoreName)); + + // 按创建时间降序排序 + query = query.OrderBy(x => x.CreateTime, OrderByType.Desc); + + // 分页查询并映射到DTO + var pagedResult = await query.ToPagedListAsync(input.PageIndex, input.PageSize); + + var outputList = pagedResult.list.Select(it => new LqStoreConsumePerformanceStatisticsListOutput + { + Id = it.Id, + StatisticsMonth = it.StatisticsMonth, + StoreId = it.StoreId, + StoreName = it.StoreName, + TotalPerformance = it.ConsumePerformance, // 使用ConsumePerformance作为总业绩 + ConsumePerformance = it.ConsumePerformance, + OrderCount = (int)it.ConsumeQuantity, // 使用ConsumeQuantity作为订单数量 + IsNewStore = false, // 暂时设为false,因为Entity中没有这个字段 + CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now + }).ToList(); + + return new + { + list = outputList, + pagination = new + { + pageIndex = input.PageIndex, + pageSize = input.PageSize, + total = pagedResult.pagination.Total + } + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "查询门店耗卡业绩统计列表失败"); + throw NCCException.Oh($"查询门店耗卡业绩统计列表失败: {ex.Message}"); + } + } + + /// + /// 获取个人消耗业绩统计列表 + /// + /// 查询参数 + /// 分页结果 + [HttpPost("get-department-consume-performance-statistics-list")] + public async Task GetDepartmentConsumePerformanceStatisticsList([FromBody] LqDepartmentConsumePerformanceStatisticsListQueryInput input) + { + try + { + var query = _db.Queryable(); + + // 添加查询条件 + query = query.WhereIF(!string.IsNullOrEmpty(input.StatisticsMonth), x => x.StatisticsMonth == input.StatisticsMonth); + query = query.WhereIF(!string.IsNullOrEmpty(input.EmployeeName), x => x.UserName.Contains(input.EmployeeName)); + query = query.WhereIF(!string.IsNullOrEmpty(input.StoreName), x => x.StoreName.Contains(input.StoreName)); + query = query.WhereIF(!string.IsNullOrEmpty(input.Position), x => x.DepartmentType.Contains(input.Position)); + + // 按创建时间降序排序 + query = query.OrderBy(x => x.CreateTime, OrderByType.Desc); + + // 分页查询并映射到DTO + var pagedResult = await query.ToPagedListAsync(input.PageIndex, input.PageSize); + + var outputList = pagedResult.list.Select(it => new LqDepartmentConsumePerformanceStatisticsListOutput + { + Id = it.Id, + StatisticsMonth = it.StatisticsMonth, + EmployeeId = it.UserId, + EmployeeName = it.UserName, + StoreId = it.StoreId, + StoreName = it.StoreName, + Position = it.DepartmentType, + TotalPerformance = it.ConsumePerformance, // 使用ConsumePerformance作为总业绩 + ConsumePerformance = it.ConsumePerformance, + OrderCount = (int)it.ConsumeQuantity, // 使用ConsumeQuantity作为订单数量 + CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now + }).ToList(); + + return new + { + list = outputList, + pagination = new + { + pageIndex = input.PageIndex, + pageSize = input.PageSize, + total = pagedResult.pagination.Total + } + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "查询个人消耗业绩统计列表失败"); + throw NCCException.Oh($"查询个人消耗业绩统计列表失败: {ex.Message}"); + } + } + + /// + /// 获取门店总业绩统计列表 + /// + /// 查询参数 + /// 分页结果 + [HttpPost("get-store-total-performance-statistics-list")] + public async Task GetStoreTotalPerformanceStatisticsList([FromBody] LqStoreTotalPerformanceStatisticsListQueryInput input) + { + try + { + var query = _db.Queryable(); + + // 添加查询条件 + query = query.WhereIF(!string.IsNullOrEmpty(input.StatisticsMonth), x => x.StatisticsMonth == input.StatisticsMonth); + query = query.WhereIF(!string.IsNullOrEmpty(input.StoreName), x => x.StoreName.Contains(input.StoreName)); + + // 按创建时间降序排序 + query = query.OrderBy(x => x.CreateTime, OrderByType.Desc); + + // 分页查询并映射到DTO + var pagedResult = await query.ToPagedListAsync(input.PageIndex, input.PageSize); + + var outputList = pagedResult.list.Select(it => new LqStoreTotalPerformanceStatisticsListOutput + { + Id = it.Id, + StatisticsMonth = it.StatisticsMonth, + StoreId = it.StoreId, + StoreName = it.StoreName, + TotalPerformance = it.TotalPerformance, + DebtAmount = it.DebtAmount, + TotalOrderPerformance = it.TotalOrderPerformance, + StorageDeductionAmount = it.StorageDeductionAmount, + ItemQuantity = it.ItemQuantity, + FirstOrderCount = it.FirstOrderCount, + UpgradeOrderCount = it.UpgradeOrderCount, + CreateTime = it.CreateTime.HasValue ? it.CreateTime.Value : DateTime.Now + }).ToList(); + + return new + { + list = outputList, + pagination = new + { + pageIndex = input.PageIndex, + pageSize = input.PageSize, + total = pagedResult.pagination.Total + } + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "查询门店总业绩统计列表失败"); + throw NCCException.Oh($"查询门店总业绩统计列表失败: {ex.Message}"); + } + } + + #endregion + } } diff --git a/参考资料/工资(全字段).xlsx b/参考资料/工资(全字段).xlsx new file mode 100644 index 0000000..dd8a054 Binary files /dev/null and b/参考资料/工资(全字段).xlsx differ diff --git a/参考资料/工资(全字段)_副本.xlsx b/参考资料/工资(全字段)_副本.xlsx new file mode 100644 index 0000000..8b23663 Binary files /dev/null and b/参考资料/工资(全字段)_副本.xlsx differ -- libgit2 0.21.4