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)
|
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, {
|
sendSuccess(res, {
|
||||||
scorecard: scorecard.rows[0],
|
scorecard: sc,
|
||||||
risk: risk.rows[0],
|
risk: rk,
|
||||||
platform: platform.rows[0],
|
platform: platform.rows[0],
|
||||||
benchmark: benchmark.rows[0],
|
benchmark: benchmark.rows[0],
|
||||||
action: action.rows[0],
|
action: { ...act, management_quadrant: quadrant, risk_level: rk?.risk_level },
|
||||||
})
|
})
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
sendError(res, err.message)
|
sendError(res, err.message)
|
||||||
|
|||||||
Reference in New Issue
Block a user