-
+ ) : (
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+ )}
);
@@ -99,7 +150,7 @@ export default function ScoreboardAddButton({
setLoading(true);
const v = job.joblines.reduce(
(acc, val) => {
- if (val.mod_lbr_ty === "LAB")
+ if (val.mod_lbr_ty !== "LAR")
acc = { ...acc, bodyhrs: acc.bodyhrs + val.mod_lb_hrs };
if (val.mod_lbr_ty === "LAR")
acc = { ...acc, painthrs: acc.painthrs + val.mod_lb_hrs };
diff --git a/client/src/components/jobs-available-table/jobs-available-table.container.jsx b/client/src/components/jobs-available-table/jobs-available-table.container.jsx
index b4758f361..86efbfc66 100644
--- a/client/src/components/jobs-available-table/jobs-available-table.container.jsx
+++ b/client/src/components/jobs-available-table/jobs-available-table.container.jsx
@@ -140,16 +140,17 @@ export function JobsAvailableContainer({
: {}),
};
+ if (selectedOwner) {
+ newJob.ownerid = selectedOwner;
+ delete newJob.owner;
+ }
+ if (newJob.vehicleid) {
+ delete newJob.vehicle;
+ }
+
insertNewJob({
variables: {
- job: selectedOwner
- ? Object.assign(
- {},
- newJob,
- { owner: null },
- { ownerid: selectedOwner }
- )
- : newJob,
+ job: newJob,
},
})
.then((r) => {
@@ -199,11 +200,10 @@ export function JobsAvailableContainer({
message: t("jobs.errors.creating", { error: "No job data present." }),
});
} else {
- //IO-539 Check for Parts Rate on PAL for SGI use case.
- await CheckTaxRates(estData, bodyshop);
-
//create upsert job
let supp = replaceEmpty({ ...estData.est_data });
+ //IO-539 Check for Parts Rate on PAL for SGI use case.
+ await CheckTaxRates(supp, bodyshop);
delete supp.owner;
delete supp.vehicle;
@@ -391,101 +391,104 @@ function replaceEmpty(someObj, replaceValue = null) {
value === "" ? replaceValue || null : value;
//^ because you seem to want to replace (strings) "null" or "undefined" too
const temp = JSON.stringify(someObj, replacer);
- console.log("Parsed", JSON.parse(temp));
return JSON.parse(temp);
}
async function CheckTaxRates(estData, bodyshop) {
+ console.log(
+ "🚀 ~ file: jobs-available-table.container.jsx ~ line 398 ~ estData",
+ estData
+ );
//LKQ Check
if (
- !estData.est_data.parts_tax_rates?.PAL ||
- estData.est_data.parts_tax_rates?.PAL?.prt_tax_rt === null ||
- estData.est_data.parts_tax_rates?.PAL?.prt_tax_rt === 0
+ !estData.parts_tax_rates?.PAL ||
+ estData.parts_tax_rates?.PAL?.prt_tax_rt === null ||
+ estData.parts_tax_rates?.PAL?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for LKQ parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
- if (!estData.est_data.parts_tax_rates.PAL) {
- estData.est_data.parts_tax_rates.PAL = {
+ if (!estData.parts_tax_rates.PAL) {
+ estData.parts_tax_rates.PAL = {
prt_discp: 0,
prt_mktyp: true,
prt_mkupp: 0,
prt_type: "PAL",
};
}
- estData.est_data.parts_tax_rates.PAL.prt_tax_rt =
+ estData.parts_tax_rates.PAL.prt_tax_rt =
bodyshop.bill_tax_rates.state_tax_rate / 100;
- estData.est_data.parts_tax_rates.PAL.prt_tax_in = true;
+ estData.parts_tax_rates.PAL.prt_tax_in = true;
}
}
//PAC Check
if (
- !estData.est_data.parts_tax_rates?.PAC ||
- estData.est_data.parts_tax_rates?.PAC?.prt_tax_rt === null ||
- estData.est_data.parts_tax_rates?.PAC?.prt_tax_rt === 0
+ !estData.parts_tax_rates?.PAC ||
+ estData.parts_tax_rates?.PAC?.prt_tax_rt === null ||
+ estData.parts_tax_rates?.PAC?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for rechromed parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
- if (!estData.est_data.parts_tax_rates.PAC) {
- estData.est_data.parts_tax_rates.PAC = {
+ if (!estData.parts_tax_rates.PAC) {
+ estData.parts_tax_rates.PAC = {
prt_discp: 0,
prt_mktyp: true,
prt_mkupp: 0,
prt_type: "PAC",
};
}
- estData.est_data.parts_tax_rates.PAC.prt_tax_rt =
+ estData.parts_tax_rates.PAC.prt_tax_rt =
bodyshop.bill_tax_rates.state_tax_rate / 100;
- estData.est_data.parts_tax_rates.PAC.prt_tax_in = true;
+ estData.parts_tax_rates.PAC.prt_tax_in = true;
}
}
//PAM Check
if (
- !estData.est_data.parts_tax_rates?.PAM ||
- estData.est_data.parts_tax_rates?.PAM?.prt_tax_rt === null ||
- estData.est_data.parts_tax_rates?.PAM?.prt_tax_rt === 0
+ !estData.parts_tax_rates?.PAM ||
+ estData.parts_tax_rates?.PAM?.prt_tax_rt === null ||
+ estData.parts_tax_rates?.PAM?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for remanufactured parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
- if (!estData.est_data.parts_tax_rates.PAM) {
- estData.est_data.parts_tax_rates.PAM = {
+ if (!estData.parts_tax_rates.PAM) {
+ estData.parts_tax_rates.PAM = {
prt_discp: 0,
prt_mktyp: true,
prt_mkupp: 0,
prt_type: "PAM",
};
}
- estData.est_data.parts_tax_rates.PAM.prt_tax_rt =
+ estData.parts_tax_rates.PAM.prt_tax_rt =
bodyshop.bill_tax_rates.state_tax_rate / 100;
- estData.est_data.parts_tax_rates.PAM.prt_tax_in = true;
+ estData.parts_tax_rates.PAM.prt_tax_in = true;
}
}
if (
- !estData.est_data.parts_tax_rates?.PAR ||
- estData.est_data.parts_tax_rates?.PAR?.prt_tax_rt === null ||
- estData.est_data.parts_tax_rates?.PAR?.prt_tax_rt === 0
+ !estData.parts_tax_rates?.PAR ||
+ estData.parts_tax_rates?.PAR?.prt_tax_rt === null ||
+ estData.parts_tax_rates?.PAR?.prt_tax_rt === 0
) {
const res = await confirmDialog(
`ImEX Online has detected that there is a missing tax rate for recored parts. Pressing OK will set the tax rate to ${bodyshop.bill_tax_rates.state_tax_rate}% and enable the rate. Pressing cancel will keep the tax rate as is.`
);
if (res) {
- if (!estData.est_data.parts_tax_rates.PAR) {
- estData.est_data.parts_tax_rates.PAR = {
+ if (!estData.parts_tax_rates.PAR) {
+ estData.parts_tax_rates.PAR = {
prt_discp: 0,
prt_mktyp: true,
prt_mkupp: 0,
prt_type: "PAR",
};
}
- estData.est_data.parts_tax_rates.PAR.prt_tax_rt =
+ estData.parts_tax_rates.PAR.prt_tax_rt =
bodyshop.bill_tax_rates.state_tax_rate / 100;
- estData.est_data.parts_tax_rates.PAR.prt_tax_in = true;
+ estData.parts_tax_rates.PAR.prt_tax_in = true;
}
}
}
diff --git a/client/src/components/scoreboard-chart/scoreboard-chart.component.jsx b/client/src/components/scoreboard-chart/scoreboard-chart.component.jsx
index b39d70d5b..7b1fd410e 100644
--- a/client/src/components/scoreboard-chart/scoreboard-chart.component.jsx
+++ b/client/src/components/scoreboard-chart/scoreboard-chart.component.jsx
@@ -18,6 +18,11 @@ import { createStructuredSelector } from "reselect";
import { selectBodyshop } from "../../redux/user/user.selectors";
import * as Utils from "../scoreboard-targets-table/scoreboard-targets-table.util";
import _ from "lodash";
+
+const graphProps = {
+ strokeWidth: 3,
+};
+
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
});
@@ -51,7 +56,7 @@ export function ScoreboardChart({ sbEntriesByDate, bodyshop }) {
}
const theValue = {
- date: moment(val).format("D dd"),
+ date: moment(val).format("D ddd"),
paintHrs: _.round(dayhrs.painthrs, 1),
bodyHrs: _.round(dayhrs.bodyhrs, 1),
accTargetHrs: _.round(
@@ -81,36 +86,37 @@ export function ScoreboardChart({ sbEntriesByDate, bodyshop }) {
margin={{ top: 20, right: 20, bottom: 20, left: 20 }}
>