初始提交:飞球 ETL 系统全量代码
This commit is contained in:
101
docs/requirements/DWS 数据库处理需求.md
Normal file
101
docs/requirements/DWS 数据库处理需求.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# DWS 数据层需求
|
||||
## 简介
|
||||
项目路径:C:\dev\LLTQ\ETL\feiqiu-ETL
|
||||
|
||||
本文档描述在ETL已完成的DWD层数据基础上对DWS层的数据处理:
|
||||
- 完成对DWS层数据库的处理,即数据库设计,成果为DDL的SQL语句。
|
||||
- 数据读取处理到落库,即DWD读取,Python处理,SQL写入。
|
||||
- 在动手之前,先出一个任务计划文档,写明事实的具体技术方案细节。
|
||||
|
||||
文档更多聚焦业务描述,你需要使用专业技能,使用面向对象编程OOP思想,完成程序设计直至代码完成:
|
||||
- 参考.\README.md 了解现在项目现状。
|
||||
- 参考.\etl_billiards\docs 了解 DWD的schema的表和字段。
|
||||
- SQL和Python代码需要详尽的,高密度的中文注释。
|
||||
- 完成内容,需要详尽高密度的补充至.\README.md,以方便后续维护。
|
||||
- DWS的表与表的字段 参考.\etl_billiards\docs\dwd_main_tables_dictionary.md 完成类似的数据库文档,方便后续维护。
|
||||
- 注意中文编码需求。
|
||||
|
||||
## 通用需求
|
||||
### 数据分层
|
||||
我希望使用互联网软件的业内通用方法,将数据按照更新时间分为4层,以符合业务层面的查询效率速度。
|
||||
- 第一层:回溯两天前到当前数据。
|
||||
- 第二层:回溯1个月前到当前数据。
|
||||
- 第三层:回溯3个月前到当前数据。
|
||||
- 第四层:全量数据。
|
||||
- 需要有配套的机制及时添加删除整理数据。
|
||||
|
||||
### 统计注意
|
||||
当统计一些数据时,注意口径,数据有效性标识。举例:
|
||||
- 计算助教业绩/工资时,需要参考助教废除表,相关业务数据的影响。
|
||||
- 计算助教业绩/工资时,注意辨别 助教课 附加课影响。
|
||||
|
||||
## 业务需求
|
||||
### 系统设置
|
||||
- 助教绩效与工资结算方案需落库并标记生效时间(按月取生效规则)。
|
||||
|
||||
**旧方案(2025年7月生效,历史口径)**
|
||||
- 球房统一抽成:18元/小时
|
||||
- 保底奖励机制:
|
||||
|
||||
| 保底线等级 | 对应完成小时数 | 保底收入 |
|
||||
|-----------|----------------|----------|
|
||||
| 初级 | 130 | 12000 |
|
||||
| 中级 | 150 | 16000 |
|
||||
| 高级 | 160 | 18000 |
|
||||
| 星级 | 170 | 23000 |
|
||||
|
||||
- 保底与助教分成(客户支付减去球房抽成)取最大值发放
|
||||
- 注:旧方案为保底制,DWS档位表不直接建模保底,历史回溯需另行补录/修正
|
||||
|
||||
**新方案(2026-03-01起,现行口径)**
|
||||
|
||||
| 档位 | 总业绩小时数阈值 | 专业课抽成(元/小时) | 打赏课抽成 | 次月休假(天) |
|
||||
|------|------------------|----------------------|------------|----------------|
|
||||
| 0档 淘汰压力 | H < 120 | 28 | 50% | 3 |
|
||||
| 1档 及格档 | 120 ≤ H < 150 | 18 | 40% | 4 |
|
||||
| 2档 良好档 | 150 ≤ H < 180 | 13 | 35% | 5 |
|
||||
| 3档 优秀档 | 180 ≤ H < 210 | 10 | 30% | 6 |
|
||||
| 4档 销冠竞争 | H ≥ 210 | 8 | 25% | 休假自由 |
|
||||
|
||||
*课程类型(dwd_assistant_service_log 表的 skill_name)*
|
||||
- 基础课:又名专业课/上桌/上钟,按分钟计时
|
||||
- 附加课:又名超休/激励/打赏,按整小时计时
|
||||
- 包厢课:归入基础课口径,客户支付统一 138 元/小时
|
||||
- 总业绩小时数阈值 = 基础课 + 附加课
|
||||
|
||||
*客户支付价格*
|
||||
- 基础课:初级 98 元/小时,中级 108 元/小时,高级 118 元/小时,星级 138 元/小时
|
||||
- 附加课:统一 190 元/小时
|
||||
- 包厢课(基础课):统一 138 元/小时
|
||||
|
||||
*Top3 销冠奖(2026-03-01起)*
|
||||
- 第1名:1000 元
|
||||
- 第2名:600 元
|
||||
- 第3名:400 元
|
||||
|
||||
规则:
|
||||
1、过档后,所有时长按新档位进行计算。
|
||||
举例:当前某中级助教已完成185小时,基础课170小时,附加课15小时:
|
||||
170 × (108 - 10) + 15 × 190 × (1 - 0.30)
|
||||
|
||||
2、本月新入职助教定档:
|
||||
按日均 × 30 的总业绩小时数定档。
|
||||
在当月25日后入职的新助教,最高定档至2档(T2)。
|
||||
该折算仅用于定档,不适用于 Top3 奖的计算口径。
|
||||
|
||||
### 助教维度
|
||||
以每个助教个体的视角
|
||||
- 我要知道我的业绩档位,历史月份与本月档位进度,档位影响的收入单价。及相邻月份的变化。
|
||||
- 我要知道我的有效业绩:历史月份与本月的 基础课课时,激励课课时,全部课课时。相邻月份的变化。
|
||||
- 我要知道我的收入:历史月份与本月的收入(注意助教等级,业绩档位,课程种类等因素的总和计算)。相邻月份的变化。
|
||||
- 我要知道我的客户情况:过去7天、10天、15天、30天、60天、90天 的跨度进行统计,我服务过(基础课+附加课)的客户数据,并关联每次服务的 时间 时长 台桌 分类 等详细信息。
|
||||
|
||||
### 客户维度
|
||||
统计每个客户的信息
|
||||
- 我要知道每个客户:过去7天、10天、15天、30天、60天、90天 的跨度进行统计,来店消费情况,并关联每次服务的 时间 食品饮品 时长 台桌 分类 助教服务 等详细信息。
|
||||
|
||||
|
||||
### 财务维度
|
||||
财务维度的需求(已经落到原型图需求级别了),见财务页面需求.md
|
||||
|
||||
|
||||
198
docs/requirements/财务页面需求.md
Normal file
198
docs/requirements/财务页面需求.md
Normal file
@@ -0,0 +1,198 @@
|
||||
# 筛选
|
||||
- 按时间范围 本月/上个月/前3个月不加本月/前3个月+本月/最近半年不加本月/本季度含本月/上个季度/本周/上周
|
||||
- 按区域筛选 大厅(A区/B区/C区) /麻将房/团建房
|
||||
|
||||
# 新增功能
|
||||
- 一个开关,打开后,可以与紧邻前一个等长区间进行对比(用上下箭头表示增/跌,并跟随百分比。)
|
||||
- 对比数值的UI需要设计,关闭状态和开启状态。
|
||||
- 问号icon,点击会有相应的弹窗显示内容。将弹出放在页面底部,存在关闭按钮,且默认5秒后自动消失。不影响滚动等操
|
||||
|
||||
# 数据展示调整
|
||||
## 黑色banner 经营状况一览
|
||||
### 行1:收入概览 即 经营链:
|
||||
- 发生额/正价。 点击提示icon:
|
||||
"
|
||||
按台桌/包厢/助教/酒水的“正价”计算出的理论销售额,反映经营规模与业务量。
|
||||
|
||||
计算方式 = 各收入项目按正价 × 数量/时长汇总计算。
|
||||
|
||||
**不是最终收到了多少钱。**
|
||||
"
|
||||
|
||||
- 总优惠 | 优惠比例。点击提示icon:
|
||||
"
|
||||
本期因团购差价、大客户折扣、赠送卡抵扣、免单/抹零等导致的让利总额,用于解释“发生额”与“成交/确认收入”的差异。
|
||||
|
||||
计算方式 = 发生额 − 成交/确认收入
|
||||
或 = 团购优惠 + 大客户优惠 + 赠送抵扣 + 其他优惠/免单/抹零(汇总)
|
||||
"
|
||||
|
||||
- 成交/确认收入。点击提示icon:
|
||||
"
|
||||
扣除各种优惠后的成交金额,**按记账规则统计的营业收入**。
|
||||
|
||||
计算方式 = 发生额 − 团购优惠 − 大客户优惠 − 赠送抵扣(及其他优惠)。
|
||||
|
||||
**不含充值营业收入** 充值是预收/负债,但会影响现金流。**
|
||||
"
|
||||
|
||||
|
||||
### 行2:现金概览 注:往期为已结算,本期为预估:
|
||||
- 实收/现金流入
|
||||
"
|
||||
统计真实进账的资金,包括现金 + 线上支付 + 平台回款。
|
||||
|
||||
计算方式 = 消费实收 + 平台团购 - 各类退款/冲正。
|
||||
|
||||
**此为现金口径,不等于营业收入。**区别为:充值属于预收款的现金流入,属于预存行为,球房债务。
|
||||
"
|
||||
|
||||
- 现金支出。点击提示icon:
|
||||
"
|
||||
本期所有支出项目的合计。
|
||||
|
||||
计算方式 = 房租 + 水电 + 进货成本支出 + 耗材 + 报销 + 助教分成 + 固定人员工资 + 平台服务费 + 其他费用
|
||||
"
|
||||
|
||||
|
||||
- 现金结余 | 结余率。点击提示icon:
|
||||
"
|
||||
本期营业收入扣除全部成本后的利润,用于衡量经营质量。
|
||||
|
||||
计算方式= 实收/现金流入 − 总支出。
|
||||
"
|
||||
|
||||
|
||||
## AI分析
|
||||
以下内容先占位,真实内容会通过AI接口调用展示,此处为标准Markdown内容排版。
|
||||
优惠率Top:团购(%) / 大客户(%) / 赠送卡(%)
|
||||
差异最大项目:酒水 / 台桌 / 包厢 ...
|
||||
财务分析:充值高但消耗低(或相反)提示
|
||||
|
||||
|
||||
|
||||
## 充值与预收
|
||||
### 行1 会员卡概览
|
||||
- 储值卡充值实收 首充 | 续费 | 合计。点击提示icon:
|
||||
"
|
||||
本期储值卡充值到账的新增金额。
|
||||
按照首充,续费,合计路径进行统计。
|
||||
|
||||
计算方式 = 本期储值卡充值订单的实收金额。
|
||||
不含赠送金额
|
||||
"
|
||||
|
||||
- 全类别会员卡余额合计 **仅经营参考,非财务属性**。点击提示icon:
|
||||
"
|
||||
截至本期末,顾客充值后尚未消费的储值余额,包括赠送的台费卡酒水卡等类别,用于判断未来可转化的消费规模。
|
||||
|
||||
计算方式 = 各类会员卡往期余额 + 本期充值到账与赠送到账 − 本期卡消耗 卤 调整(退款/冲正/手工修正)
|
||||
"
|
||||
|
||||
|
||||
|
||||
### 行2 储值卡统计详情
|
||||
- 储值卡充值。点击提示icon:
|
||||
"
|
||||
本期储值卡充值到账的新增金额。
|
||||
"
|
||||
|
||||
- 储值卡消耗。点击提示icon:
|
||||
"
|
||||
余额卡在查询周期内消耗金额。
|
||||
|
||||
计算方式 = 本期消耗 卤 调整
|
||||
"
|
||||
|
||||
- 储值卡总余额。点击提示icon:
|
||||
"
|
||||
截至本期末,余额卡可用的余额。
|
||||
|
||||
计算方式 = 期初余额卡余额 + 本期新增 − 本期消耗 卤 调整
|
||||
"
|
||||
|
||||
|
||||
### 行3 赠送卡统计详情
|
||||
需要设计下页面,主要字段是合计,且细分的也要展示。
|
||||
- 赠送卡新增合计;细分 酒水卡|台费卡|抵用券。点击提示icon:
|
||||
"
|
||||
本期各类型赠送卡的新增金额。
|
||||
"
|
||||
|
||||
- 赠送卡消费合计;细分酒水卡|台费卡|抵用券。点击提示icon:
|
||||
"
|
||||
本期各类型赠送卡在查询周期内消耗金额。
|
||||
|
||||
计算方式 = 本期消耗 卤 调整
|
||||
"
|
||||
|
||||
- 赠送卡总余额合计;细分酒水卡|台费卡|抵用券。点击提示icon:
|
||||
"
|
||||
截至本期末,各类型赠送卡可用的余额。
|
||||
|
||||
计算方式 = 期初余额 + 本期新增 − 本期消耗 卤 调整
|
||||
"
|
||||
|
||||
|
||||
## 发生额 → 入账收入 及 优惠影响
|
||||
页面字段结构:
|
||||
### 收入确认(损益链)
|
||||
发生额(正价) 楼123,456
|
||||
├─ 团购优惠 -楼 6,200
|
||||
├─ 手动调整 + 大客户优惠 -楼 4,800
|
||||
├─ 赠送卡抵扣(台桌卡+酒水卡+抵用券) -楼 2,336
|
||||
└─ 其他优惠 免单+抹零 -楼 0
|
||||
成交/确认收入 楼110,120
|
||||
支付方式构成
|
||||
├─ 由储值卡结算冲销 楼60,120
|
||||
├─ 现金/线上支付 楼60,120
|
||||
└─ 团购核销确认收入(团购成交价) 楼60,120
|
||||
|
||||
|
||||
现金流
|
||||
消费现金流入:现金+线上+平台回款−退款 楼60,120
|
||||
充值到账(首充/续费) 楼60,120
|
||||
现金流入合计 楼60,120
|
||||
|
||||
### 收入结构
|
||||
收入结构(发生额 | 优惠 | 入账 )
|
||||
开台与包厢 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
├─ A区 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
├─ B区 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
├─ C区 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
├─ 团建区 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
└─ 麻将区 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
|
||||
助教(基础课) 楼xx,xxx | -楼 | 楼xx,xxx
|
||||
助教(激励课) 楼xx,xxx | -楼 | 楼xx,xxx
|
||||
食品酒水 楼xx,xxx | -楼x,xxx | 楼xx,xxx
|
||||
|
||||
|
||||
|
||||
## 支出结构
|
||||
助教分成:基础楼x,xxx 附加楼x,xxx 充值提成楼x,xxx
|
||||
助教额外奖金:楼x,xxx
|
||||
食品饮料进货:楼x,xxx 耗材楼x,xxx 报销楼x,xxx
|
||||
房租楼x,xxx 水电楼x,xxx 物业楼x,xxx
|
||||
固定人员工资楼x,xxx
|
||||
|
||||
汇来米平台服务费楼x,xxx
|
||||
美团服务费楼x,xxx 抖音服务费楼x,xxx
|
||||
|
||||
支出合计 楼 xx,xxx
|
||||
|
||||
## 助教收支分析
|
||||
助教基础课 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
├─ 初级 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
├─ 中级 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
├─ 高级 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
└─ 星级 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
|
||||
助教激励课 客户支付 | 球房抽成 | 球房均小时抽成
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user