feat: 新增员工行为画像算法与费用风险标签体系
后端新增员工行为画像算法模块,支持标签规则引擎和评分计算, 完善员工模型、银行信息、序列化和导入逻辑,优化报销审批流 和工作流常量,增强 Hermes 同步和知识同步能力,前端新增费 用画像详情弹窗、雷达图和风险卡片组件,完善登录页和工作台 样式,优化文档中心和归档中心交互,补充单元测试。
This commit is contained in:
26
server/src/app/services/employee_bank_info.py
Normal file
26
server/src/app/services/employee_bank_info.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import hashlib
|
||||
|
||||
from app.models.employee import Employee
|
||||
|
||||
DEFAULT_EMPLOYEE_BANK_NAME = "招商银行深圳科技园支行"
|
||||
|
||||
|
||||
def build_default_bank_account_no(employee_no: str | None) -> str | None:
|
||||
text = str(employee_no or "").strip()
|
||||
if not text:
|
||||
return None
|
||||
|
||||
digest = hashlib.sha256(text.encode("utf-8")).hexdigest()
|
||||
numeric = str(int(digest[:18], 16)).zfill(13)[-13:]
|
||||
return f"622588{numeric}"
|
||||
|
||||
|
||||
def apply_default_bank_info(employee: Employee) -> None:
|
||||
if not employee.bank_account_name and employee.name:
|
||||
employee.bank_account_name = employee.name
|
||||
if not employee.bank_name:
|
||||
employee.bank_name = DEFAULT_EMPLOYEE_BANK_NAME
|
||||
if not employee.bank_account_no:
|
||||
employee.bank_account_no = build_default_bank_account_no(employee.employee_no)
|
||||
Reference in New Issue
Block a user