feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration - Enhance logging

This commit is contained in:
Dave
2025-11-13 16:38:00 -05:00
parent 4c250f6189
commit 9cb1b25b1d
6 changed files with 66 additions and 15 deletions

View File

@@ -9,7 +9,8 @@ const CreateRRLogEvent = require("./rr-logger-event");
* @returns {Promise<{success, data: *, roStatus: *, statusBlocks,customerNo: string, svId: null, roNo: *}>}
*/
const exportJobToRR = async (args) => {
const { bodyshop, job, advisorNo, selectedCustomer, existing, socket } = args || {};
const { bodyshop, job, advisorNo, selectedCustomer, txEnvelope, socket } = args || {};
const existing = txEnvelope?.existing || {};
if (!bodyshop) throw new Error("exportJobToRR: bodyshop is required");
if (!job) throw new Error("exportJobToRR: job is required");
@@ -22,6 +23,7 @@ const exportJobToRR = async (args) => {
if (!selected) throw new Error("exportJobToRR: selectedCustomer.custNo/customerNo is required");
const { client, opts } = buildClientAndOpts(bodyshop);
const finalOpts = {
...opts,
envelope: {
@@ -37,6 +39,7 @@ const exportJobToRR = async (args) => {
// Ensure service vehicle for create flows (best-effort)
let svId = null;
if (!(existing?.roNo || existing?.dmsRoNo || existing?.dmsRepairOrderId)) {
try {
const svRes = await ensureRRServiceVehicle({
@@ -53,11 +56,16 @@ const exportJobToRR = async (args) => {
}
}
const story = txEnvelope?.story ? String(txEnvelope.story).trim() : null;
const makeOverride = txEnvelope?.makeOverride ? String(txEnvelope.makeOverride).trim() : null;
// Build RO payload for create/update
const payload = buildRRRepairOrderPayload({
job,
selectedCustomer: { customerNo: String(selected), custNo: String(selected) },
advisorNo: String(advisorNo)
advisorNo: String(advisorNo),
story,
makeOverride
});
// Canonical update key is "roNo" (prefer DMS RO number); accept fallbacks from "existing"
@@ -68,6 +76,7 @@ const exportJobToRR = async (args) => {
: await client.createRepairOrder(payload, finalOpts);
CreateRRLogEvent(socket, "INFO", `RR raw Repair Order ${roNoForUpdate ? "updated" : "created"}`, {
payload,
response
});
@@ -150,6 +159,12 @@ const finalizeRRRepairOrder = async (args) => {
});
const rrRes = await client.updateRepairOrder(payload, finalOpts);
CreateRRLogEvent(socket, "SILLY", "RR Repair Order finalized", {
payload,
response: rrRes
});
const data = rrRes?.data || null;
const roStatus = data?.roStatus || null;