IO-233 Insert DMS Vehicle
This commit is contained in:
@@ -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,
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user