Merged in feature/america (pull request #1001)

Add error handling when unable to caclulate job totals.
This commit is contained in:
Patrick Fic
2023-10-11 18:14:13 +00:00
3 changed files with 81 additions and 82 deletions

View File

@@ -1,4 +1,4 @@
import { Collapse, Form, Input, InputNumber, Switch } from "antd"; import { Collapse, Form, InputNumber, Switch } from "antd";
import React from "react"; import React from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { connect } from "react-redux"; import { connect } from "react-redux";
@@ -563,13 +563,6 @@ export function JobsDetailRatesParts({
> >
<Switch /> <Switch />
</Form.Item> </Form.Item>
<Form.Item
style={{ display: "none" }}
label={t("jobs.fields.parts_tax_rates.prt_tx_ty1")}
name={["parts_tax_rates", "PAN", "prt_tx_ty1"]}
>
<Input />
</Form.Item>
</LayoutFormRow> </LayoutFormRow>
<LayoutFormRow header={t("joblines.fields.part_types.PAO")}> <LayoutFormRow header={t("joblines.fields.part_types.PAO")}>
<Form.Item <Form.Item

View File

@@ -75,12 +75,12 @@ function TaxFormItems({
typeNum, typeNum,
typeNumIterator, typeNumIterator,
})} })}
rules={[ // rules={[
{ // {
required: true, // required: true,
//message: t("general.validation.required"), // //message: t("general.validation.required"),
}, // },
]} // ]}
name={["cieca_pft", `tax_type${typeNum}`]} name={["cieca_pft", `tax_type${typeNum}`]}
> >
<Input disabled={jobRO} /> <Input disabled={jobRO} />

View File

@@ -139,80 +139,86 @@ export function JobsDetailPage({
}, },
}, },
}); });
try {
const newTotals = await Axios.post("/job/totalsssu", {
id: job.id,
});
const newTotals = await Axios.post("/job/totalsssu", { if (newTotals.status !== 200 || result.errors) {
id: job.id, notification["error"]({
}); message: t("jobs.errors.totalscalc"),
});
} else {
notification["success"]({
message: t("jobs.successes.savetitle"),
});
const changedAuditFields = form.getFieldsValue(
[
"scheduled_in",
"actual_in",
"scheduled_completion",
"actual_completion",
"scheduled_delivery",
"actual_delivery",
"date_invoiced",
"ins_co_nm",
"ded_amt",
"ded_status",
"date_exported",
"special_coverage_policy",
"ca_gst_registrant",
"ca_bc_pvrt",
"scheduled_in",
"rate_la1",
"rate_la2",
"rate_la3",
"rate_la4",
"rate_laa",
"rate_lab",
"rate_lad",
"rate_lae",
"rate_laf",
"rate_lag",
"rate_lam",
"rate_lar",
"rate_las",
"rate_lau",
"rate_ma2s",
"rate_ma2t",
"rate_ma3s",
"rate_mabl",
"rate_macs",
"rate_mapa",
"rate_mahw",
"rate_mash",
"rate_matd",
],
(meta) => meta && meta.touched
);
if (newTotals.status !== 200 || result.errors) { Object.keys(changedAuditFields).forEach((key) => {
insertAuditTrail({
jobid: job.id,
operation: AuditTrailMapping.jobfieldchange(
key,
changedAuditFields[key] instanceof moment
? moment(changedAuditFields[key]).format("MM/DD/YYYY hh:mm a")
: changedAuditFields[key]
),
});
});
await refetch();
form.setFieldsValue(transormJobToForm(job));
form.resetFields();
}
} catch (error) {
notification["error"]({ notification["error"]({
message: t("jobs.errors.totalscalc"), message: t("jobs.errors.totalscalc"),
}); });
} else { } finally {
notification["success"]({ setLoading(false);
message: t("jobs.successes.savetitle"),
});
const changedAuditFields = form.getFieldsValue(
[
"scheduled_in",
"actual_in",
"scheduled_completion",
"actual_completion",
"scheduled_delivery",
"actual_delivery",
"date_invoiced",
"ins_co_nm",
"ded_amt",
"ded_status",
"date_exported",
"special_coverage_policy",
"ca_gst_registrant",
"ca_bc_pvrt",
"scheduled_in",
"rate_la1",
"rate_la2",
"rate_la3",
"rate_la4",
"rate_laa",
"rate_lab",
"rate_lad",
"rate_lae",
"rate_laf",
"rate_lag",
"rate_lam",
"rate_lar",
"rate_las",
"rate_lau",
"rate_ma2s",
"rate_ma2t",
"rate_ma3s",
"rate_mabl",
"rate_macs",
"rate_mapa",
"rate_mahw",
"rate_mash",
"rate_matd",
],
(meta) => meta && meta.touched
);
Object.keys(changedAuditFields).forEach((key) => {
insertAuditTrail({
jobid: job.id,
operation: AuditTrailMapping.jobfieldchange(
key,
changedAuditFields[key] instanceof moment
? moment(changedAuditFields[key]).format("MM/DD/YYYY hh:mm a")
: changedAuditFields[key]
),
});
});
await refetch();
form.setFieldsValue(transormJobToForm(job));
form.resetFields();
} }
setLoading(false);
}; };
const menuExtra = ( const menuExtra = (