IO-117 PBS WIP

This commit is contained in:
Patrick Fic
2021-11-10 08:18:29 -08:00
parent 4a68a10005
commit d50e845ba0

View File

@@ -30,6 +30,9 @@ exports.default = async function (socket, { txEnvelope, jobid }) {
const JobData = await QueryJobData(socket, jobid);
socket.JobData = JobData;
socket.DmsVeh = await QueryVehicleFromDms(socket);
socket.DmsCustList = await QueryCustomersFromDms(socket);
//Upsert the contact information as per Wafaa's Email.
CdkBase.createLogEvent(
socket,
@@ -42,7 +45,7 @@ exports.default = async function (socket, { txEnvelope, jobid }) {
"DEBUG",
`Upserting vehicle information to DMS for ${socket.JobData.v_vin}`
);
// await UpsertVehicleData(socket, ownerRef.ReferenceId);
await UpsertVehicleData(socket, ownerRef.ReferenceId);
CdkBase.createLogEvent(socket, "DEBUG", `Inserting account data.`);
await InsertAccountPostingData(socket);
CdkBase.createLogEvent(socket, "DEBUG", `Marking job as exported.`);
@@ -60,7 +63,11 @@ exports.default = async function (socket, { txEnvelope, jobid }) {
async function CheckForErrors(socket, response) {
if (response.WasSuccessful) {
return;
CdkBase.createLogEvent(
socket,
"DEBUG",
`Succesful response from DMS:. ${response.Message}`
);
} else {
CdkBase.createLogEvent(
socket,
@@ -89,6 +96,81 @@ async function QueryJobData(socket, jobid) {
return result.jobs_by_pk;
}
async function QueryVehicleFromDms(socket) {
try {
const { data: VehicleGetResponse } = await axios.post(
PBS_ENDPOINTS.VehicleGet,
{
SerialNumber: socket.JobData.bodyshop.pbs_serialnumber,
// VehicleId: "00000000000000000000000000000000",
// Year: "String",
// Make: "String",
// Model: "String",
// Trim: "String",
// ModelNumber: "String",
// StockNumber: "String",
VIN: socket.JobData.v_vin,
// LicenseNumber: "String",
// Lot: "String",
// Status: "String",
// StatusList: ["String"],
// OwnerRef: "00000000000000000000000000000000",
// ModifiedSince: "0001-01-01T00:00:00.0000000Z",
// ModifiedUntil: "0001-01-01T00:00:00.0000000Z",
// LastSaleSince: "0001-01-01T00:00:00.0000000Z",
// VehicleIDList: ["00000000000000000000000000000000"],
// IncludeInactive: false,
// IncludeBuildVehicles: false,
// ShortVIN: "String",
},
{ auth: PBS_CREDENTIALS }
);
CheckForErrors(socket, VehicleGetResponse);
return VehicleGetResponse;
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error in QueryVehicleFromDms - ${error}`
);
throw new Error(error);
}
}
async function QueryCustomersFromDms(socket) {
try {
const { data: CustomerGetResponse } = await axios.post(
PBS_ENDPOINTS.ContactGet,
{
SerialNumber: socket.JobData.bodyshop.pbs_serialnumber,
//ContactId: "00000000000000000000000000000000",
ContactCode: socket.JobData.owner.accountingid,
FirstName: socket.JobData.ownr_fn,
LastName: socket.JobData.ownr_ln,
PhoneNumber: socket.JobData.ownr_ph1,
// EmailAddress: "String",
// ModifiedSince: "0001-01-01T00:00:00.0000000Z",
// ModifiedUntil: "0001-01-01T00:00:00.0000000Z",
// ContactIdList: ["00000000000000000000000000000000"],
// IncludeInactive: false,
// PayableAccount: "String",
// ReceivableAccount: "String",
// DriverLicense: "String",
// ZipCode: "String",
},
{ auth: PBS_CREDENTIALS }
);
CheckForErrors(socket, CustomerGetResponse);
return CustomerGetResponse;
} catch (error) {
CdkBase.createLogEvent(
socket,
"ERROR",
`Error in QueryCustomersFromDms - ${error}`
);
throw new Error(error);
}
}
async function UpsertContactData(socket) {
try {
const { data: ContactChangeResponse } = await axios.post(
@@ -393,20 +475,6 @@ async function InsertAccountPostingData(socket) {
}
});
console.log(
JSON.stringify({
SerialNumber: socket.JobData.bodyshop.pbs_serialnumber,
Posting: {
Reference: socket.JobData.ro_number,
JournalCode: socket.txEnvelope.journal,
TransactionDate: moment(socket.JobData.date_invoiced).toISOString(), //"0001-01-01T00:00:00.0000000Z",
Description: socket.txEnvelope.story,
//AdditionalInfo: "String",
Source: "ImEX Online",
Lines: wips,
},
})
);
const { data: AccountPostingChange } = await axios.post(
PBS_ENDPOINTS.AccountingPostingChange,
{