Skip to content

Commit af94778

Browse files
authored
chore: avg data on charts (#32)
* chore: avg data on charts * fix: remove old part * fix: removed old column
1 parent c982abc commit af94778

6 files changed

Lines changed: 29 additions & 29 deletions

File tree

apps/web-app/app/components/chart/KitchenChecks.client.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ type DataRecord = {
5959
commonAverageCheck: number
6060
}
6161
62-
const { period, range, values } = defineProps<{
62+
const { period, range, values, metrics } = defineProps<{
6363
period: Period
6464
range: Range
65-
values: { date: string, checks: number, averageCheck: number, commonAverageCheck: number }[]
65+
values: { date: string, checks: number, averageCheck: number }[]
66+
metrics: { date: string, checks: number, averageCheck: number, total: number, averageTotal: number }[]
6667
}>()
6768
6869
const cardRef = useTemplateRef<HTMLElement | null>('cardRef')
@@ -81,12 +82,13 @@ watch([() => period, () => range, () => values], () => {
8182
data.value = dates.map((date) => {
8283
const dateStr = format(date, 'yyyy-MM-dd')
8384
const value = values.find((d) => d.date.startsWith(dateStr))
85+
const metric = metrics.find((d) => d.date.startsWith(dateStr))
8486
8587
return {
8688
date,
8789
checks: value?.checks ?? 0,
8890
averageCheck: value?.averageCheck ?? 0,
89-
commonAverageCheck: value?.commonAverageCheck ?? 0,
91+
commonAverageCheck: metric?.averageCheck ?? 0,
9092
}
9193
})
9294
}, { immediate: true })

apps/web-app/app/components/chart/KitchenRevenue.client.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,11 @@ type DataRecord = {
6060
commonTotal: number
6161
}
6262
63-
const { period, range, values } = defineProps<{
63+
const { period, range, values, metrics } = defineProps<{
6464
period: Period
6565
range: Range
66-
values: { date: string, total: number, checks: number, averageCheck: number, commonTotal: number }[]
66+
values: { date: string, total: number, checks: number, averageCheck: number }[]
67+
metrics: { date: string, checks: number, averageCheck: number, total: number, averageTotal: number }[]
6768
}>()
6869
6970
const cardRef = useTemplateRef<HTMLElement | null>('cardRef')
@@ -82,13 +83,14 @@ watch([() => period, () => range, () => values], () => {
8283
data.value = dates.map((date) => {
8384
const dateStr = format(date, 'yyyy-MM-dd')
8485
const value = values.find((d) => d.date.startsWith(dateStr))
86+
const metric = metrics.find((d) => d.date.startsWith(dateStr))
8587
8688
return {
8789
date,
8890
total: value?.total ?? 0,
8991
checks: value?.checks ?? 0,
9092
averageCheck: value?.averageCheck ?? 0,
91-
commonTotal: value?.commonTotal ?? 0,
93+
commonTotal: metric?.averageTotal ?? 0,
9294
}
9395
})
9496
}, { immediate: true })

apps/web-app/app/pages/kitchen/[id]/finance.vue

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
<ChartKitchenRevenue
88
:period="period"
99
:range="range"
10-
:values="data ?? []"
10+
:values="revenues ?? []"
11+
:metrics="metrics ?? []"
1112
/>
1213

1314
<ChartKitchenChecks
1415
:period="period"
1516
:range="range"
16-
:values="data ?? []"
17+
:values="revenues ?? []"
18+
:metrics="metrics ?? []"
1719
/>
1820
</Content>
1921
</template>
@@ -24,11 +26,12 @@ import { sub } from 'date-fns'
2426
2527
const { params } = useRoute('kitchen-id')
2628
27-
const { data } = useFetch(`/api/kitchen/id/${params.id}/revenue`)
29+
const { data: revenues } = useFetch(`/api/kitchen/id/${params.id}/revenue`)
30+
const { data: metrics } = useFetch('/api/network/metrics')
2831
2932
const today = new Date()
3033
const range = shallowRef<Range>({
31-
start: sub(today, { days: 14 - 1 }),
34+
start: sub(today, { days: 30 - 1 }),
3235
end: today,
3336
})
3437
const period = ref<Period>('daily')

apps/web-app/server/api/kitchen/revenue/iiko-daily.post.ts

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ async function parseFileAndUpdateData(file: MultiPartData) {
121121
})
122122
}
123123

124-
const parsedKitchens: { name: string, total: number, checks: number, averageCheck: number, commonAverageCheck: number, commonTotal: number }[] = []
124+
const parsedKitchens: { name: string, total: number, checks: number, averageCheck: number }[] = []
125125

126126
for (const row of dataRows) {
127127
const name = row[indexOfName]
@@ -139,22 +139,15 @@ async function parseFileAndUpdateData(file: MultiPartData) {
139139
total,
140140
checks,
141141
averageCheck,
142-
commonAverageCheck: 0,
143-
commonTotal: 0,
144142
})
145143
}
146144

147145
// Update common data
148-
const commonAverageCheck = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.averageCheck, 0) / parsedKitchens.length)
149-
const commonTotal = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.total, 0) / parsedKitchens.length)
146+
const averageCheck = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.averageCheck, 0) / parsedKitchens.length)
147+
const averageTotal = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.total, 0) / parsedKitchens.length)
150148
const checks = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.checks, 0))
151149
const total = Math.round(parsedKitchens.reduce((acc, curr) => acc + curr.total, 0))
152150

153-
for (const kitchen of parsedKitchens) {
154-
kitchen.commonAverageCheck = commonAverageCheck
155-
kitchen.commonTotal = commonTotal
156-
}
157-
158151
// Create or update metrics
159152
const metrics = await repository.network.listMetrics()
160153
const existingMetrics = metrics.find((metric) => metric.date === dateOnly)
@@ -163,15 +156,15 @@ async function parseFileAndUpdateData(file: MultiPartData) {
163156
date: dateOnly,
164157
checks,
165158
total,
166-
averageCheck: commonAverageCheck,
167-
averageTotal: commonTotal,
159+
averageCheck,
160+
averageTotal,
168161
})
169162
} else {
170163
await repository.network.updateMetrics(existingMetrics.id, {
171164
checks,
172165
total,
173-
averageCheck: commonAverageCheck,
174-
averageTotal: commonTotal,
166+
averageCheck,
167+
averageTotal,
175168
})
176169
}
177170

@@ -192,16 +185,12 @@ async function parseFileAndUpdateData(file: MultiPartData) {
192185
total: kitchen.total,
193186
checks: kitchen.checks,
194187
averageCheck: kitchen.averageCheck,
195-
commonAverageCheck: kitchen.commonAverageCheck,
196-
commonTotal: kitchen.commonTotal,
197188
})
198189
} else {
199190
await repository.kitchen.updateRevenue(revenue.id, {
200191
total: kitchen.total,
201192
checks: kitchen.checks,
202193
averageCheck: kitchen.averageCheck,
203-
commonAverageCheck: kitchen.commonAverageCheck,
204-
commonTotal: kitchen.commonTotal,
205194
})
206195
}
207196

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { repository } from '@roll-stack/database'
2+
3+
export default defineEventHandler(async () => {
4+
return repository.network.listMetrics()
5+
})

packages/database/src/tables.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ export const partners = pgTable('partners', {
8383
surname: varchar('surname').notNull().default(''),
8484
avatarUrl: varchar('avatar_url'),
8585
city: varchar('city'),
86-
legal: varchar('legal'),
8786
legalEntityId: cuid2('legal_entity_id').references(() => partnerLegalEntities.id),
8887
})
8988

0 commit comments

Comments
 (0)