@@ -1,6 +1,9 @@
|
||||
New Features:
|
||||
- Renamed 'Close Date' to 'Ready for Payment' to better align with MPI terminology.
|
||||
- Changed vehicle age calculation to use 'Ready for Payment' instead of loss date as per new MPI practices.
|
||||
- Implemented the new vehicle groupings by MPI.
|
||||
- Implemented new model based group detection to provide more accurate groupings than relying solely on the estimating system. *
|
||||
- Added group verification to disable alerts and track whether a grouping has already been reviewed and confirmed.
|
||||
|
||||
Bug Fixes:
|
||||
- Updated grouping typo on group lookup popup.
|
||||
- Updated ignore logic for recycled glass.
|
||||
|
||||
* Please send feedback on the model groupings if you notice any issues to support@thinkimex.com.
|
||||
@@ -38,5 +38,10 @@
|
||||
"title": "Release Notes for 1.0.16",
|
||||
"date": "01/12/2021",
|
||||
"notes": "Bug Fixes: \n- Resolved an issue where vehicle age was calculated using an old date."
|
||||
},
|
||||
"1.0.17": {
|
||||
"title": "Release Notes for 1.0.17",
|
||||
"date": "02/17/2021",
|
||||
"notes": "New Features: \n- Implemented the new vehicle groupings by MPI.\n- Implemented new model based group detection to provide more accurate groupings than relying solely on the estimating system. *\n- Added group verification to disable alerts and track whether a grouping has already been reviewed and confirmed.\n\nBug Fixes: \n- Updated ignore logic for recycled glass.\n\n* Please send feedback on the model groupings if you notice any issues to support@thinkimex.com. "
|
||||
}
|
||||
}
|
||||
|
||||
@@ -375,15 +375,15 @@ async function DecodeLinFile(extensionlessFilePath) {
|
||||
//*****TODO LINE****
|
||||
//Any PAL, Remanufactured, Recycled, Aftermarket, Used,
|
||||
// If DB Price 0, ignore them.
|
||||
|
||||
//RPS-46 Ignore NA Line Items.
|
||||
if (
|
||||
jobline.part_type === "PAN" &&
|
||||
jobline.price_j === true &&
|
||||
jobline.db_price === 0
|
||||
) {
|
||||
jobline.ignore = true;
|
||||
}
|
||||
// if (
|
||||
// (jobline.part_type === "PAL" ||
|
||||
// jobline.part_type === "PAM" ||
|
||||
// jobline.part_type === "PAR" ||
|
||||
// jobline.part_type === "PAA") &&
|
||||
// jobline.db_price === 0
|
||||
// ) {
|
||||
// jobline.ignore = true;
|
||||
// }
|
||||
|
||||
//RPS-39 - OEM ON OEM SAVINGS
|
||||
if (
|
||||
@@ -403,6 +403,20 @@ async function DecodeLinFile(extensionlessFilePath) {
|
||||
// jobline.db_price = jobline.act_price;
|
||||
// }
|
||||
|
||||
//RPS-46 Ignore NA Line Items.
|
||||
if (
|
||||
jobline.part_type === "PAN" &&
|
||||
jobline.price_j === true &&
|
||||
jobline.db_price === 0
|
||||
) {
|
||||
jobline.ignore = true;
|
||||
}
|
||||
|
||||
//Update as per Norm from Rod & Waldo - Only Recycled Glass should count towards RPS, not A/M or OEM
|
||||
if (jobline.glass_flag && jobline.part_type !== "PAL") {
|
||||
jobline.ignore = true;
|
||||
}
|
||||
|
||||
//Logic Based Exclusions.
|
||||
if (
|
||||
!jobline.part_type ||
|
||||
@@ -428,8 +442,6 @@ async function DecodeLinFile(extensionlessFilePath) {
|
||||
jobline.ignore = false;
|
||||
}
|
||||
|
||||
console.log("jobline", jobline);
|
||||
|
||||
delete jobline.glass_flag;
|
||||
delete jobline.price_j;
|
||||
return jobline;
|
||||
|
||||
@@ -111,6 +111,6 @@ exports.StopWatcher = StopWatcher;
|
||||
exports.watcher = watcher;
|
||||
|
||||
async function HandleNewFile(path) {
|
||||
Nucleus.track("IMPORT_JOB_FROM_WATCHER");
|
||||
// Nucleus.track("IMPORT_JOB_FROM_WATCHER");
|
||||
await ImportJob(path);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: DROP TABLE "public"."groupings";
|
||||
type: run_sql
|
||||
@@ -0,0 +1,23 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||
type: run_sql
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: "CREATE TABLE \"public\".\"groupings\"(\"id\" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
\"created_at\" timestamptz NOT NULL DEFAULT now(), \"updated_at\" timestamptz
|
||||
NOT NULL DEFAULT now(), \"effective_date\" date NOT NULL, \"end_date\" date,
|
||||
\"make\" text NOT NULL, \"group\" text NOT NULL, \"type\" jsonb NOT NULL DEFAULT
|
||||
jsonb_build_array(), PRIMARY KEY (\"id\") );\nCREATE OR REPLACE FUNCTION \"public\".\"set_current_timestamp_updated_at\"()\nRETURNS
|
||||
TRIGGER AS $$\nDECLARE\n _new record;\nBEGIN\n _new := NEW;\n _new.\"updated_at\"
|
||||
= NOW();\n RETURN _new;\nEND;\n$$ LANGUAGE plpgsql;\nCREATE TRIGGER \"set_public_groupings_updated_at\"\nBEFORE
|
||||
UPDATE ON \"public\".\"groupings\"\nFOR EACH ROW\nEXECUTE PROCEDURE \"public\".\"set_current_timestamp_updated_at\"();\nCOMMENT
|
||||
ON TRIGGER \"set_public_groupings_updated_at\" ON \"public\".\"groupings\" \nIS
|
||||
'trigger to set value of column \"updated_at\" to current timestamp on row update';"
|
||||
type: run_sql
|
||||
- args:
|
||||
name: groupings
|
||||
schema: public
|
||||
type: add_existing_table_or_view
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: groupings
|
||||
schema: public
|
||||
type: drop_select_permission
|
||||
@@ -0,0 +1,21 @@
|
||||
- args:
|
||||
permission:
|
||||
allow_aggregations: false
|
||||
backend_only: false
|
||||
columns:
|
||||
- id
|
||||
- created_at
|
||||
- updated_at
|
||||
- effective_date
|
||||
- end_date
|
||||
- make
|
||||
- group
|
||||
- type
|
||||
computed_fields: []
|
||||
filter: {}
|
||||
limit: null
|
||||
role: user
|
||||
table:
|
||||
name: groupings
|
||||
schema: public
|
||||
type: create_select_permission
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE ONLY "public"."groupings" ALTER COLUMN "effective_date" DROP
|
||||
DEFAULT;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE ONLY "public"."groupings" ALTER COLUMN "effective_date" SET DEFAULT
|
||||
now();
|
||||
type: run_sql
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" DROP COLUMN "group_verified";
|
||||
type: run_sql
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" ADD COLUMN "group_verified" boolean NOT NULL
|
||||
DEFAULT false;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,42 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_insert_permission
|
||||
- args:
|
||||
permission:
|
||||
backend_only: false
|
||||
check:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_insert_permission
|
||||
@@ -0,0 +1,43 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_insert_permission
|
||||
- args:
|
||||
permission:
|
||||
backend_only: false
|
||||
check:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_insert_permission
|
||||
@@ -0,0 +1,42 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_select_permission
|
||||
- args:
|
||||
permission:
|
||||
allow_aggregations: true
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
computed_fields: []
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_select_permission
|
||||
@@ -0,0 +1,43 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_select_permission
|
||||
- args:
|
||||
permission:
|
||||
allow_aggregations: true
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
computed_fields: []
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_select_permission
|
||||
@@ -0,0 +1,41 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_update_permission
|
||||
- args:
|
||||
permission:
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_update_permission
|
||||
@@ -0,0 +1,42 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_update_permission
|
||||
- args:
|
||||
permission:
|
||||
columns:
|
||||
- bodyshopid
|
||||
- clm_no
|
||||
- clm_total
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ro_number
|
||||
- updated_at
|
||||
- v_age
|
||||
- v_makedesc
|
||||
- v_mileage
|
||||
- v_model
|
||||
- v_model_yr
|
||||
- v_type
|
||||
- v_vin
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_update_permission
|
||||
@@ -71,6 +71,22 @@ tables:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
check: null
|
||||
- table:
|
||||
schema: public
|
||||
name: groupings
|
||||
select_permissions:
|
||||
- role: user
|
||||
permission:
|
||||
columns:
|
||||
- id
|
||||
- created_at
|
||||
- updated_at
|
||||
- effective_date
|
||||
- end_date
|
||||
- make
|
||||
- group
|
||||
- type
|
||||
filter: {}
|
||||
- table:
|
||||
schema: public
|
||||
name: joblines
|
||||
@@ -205,6 +221,7 @@ tables:
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
@@ -230,6 +247,7 @@ tables:
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
@@ -261,6 +279,7 @@ tables:
|
||||
- close_date
|
||||
- created_at
|
||||
- group
|
||||
- group_verified
|
||||
- id
|
||||
- ins_co_nm
|
||||
- loss_date
|
||||
|
||||
851
package-lock.json
generated
851
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
22
package.json
22
package.json
@@ -3,30 +3,30 @@
|
||||
"productName": "ImEX RPS",
|
||||
"author": "ImEX Systems Inc. <support@thinkimex.com>",
|
||||
"description": "ImEX RPS",
|
||||
"version": "1.0.16",
|
||||
"version": "1.0.17",
|
||||
"main": "electron/main.js",
|
||||
"homepage": "./",
|
||||
"dependencies": {
|
||||
"@apollo/client": "^3.2.9",
|
||||
"antd": "^4.8.6",
|
||||
"@apollo/client": "^3.3.11",
|
||||
"antd": "^4.12.3",
|
||||
"apollo-link-logger": "^2.0.0",
|
||||
"chokidar": "^3.4.2",
|
||||
"chokidar": "^3.5.1",
|
||||
"dbffile": "^1.4.3",
|
||||
"dinero.js": "^1.8.1",
|
||||
"dotenv": "^8.2.0",
|
||||
"electron-is-dev": "^1.2.0",
|
||||
"electron-log": "^4.2.4",
|
||||
"electron-log": "^4.3.1",
|
||||
"electron-reload": "^1.5.0",
|
||||
"electron-store": "^6.0.1",
|
||||
"electron-updater": "^4.3.5",
|
||||
"firebase": "^7.24.0",
|
||||
"graphql": "^15.4.0",
|
||||
"graphql": "^15.5.0",
|
||||
"lodash": "^4.17.20",
|
||||
"logrocket": "^1.0.14",
|
||||
"moment": "^2.29.1",
|
||||
"node-sass": "^4.14.1",
|
||||
"nucleus-nodejs": "^3.0.7",
|
||||
"query-string": "^6.13.6",
|
||||
"nucleus-nodejs": "^3.0.8",
|
||||
"query-string": "^6.14.0",
|
||||
"react": "^17.0.1",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-infinite-scroller": "^1.2.4",
|
||||
@@ -71,12 +71,12 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"concurrently": "^5.3.0",
|
||||
"electron": "^10.1.6",
|
||||
"electron": "^10.3.2",
|
||||
"electron-builder": "^22.9.1",
|
||||
"electron-devtools-installer": "^3.1.1",
|
||||
"enzyme": "^3.11.0",
|
||||
"enzyme-adapter-react-16": "^1.15.5",
|
||||
"wait-on": "^5.2.0"
|
||||
"enzyme-adapter-react-16": "^1.15.6",
|
||||
"wait-on": "^5.2.1"
|
||||
},
|
||||
"build": {
|
||||
"extends": null,
|
||||
|
||||
@@ -30,7 +30,8 @@ const models = [
|
||||
];
|
||||
|
||||
export default function VehicleGroupAlertAtom({ job, showGroup = false }) {
|
||||
const shouldWarn = models.includes(job.v_model.toLowerCase());
|
||||
const shouldWarn =
|
||||
models.includes(job.v_model.toLowerCase()) && !job.group_verified;
|
||||
|
||||
const vehicleText = `${job.v_model_yr} ${job.v_makedesc} ${job.v_model} (${
|
||||
job.v_type
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import { CheckOutlined, CloseOutlined } from "@ant-design/icons";
|
||||
import { useMutation } from "@apollo/client";
|
||||
import { message, Switch } from "antd";
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { UPDATE_JOB } from "../../../graphql/jobs.queries";
|
||||
import { toggleGroupVerified } from "../../../redux/reporting/reporting.actions";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({});
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
toggleGroupVerified: (jobId) => dispatch(toggleGroupVerified(jobId)),
|
||||
});
|
||||
|
||||
export default connect(mapStateToProps, mapDispatchToProps)(GroupVerifySwitch);
|
||||
|
||||
export function GroupVerifySwitch({
|
||||
job,
|
||||
loading,
|
||||
loadingCallback,
|
||||
toggleGroupVerified,
|
||||
}) {
|
||||
const [updateJob] = useMutation(UPDATE_JOB);
|
||||
|
||||
const handleVerifyGroup = async (val) => {
|
||||
if (loadingCallback) loadingCallback(true);
|
||||
const result = await updateJob({
|
||||
variables: { jobId: job.id, job: { group_verified: val } },
|
||||
});
|
||||
|
||||
if (!result.errors) {
|
||||
message.success("Vehicle group updated.");
|
||||
toggleGroupVerified(job.id);
|
||||
} else {
|
||||
message.error("Error updating job.");
|
||||
}
|
||||
if (loadingCallback) loadingCallback(false);
|
||||
};
|
||||
|
||||
return (
|
||||
<Switch
|
||||
checkedChildren={<CheckOutlined />}
|
||||
unCheckedChildren={<CloseOutlined />}
|
||||
disabled={loading}
|
||||
checked={job.group_verified}
|
||||
onChange={handleVerifyGroup}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
import { DownOutlined, LoadingOutlined } from "@ant-design/icons";
|
||||
import { AlertFilled, DownOutlined, LoadingOutlined } from "@ant-design/icons";
|
||||
import { useMutation } from "@apollo/client";
|
||||
import { Dropdown, Menu, message } from "antd";
|
||||
import { Dropdown, Menu, message, Space } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { UPDATE_JOB } from "../../../graphql/jobs.queries";
|
||||
import ipcTypes from "../../../ipc.types";
|
||||
import { selectBodyshop } from "../../../redux/user/user.selectors";
|
||||
import { AlertFilled } from "@ant-design/icons";
|
||||
import GroupVerifySwitch from "../group-verify-switch/group-verify-switch.component";
|
||||
import JobsGroupModalMolecule from "../jobs-group-modal/jobs-group-modal.molecule";
|
||||
const { ipcRenderer } = window;
|
||||
|
||||
@@ -53,21 +53,30 @@ export function JobGroupMolecule({ bodyshop, jobId, group, job }) {
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<Space align="top">
|
||||
<Dropdown overlay={menu} trigger={["click"]}>
|
||||
<a href=" #" onClick={(e) => e.preventDefault()}>
|
||||
{group}
|
||||
<DownOutlined style={{ marginLeft: ".2rem" }} />
|
||||
{loading && <LoadingOutlined />}
|
||||
</a>
|
||||
</Dropdown>
|
||||
<JobsGroupModalMolecule />
|
||||
{!group && (
|
||||
<div style={{ marginLeft: ".2rem" }}>
|
||||
<AlertFilled style={{ color: "tomato" }} className="blink_me" />
|
||||
<span style={{ color: "tomato" }}>No group set.</span>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
{group && (
|
||||
<div style={{ marginLeft: ".2rem" }}>
|
||||
<GroupVerifySwitch
|
||||
job={job}
|
||||
loading={loading}
|
||||
loadingCallback={setLoading}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
<JobsGroupModalMolecule />
|
||||
{loading && <LoadingOutlined />}
|
||||
</Space>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ export default function JobsDetailDescriptionMolecule({ loading, job }) {
|
||||
<Descriptions.Item
|
||||
label={
|
||||
<Tooltip title="This is the date you will submit for payment from MPI. This should always be the latest date in the case of supplements.">
|
||||
Ready for Payment Date
|
||||
R4P Date
|
||||
</Tooltip>
|
||||
}
|
||||
>
|
||||
|
||||
@@ -5,115 +5,277 @@ import { InfoCircleFilled } from "@ant-design/icons";
|
||||
const data = [
|
||||
{
|
||||
group: "Group 1",
|
||||
makes: [
|
||||
"GEO",
|
||||
"ALFA ROMEO",
|
||||
"TESLA",
|
||||
"PORSCHE",
|
||||
"MERCEDES BENZ-Truck",
|
||||
"LAND ROVER",
|
||||
"MERCEDES BENZ-Van",
|
||||
"LINCOLN-Truck",
|
||||
"BUICK-Truck",
|
||||
"AM GENERAL",
|
||||
"VOLKSWAGEN-Truck",
|
||||
"JAGUAR",
|
||||
"SMART",
|
||||
"HUMMER-Truck",
|
||||
"MERCEDES BENZ",
|
||||
"RAM-Van",
|
||||
"GENESIS",
|
||||
"AUDI",
|
||||
"BMW-Truck",
|
||||
list: [
|
||||
{
|
||||
make: "ALFA ROMEO",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "AUDI",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "GENESIS*",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "JAGUAR",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "LAND ROVER",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "LINCOLN",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "MERCEDES BENZ",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "MERCEDES BENZ",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "PORSCHE",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "RAM",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "SMART",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "TESLA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: "Group 2",
|
||||
makes: [
|
||||
"NISSAN-Van",
|
||||
"VOLVO",
|
||||
"MINI",
|
||||
"LEXUS",
|
||||
"LAND ROVER-Truck",
|
||||
"SAAB",
|
||||
"SUBARU",
|
||||
"BMW",
|
||||
list: [
|
||||
{
|
||||
make: "BMW",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "LEXUS",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "MINI",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "NISSAN",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "SAAB",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "SUBARU",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "VOLVO",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: "Group 3",
|
||||
makes: [
|
||||
"MAZDA-Truck",
|
||||
"SCION",
|
||||
"NISSAN-Truck",
|
||||
"DODGE-Van",
|
||||
"INFINITI",
|
||||
"JEEP-Truck",
|
||||
"MONACO-Van",
|
||||
"JEEP",
|
||||
"LINCOLN",
|
||||
"KIA",
|
||||
"VOLKSWAGEN",
|
||||
"FIAT",
|
||||
"TOYOTA-Truck",
|
||||
"HYUNDAI",
|
||||
"MAZDA",
|
||||
"SUBARU-Truck",
|
||||
"HUMMER",
|
||||
"EAGLE",
|
||||
"FORD-Truck",
|
||||
"ISUZU",
|
||||
list: [
|
||||
{
|
||||
make: "DODGE",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "FIAT",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "FORD",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "FORD",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "HUMMER",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "HYUNDAI*",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "INFINITI",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "JEEP",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "JEEP",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "KIA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "LINCOLN",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "MAZDA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "MAZDA",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "NISSAN",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "SCION",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "TOYOTA",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "VOLKSWAGEN",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: "Group 4",
|
||||
makes: [
|
||||
"ACURA",
|
||||
"HONDA",
|
||||
"HONDA-Truck",
|
||||
"FORD",
|
||||
"DODGE-Truck",
|
||||
"CADILLAC",
|
||||
"TOYOTA",
|
||||
"BUICK",
|
||||
"CHEVROLET-Truck",
|
||||
"PLYMOUTH",
|
||||
"GMC-Truck",
|
||||
"RAM",
|
||||
"AUDI-Truck",
|
||||
"MITSUBISHI",
|
||||
"NISSAN",
|
||||
list: [
|
||||
{
|
||||
make: "ACURA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "BUICK",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "CADILLAC",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "CHEVROLET",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "DODGE",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "FORD",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "GMC",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "HONDA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "HONDA",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "MITSUBISHI",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "NISSAN",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "PLYMOUTH",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "RAM",
|
||||
type: "Truck",
|
||||
},
|
||||
{
|
||||
make: "TOYOTA",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: "Group 5",
|
||||
makes: [
|
||||
"PONTIAC-Truck",
|
||||
"CHRYSLER-Truck",
|
||||
"GMC",
|
||||
"CHRYSLER",
|
||||
"SUZUKI",
|
||||
"DODGE",
|
||||
"ELDORADO",
|
||||
"CHEVROLET",
|
||||
list: [
|
||||
{
|
||||
make: "CHEVROLET",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "CHRYSLER",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "DODGE",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "GMC",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "SUZUKI",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
group: "Group 6",
|
||||
makes: [
|
||||
"CHEVROLET-Van",
|
||||
"PONTIAC",
|
||||
"HYUNDAI-Truck",
|
||||
"CHRYSLER-Van",
|
||||
"GMC-Van",
|
||||
"SUZUKI-Truck",
|
||||
"CADILLAC-Truck",
|
||||
"MERCURY",
|
||||
"RAM-Truck",
|
||||
"OLDSMOBILE",
|
||||
"KIA-Truck",
|
||||
"SATURN",
|
||||
"MITSUBISHI-Truck",
|
||||
list: [
|
||||
{
|
||||
make: "CHEVROLET",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "GMC",
|
||||
type: "Cargo Van",
|
||||
},
|
||||
{
|
||||
make: "MERCURY",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "OLDSMOBILE",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
{
|
||||
make: "PONTIAC",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
|
||||
{
|
||||
make: "SATURN",
|
||||
type: "Car, SUV, or Passenger Van",
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
@@ -143,22 +305,40 @@ export default function JobsGroupModalMolecule() {
|
||||
renderItem={(item) => (
|
||||
<List.Item>
|
||||
<Card title={item.group}>
|
||||
<ul>
|
||||
{item.makes.map((make, idx) => (
|
||||
<li
|
||||
<table
|
||||
style={{
|
||||
//backgroundColor: "tomato",
|
||||
width: "100%",
|
||||
borderCollapse: "collapse",
|
||||
}}
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="33%"></th>
|
||||
<th width="67%"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{item.list.map((item, idx) => (
|
||||
<tr
|
||||
style={{
|
||||
padding: "12px 15px",
|
||||
borderBottom: "1px solid #dddddd",
|
||||
|
||||
backgroundColor:
|
||||
search &&
|
||||
make.toLowerCase().includes(search.toLowerCase())
|
||||
item.make
|
||||
.toLowerCase()
|
||||
.includes(search.toLowerCase())
|
||||
? "yellow"
|
||||
: "",
|
||||
}}
|
||||
key={idx}
|
||||
>
|
||||
{make}
|
||||
</li>
|
||||
<td>{item.make}</td>
|
||||
<td>{item.type}</td>
|
||||
</tr>
|
||||
))}
|
||||
</ul>
|
||||
</table>
|
||||
</Card>
|
||||
</List.Item>
|
||||
)}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Input, Table } from "antd";
|
||||
import { Input, Table, Checkbox } from "antd";
|
||||
import moment from "moment";
|
||||
import React, { useState } from "react";
|
||||
import { connect } from "react-redux";
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
} from "../../../redux/reporting/reporting.selectors";
|
||||
import { alphaSort } from "../../../util/sorters";
|
||||
import VehicleGroupAlertAtom from "../../atoms/vehicle-group-alert/vehicle-group-alert.atom";
|
||||
import GroupVerifySwitch from "../group-verify-switch/group-verify-switch.component";
|
||||
|
||||
const { ipcRenderer } = window;
|
||||
|
||||
@@ -46,7 +47,7 @@ export function ReportingJobsListMolecule({
|
||||
sorter: (a, b) => alphaSort(a.clm_no, b.clm_no),
|
||||
},
|
||||
{
|
||||
title: "Ready for Payment Date",
|
||||
title: "R4P",
|
||||
dataIndex: "close_date",
|
||||
key: "close_date",
|
||||
render: (text, record) => moment(record.close_date).format("MM/DD/yyyy"),
|
||||
@@ -88,12 +89,19 @@ export function ReportingJobsListMolecule({
|
||||
render: (text, record) => record.dbPriceSum.toFormat(),
|
||||
},
|
||||
{
|
||||
title: "Actual Price Sum ",
|
||||
title: "Actual Price Sum",
|
||||
dataIndex: "actPriceSum",
|
||||
key: "actPriceSum",
|
||||
sorter: (a, b) => a.actPriceSum.getAmount() - b.actPriceSum.getAmount(),
|
||||
render: (text, record) => record.actPriceSum.toFormat(),
|
||||
},
|
||||
{
|
||||
title: "Group Verified?",
|
||||
dataIndex: "group_verified",
|
||||
key: "group_verified",
|
||||
sorter: (a, b) => a.group_verified - b.group_verified,
|
||||
render: (text, record) => <GroupVerifySwitch job={record} />,
|
||||
},
|
||||
{
|
||||
title: "$ (Act./Target)",
|
||||
dataIndex: "jobRpsDollars",
|
||||
|
||||
@@ -20,7 +20,6 @@ const mapStateToProps = createStructuredSelector({
|
||||
error: selectReportingError,
|
||||
});
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
//setUserLanguage: language => dispatch(setUserLanguage(language))
|
||||
setSelectedJobId: (id) => dispatch(setSelectedJobId(id)),
|
||||
});
|
||||
|
||||
|
||||
@@ -91,6 +91,7 @@ export const QUERY_JOB_BY_PK = gql`
|
||||
ro_number
|
||||
updated_at
|
||||
group
|
||||
group_verified
|
||||
v_age
|
||||
v_type
|
||||
loss_date
|
||||
@@ -153,6 +154,8 @@ export const UPDATE_JOB = gql`
|
||||
updated_at
|
||||
close_date
|
||||
v_age
|
||||
group
|
||||
group_verified
|
||||
joblines(order_by: { unq_seq: asc }) {
|
||||
id
|
||||
act_price
|
||||
|
||||
@@ -15,6 +15,7 @@ export const REPORTING_GET_JOBS = gql`
|
||||
ownr_fn
|
||||
ins_co_nm
|
||||
group
|
||||
group_verified
|
||||
clm_total
|
||||
clm_no
|
||||
close_date
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
import gql from "graphql-tag";
|
||||
|
||||
export const QUERY_GROUPS_BY_MAKE_TYPE = gql`
|
||||
query QUERY_GROUPS_BY_MAKE_TYPE(
|
||||
$make: String!
|
||||
$type: String
|
||||
$isNull: Boolean
|
||||
) {
|
||||
veh_groups(
|
||||
query QUERY_GROUPS_BY_MAKE_TYPE($make: String!, $type: jsonb, $date: date) {
|
||||
groupings(
|
||||
where: {
|
||||
_and: { make: { _eq: $make } }
|
||||
type: { _eq: $type, _is_null: $isNull }
|
||||
_and: [
|
||||
{ make: { _eq: $make } }
|
||||
{ type: { _contains: $type } }
|
||||
{ effective_date: { _lte: $date } }
|
||||
{
|
||||
_or: [
|
||||
{ end_date: { _is_null: true } }
|
||||
{ end_date: { _gt: $date } }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
) {
|
||||
id
|
||||
|
||||
108
src/ipc/cargovans.json
Normal file
108
src/ipc/cargovans.json
Normal file
@@ -0,0 +1,108 @@
|
||||
[
|
||||
"PROMASTER 1500",
|
||||
"PROMASTER 2500",
|
||||
"PROMASTER 2500",
|
||||
"PROMASTER CITY",
|
||||
|
||||
"NV 1500",
|
||||
"NV 200",
|
||||
"NV 2500",
|
||||
"NV 3500",
|
||||
|
||||
"SPRINTER",
|
||||
|
||||
"E150 ECONOLINE CARGO VAN",
|
||||
"E150 ECONOLINE XL",
|
||||
"E250 ECONOLINE CARGO",
|
||||
"E250 ECONOLINE CARGO (AMALGAM)",
|
||||
"E250 ECONOLINE CARGO (INSPECT)",
|
||||
"E250 ECONOLINE CARGO VAN EXT",
|
||||
"E250 ECONOLINE SUPER CARGO VAN",
|
||||
"E350 CUTAWAY VAN",
|
||||
"E350 ECONO SD CARGO VAN EXT",
|
||||
"E350 ECONOLINE CARGO VAN",
|
||||
"E350 ECONOLINE CUTAWAY",
|
||||
"E350 ECONOLINE SD CARGO VAN",
|
||||
"E350 ECONOLINE SD XL",
|
||||
"E350 ECONOLINE SD XL EXT",
|
||||
"E350 ECONOLINE SD XLT",
|
||||
"E350 ECONOLINE SD XLT EXT",
|
||||
"E350 SD CUTAWAY",
|
||||
"E450",
|
||||
"E450 ECONOLINE",
|
||||
"E450 ECONOLINE SD",
|
||||
"E450 ECONOLINE SD CUTAWAY",
|
||||
"TRANSIT 150 WB 130 CARGO VAN",
|
||||
"TRANSIT 150 WB 130 XLT",
|
||||
"TRANSIT 150 WB 148 CARGO VAN",
|
||||
"TRANSIT 250 WB 130 CARGO VAN",
|
||||
"TRANSIT 250 WB 148 CARGO VAN",
|
||||
"TRANSIT 250 WB 148 EL CARGO",
|
||||
"TRANSIT 350 WB 148 CARGO VAN",
|
||||
"TRANSIT 350 WB 148 EL CARGO",
|
||||
"TRANSIT CONNECT XL CARGO VAN",
|
||||
"TRANSIT CONNECT XLT CARGO VAN",
|
||||
|
||||
"CITY EXPRESS LS CARGO VAN",
|
||||
"CITY EXPRESS LT CARGO VAN",
|
||||
"EXPRESS 1500",
|
||||
"EXPRESS 1500 CARGO VAN",
|
||||
"EXPRESS 1500 LS",
|
||||
"EXPRESS 1500 LT",
|
||||
"EXPRESS 2500 CARGO VAN",
|
||||
"EXPRESS 2500 CARGO VAN EXT",
|
||||
"EXPRESS 2500 LS",
|
||||
"EXPRESS 2500 LT",
|
||||
"EXPRESS 3500",
|
||||
"EXPRESS 3500 CARGO VAN",
|
||||
"EXPRESS 3500 CARGO VAN EXT",
|
||||
"EXPRESS 3500 EXT",
|
||||
"EXPRESS 3500 LS",
|
||||
"EXPRESS 3500 LS EXT",
|
||||
"EXPRESS 3500 LT",
|
||||
"EXPRESS 3500 LT EXT",
|
||||
"G3500 EXPRESS CUTAWAY",
|
||||
|
||||
"SAVANA 1500 CARGO VAN",
|
||||
"SAVANA 1500 SL",
|
||||
"SAVANA 1500 SLE",
|
||||
"SAVANA 2500",
|
||||
"SAVANA 2500 CARGO VAN",
|
||||
"SAVANA 2500 CARGO VAN EXT",
|
||||
"SAVANA 2500 LT",
|
||||
"SAVANA 2500 SLE",
|
||||
"SAVANA 3500",
|
||||
"SAVANA 3500 CARGO VAN",
|
||||
"SAVANA 3500 CARGO VAN EXT",
|
||||
"SAVANA 3500 EXT",
|
||||
"SAVANA 3500 LT EXT",
|
||||
"SAVANA 3500 SLE EXT",
|
||||
"SAVANA G3500 CUTAWAY",
|
||||
"SAVANA G4500 CUTAWAY",
|
||||
|
||||
"EXPRESS 1500 LS CARGO VAN",
|
||||
"G20 SPORTVAN",
|
||||
|
||||
"NV 3500 S V8 CARGO VAN",
|
||||
|
||||
"E-150",
|
||||
"E-250",
|
||||
"E-350",
|
||||
"E-450",
|
||||
"E150",
|
||||
"E250",
|
||||
"E350",
|
||||
"E450",
|
||||
"TRANSIT",
|
||||
"CITY",
|
||||
"CITY EXPRESS",
|
||||
"EXPRESS",
|
||||
"EXPRESS 1500",
|
||||
"EXPRESS 2500",
|
||||
"EXPRESS 3500",
|
||||
"G3500",
|
||||
"SAVANA",
|
||||
"SAVANA 1500",
|
||||
"SAVANA 2500",
|
||||
"SAVANA 3500"
|
||||
]
|
||||
@@ -10,6 +10,10 @@ import {
|
||||
} from "../graphql/jobs.queries";
|
||||
import { QUERY_GROUPS_BY_MAKE_TYPE } from "../graphql/veh_group.queries";
|
||||
import { store } from "../redux/store";
|
||||
import TrucksList from "./trucks.json";
|
||||
import CargoVanList from "./cargovans.json";
|
||||
import PassengerVanList from "./passengervans.json";
|
||||
import SuvList from "./suvs.json";
|
||||
const { logger } = window;
|
||||
|
||||
export function CalculateVehicleAge(job) {
|
||||
@@ -35,13 +39,14 @@ export async function UpsertEstimate(job) {
|
||||
|
||||
job = {
|
||||
...job,
|
||||
group: await DetermineVehicleGroup(job),
|
||||
v_type: DetermineVehicleType(job),
|
||||
v_age: CalculateVehicleAge({
|
||||
...job,
|
||||
close_date:
|
||||
existingJobs.data.jobs[0] && existingJobs.data.jobs[0].close_date,
|
||||
}),
|
||||
};
|
||||
job.group = await DetermineVehicleGroup(job);
|
||||
|
||||
if (existingJobs.data.jobs.length === 1) {
|
||||
let suppDelta = await GetSupplementDelta(
|
||||
@@ -177,18 +182,15 @@ const DetermineVehicleGroup = async (job) => {
|
||||
query: QUERY_GROUPS_BY_MAKE_TYPE,
|
||||
variables: {
|
||||
make: job.v_makedesc.toUpperCase(),
|
||||
type:
|
||||
job.v_type && job.v_type.toUpperCase() !== "PC"
|
||||
? job.v_type.toUpperCase()
|
||||
: null,
|
||||
isNull: job.v_type && job.v_type.toUpperCase() !== "PC" ? false : true,
|
||||
type: job.v_type,
|
||||
date: moment().format("YYYY-MM-DD"),
|
||||
},
|
||||
});
|
||||
|
||||
if (vehicleGroups.data.veh_groups.length === 1) {
|
||||
logger.info("Found 1 vehicle group.!", vehicleGroups.data.veh_groups[0]);
|
||||
return vehicleGroups.data.veh_groups[0].group;
|
||||
} else if (vehicleGroups.data.veh_groups.length === 0) {
|
||||
if (vehicleGroups.data.groupings.length === 1) {
|
||||
logger.info("Found 1 vehicle group.!", vehicleGroups.data.groupings[0]);
|
||||
return vehicleGroups.data.groupings[0].group;
|
||||
} else if (vehicleGroups.data.groupings.length === 0) {
|
||||
//Uh-oh, should only be 1.
|
||||
logger.info("No vehicle groups found.");
|
||||
return null;
|
||||
@@ -204,3 +206,23 @@ const DetermineVehicleGroup = async (job) => {
|
||||
|
||||
return "";
|
||||
};
|
||||
|
||||
const DetermineVehicleType = (job) => {
|
||||
console.log("job.v_type", job.v_type, job.v_model.toUpperCase());
|
||||
|
||||
const inTrucks = TrucksList.includes(job.v_model.toUpperCase());
|
||||
const inPV = PassengerVanList.includes(job.v_model.toUpperCase());
|
||||
const inSuv = SuvList.includes(job.v_model.toUpperCase());
|
||||
const inCv = CargoVanList.includes(job.v_model.toUpperCase());
|
||||
|
||||
console.log("inTrucks", inTrucks);
|
||||
console.log("inPV", inPV);
|
||||
console.log("inSuv", inSuv);
|
||||
console.log("inCv", inCv);
|
||||
|
||||
if (inTrucks) return "TK";
|
||||
else if (inPV) return "PV";
|
||||
else if (inSuv) return "SUV";
|
||||
else if (inCv) return "CV";
|
||||
else return job.v_type;
|
||||
};
|
||||
|
||||
18
src/ipc/passengervans.json
Normal file
18
src/ipc/passengervans.json
Normal file
@@ -0,0 +1,18 @@
|
||||
[
|
||||
"GRAND CARAVAN",
|
||||
"GRANDCARAVAN",
|
||||
"GRAND CARAVAN CREW",
|
||||
"GRAND CARAVAN CV",
|
||||
"GRAND CARAVAN CVP",
|
||||
"GRAND CARAVAN SE",
|
||||
"GRAND CARAVAN SXT",
|
||||
"CARAVAN CV",
|
||||
|
||||
"SIENNA CE V6",
|
||||
"SIENNA LE V6",
|
||||
"SIENNA XLE V6",
|
||||
|
||||
"SIENNA",
|
||||
"ODYSSEY",
|
||||
"SEDONA"
|
||||
]
|
||||
196
src/ipc/suvs.json
Normal file
196
src/ipc/suvs.json
Normal file
@@ -0,0 +1,196 @@
|
||||
[
|
||||
"EDGE SEL",
|
||||
"ESCAPE",
|
||||
"ESCAPE SE",
|
||||
"ESCAPE SEL",
|
||||
"ESCAPE XLT V6",
|
||||
"EXPEDITION",
|
||||
"EXPEDITION LIMITED",
|
||||
"EXPEDITION MAX",
|
||||
"EXPEDITION MAX LIMITED",
|
||||
"EXPLORER",
|
||||
"EXPLORER LIMITED",
|
||||
"EXPLORER PLATINUM ECOBOOST",
|
||||
"EXPLORER SPORT TRAC",
|
||||
"EXPLORER SPORT TRAC ADRENAL V8",
|
||||
"EXPLORER SPORT TRAC LIMITED",
|
||||
"EXPLORER SPORT TRAC LIMITED V8",
|
||||
"EXPLORER SPORT TRAC XLT",
|
||||
"EXPLORER SPORT TRAC XLT V8",
|
||||
"EXPLORER XLT",
|
||||
"FLEX",
|
||||
"FLEX SE",
|
||||
|
||||
"CHEROKEE",
|
||||
"CHEROKEE CLASSIC",
|
||||
"CHEROKEE COUNTRY",
|
||||
"CHEROKEE LIMITED",
|
||||
"CHEROKEE NORTH",
|
||||
"CHEROKEE OVERLAND",
|
||||
"CHEROKEE SPORT",
|
||||
"CHEROKEE TRAILHAWK",
|
||||
"CJ",
|
||||
"CJ7",
|
||||
"CJ7 RENEGADE",
|
||||
"COMMANDER",
|
||||
"COMMANDER LIMITED",
|
||||
"COMMANDER SPORT",
|
||||
"COMPASS",
|
||||
"COMPASS HIGH ALTITUDE",
|
||||
"COMPASS LATITUDE",
|
||||
"COMPASS LIMITED",
|
||||
"COMPASS NORTH",
|
||||
"COMPASS SPORT",
|
||||
"COMPASS TRAILHAWK",
|
||||
"GLADIATOR OVERLAND",
|
||||
"GLADIATOR RUBICON",
|
||||
"GRAND CHEROKEE LAREDO",
|
||||
"GRAND CHEROKEE LIMITED",
|
||||
"GRAND CHEROKEE OVERLAND",
|
||||
"GRAND CHEROKEE SE",
|
||||
"GRAND CHEROKEE SRT",
|
||||
"GRAND CHEROKEE SRT8",
|
||||
"GRAND CHEROKEE SUMMIT",
|
||||
"GRAND CHEROKEE TRACKHAWK",
|
||||
"GRAND CHEROKEE TRAILHAWK",
|
||||
"GRAND CHEROKEE",
|
||||
"GRANDCHEROKEE",
|
||||
"LIBERTY LIMITED",
|
||||
"LIBERTY RENEGADE",
|
||||
"LIBERTY SPORT",
|
||||
"LIBERTY",
|
||||
"PATRIOT",
|
||||
"PATRIOT HIGH ALTITUDE",
|
||||
"PATRIOT LATITUDE",
|
||||
"PATRIOT LIMITED",
|
||||
"PATRIOT NORTH",
|
||||
"PATRIOT SPORT",
|
||||
"RENEGADE LIMITED",
|
||||
"RENEGADE NORTH",
|
||||
"RENEGADE SPORT",
|
||||
"RENEGADE TRAILHAWK",
|
||||
"TJ",
|
||||
"TJ RUBICON",
|
||||
"TJ SAHARA",
|
||||
"TJ SPORT",
|
||||
"TJ UNLIMITED",
|
||||
"WRANGLER",
|
||||
"WRANGLER RUBICON",
|
||||
"WRANGLER SAHARA",
|
||||
"WRANGLER SPORT",
|
||||
|
||||
"WRANGLER UNLIMITED",
|
||||
"WRANGLER UNLIMITED 70TH ANNIV",
|
||||
"WRANGLER UNLIMITED RUBICON",
|
||||
"WRANGLER UNLIMITED SAHARA",
|
||||
"WRANGLER UNLIMITED SPORT",
|
||||
"WRANGLER UNLIMITED X",
|
||||
"WRANGLER X",
|
||||
"YJ WRANGLER",
|
||||
|
||||
"AVIATOR",
|
||||
"AVIATOR RESERVE",
|
||||
"MKC",
|
||||
"MKC RESERVE",
|
||||
"MKC SELECT",
|
||||
"MKT",
|
||||
"MKT ECOBOOST",
|
||||
"MKX",
|
||||
"MKX RESERVE",
|
||||
"NAUTILUS RESERVE",
|
||||
"NAUTILUS RESERVE V6",
|
||||
"NAVIGATOR",
|
||||
"NAVIGATOR L",
|
||||
"NAVIGATOR L RESERVE",
|
||||
"NAVIGATOR L SELECT",
|
||||
"NAVIGATOR RESERVE",
|
||||
|
||||
"PILOT",
|
||||
"PILOT BLACK EDITION",
|
||||
"PILOT ELITE",
|
||||
"PILOT EX",
|
||||
"PILOT EX-L",
|
||||
"PILOT GRANITE",
|
||||
"PILOT LX",
|
||||
"PILOT SE",
|
||||
"PILOT SE-L",
|
||||
"PILOT TOURING",
|
||||
|
||||
"DURANGO R/T",
|
||||
"DURANGO SLT PLUS",
|
||||
"DURANGO SRT",
|
||||
"DURANGO",
|
||||
"JOURNEY",
|
||||
"JOURNEY CROSSROAD",
|
||||
"JOURNEY CVP",
|
||||
"JOURNEY LIMITED",
|
||||
"JOURNEY R/T",
|
||||
"JOURNEY SXT",
|
||||
"NITRO SE",
|
||||
"NITRO",
|
||||
|
||||
"SUBURBAN 1500 LT",
|
||||
"SUBURBAN 1500 LTZ",
|
||||
"SUBURBAN 1500 PREMIER",
|
||||
"SUBURBAN 2500 LS",
|
||||
"TAHOE LT",
|
||||
"TRAVERSE LS",
|
||||
"TRAVERSE LT",
|
||||
"TRAVERSE PREMIER",
|
||||
"TRAX LT",
|
||||
"TRAX PREMIER",
|
||||
"UPLANDER LT EXT",
|
||||
"SUBURBAN",
|
||||
"TAHOE",
|
||||
"TRAVERSE",
|
||||
"TRAX",
|
||||
"UPLANDER",
|
||||
|
||||
"EQUINOX LS",
|
||||
"EQUINOX LT",
|
||||
"EQUINOX PREMIER",
|
||||
"EQUINOX",
|
||||
|
||||
"RAV4 LE",
|
||||
"RAV4 XLE",
|
||||
"HIGHLANDER SPORT V6",
|
||||
"4RUNNER SR5 V6",
|
||||
"RAV4",
|
||||
"HIGHLANDER",
|
||||
"4RUNNER",
|
||||
|
||||
"PATHFINDER SE",
|
||||
"PATHFINDER SL",
|
||||
"PATHFINDER",
|
||||
|
||||
"MURANO PLATINUM",
|
||||
"MURANO SV",
|
||||
"MURANO",
|
||||
"TUCSON",
|
||||
"TERRAIN",
|
||||
"SORENTO",
|
||||
|
||||
"EDGE",
|
||||
"KICKS",
|
||||
"QASHQAI",
|
||||
"TRAX",
|
||||
"SANTA FE",
|
||||
"ARMADA",
|
||||
"TELLURIDE",
|
||||
"PALLISADE",
|
||||
"TORRENT",
|
||||
"C-HR",
|
||||
"SPORTAGE",
|
||||
"VENZA",
|
||||
"ACADIA",
|
||||
"CR-V",
|
||||
"HR-V",
|
||||
"CX-5",
|
||||
"CX-7",
|
||||
"CX-9",
|
||||
"CX-3",
|
||||
"Q3",
|
||||
"Q5",
|
||||
"Q7",
|
||||
"Q8"
|
||||
]
|
||||
569
src/ipc/trucks.json
Normal file
569
src/ipc/trucks.json
Normal file
@@ -0,0 +1,569 @@
|
||||
[
|
||||
"MARK LT",
|
||||
"MKX",
|
||||
"F-150",
|
||||
"F-250",
|
||||
"F-350",
|
||||
"F-450",
|
||||
"F-550",
|
||||
"F-650",
|
||||
"F100 PICKUP",
|
||||
"F150 FX2 SUPERCAB",
|
||||
"F150 FX4 PICKUP",
|
||||
"F150 FX4 SUPERCAB",
|
||||
"F150 FX4 SUPERCREW",
|
||||
"F150 HARLEY DAVIDSON SUPERCAB",
|
||||
"F150 HARLEY DAVIDSON SUPERCREW",
|
||||
"F150 KING RANCH SUPERCREW",
|
||||
"F150 LARIAT FX4 SUPERCREW",
|
||||
"F150 LARIAT HARLEY DAVIDSON SC",
|
||||
"F150 LARIAT KING RANCH SUPCREW",
|
||||
"F150 LARIAT LIMITED SUPERCREW",
|
||||
"F150 LARIAT PICKUP",
|
||||
"F150 LARIAT SUPERCAB",
|
||||
"F150 LARIAT SUPERCAB (AMALGAM)",
|
||||
"F150 LARIAT SUPERCREW",
|
||||
"F150 LARIAT SUPERCREW (AMALGA)",
|
||||
"F150 LIMITED SUPERCREW",
|
||||
"F150 PICKUP",
|
||||
"F150 PLATINUM SUPERCREW",
|
||||
"F150 RAPTOR SUPERCAB",
|
||||
"F150 RAPTOR SUPERCREW",
|
||||
"F150 STX PICKUP",
|
||||
"F150 STX SUPERCAB",
|
||||
"F150 SUPERCAB",
|
||||
"F150 SUPERCREW",
|
||||
"F150 SUPERCREW (AMALGAMATED)",
|
||||
"F150 SVT RAPTOR SUPERCAB",
|
||||
"F150 XL PICKUP",
|
||||
"F150 XL SUPERCAB",
|
||||
"F150 XL SUPERCREW",
|
||||
"F150 XLT LARIAT SUPERCAB",
|
||||
"F150 XLT PICKUP",
|
||||
"F150 XLT SUPERCAB",
|
||||
"F150 XLT SUPERCREW",
|
||||
"F150 XLT SUPERCREW (AMALGAMAT)",
|
||||
"F150 XTR SUPERCAB",
|
||||
"F250 PICKUP",
|
||||
"F250 SD CREW CAB",
|
||||
"F250 SD FX4 CREW CAB",
|
||||
"F250 SD FX4 SUPERCAB",
|
||||
"F250 SD KING RANCH CREW CAB",
|
||||
"F250 SD LARIAT CREW CAB",
|
||||
"F250 SD LARIAT CREW CAB (AMAL)",
|
||||
"F250 SD LARIAT PICKUP",
|
||||
"F250 SD LARIAT SUPERCAB",
|
||||
"F250 SD LIMITED CREW CAB",
|
||||
"F250 SD PLATINUM CREW CAB",
|
||||
"F250 SD SUPERCAB",
|
||||
"F250 SD XL CREW CAB",
|
||||
"F250 SD XL PICKUP",
|
||||
"F250 SD XL SUPERCAB",
|
||||
"F250 SD XLT CREW CAB",
|
||||
"F250 SD XLT PICKUP",
|
||||
"F250 SD XLT SUPERCAB",
|
||||
"F250 SUPERCAB",
|
||||
"F250 XL CREW CAB",
|
||||
"F350 CREW CAB",
|
||||
"F350 PICKUP",
|
||||
"F350 PICKUP 2WD",
|
||||
"F350 SD CABELAS CREW CAB",
|
||||
"F350 SD CREW CAB",
|
||||
"F350 SD FX4 CREW CAB",
|
||||
"F350 SD FX4 SUPERCAB",
|
||||
"F350 SD HARLEY DAVIDSON",
|
||||
"F350 SD KING RANCH CREW CAB",
|
||||
"F350 SD LARIAT CREW CAB",
|
||||
"F350 SD LARIAT CREW CAB (AMAL)",
|
||||
"F350 SD LARIAT KING RANCH",
|
||||
"F350 SD LARIAT SUPERCAB",
|
||||
"F350 SD LIMITED CREW CAB",
|
||||
"F350 SD PICKUP",
|
||||
"F350 SD PLATINUM CREW CAB",
|
||||
"F350 SD SUPERCAB",
|
||||
"F350 SD XL CREW CAB",
|
||||
"F350 SD XL PICKUP",
|
||||
"F350 SD XL SUPERCAB",
|
||||
"F350 SD XLT CREW CAB",
|
||||
"F350 SD XLT SUPERCAB",
|
||||
"F350 SUPER DUTY",
|
||||
"F350 SUPER DUTY XL",
|
||||
"F350 XL PICKUP",
|
||||
"F450",
|
||||
"F450 Pickup",
|
||||
"F450 SD KING RANCH CREW CAB",
|
||||
"F450 SD LARIAT CREW CAB",
|
||||
"F450 SD PICKUP",
|
||||
"F450 SD PLATINUM CREW CAB",
|
||||
"F450 SD XL",
|
||||
"F450 SD XL CREW CAB",
|
||||
"F450 SD XL PICKUP",
|
||||
"F450 SD XLT CREW CAB",
|
||||
"F450 SUPER DUTY XLT",
|
||||
"F550",
|
||||
"F550 SD",
|
||||
"F550 SD XL",
|
||||
"F550 SD XL PICKUP",
|
||||
"F550 SD XLT CREW CAB",
|
||||
"F550 SD XLT SUPERCAB",
|
||||
"F550 SUPER DUTY",
|
||||
"F550 SUPER DUTY XL",
|
||||
"F550 SUPER DUTY XLT",
|
||||
"F550 SUPER DUTY XLT CREW CAB",
|
||||
"F550 XL",
|
||||
"F650 SD XLT SUPERCAB",
|
||||
"F68",
|
||||
"F750 XL",
|
||||
|
||||
"RANGER",
|
||||
"RANGER EDGE SUPERCAB",
|
||||
"RANGER FX4 SUPERCAB",
|
||||
"RANGER LARIAT SUPERCREW",
|
||||
"RANGER SPORT SUPERCAB",
|
||||
"RANGER STX SUPERCAB",
|
||||
"RANGER SUPERCAB",
|
||||
"RANGER XL",
|
||||
"RANGER XL SUPERCAB",
|
||||
"RANGER XLT",
|
||||
"RANGER XLT SUPERCAB",
|
||||
"RANGER XLT SUPERCREW",
|
||||
|
||||
"FRONTIER LE CREW CAB V6",
|
||||
"FRONTIER NISMO CREW CAB V6",
|
||||
"FRONTIER NISMO KING CAB V6",
|
||||
"FRONTIER PRO-4X CREW CAB V6",
|
||||
"FRONTIER PRO-4X KING CAB V6",
|
||||
"FRONTIER S KING CAB",
|
||||
"FRONTIER SC CREW CAB V6",
|
||||
"FRONTIER SC V6",
|
||||
"FRONTIER SE CREW CAB V6",
|
||||
"FRONTIER SE KING CAB V6",
|
||||
"FRONTIER SL CREW CAB V6",
|
||||
"FRONTIER SV CREW CAB V6",
|
||||
"FRONTIER SV KING CAB V6",
|
||||
"FRONTIER XE KING CAB",
|
||||
"FRONTIER XE KING CAB V6",
|
||||
"KING CAB",
|
||||
|
||||
"TITAN 5.6 LE CREW CAB",
|
||||
"TITAN 5.6 LE KING CAB",
|
||||
"TITAN 5.6 MIDNIGHT CREW CAB",
|
||||
"TITAN 5.6 PLATINUM RESERVE CC",
|
||||
"TITAN 5.6 PRO-4X CREW CAB",
|
||||
"TITAN 5.6 PRO-4X KING CAB",
|
||||
"TITAN 5.6 S CREW CAB",
|
||||
"TITAN 5.6 SE CREW CAB",
|
||||
"TITAN 5.6 SE KING CAB",
|
||||
"TITAN 5.6 SL CREW CAB",
|
||||
"TITAN 5.6 SV CREW CAB",
|
||||
"TITAN 5.6 SV KING CAB",
|
||||
"TITAN 5.6 XE CREW CAB",
|
||||
"TITAN 5.6 XE KING CAB",
|
||||
"TITAN XD PLATINUM CREW CAB",
|
||||
"TITAN XD PRO-4X CREW CAB",
|
||||
"TITAN XD S CREW CAB",
|
||||
"TITAN XD SL CREW CAB",
|
||||
"TITAN XD SV CREW CAB",
|
||||
|
||||
"PICKUP SR5",
|
||||
|
||||
"TACOMA",
|
||||
"TACOMA ACCESS CAB",
|
||||
"TACOMA DOUBLE CAB V6",
|
||||
"TACOMA LIMITED DOUBLE CAB V6",
|
||||
"TACOMA PRERUNNER DOUBLE CAB V6",
|
||||
"TACOMA PRERUNNER V6 ACCESS CAB",
|
||||
"TACOMA PRERUNNER XTRACAB",
|
||||
"TACOMA PRERUNNER XTRACAB V6",
|
||||
"TACOMA SR5 DOUBLE CAB V6",
|
||||
"TACOMA SR5 V6 ACCESS CAB",
|
||||
"TACOMA SR5 V6 XTRACAB",
|
||||
"TACOMA V6 ACCESS CAB",
|
||||
"TACOMA XTRACAB",
|
||||
"TACOMA XTRACAB V6",
|
||||
"TUNDRA ACCESS CAB V8",
|
||||
"TUNDRA DOUBLE CAB V8",
|
||||
"TUNDRA LIMITED ACCESS CAB V8",
|
||||
"TUNDRA LIMITED SR5 DBLCAB V8",
|
||||
"TUNDRA LIMITED V8",
|
||||
"TUNDRA LIMITED V8 CREWMAX",
|
||||
"TUNDRA LIMITED V8 DOUBLE CAB",
|
||||
"TUNDRA PLATINUM V8 CREWMAX",
|
||||
"TUNDRA SR DOUBLE CAB V8",
|
||||
"TUNDRA SR V8",
|
||||
"TUNDRA SR5 DOUBLE CAB V8",
|
||||
"TUNDRA SR5 TRD DOUBLE CAB V8",
|
||||
"TUNDRA SR5 V8 CREWMAX",
|
||||
"TUNDRA V8",
|
||||
"TUNDRA V8 CREWMAX",
|
||||
"XTRACAB LONG BOX",
|
||||
|
||||
"AVALANCHE 1500",
|
||||
"AVALANCHE 1500 LS",
|
||||
"AVALANCHE 1500 LS Z71",
|
||||
"AVALANCHE 1500 LT",
|
||||
"AVALANCHE 1500 LT Z71",
|
||||
"AVALANCHE 1500 LTZ",
|
||||
"C/R 10/1500 4+CAB",
|
||||
"C/R 10/1500 PICKUP",
|
||||
"C/R 20/2500 4+CAB",
|
||||
"C/R 20/2500 PICKUP",
|
||||
"C3500",
|
||||
|
||||
"COLORADO",
|
||||
"COLORADO EXT CAB",
|
||||
"COLORADO LS",
|
||||
"COLORADO LS CREW CAB",
|
||||
"COLORADO LS EXT CAB",
|
||||
"COLORADO LT",
|
||||
"COLORADO LT CREW CAB",
|
||||
"COLORADO LT EXT CAB",
|
||||
"COLORADO WT CREW CAB",
|
||||
"COLORADO WT EXT CAB",
|
||||
"COLORADO Z71 CREW CAB",
|
||||
"COLORADO Z71 EXT CAB",
|
||||
"COLORADO ZR2 CREW CAB",
|
||||
"COLORADO ZR2 EXT CAB",
|
||||
|
||||
"HHR LS PANEL",
|
||||
"K/V 10/1500 4+CAB",
|
||||
"K/V 10/1500 PICKUP",
|
||||
"K/V 20/2500 4+CAB",
|
||||
"K/V 20/2500 PICKUP",
|
||||
"K/V 30/3500 4+CAB",
|
||||
"Pickup K3500",
|
||||
"Pickup Silverado C2500 HD",
|
||||
"S10 4+CAB",
|
||||
"S10 LS 4+CAB",
|
||||
"SILVERADO 1500",
|
||||
"SILVERADO 1500 CHEYENNE CREW",
|
||||
"SILVERADO 1500 CREW CAB",
|
||||
"SILVERADO 1500 CREW CAB (AMAL)",
|
||||
"SILVERADO 1500 CUST TRAIL DC",
|
||||
"SILVERADO 1500 CUSTOM CREW CAB",
|
||||
"SILVERADO 1500 CUSTOM DC",
|
||||
"SILVERADO 1500 CUSTOM TRAIL CC",
|
||||
"SILVERADO 1500 DOUBLE (AMALGA)",
|
||||
"SILVERADO 1500 EXT CAB",
|
||||
"SILVERADO 1500 HD LS CREW CAB",
|
||||
"SILVERADO 1500 HD LT CREW CAB",
|
||||
"SILVERADO 1500 HIGH COUNTRY CC",
|
||||
"SILVERADO 1500 HYBRID CREW CAB",
|
||||
"SILVERADO 1500 LS",
|
||||
"SILVERADO 1500 LS CREW CAB",
|
||||
"SILVERADO 1500 LS DOUBLE CAB",
|
||||
"SILVERADO 1500 LS EXT CAB",
|
||||
"SILVERADO 1500 LT",
|
||||
"SILVERADO 1500 LT CC (AMALGAM)",
|
||||
"SILVERADO 1500 LT CREW CAB",
|
||||
"SILVERADO 1500 LT DOUBLE CAB",
|
||||
"SILVERADO 1500 LT EXT CAB",
|
||||
"SILVERADO 1500 LT TRAIL CC",
|
||||
"SILVERADO 1500 LT TRAIL DC",
|
||||
"SILVERADO 1500 LTZ CREW CAB",
|
||||
"SILVERADO 1500 LTZ DOUBLE CAB",
|
||||
"SILVERADO 1500 LTZ EXT CAB",
|
||||
"SILVERADO 1500 RST CREW CAB",
|
||||
"SILVERADO 1500 RST DOUBLE CAB",
|
||||
"SILVERADO 1500 SS EXT CAB",
|
||||
"SILVERADO 1500 WT",
|
||||
"SILVERADO 1500 WT CREW CAB",
|
||||
"SILVERADO 1500 WT DOUBLE CAB",
|
||||
"SILVERADO 1500 WT EXT CAB",
|
||||
"SILVERADO 2500 EXT CAB",
|
||||
"SILVERADO 2500 HD",
|
||||
"SILVERADO 2500 HD CREW CAB",
|
||||
"SILVERADO 2500 HD EXT CAB",
|
||||
"SILVERADO 2500 HD HC CREW CAB",
|
||||
"SILVERADO 2500 HD LS CREW CAB",
|
||||
"SILVERADO 2500 HD LS EXT CAB",
|
||||
"SILVERADO 2500 HD LT",
|
||||
"SILVERADO 2500 HD LT CREW CAB",
|
||||
"SILVERADO 2500 HD LT DBL CAB",
|
||||
"SILVERADO 2500 HD LT EXT CAB",
|
||||
"SILVERADO 2500 HD LTZ CREW CAB",
|
||||
"SILVERADO 2500 HD LTZ DBL CAB",
|
||||
"SILVERADO 2500 HD LTZ EXT CAB",
|
||||
"SILVERADO 2500 HD WT",
|
||||
"SILVERADO 2500 HD WT CREW CAB",
|
||||
"SILVERADO 2500 HD WT DBL CAB",
|
||||
"SILVERADO 2500 HD WT EXT CAB",
|
||||
"SILVERADO 3500",
|
||||
"SILVERADO 3500 CREW CAB",
|
||||
"SILVERADO 3500 CREW CAB (AMAL)",
|
||||
"SILVERADO 3500 EXT CAB",
|
||||
"SILVERADO 3500 HC CREW CAB",
|
||||
"SILVERADO 3500 HD (AMALGAMATE)",
|
||||
"SILVERADO 3500 LS",
|
||||
"SILVERADO 3500 LS CREW CAB",
|
||||
"SILVERADO 3500 LS EXT CAB",
|
||||
"SILVERADO 3500 LT CREW CAB",
|
||||
"SILVERADO 3500 LT DOUBLE CAB",
|
||||
"SILVERADO 3500 LT EXT CAB",
|
||||
"SILVERADO 3500 LTZ CREW CAB",
|
||||
"SILVERADO 3500 LTZ EXT CAB",
|
||||
"SILVERADO 3500 WT CREW CAB",
|
||||
"Silverado 3500HD",
|
||||
|
||||
"B250 SPORTSMAN",
|
||||
|
||||
"DAKOTA CLUB CAB",
|
||||
"DAKOTA LARAMIE V8 CLUB CAB",
|
||||
"DAKOTA LARAMIE V8 QUAD CAB",
|
||||
"DAKOTA QUAD CAB",
|
||||
"DAKOTA SLT CREW CAB",
|
||||
"DAKOTA SLT EXT CAB",
|
||||
"DAKOTA SLT PLUS QUAD CAB",
|
||||
"DAKOTA SLT PLUS V8 CLUB CAB",
|
||||
"DAKOTA SLT PLUS V8 QUAD CAB",
|
||||
"DAKOTA SLT QUAD CAB",
|
||||
"DAKOTA SLT V8 CLUB CAB",
|
||||
"DAKOTA SLT V8 CREW CAB",
|
||||
"DAKOTA SLT V8 EXT CAB",
|
||||
"DAKOTA SLT V8 QUAD CAB",
|
||||
"DAKOTA SPORT V8",
|
||||
"DAKOTA SPORT V8 CLUB CAB",
|
||||
"DAKOTA SPORT V8 QUAD CAB",
|
||||
"DAKOTA ST CLUB CAB",
|
||||
"DAKOTA ST QUAD CAB",
|
||||
"DAKOTA ST V8 QUAD CAB",
|
||||
"DAKOTA SXT CREW CAB",
|
||||
"DAKOTA SXT EXT CAB",
|
||||
"DAKOTA SXT V8 CREW CAB",
|
||||
"DAKOTA SXT V8 EXT CAB",
|
||||
"DAKOTA V8 CLUB CAB",
|
||||
"DAKOTA V8 QUAD CAB",
|
||||
|
||||
"RAM 1500",
|
||||
"RAM 1500 BIG HORN CREW CAB",
|
||||
"RAM 1500 BIG HORN QUAD CAB",
|
||||
"RAM 1500 CLUB CAB",
|
||||
"RAM 1500 CREW CAB (AMALGAMATE)",
|
||||
"RAM 1500 EXPRESS",
|
||||
"RAM 1500 LARAMIE CREW (AMALGA)",
|
||||
"RAM 1500 LARAMIE CREW CAB",
|
||||
"RAM 1500 LARAMIE LONGHORN CREW",
|
||||
"RAM 1500 LARAMIE MEGA CAB",
|
||||
"RAM 1500 LARAMIE QUAD CAB",
|
||||
"RAM 1500 LARAMIE SLT QUAD CAB",
|
||||
"RAM 1500 LIMITED CREW CAB",
|
||||
"RAM 1500 LONGHORN CREW CAB",
|
||||
"RAM 1500 OUTDOORSMAN CREW CAB",
|
||||
"RAM 1500 OUTDOORSMAN QC (AMAL)",
|
||||
"RAM 1500 OUTDOORSMAN QUAD CAB",
|
||||
"RAM 1500 QUAD CAB",
|
||||
"RAM 1500 R/T",
|
||||
"RAM 1500 REBEL CREW CAB",
|
||||
"RAM 1500 REBEL QUAD CAB",
|
||||
"RAM 1500 SLT",
|
||||
"RAM 1500 SLT CREW (AMALGAMATE)",
|
||||
"RAM 1500 SLT CREW CAB",
|
||||
"RAM 1500 SLT MEGA CAB",
|
||||
"RAM 1500 SLT QUAD (AMALGAMATE)",
|
||||
"RAM 1500 SLT QUAD CAB",
|
||||
"RAM 1500 SPORT",
|
||||
"RAM 1500 SPORT CLUB CAB",
|
||||
"RAM 1500 SPORT CREW CAB",
|
||||
"RAM 1500 SPORT CREW CAB (AMAL)",
|
||||
"RAM 1500 SPORT QUAD CAB",
|
||||
"RAM 1500 ST",
|
||||
"RAM 1500 ST CREW CAB",
|
||||
"RAM 1500 ST QUAD CAB",
|
||||
"RAM 1500 SXT CREW CAB",
|
||||
"RAM 1500 SXT QUAD CAB",
|
||||
"RAM 1500 TRADESMAN CREW CAB",
|
||||
"RAM 1500 TRADESMAN QUAD CAB",
|
||||
"RAM 1500 TRX QUAD CAB",
|
||||
"RAM 2500",
|
||||
"RAM 2500 BIG HORN CREW CAB",
|
||||
"RAM 2500 BIG HORN MEGA CAB",
|
||||
"RAM 2500 CLUB CAB",
|
||||
"RAM 2500 LARAMIE CREW CAB",
|
||||
"RAM 2500 LARAMIE LONGHORN CREW",
|
||||
"RAM 2500 LARAMIE LONGHORN MEGA",
|
||||
"RAM 2500 LARAMIE MEGA CAB",
|
||||
"RAM 2500 LARAMIE QUAD CAB",
|
||||
"RAM 2500 LARAMIE SLT",
|
||||
"RAM 2500 LARAMIE SLT QUAD CAB",
|
||||
"RAM 2500 LIMITED CREW CAB",
|
||||
"RAM 2500 OUTDOORSMAN CREW CAB",
|
||||
"RAM 2500 POWER WAGON CREW CAB",
|
||||
"RAM 2500 QUAD CAB",
|
||||
"RAM 2500 SLT",
|
||||
"RAM 2500 SLT CREW CAB",
|
||||
"RAM 2500 SLT MEGA CAB",
|
||||
"RAM 2500 SLT QUAD CAB",
|
||||
"RAM 2500 SLT QUAD CAB (AMALGA)",
|
||||
"RAM 2500 SPORT QUAD CAB",
|
||||
"RAM 2500 ST",
|
||||
"RAM 2500 ST CREW CAB",
|
||||
"RAM 2500 ST QUAD CAB",
|
||||
"RAM 2500 SXT QUAD CAB",
|
||||
"RAM 2500 TRADESMAN",
|
||||
"RAM 2500 TRADESMAN CREW CAB",
|
||||
"RAM 2500 TRX CREW CAB",
|
||||
"RAM 2500 TRX QUAD CAB",
|
||||
"RAM 3500",
|
||||
"RAM 3500 4WD",
|
||||
"RAM 3500 BIG HORN CREW CAB",
|
||||
"RAM 3500 CREW CAB",
|
||||
"RAM 3500 CREW CAB (AMALGAMATE)",
|
||||
"RAM 3500 LARAMIE CREW CAB",
|
||||
"RAM 3500 LARAMIE LONGHORN CREW",
|
||||
"RAM 3500 LARAMIE LONGHORN MEGA",
|
||||
"RAM 3500 LARAMIE MEGA CAB",
|
||||
"RAM 3500 LARAMIE QUAD CAB",
|
||||
"RAM 3500 LARAMIE SLT",
|
||||
"RAM 3500 LARAMIE SLT QUAD CAB",
|
||||
"RAM 3500 LIMITED MEGA CAB",
|
||||
"RAM 3500 LONGHORN CREW CAB",
|
||||
"RAM 3500 QUAD CAB",
|
||||
"RAM 3500 SLT",
|
||||
"RAM 3500 SLT CREW CAB",
|
||||
"RAM 3500 SLT MEGA CAB",
|
||||
"RAM 3500 SLT QUAD CAB",
|
||||
"RAM 3500 SPORT QUAD CAB",
|
||||
"RAM 3500 ST",
|
||||
"RAM 3500 ST CREW CAB",
|
||||
"RAM 3500 ST QUAD CAB",
|
||||
"RAM 3500 TRX QUAD CAB",
|
||||
"RAM 4500",
|
||||
"RAM 4500 CREW CAB",
|
||||
"RAM 5500",
|
||||
"RAM 5500 CREW CAB",
|
||||
"W250 TURBO DIESEL",
|
||||
|
||||
"C Series 5500",
|
||||
"C/R 1500 4+CAB",
|
||||
"C/R 1500 PICKUP",
|
||||
"C/R 1500 SIERRA SL EXT CAB",
|
||||
"C/R 3500",
|
||||
"C/R 3500 PICKUP",
|
||||
"CANYON ALL TERRAIN CREW CAB",
|
||||
"CANYON CREW CAB",
|
||||
"CANYON DENALI CREW CAB",
|
||||
"CANYON EXT CAB",
|
||||
"CANYON SL",
|
||||
"CANYON SL EXT CAB",
|
||||
"CANYON SLE",
|
||||
"CANYON SLE CREW CAB",
|
||||
"CANYON SLE EXT CAB",
|
||||
"CANYON SLT CREW CAB",
|
||||
"CANYON SLT CREW CAB (AMALGAMA)",
|
||||
"K/V 1500 4+CAB",
|
||||
"K/V 1500 PICKUP",
|
||||
"K/V 2500 4+CAB",
|
||||
"K/V 2500 PICKUP",
|
||||
"K/V 3500 SIERRA SL CREW CAB",
|
||||
"K/V 3500 SIERRA SLE CREW CAB",
|
||||
"SIERRA 1500 AT4 CREW CAB",
|
||||
"SIERRA 1500 AT4 DOUBLE CAB",
|
||||
"SIERRA 1500 CREW CAB",
|
||||
"SIERRA 1500 CREW CAB (AMALGAM)",
|
||||
"SIERRA 1500 DENALI CREW CAB",
|
||||
"SIERRA 1500 DENALI EXT CAB",
|
||||
"SIERRA 1500 DOUBLE CAB",
|
||||
"SIERRA 1500 ELEVATION CREW CAB",
|
||||
"SIERRA 1500 ELEVATION DC",
|
||||
"SIERRA 1500 EXT CAB",
|
||||
"SIERRA 1500 HD CREW CAB",
|
||||
"SIERRA 1500 HD SLE CREW CAB",
|
||||
"SIERRA 1500 HD SLT CREW CAB",
|
||||
"SIERRA 1500 NEVADA EDITION",
|
||||
"SIERRA 1500 PICKUP",
|
||||
"SIERRA 1500 SL CREW CAB",
|
||||
"SIERRA 1500 SL EXT CAB",
|
||||
"SIERRA 1500 SL PICKUP",
|
||||
"SIERRA 1500 SLE CREW CAB",
|
||||
"SIERRA 1500 SLE DC (AMALGAMAT)",
|
||||
"SIERRA 1500 SLE DOUBLE CAB",
|
||||
"SIERRA 1500 SLE EXT CAB",
|
||||
"SIERRA 1500 SLE EXT CAB (AMAL)",
|
||||
"SIERRA 1500 SLE PICKUP",
|
||||
"SIERRA 1500 SLT CREW (AMALGAM)",
|
||||
"SIERRA 1500 SLT CREW CAB",
|
||||
"SIERRA 1500 SLT DOUBLE CAB",
|
||||
"SIERRA 1500 SLT EXT CAB",
|
||||
"SIERRA 1500 WT CREW CAB",
|
||||
"SIERRA 1500 WT EXT CAB",
|
||||
"SIERRA 1500 WT PICKUP",
|
||||
"SIERRA 2500 EXT CAB",
|
||||
"SIERRA 2500 HD AT4 CREW CAB",
|
||||
"SIERRA 2500 HD CREW CAB",
|
||||
"SIERRA 2500 HD DENALI CREW CAB",
|
||||
"SIERRA 2500 HD DOUBLE CAB",
|
||||
"SIERRA 2500 HD EXT CAB",
|
||||
"SIERRA 2500 HD PICKUP",
|
||||
"SIERRA 2500 HD SL EXT CAB",
|
||||
"SIERRA 2500 HD SL PICKUP",
|
||||
"SIERRA 2500 HD SLE CREW CAB",
|
||||
"SIERRA 2500 HD SLE DOUBLE CAB",
|
||||
"SIERRA 2500 HD SLE EXT CAB",
|
||||
"SIERRA 2500 HD SLE PICKUP",
|
||||
"SIERRA 2500 HD SLT CREW CAB",
|
||||
"SIERRA 2500 HD SLT DOUBLE CAB",
|
||||
"SIERRA 2500 HD SLT EXT CAB",
|
||||
"SIERRA 2500 HD WT CREW CAB",
|
||||
"SIERRA 2500 HD WT DOUBLE CAB",
|
||||
"SIERRA 2500 HD WT EXT CAB",
|
||||
"SIERRA 2500 HD WT PICKUP",
|
||||
"SIERRA 2500 SLE EXT CAB",
|
||||
"SIERRA 3500 AT4 CREW CAB",
|
||||
"SIERRA 3500 CREW CAB",
|
||||
"SIERRA 3500 DENALI CREW CAB",
|
||||
"SIERRA 3500 EXT CAB",
|
||||
"SIERRA 3500 PICKUP",
|
||||
"SIERRA 3500 SL CREW CAB",
|
||||
"SIERRA 3500 SLE",
|
||||
"SIERRA 3500 SLE CREW CAB",
|
||||
"SIERRA 3500 SLE EXT CAB",
|
||||
"SIERRA 3500 SLT CREW CAB",
|
||||
"SIERRA 3500 WT CREW CAB",
|
||||
"SONOMA",
|
||||
"SONOMA CREW CAB",
|
||||
"SONOMA EXT CAB",
|
||||
|
||||
"YUKON SLT",
|
||||
|
||||
"1500",
|
||||
"1500 Classic",
|
||||
"Pickup 1500",
|
||||
"Pickup 3500",
|
||||
"ProMaster 1500",
|
||||
|
||||
"RIDGELINE",
|
||||
"RIDGELINE BLACK EDITION",
|
||||
"RIDGELINE DX",
|
||||
"RIDGELINE EX-L",
|
||||
"RIDGELINE LX",
|
||||
"RIDGELINE RT",
|
||||
"RIDGELINE RTL",
|
||||
"RIDGELINE RTS",
|
||||
"RIDGELINE RTX",
|
||||
"RIDGELINE SE",
|
||||
"RIDGELINE SPORT",
|
||||
"RIDGELINE TOURING",
|
||||
"RIDGELINE VP",
|
||||
|
||||
"TITAN",
|
||||
"TACOMA",
|
||||
"TUNDRA",
|
||||
"AVALANCE",
|
||||
"COLORADO",
|
||||
"SILVERADO",
|
||||
"SILVERADO 1500",
|
||||
"SILVERADO 2500",
|
||||
"SILVERADO 3500",
|
||||
"DAKOTA",
|
||||
"RAM 1500",
|
||||
"RAM 2500",
|
||||
"RAM 3500",
|
||||
"RAM 4500",
|
||||
"RAM 5500",
|
||||
"CANYON",
|
||||
"SIERRA 1500",
|
||||
"SIERRA 2500",
|
||||
"SIERRA 3500",
|
||||
"SONOMA",
|
||||
"1500"
|
||||
]
|
||||
@@ -22,3 +22,7 @@ export const setReportingError = (data) => ({
|
||||
type: ReportingActionTypes.SET_REPORTING_ERROR,
|
||||
payload: data,
|
||||
});
|
||||
export const toggleGroupVerified = (jobId) => ({
|
||||
type: ReportingActionTypes.TOGGLE_GROUP_VERIFIED,
|
||||
payload: jobId,
|
||||
});
|
||||
|
||||
@@ -28,6 +28,17 @@ const applicationReducer = (state = INITIAL_STATE, action) => {
|
||||
return { ...state, data: action.payload };
|
||||
case ReportingActionTypes.SET_SCORE_CARD:
|
||||
return { ...state, loading: false, scoreCard: action.payload };
|
||||
case ReportingActionTypes.TOGGLE_GROUP_VERIFIED:
|
||||
return {
|
||||
...state,
|
||||
data: state.data.map((d) => {
|
||||
if (d.id === action.payload) {
|
||||
return { ...d, group_verified: !d.group_verified };
|
||||
} else {
|
||||
return d;
|
||||
}
|
||||
}),
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
||||
@@ -4,5 +4,6 @@ const ReportingActionTypes = {
|
||||
SET_REPORTING_DATA: "SET_REPORTING_DATA",
|
||||
SET_SCORE_CARD: "SET_SCORE_CARD",
|
||||
SET_REPORTING_ERROR: "SET_REPORTING_ERROR",
|
||||
TOGGLE_GROUP_VERIFIED: "TOGGLE_GROUP_VERIFIED",
|
||||
};
|
||||
export default ReportingActionTypes;
|
||||
|
||||
Reference in New Issue
Block a user