IO-233 Insert DMS Vehicle

This commit is contained in:
Patrick Fic
2021-08-24 15:56:10 -07:00
parent db2b4739c2
commit 748f8f472d
2 changed files with 72 additions and 2 deletions

View File

@@ -53,7 +53,7 @@ export function DmsPostForm({ bodyshop, socket, job }) {
const handleFinish = (values) => {
socket.emit(`${determineDmsType(bodyshop)}-export-job`, {
jobId: job.id,
...values,
txEnvelope: values,
});
};

View File

@@ -12,10 +12,12 @@ const CdkBase = require("../web-sockets/web-socket");
const CdkWsdl = require("./cdk-wsdl").default;
const logger = require("../utils/logger");
const { CDK_CREDENTIALS, CheckCdkResponseForError } = require("./cdk-wsdl");
const moment = require("moment");
exports.default = async function (socket, { jobid }) {
exports.default = async function (socket, { txEnvelope, jobid }) {
socket.logEvents = [];
socket.recordid = jobid;
socket.txEnvelope = txEnvelope;
try {
CdkBase.createLogEvent(
socket,
@@ -567,3 +569,71 @@ async function InsertDmsCustomer(socket, JobData, newCustomerNumber) {
throw new Error(error);
}
}
async function InsertDmsVehicle(socket, JobData) {
try {
const soapClientVehicleInsertUpdate = await soap.createClientAsync(
CdkWsdl.VehicleInsertUpdate
);
const soapResponseVehicleInsertUpdate =
await soapClientVehicleInsertUpdate.insertAsync({
arg0: CDK_CREDENTIALS,
arg1: { id: JobData.bodyshop.cdk_dealerid },
arg2: {
dealer: {
dealerNumber: JobData.bodyshop.cdk_dealerid,
VehicleId: socket.DmsVehId.vehiclesVehId,
},
manufacturer: {},
vehicle: {
DeliveryDate: moment().format("YYYYMMDD"),
Make: socket.txEnvelope.dms_make,
Model: socket.txEnvelope.dms_model,
ModelYear: JobData.v_model_yr,
OdometerStatus: socket.txEnvelope.kmout,
SaleClassValue: "MISC",
VIN: JobData.v_vin,
},
owners: {
id: {
assigningPartyId: "CURRENT",
value: socket.DmsCust.id.value,
},
},
},
});
CheckCdkResponseForError(socket, soapResponseVehicleInsertUpdate);
const [result, rawResponse, , rawRequest] = soapResponseVehicleInsertUpdate;
CdkBase.createXmlEvent(
socket,
rawRequest,
`soapClientVehicleInsertUpdate.insertAsync reqest.`
);
CdkBase.createLogEvent(
socket,
"TRACE",
`soapClientVehicleInsertUpdate.insertAsync Result ${JSON.stringify(
result,
null,
2
)}`
);
CdkBase.createXmlEvent(
socket,
rawResponse,
`soapClientVehicleInsertUpdate.insertAsync response.`
);
const VehicleFromDMS = result && result.return && result.return.vehicle;
return VehicleFromDMS;
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error in QueryDmsVehicleById - ${error}`
);
throw new Error(error);
}
}