diff --git a/electron/decoder/decoder.js b/electron/decoder/decoder.js index 6ff4f9f..8972b78 100644 --- a/electron/decoder/decoder.js +++ b/electron/decoder/decoder.js @@ -448,7 +448,7 @@ function V1Ruleset(jobline, joblines) { jobline.line_desc.toLowerCase().startsWith("urethane") || jobline.line_desc.toLowerCase().startsWith("w/shield adhesive") || //jobline.line_desc.toLowerCase().includes("wheel") || Removed as a part of RPS-41 - (jobline.line_desc.toLowerCase().includes("tire") && !jobline.line_desc.toLowerCase().includes("sensor")) || + (jobline.line_desc.toLowerCase().includes("tire") && !jobline.line_desc.toLowerCase().includes("sensor")&& !jobline.line_desc.toLowerCase().includes("label")) || jobline.line_desc.toLowerCase().startsWith("hazardous") || jobline.line_desc.toLowerCase().startsWith("detail") || jobline.line_desc.toLowerCase().startsWith("clean") || diff --git a/package.json b/package.json index e805e87..47313c7 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "ImEX RPS", "author": "ImEX Systems Inc. ", "description": "ImEX RPS", - "version": "1.3.2", + "version": "1.3.2-alpha.1", "main": "electron/main.js", "homepage": "./", "dependencies": { diff --git a/src/components/molecules/job-group/job-group.molecule.jsx b/src/components/molecules/job-group/job-group.molecule.jsx index dc77833..2d3a94d 100644 --- a/src/components/molecules/job-group/job-group.molecule.jsx +++ b/src/components/molecules/job-group/job-group.molecule.jsx @@ -50,20 +50,21 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { RulesetToApply === "V3" ? ( ) : ( @@ -72,7 +73,10 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) { return ( - + e.preventDefault()}> {group} diff --git a/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx b/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx index c747d2b..bae1e05 100644 --- a/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx +++ b/src/components/molecules/jobs-group-modal/jobs-group-modal.molecule.jsx @@ -2,7 +2,7 @@ import { Modal, List, Card, Input, Row, Col, Table } from "antd"; import _ from "lodash"; import React, { useState } from "react"; import { InfoCircleFilled } from "@ant-design/icons"; -import { FakedTargetsForV3WithMake } from "../../../ipc/ipc-estimate-utils"; +import { FakedGroupsForV3WithMake } from "../../../ipc/ipc-estimate-utils"; import { WhichRulesetToApply } from "../../../util/constants"; import { alphaSort } from "../../../util/sorters"; @@ -359,7 +359,7 @@ export function JobsGroupPreV3ModalMolecule() { } const v3DataSource = _.sortBy( - FakedTargetsForV3WithMake.filter((f) => (f.name = "V3")), + FakedGroupsForV3WithMake.filter((f) => (f.name = "V3")), "make" ); diff --git a/src/ipc/ipc-estimate-utils.js b/src/ipc/ipc-estimate-utils.js index efec993..6c0de48 100644 --- a/src/ipc/ipc-estimate-utils.js +++ b/src/ipc/ipc-estimate-utils.js @@ -202,13 +202,13 @@ const generateRemoveQuery = (lineToRemove, index) => { }`; }; -export const V3TargetAndGroupFinder = (job) => { +export const V3GroupFinder = (job) => { //Query the Job Targets Database to get one that will match on the Make and Type. //Using faked data for now. //TODO - Once verified, replace with real data. let type = job.v_type === "PC" || job.v_type === "SUV" ? "PC" : job.v_type; - const result = FakedTargetsForV3WithMake.filter((f) => { + const result = FakedGroupsForV3WithMake.filter((f) => { return ( f.make === job.v_makedesc.toUpperCase() && (f.type === type || f.type === null) && @@ -232,6 +232,39 @@ export const V3TargetAndGroupFinder = (job) => { } }; +export const V3TargetFinder = (job) => { + switch (job.group) { + case "Default": + case "Group 1": + return 0.023; + case "Group 2": + return 0.045; + case "Group 3": + return 0.078; + case "Group 4": + return 0.093; + case "Group 5": + return 0.125; + case "Group 6": + return 0.156; + case "Group 7": + return 0.18; + case "Group 8": + return 0.213; + case "Group 9": + return 0.25; + case "Group 10": + return 0.281; + case "Group 11": + return 0.293; + case "Group 12": + return 0.32; + + default: + return 0.023; + } +}; + const DetermineVehicleGroup = async (job) => { logger.info( "Searching for vehicle groups.!", @@ -243,7 +276,7 @@ const DetermineVehicleGroup = async (job) => { const RulesetToApply = WhichRulesetToApply(job.close_date); if (RulesetToApply === "V3") { - const target = V3TargetAndGroupFinder(job); + const target = V3GroupFinder(job); return target?.group || "Default"; } else { @@ -297,7 +330,7 @@ const DetermineVehicleType = (job) => { else return job.v_type; }; -export const FakedTargetsForV3WithMake = [ +export const FakedGroupsForV3WithMake = [ { effective_date: Date("2024-09-01"), end_date: Date("2050-01-01"), diff --git a/src/ipc/suvs.json b/src/ipc/suvs.json index 4fa4f11..06f6c0e 100644 --- a/src/ipc/suvs.json +++ b/src/ipc/suvs.json @@ -194,6 +194,7 @@ "ARMADA", "TELLURIDE", "PALLISADE", + "SELTOS", "TORRENT", "C-HR", "SPORTAGE", @@ -225,5 +226,6 @@ "FJ CRUISER", "BRONCO SPORT", "BRONCO SPORT BADLANDS", - "ESCALADE" + "ESCALADE", + "RX 350" ] diff --git a/src/util/GetJobTarget.js b/src/util/GetJobTarget.js index 5298f7b..95e76c3 100644 --- a/src/util/GetJobTarget.js +++ b/src/util/GetJobTarget.js @@ -1,4 +1,4 @@ -import { V3TargetAndGroupFinder } from "../ipc/ipc-estimate-utils"; +import { V3TargetFinder } from "../ipc/ipc-estimate-utils"; import { store } from "../redux/store"; import { WhichRulesetToApply } from "./constants"; @@ -30,8 +30,8 @@ export default function GetJobTarget({ group, v_age, targets, close_date, v_mile if (v_mileage && v_mileage <= 20000) { return 0; } - const v3Target = V3TargetAndGroupFinder(job); - return v3Target?.target || 0.023; + const v3Target = V3TargetFinder(job); + return v3Target; } else { const newTargetsForGroup = newTargets.filter((t) => t.name === rulesToApply && t.group === group);