#!/usr/bin/env python3# -*- coding: utf-8 -*-"""江浦北平分行财富绩效考核系统(装教授vc版)核心特色:1. 每月强制扣除 10% 业绩 → 内卷保护费2. 季度根据多维度指标判定是否“赎回”3. 不达标 → 保护费没收,自动分配给高绩效同事4. 总行双杀 + 分行分层扣减 + 动态系数惩罚5. 逻辑嵌套层数:3"""from dataclasses import dataclassfrom typing import Dict, List, Optionalfrom enum import Enum# ====================== 【枚举定义:北平分行官方等级】 ======================class PerformanceLevel(Enum): S = "SSS顶尖" A = "优秀" B = "合格" C = "待改进" D = "淘汰边缘"class TaskCompleteStatus(Enum): FULL = 1.0 # 完全完成 PART = 0.5 # 部分完成 NONE = 0.0 # 未完成# ====================== 【员工数据结构:你本人信息】 ======================@dataclassclass Staff: name: str monthly_base_salary: float monthly_performance_total: float # 月度应发绩效(血汗钱) monthly_productivity_score: int # 产能得分 0-120 quarterly_kpi_score: int # 季度总分 0-100 insurance_sale_rate: float # 保险完成率 0-1 current_deposit_rate: float # 活期存款完成率 0-1 middle_income_rate: float # 中间业务收入完成率 0-1# ====================== 【全局规则:北平独家·扣钱法典】 ======================BRANCH_TAX_RATE = 0.10 # 每月硬扣 10% → 十一税REDEEM_CONDITION_SCORE = 85 # 季度≥85分才能全额赎回保护费HARD_LIMIT_LINE = 80 # 低于80分 → 保护费直接没收# 总行产能计提系数(分档扣钱)PRODUCTIVITY_COEFFICIENT: Dict[int, float] = { 100: 1.0, 90: 0.975, 80: 0.925, 70: 0.875, 0: 0.800}# 分行额外惩罚(每低10分扣1元/分,真实规则)BRANCH_PENALTY_PER_POINT = 1.0# ====================== 【核心计算类:暗黑考核引擎】 ======================class JiangpuPerformanceSystem: def __init__(self, staff: Staff): self.staff = staff self.tax_pool = 0.0 # 分行保护费金库 self.redeemable_amount = 0.0 # 可赎回金额 self.final_income = 0.0 # 步骤1:计算总行产能系数 def _get_productivity_coeff(self) -> float: score = self.staff.monthly_productivity_score for threshold in sorted(PRODUCTIVITY_COEFFICIENT.keys(), reverse=True): if score >= threshold: return PRODUCTIVITY_COEFFICIENT[threshold] return 0.8 # 步骤2:计算分行二次惩罚 def _get_branch_penalty(self) -> float: score = self.staff.monthly_productivity_score if score >= 100: return 0.0 elif score >= 90: return 1.0 elif score >= 80: return 2.0 elif score >= 70: return 3.0 else: return 4.0 # 步骤3:月度强制扣税 def _monthly_tax_deduction(self) -> tuple: raw_perf = self.staff.monthly_performance_total coeff = self._get_productivity_coeff() penalty = self._get_branch_penalty() after_head_office = raw_perf * coeff - penalty tax = after_head_office * BRANCH_TAX_RATE after_tax = after_head_office - tax self.tax_pool = tax return round(after_tax, 2), round(tax, 2) # 步骤4:季度指标综合判定(赎回资格审查) def _get_quarterly_status(self) -> TaskCompleteStatus: scores = [ self.staff.quarterly_kpi_score, self.staff.insurance_sale_rate * 100, self.staff.current_deposit_rate * 100, self.staff.middle_income_rate * 100 ] avg_score = sum(scores) / len(scores) if avg_score >= REDEEM_CONDITION_SCORE: return TaskCompleteStatus.FULL elif avg_score >= HARD_LIMIT_LINE: return TaskCompleteStatus.PART else: return TaskCompleteStatus.NONE # 步骤5:保护费赎回机制(核心) def _redeem_tax(self) -> float: status = self._get_quarterly_status() tax = self.tax_pool if status == TaskCompleteStatus.FULL: redeemed = tax # 全额赎回 elif status == TaskCompleteStatus.PART: redeemed = tax * 0.3 # 赎回30% else: redeemed = 0.0 # 全部没收 → 分给同事 self.redeemable_amount = redeemed return round(redeemed, 2) # 步骤6:最终工资(总行双杀 + 分行抽税 + 季度赎回) def calculate_final_salary(self) -> dict: monthly_salary_after_tax, monthly_tax = self._monthly_tax_deduction() redeemed_amount = self._redeem_tax() final = self.staff.monthly_base_salary + monthly_salary_after_tax + redeemed_amount # 最终等级判定 final_level = self._judge_level(final) return { "员工姓名": self.staff.name, "基础工资": self.staff.monthly_base_salary, "原始绩效": self.staff.monthly_performance_total, "扣10%内卷保护费": monthly_tax, "月度到手(未赎回)": monthly_salary_after_tax, "季度赎回金额": redeemed_amount, "最终实发工资": round(final, 2), "分行评级": final_level.value, "备注": self._get_remark(redeemed_amount, monthly_tax) } def _judge_level(self, final_salary: float) -> PerformanceLevel: if final_salary >= 20000: return PerformanceLevel.S elif final_salary >= 15000: return PerformanceLevel.A elif final_salary >= 10000: return PerformanceLevel.B elif final_salary >= 6000: return PerformanceLevel.C else: return PerformanceLevel.D def _get_remark(self, redeemed: float, tax: float) -> str: if redeemed == tax: return "运气不错,保护费全额拿回" elif redeemed > 0: return "赎回30%,剩下70%给同事发红包" else: return "保护费全额没收,成功为分行做贡献"# ====================== 【测试运行:打工人真实场景】 ======================if __name__ == "__main__": # 模拟一个普通员工:累死累活,指标差一点 staff = Staff( name="北平打工人", monthly_base_salary=3500, monthly_performance_total=12000, monthly_productivity_score=78, quarterly_kpi_score=77, insurance_sale_rate=0.75, current_deposit_rate=0.72, middle_income_rate=0.76 ) # 启动江浦考核系统 system = JiangpuPerformanceSystem(staff) result = system.calculate_final_salary() # 打印最终结算单 print("=" * 50) print("【江浦分行 月度绩效考核结算单】") print("=" * 50) for k, v in result.items(): print(f"{k:15s}: {v}") print("=" * 50) print("⚠ 温馨提示:卷不赢,你的10%就是同事的奖金") print("=" * 50)