IO-117 PBS WIP
This commit is contained in:
@@ -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,
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user