From 956134c360c9445b8720ebdca799384815e906da Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 19 Jul 2022 14:40:53 -0700 Subject: [PATCH] IO-1957 Add efficiencies to timetickets scoreboard --- bodyshop_translations.babel | 21 +++++++++++++++++++ .../schedule-calendar-header.component.js | 1 - .../scoreboard-timetickets.component.jsx | 9 +++++++- ...scoreboard-timetickets.stats.component.jsx | 12 ++++++++++- client/src/graphql/timetickets.queries.js | 1 + client/src/translations/en_us/common.json | 1 + client/src/translations/es/common.json | 1 + client/src/translations/fr/common.json | 1 + 8 files changed, 44 insertions(+), 3 deletions(-) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index bcf0fb69d..45256e2f5 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -41451,6 +41451,27 @@ + + efficiencyoverperiod + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + jobs false diff --git a/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js b/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js index fbdc59a77..9f41906db 100644 --- a/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js +++ b/client/src/components/schedule-calendar-wrapper/schedule-calendar-header.component.js @@ -37,7 +37,6 @@ export function ScheduleCalendarHeaderComponent({ ...otherProps }) { const ATSToday = useMemo(() => { - console.log("eeee", events); if (!events) return []; return _.groupBy( events.filter( diff --git a/client/src/components/scoreboard-timetickets/scoreboard-timetickets.component.jsx b/client/src/components/scoreboard-timetickets/scoreboard-timetickets.component.jsx index c681ee4ef..29f2bb59f 100644 --- a/client/src/components/scoreboard-timetickets/scoreboard-timetickets.component.jsx +++ b/client/src/components/scoreboard-timetickets/scoreboard-timetickets.component.jsx @@ -80,6 +80,7 @@ export default function ScoreboardTimeTickets() { totalThisMonth: 0, totalLastMonth: 0, totalOverPeriod: 0, + actualTotalOverPeriod: 0, employees: {}, }; data.fixedperiod.forEach((ticket) => { @@ -92,6 +93,7 @@ export default function ScoreboardTimeTickets() { totalThisMonth: 0, totalLastMonth: 0, totalOverPeriod: 0, + actualTotalOverPeriod: 0, }; } @@ -182,6 +184,9 @@ export default function ScoreboardTimeTickets() { ret.employees[ticket.employee.employee_number].totalOverPeriod = ret.employees[ticket.employee.employee_number].totalOverPeriod + ticket.productivehrs; + ret.employees[ticket.employee.employee_number].actualTotalOverPeriod = + ret.employees[ticket.employee.employee_number].actualTotalOverPeriod + + (ticket.actualhrs || 0); if (!totals.employees[ticket.employee.employee_number]) totals.employees[ticket.employee.employee_number] = { @@ -219,7 +224,7 @@ export default function ScoreboardTimeTickets() { roundObject(ret); roundObject(totals); roundObject(ret2); - console.log(ret); + return { fixed: ret, timeperiod: { @@ -231,6 +236,8 @@ export default function ScoreboardTimeTickets() { }; }, [fixedPeriods, data, startDate, endDate]); + console.log(calculatedData); + if (error) return ; if (loading) return ; return ( diff --git a/client/src/components/scoreboard-timetickets/scoreboard-timetickets.stats.component.jsx b/client/src/components/scoreboard-timetickets/scoreboard-timetickets.stats.component.jsx index 72f1637b9..439f63743 100644 --- a/client/src/components/scoreboard-timetickets/scoreboard-timetickets.stats.component.jsx +++ b/client/src/components/scoreboard-timetickets/scoreboard-timetickets.stats.component.jsx @@ -19,7 +19,6 @@ export default connect( export function ScoreboardTicketsStats({ data, bodyshop }) { const { t } = useTranslation(); - console.log(data); const columns = [ { title: t("employees.fields.employee_number"), @@ -57,6 +56,16 @@ export function ScoreboardTicketsStats({ data, bodyshop }) { key: "totalOverPeriod", sorter: (a, b) => a.totalOverPeriod - b.totalOverPeriod, }, + { + title: t("scoreboard.labels.efficiencyoverperiod"), + dataIndex: "efficiencyoverperiod", + key: "efficiencyoverperiod", + render: (text, record) => + `${( + (record.totalOverPeriod / (record.actualTotalOverPeriod || 1)) * + 100 + ).toFixed(1)} %`, + }, ]; const tableData = data @@ -112,6 +121,7 @@ export function ScoreboardTicketsStats({ data, bodyshop }) {