fix: 经营象限阈值用中位数(营收18642/毛利率70%),增加行动建议展示
This commit is contained in:
@@ -120,12 +120,26 @@ router.get('/stores/:code', async (req: AuthRequest, res) => {
|
||||
return sendError(res, 'Store not found', 404)
|
||||
}
|
||||
|
||||
const sc = scorecard.rows[0] as any
|
||||
const rk = risk.rows[0] as any
|
||||
const act = action.rows[0] as any
|
||||
|
||||
// 计算经营象限
|
||||
const medianRev = 18642
|
||||
const medianMargin = 70.0
|
||||
const dailyRev = parseFloat(rk?.avg_daily_received) || 0
|
||||
const margin = parseFloat(rk?.theoretical_margin_pct) || 0
|
||||
const quadrant = dailyRev >= medianRev && margin >= medianMargin ? '明星门店'
|
||||
: dailyRev >= medianRev && margin < medianMargin ? '现金牛门店'
|
||||
: dailyRev < medianRev && margin >= medianMargin ? '潜力门店'
|
||||
: '问题门店'
|
||||
|
||||
sendSuccess(res, {
|
||||
scorecard: scorecard.rows[0],
|
||||
risk: risk.rows[0],
|
||||
scorecard: sc,
|
||||
risk: rk,
|
||||
platform: platform.rows[0],
|
||||
benchmark: benchmark.rows[0],
|
||||
action: action.rows[0],
|
||||
action: { ...act, management_quadrant: quadrant, risk_level: rk?.risk_level },
|
||||
})
|
||||
} catch (err: any) {
|
||||
sendError(res, err.message)
|
||||
|
||||
Reference in New Issue
Block a user