diff --git a/server/src/routes/data.ts b/server/src/routes/data.ts index b5affe2..dabfc1e 100644 --- a/server/src/routes/data.ts +++ b/server/src/routes/data.ts @@ -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)