From 57cbc6961c1562d6c4e695c24a88149e276c196c Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Thu, 13 Aug 2020 16:25:00 -0700 Subject: [PATCH] Added time tickets by cost center BOD-239 --- README.MD | 3 +- ...me-tickets-summary-employees.component.jsx | 126 ++++++++++-------- 2 files changed, 69 insertions(+), 60 deletions(-) diff --git a/README.MD b/README.MD index c1e3d680b..a3e429b14 100644 --- a/README.MD +++ b/README.MD @@ -1,7 +1,8 @@ React App: Yarn Dependency Management: -To force upgrades for some packages: yarn upgrade-interactive --latest +To force upgrades for some packages: +yarn upgrade-interactive --latest GraphQL API: Hasura is hosted on another dyno. Several environmental variables are required, including disabling the console. diff --git a/client/src/components/time-tickets-summary-employees/time-tickets-summary-employees.component.jsx b/client/src/components/time-tickets-summary-employees/time-tickets-summary-employees.component.jsx index f00b88d05..be349ccdc 100644 --- a/client/src/components/time-tickets-summary-employees/time-tickets-summary-employees.component.jsx +++ b/client/src/components/time-tickets-summary-employees/time-tickets-summary-employees.component.jsx @@ -78,6 +78,8 @@ export function TimeTicketsSummaryEmployees({ displayTemplateInWindow(html); }; + console.log("jobTickets", jobTickets); + return (
{jobTickets.map((item, idx) => { - const costCenters = item.tickets + const employeeCostCenters = item.tickets .map((i) => i.cost_center) .filter(onlyUnique); - console.log("costCenters", costCenters); + console.log("employeeCostCenters", employeeCostCenters); - const actHrs = item.tickets.reduce( - (acc, val) => acc + val.actualhrs, - 0 - ); + return employeeCostCenters.map((costCenter) => { + const actHrs = item.tickets + .filter((ticket) => ticket.cost_center === costCenter) + .reduce((acc, val) => acc + val.actualhrs, 0); - const prodHrs = item.tickets.reduce( - (acc, val) => acc + val.productivehrs, - 0 - ); + const prodHrs = item.tickets + .filter((ticket) => ticket.cost_center === costCenter) + .reduce((acc, val) => acc + val.productivehrs, 0); - const clockHrs = item.tickets.reduce((acc, val) => { - if (!!val.clockoff && !!val.clockon) - return ( - acc + - moment(val.clockoff).diff(moment(val.clockon), "hours", true) - ); - return acc; - }, 0); + const clockHrs = item.tickets + .filter((ticket) => ticket.cost_center === costCenter) + .reduce((acc, val) => { + if (!!val.clockoff && !!val.clockon) + return ( + acc + + moment(val.clockoff).diff( + moment(val.clockon), + "hours", + true + ) + ); + return acc; + }, 0); - return ( - handlePrintEmployeeTicket(item.employee.id)} - > - {t("timetickets.actions.printemployee")} - , - ]} - > - - - - handlePrintEmployeeTicket(item.employee.id)} + > + {t("timetickets.actions.printemployee")} + , + ]} + > + + - - - - - - - ); + + + + + + + + + ); + }); })}