Adedd age calculation based on close date. RPS-75

This commit is contained in:
Patrick Fic
2021-01-12 12:01:21 -08:00
parent 96cc949295
commit ea2a3975f6
4 changed files with 28 additions and 8 deletions

View File

@@ -5,9 +5,11 @@ import moment from "moment";
import React, { useState } from "react";
import { UPDATE_JOB } from "../../../graphql/jobs.queries";
import ipcTypes from "../../../ipc.types";
import { CalculateVehicleAge } from "../../../ipc/ipc-estimate-utils";
import { DateFormat } from "../../../util/constants";
const { ipcRenderer } = window;
export default function CloseDateDisplayMolecule({ jobId, close_date }) {
export default function CloseDateDisplayMolecule({ job, jobId, close_date }) {
const [editMode, setEditMode] = useState(false);
const [value, setValue] = useState(moment(close_date));
const [loading, setLoading] = useState(false);
@@ -19,8 +21,17 @@ export default function CloseDateDisplayMolecule({ jobId, close_date }) {
});
setLoading(true);
setValue(newDate);
//Recalculate vehicle age.
const result = await updateJob({
variables: { jobId: jobId, job: { close_date: newDate } },
variables: {
jobId: jobId,
job: {
close_date: newDate,
v_age: CalculateVehicleAge({ ...job, close_date: newDate }),
},
},
});
if (!result.errors) {

View File

@@ -48,6 +48,7 @@ export default function JobsDetailDescriptionMolecule({ loading, job }) {
}
>
<CloseDateDisplayMolecule
job={job}
jobId={job.id}
close_date={job.close_date}
/>

View File

@@ -151,6 +151,7 @@ export const UPDATE_JOB = gql`
ro_number
updated_at
close_date
v_age
joblines(order_by: { unq_seq: asc }) {
id
act_price

View File

@@ -12,21 +12,28 @@ import { QUERY_GROUPS_BY_MAKE_TYPE } from "../graphql/veh_group.queries";
import { store } from "../redux/store";
const { logger } = window;
export function CalculateVehicleAge(job) {
const parsedYr = parseInt(job.v_model_yr);
let ret =
moment(job.close_date || new Date()).year() -
(parsedYr >= 0 ? 2000 + parsedYr : 1900 + parsedYr);
if (ret < 0) ret = 0;
return ret;
}
export async function UpsertEstimate(job) {
const shopId = store.getState().user.bodyshop.id;
logger.info("Beginning Upserting job from Renderer.");
const parsedYr = parseInt(job.v_model_yr);
job = {
...job,
group: await DetermineVehicleGroup(job),
v_age:
moment(job.loss_date).year() -
(parsedYr >= 0 ? 2000 + parsedYr : 1900 + parsedYr),
v_age: CalculateVehicleAge(job),
};
if (job.v_age < 0) job.v_age = 0;
const existingJobs = await client.query({
query: QUERY_JOB_BY_CLM_NO,
variables: { clm_no: job.clm_no },