From dcc59ab2fea42a85416bdd1870a35aeb0257de50 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 11 Jul 2025 16:13:45 -0700 Subject: [PATCH] Initial working ATA scrubbing. --- electron/decoder/decoder.js | 8 ++++---- electron/estimate-scrubber/estimate-scrubber.js | 10 +++++----- .../estimate-scrubber-button.molecule.jsx | 6 +++--- .../organisms/jobs-detail/jobs-detail.organism.jsx | 8 +++++++- src/graphql/jobs.queries.js | 1 + 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/electron/decoder/decoder.js b/electron/decoder/decoder.js index ac80312..f5e985b 100644 --- a/electron/decoder/decoder.js +++ b/electron/decoder/decoder.js @@ -287,7 +287,7 @@ async function DecodeVehFile(extensionlessFilePath) { // "V_ENGINE", // "V_COLOR", // "V_TONE", - "V_STAGE", + "V_STAGE", // "PAINT_CD1", // "PAINT_CD2", // "PAINT_CD3", @@ -400,7 +400,7 @@ async function DecodePflFile(extensionlessFilePath,) { let dbf = await DBFFile.open(`${extensionlessFilePath}.PFL`); let records = await dbf.readRecords(); let pflLines = records.map((record) => { - return _.transform( + return ( _.pick(record, [ "LBR_TYPE", "LBR_DESC", "LBR_RATE" ]) @@ -415,7 +415,7 @@ async function DecodeStlFile(extensionlessFilePath,) { let dbf = await DBFFile.open(`${extensionlessFilePath}.STL`); let records = await dbf.readRecords(); let pflLines = records.map((record) => { - return _.transform( + return ( _.pick(record, [ "TTL_TYPECD", "T_AMT", 'T_HRS', "NT_HRS" ]) @@ -431,7 +431,7 @@ async function DecodePfmFile(extensionlessFilePath,) { let dbf = await DBFFile.open(`${extensionlessFilePath}.PFM`); let records = await dbf.readRecords(); let pflLines = records.map((record) => { - return _.transform( + return ( _.pick(record, [ "MAT_TYPE", "CAL_PRETHR" ]) diff --git a/electron/estimate-scrubber/estimate-scrubber.js b/electron/estimate-scrubber/estimate-scrubber.js index 2259503..17d3833 100644 --- a/electron/estimate-scrubber/estimate-scrubber.js +++ b/electron/estimate-scrubber/estimate-scrubber.js @@ -8,7 +8,6 @@ const axios = require("axios"); const TestJson = require("./A.json"); const { BrowserWindow } = require("electron"); - async function ScrubEstimate({ job }) { //TODO: Fetch these from ImEX Online API. const basicAuthUser = "Imex"; @@ -26,12 +25,14 @@ async function ScrubEstimate({ job }) { job.sending_entity_id = sendingEntityId; job.sending_entity_accept_terms_of_use = true; job.association_switch = "ATAM"; - job.rf_ph1 = "R0G 1Z0"; - job.rf_zip = "2043792253"; + job.rf_zip = "R0G 1Z0"; + job.rf_ph1 = "2043792253"; job.g_ttl_amt = job.clm_total; + delete job.clm_total; console.log("*** ~ ScrubEstimate ~ job:", job); + log.debug("Estimate Scrubber Job Data:", job); //Build the JSON Form Data const fileName = `RPSTest-${job.id}-${Date.now()}`; const formData = new FormData(); @@ -45,11 +46,10 @@ async function ScrubEstimate({ job }) { }, headers: formData.getHeaders ? formData.getHeaders() : {} }); - console.log("*** ~ handleScrub ~ result:", result.data); const resultPDFUrl = result?.data?.[0] || `https://www.insurtechtoolkit.com/analysis/${fileName}.pdf`; - console.log("*** ~ handleScrub ~ resultPDFUrl:", resultPDFUrl); + log.debug("Estimate Scrubber Result:", result.data, resultPDFUrl); const pdfWindow = new BrowserWindow({ webPreferences: { diff --git a/src/components/molecules/estimate-scrubber-button/estimate-scrubber-button.molecule.jsx b/src/components/molecules/estimate-scrubber-button/estimate-scrubber-button.molecule.jsx index 6976cc6..5b9eba8 100644 --- a/src/components/molecules/estimate-scrubber-button/estimate-scrubber-button.molecule.jsx +++ b/src/components/molecules/estimate-scrubber-button/estimate-scrubber-button.molecule.jsx @@ -6,7 +6,7 @@ import ipcTypes from "../../../ipc.types"; import { selectBodyshop } from "../../../redux/user/user.selectors"; import { useApolloClient } from "@apollo/client"; import { QUERY_JOB_ESTIMATE_SCRUBBER } from "../../../graphql/jobs.queries"; - +import _ from "lodash"; const { ipcRenderer } = window; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser @@ -17,7 +17,7 @@ const mapDispatchToProps = (dispatch) => ({ }); export default connect(mapStateToProps, mapDispatchToProps)(EstimateScrubberButton); -export function EstimateScrubberButton({ bodyshop, jobid }) { +export function EstimateScrubberButton({ bodyshop, jobid, job }) { const [loading, setLoading] = useState(false); const client = useApolloClient(); const handleScrub = async () => { @@ -45,7 +45,7 @@ export function EstimateScrubberButton({ bodyshop, jobid }) { }; return ( - ); diff --git a/src/components/organisms/jobs-detail/jobs-detail.organism.jsx b/src/components/organisms/jobs-detail/jobs-detail.organism.jsx index e728549..623d20e 100644 --- a/src/components/organisms/jobs-detail/jobs-detail.organism.jsx +++ b/src/components/organisms/jobs-detail/jobs-detail.organism.jsx @@ -83,7 +83,13 @@ export function JobsDetailOrganism({ selectedJobId, setSelectedJobTargetPc }) { ]} + extra={[ + + ]} > diff --git a/src/graphql/jobs.queries.js b/src/graphql/jobs.queries.js index 912912a..12feab3 100644 --- a/src/graphql/jobs.queries.js +++ b/src/graphql/jobs.queries.js @@ -102,6 +102,7 @@ export const QUERY_JOB_BY_PK = gql` requires_reimport created_at v_mileage + g_bett_amt joblines(order_by: { line_no: asc }) { id line_no