Compare commits

..

3 Commits

Author SHA1 Message Date
Patrick Fic
ebde2516b7 Expose in service date for CDK. 2021-12-29 21:55:02 -08:00
Patrick Fic
b29903c644 Cherrypick CDK Fixes. 2021-12-29 20:05:26 -08:00
Patrick Fic
93e2bfdc96 Merged in hotfix/2021-12-28 (pull request #322)
Resolve CDK generic customer.

Approved-by: Patrick Fic
2021-12-28 19:24:52 +00:00
6 changed files with 98 additions and 38 deletions

View File

@@ -20474,6 +20474,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>inservicedate</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>journal</name>
<definition_loaded>false</definition_loaded>

View File

@@ -2,6 +2,7 @@ import { DeleteFilled, DownOutlined } from "@ant-design/icons";
import {
Button,
Card,
DatePicker,
Divider,
Dropdown,
Form,
@@ -24,6 +25,7 @@ import DmsCdkMakes from "../dms-cdk-makes/dms-cdk-makes.component";
import DmsCdkMakesRefetch from "../dms-cdk-makes/dms-cdk-makes.refetch.component";
import CurrencyInput from "../form-items-formatted/currency-form-item.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
import moment from "moment";
const mapStateToProps = createStructuredSelector({
bodyshop: selectBodyshop,
@@ -82,6 +84,7 @@ export function DmsPostForm({ bodyshop, socket, job, logsRef }) {
ro_number: job.ro_number,
area_of_damage: job.area_of_damage && job.area_of_damage.impact1,
}).substr(0, 239),
inservicedate: moment("2019-01-01"),
}}
>
<LayoutFormRow grow>
@@ -154,6 +157,12 @@ export function DmsPostForm({ bodyshop, socket, job, logsRef }) {
>
<Input disabled />
</Form.Item>
<Form.Item
name="inservicedate"
label={t("jobs.fields.dms.inservicedate")}
>
<DatePicker format="MM/DD/YYYY" />
</Form.Item>
</LayoutFormRow>
<Space>
<DmsCdkMakes form={form} socket={socket} job={job} />

View File

@@ -1248,6 +1248,7 @@
"dms_model": "DMS Model",
"dms_wip_acctnumber": "Cost WIP DMS Acct #",
"id": "DMS ID",
"inservicedate": "In Service Date",
"journal": "Journal #",
"name1": "Customer Name",
"payer": {

View File

@@ -1248,6 +1248,7 @@
"dms_model": "",
"dms_wip_acctnumber": "",
"id": "",
"inservicedate": "",
"journal": "",
"name1": "",
"payer": {

View File

@@ -1248,6 +1248,7 @@
"dms_model": "",
"dms_wip_acctnumber": "",
"id": "",
"inservicedate": "",
"journal": "",
"name1": "",
"payer": {

View File

@@ -96,6 +96,7 @@ exports.default = async function (socket, { txEnvelope, jobid }) {
async function CdkSelectedCustomer(socket, selectedCustomerId) {
try {
socket.selectedCustomerId = selectedCustomerId;
if (selectedCustomerId) {
CdkBase.createLogEvent(
socket,
@@ -282,7 +283,12 @@ async function CalculateDmsVid(socket, JobData) {
)}`
);
CheckCdkResponseForError(socket, soapResponseVehicleInsertUpdate);
return result && result.return && result.return[0];
//if (result && result.return && result.return.length > 1) {
return result.return.find((r) => r.vehiclesVehId);
//}
//return result && result.return && result.return[0];
} catch (error) {
CdkBase.createXmlEvent(
socket,
@@ -605,7 +611,9 @@ async function InsertDmsCustomer(socket, newCustomerNumber) {
contactInfo: {
mainTelephoneNumber: {
main: true,
value: socket.JobData.ownr_ph1,
value:
socket.JobData.ownr_ph1 &&
socket.JobData.ownr_ph1.replace(replaceSpecialRegex, ""),
},
email: {
desc: socket.JobData.ownr_ea ? "Other" : "CustomerDeclined",
@@ -706,7 +714,11 @@ async function InsertDmsVehicle(socket) {
arg2: {
dealer: {
dealerNumber: socket.JobData.bodyshop.cdk_dealerid,
inServiceDate: moment().startOf("day").toISOString(),
...(socket.txEnvelope.inservicedate && {
inServiceDate: moment(socket.txEnvelope.inservicedate)
.startOf("day")
.toISOString(),
}),
vehicleId: socket.DMSVid.vehiclesVehId,
},
manufacturer: {},
@@ -773,45 +785,56 @@ async function UpdateDmsVehicle(socket) {
let ids = [];
const existingOwnerinVeh =
socket.DMSVeh &&
socket.DMSVeh.owners &&
socket.DMSVeh.owners.find((o) => o.id.value === socket.DMSCust.id.value);
//if it's a generic customer, don't update the vehicle owners.
if (existingOwnerinVeh) {
ids = socket.DMSVeh.owners.map((o) => {
return {
id: {
assigningPartyId:
o.id.value === socket.DMSCust.id.value ? "CURRENT" : "PREVIOUS",
value: o.id.value,
},
};
});
if (
socket.selectedCustomerId ===
socket.JobData.bodyshop.cdk_configuration.generic_customer_number
) {
ids = socket.DMSVeh && socket.DMSVeh.owners && socket.DMSVeh.owners;
} else {
const oldOwner =
const existingOwnerinVeh =
socket.DMSVeh &&
socket.DMSVeh.owners &&
socket.DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
socket.DMSVeh.owners.find(
(o) => o.id.value === socket.DMSCust.id.value
);
ids = [
{
id: {
assigningPartyId: "CURRENT",
value: socket.DMSCust.id.value,
if (existingOwnerinVeh) {
ids = socket.DMSVeh.owners.map((o) => {
return {
id: {
assigningPartyId:
o.id.value === socket.DMSCust.id.value ? "CURRENT" : "PREVIOUS",
value: o.id.value,
},
};
});
} else {
const oldOwner =
socket.DMSVeh &&
socket.DMSVeh.owners &&
socket.DMSVeh.owners.find((o) => o.id.assigningPartyId === "CURRENT");
ids = [
{
id: {
assigningPartyId: "CURRENT",
value: socket.DMSCust.id.value,
},
},
},
...(oldOwner
? [
{
id: {
assigningPartyId: "PREVIOUS",
value: oldOwner.id.value,
...(oldOwner
? [
{
id: {
assigningPartyId: "PREVIOUS",
value: oldOwner.id.value,
},
},
},
]
: []),
];
]
: []),
];
}
}
const soapResponseVehicleInsertUpdate =
@@ -822,9 +845,13 @@ async function UpdateDmsVehicle(socket) {
...socket.DMSVeh,
dealer: {
...socket.DMSVeh.dealer,
inServiceDate: moment(
socket.DMSVeh.dealer.inServiceDate
).toISOString(),
...((socket.txEnvelope.inservicedate ||
socket.DMSVeh.dealer.inServiceDate) && {
inServiceDate: moment(
socket.DMSVeh.dealer.inServiceDate ||
socket.txEnvelope.inservicedate
).toISOString(),
}),
},
vehicle: {
...socket.DMSVeh.vehicle,