Adedd age calculation based on close date. RPS-75
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -48,6 +48,7 @@ export default function JobsDetailDescriptionMolecule({ loading, job }) {
|
||||
}
|
||||
>
|
||||
<CloseDateDisplayMolecule
|
||||
job={job}
|
||||
jobId={job.id}
|
||||
close_date={job.close_date}
|
||||
/>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user