Finished moving job totals calculation to server side BOD-267.

This commit is contained in:
Patrick Fic
2020-08-24 10:17:32 -07:00
parent 4b44fdfde5
commit 2acef8f726
18 changed files with 801 additions and 618 deletions

View File

@@ -1,12 +1,14 @@
import { useApolloClient, useMutation, useQuery } from "@apollo/react-hooks";
import { notification } from "antd";
import Axios from "axios";
import Dinero from "dinero.js";
import gql from "graphql-tag";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { useHistory } from "react-router-dom";
import { createStructuredSelector } from "reselect";
import { CalculateJob } from "../../components/job-totals-table/job-totals.utility";
import { logImEXEvent } from "../../firebase/firebase.utils";
import {
DELETE_ALL_AVAILABLE_SUPPLEMENT_JOBS,
QUERY_AVAILABLE_SUPPLEMENT_JOBS,
@@ -18,7 +20,6 @@ import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import JobsAvailableSupplementComponent from "./jobs-available-supplement.component";
import { GetSupplementDelta } from "./jobs-available-supplement.estlines.util";
import HeaderFields from "./jobs-available-supplement.headerfields";
import { logImEXEvent } from "../../firebase/firebase.utils";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
@@ -74,13 +75,15 @@ export function JobsAvailableSupplementContainer({
HeaderFields.forEach((item) => delete supp[item]);
}
const newTotals = CalculateJob(
{
...estData.data.available_jobs_by_pk.est_data,
joblines: estData.data.available_jobs_by_pk.est_data.joblines.data,
},
bodyshop.shoprates
);
const newTotals = (
await Axios.post("/job/totals", {
job: {
...estData.data.available_jobs_by_pk.est_data,
joblines: estData.data.available_jobs_by_pk.est_data.joblines.data,
},
shoprates: bodyshop.shoprates,
})
).data;
let suppDelta = await GetSupplementDelta(
client,
@@ -99,9 +102,9 @@ export function JobsAvailableSupplementContainer({
jobId: selectedJob,
job: {
...supp,
clm_total: newTotals.totals.total_repairs.toFormat("0.00"),
owner_owing: newTotals.custPayable.total.toFormat("0.00"),
job_totals: JSON.stringify(newTotals),
clm_total: Dinero(newTotals.totals.total_repairs).toFormat("0.00"),
owner_owing: Dinero(newTotals.custPayable.total).toFormat("0.00"),
job_totals: newTotals,
},
},
})