feature/IO-3357-Reynolds-and-Reynolds-DMS-API-Integration - Checkpoint
This commit is contained in:
@@ -14,16 +14,17 @@ async function exportJobToRR(args) {
|
||||
const log = RRLogger(socket, { ns: "rr-export" });
|
||||
|
||||
if (!bodyshop) throw new Error("exportJobToRR: bodyshop is required");
|
||||
|
||||
if (!job) throw new Error("exportJobToRR: job is required");
|
||||
|
||||
if (advisorNo == null || String(advisorNo).trim() === "") {
|
||||
throw new Error("exportJobToRR: advisorNo is required for RR");
|
||||
}
|
||||
|
||||
// Now strictly require custNo here
|
||||
const custNo =
|
||||
(selectedCustomer && (selectedCustomer.custNo || selectedCustomer.CustNo || selectedCustomer.customerNo)) ||
|
||||
(typeof selectedCustomer === "string" || typeof selectedCustomer === "number" ? String(selectedCustomer) : null);
|
||||
if (!custNo) throw new Error("exportJobToRR: selectedCustomer.custNo is required");
|
||||
// Resolve customer number (accept multiple shapes)
|
||||
const selected = selectedCustomer?.customerNo;
|
||||
|
||||
if (!selected) throw new Error("exportJobToRR: selectedCustomer.custNo/customerNo is required");
|
||||
|
||||
const { client, opts } = buildClientAndOpts(bodyshop);
|
||||
const finalOpts = {
|
||||
@@ -42,7 +43,14 @@ async function exportJobToRR(args) {
|
||||
let svId = null;
|
||||
if (!existing?.dmsRepairOrderId) {
|
||||
try {
|
||||
const svRes = await ensureRRServiceVehicle({ bodyshop, custNo, job, overrides: {}, socket });
|
||||
// Provide both customerNo and custNo for safety
|
||||
const svRes = await ensureRRServiceVehicle({
|
||||
bodyshop,
|
||||
job,
|
||||
overrides: {},
|
||||
customerNo: String(selected),
|
||||
socket
|
||||
});
|
||||
svId = svRes?.svId || null;
|
||||
log("info", "RR service vehicle ensured", { created: svRes?.created, svId });
|
||||
} catch (e) {
|
||||
@@ -50,10 +58,11 @@ async function exportJobToRR(args) {
|
||||
}
|
||||
}
|
||||
|
||||
// Build RO payload (now includes both customerNo & custNo; advisorNo & advNo)
|
||||
const payload = buildRRRepairOrderPayload({
|
||||
job,
|
||||
selectedCustomer: { custNo },
|
||||
advisorNo
|
||||
selectedCustomer: { customerNo: String(selected) },
|
||||
advisorNo: String(advisorNo)
|
||||
});
|
||||
|
||||
const rrRes = existing?.dmsRepairOrderId
|
||||
@@ -69,7 +78,7 @@ async function exportJobToRR(args) {
|
||||
statusBlocks: rrRes?.statusBlocks || [],
|
||||
xml: rrRes?.xml,
|
||||
parsed: rrRes?.parsed,
|
||||
custNo,
|
||||
customerNo: String(selected),
|
||||
svId
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user