fix: 移除规避率30%打折,已解决风险直接用预估损失作为规避价值

- 后端移除 RISK_AVOIDANCE_RATE,adjustedLossAvoided = lossAvoided
- 前端移除规避率列和30%说明,表格直接展示预估损失=规避损失
- 价值计算说明更新:系统已发现并解决,全部潜在损失即为规避价值
This commit is contained in:
selfrelease
2026-07-31 09:29:51 +08:00
parent f5a03f82bc
commit c7f270e8df
2 changed files with 8 additions and 16 deletions
+4 -6
View File
@@ -1630,8 +1630,6 @@ export async function getAnnualValueReport(orgId: string, year: number) {
}),
])
const RISK_AVOIDANCE_RATE = 0.3
// 按身份证号去重(同一人可能有多条 Employee 记录),无身份证号时回退到 employeeId
// 同时按风险类型去重(同一风险被重复创建解决多次,只取 estimatedLoss 最大的一条)
const personBreakdown: Record<string, {
@@ -1712,7 +1710,7 @@ export async function getAnnualValueReport(orgId: string, year: number) {
department: p.department,
riskCount: details.length,
lossAvoided,
adjustedLoss: Math.round(lossAvoided * RISK_AVOIDANCE_RATE),
adjustedLoss: lossAvoided,
details,
}
})
@@ -1730,10 +1728,10 @@ export async function getAnnualValueReport(orgId: string, year: number) {
}))
// 价值计算
// 1. 规避损失 = 已解决风险的预估损失之和 × 0.3(规避率30%,非每项风险都会演变为实际仲裁
// 1. 规避损失 = 已解决风险的预估损失之和(系统已发现并解决,全部潜在损失即为规避价值
// 2. 节约工时 = AI 查询 * 0.5h + 合同审查 * 1h + 算薪批次 * 2h + 制度公示 * 1h
// 3. 节约成本 = 节约工时 * 100 元/h(HR 平均时薪)
const adjustedLossAvoided = Math.round(lossAvoided * RISK_AVOIDANCE_RATE)
const adjustedLossAvoided = lossAvoided
const aiTimeSaved = aiConversations * 0.5 + aiReviews * 1.0
const payrollTimeSaved = payrollBatches * 2.0
const policyTimeSaved = policiesPublished * 1.0
@@ -1741,7 +1739,7 @@ export async function getAnnualValueReport(orgId: string, year: number) {
const timeSaved = Math.round(aiTimeSaved + payrollTimeSaved + policyTimeSaved + contractTimeSaved)
const costSaved = timeSaved * 100
// 总价值 = 规避损失(打折后) + 节约成本
// 总价值 = 规避损失 + 节约成本
const totalValue = adjustedLossAvoided + costSaved
// ROI = 总价值 / 系统成本(年费 12000 元),上限 9999%