feat(M08-B): 补保洁员绩效排行
This commit is contained in:
@@ -146,6 +146,8 @@ interface ManagerMemberStatsRow extends RowDataPacket {
|
||||
cleanerUserId: string;
|
||||
cleanerName: string;
|
||||
taskCount: number;
|
||||
completedTaskCount: number;
|
||||
rejectedTaskCount: number;
|
||||
pendingSettlementCents: number | null;
|
||||
settledRewardCents: number | null;
|
||||
}
|
||||
@@ -920,6 +922,8 @@ export class CleaningTaskRepository {
|
||||
const [memberRows] = await this.pool.execute<ManagerMemberStatsRow[]>(
|
||||
`SELECT m.user_id AS cleanerUserId, u.nickname AS cleanerName,
|
||||
COUNT(DISTINCT m.task_id) AS taskCount,
|
||||
SUM(CASE WHEN t.status IN ('COMPLETED', 'SETTLED') THEN 1 ELSE 0 END) AS completedTaskCount,
|
||||
SUM(CASE WHEN t.status = 'REJECTED' THEN 1 ELSE 0 END) AS rejectedTaskCount,
|
||||
COALESCE(SUM(CASE
|
||||
WHEN m.removed_at IS NULL AND m.settled_at IS NULL AND t.status IN ('SUBMITTED', 'COMPLETED')
|
||||
THEN m.reward_cents ELSE 0 END), 0) AS pendingSettlementCents,
|
||||
@@ -1450,6 +1454,8 @@ function publicManagerStatistics(
|
||||
cleanerUserId: String(row.cleanerUserId),
|
||||
cleanerName: row.cleanerName,
|
||||
taskCount: Number(row.taskCount),
|
||||
completedTaskCount: Number(row.completedTaskCount ?? 0),
|
||||
rejectedTaskCount: Number(row.rejectedTaskCount ?? 0),
|
||||
pendingSettlementCents: Number(row.pendingSettlementCents ?? 0),
|
||||
settledRewardCents: Number(row.settledRewardCents ?? 0)
|
||||
})),
|
||||
|
||||
Reference in New Issue
Block a user