Merged in release/2021-12-03 (pull request #282)

release/2021-12-03

Approved-by: Patrick Fic
This commit is contained in:
Patrick Fic
2021-12-01 21:38:21 +00:00
15 changed files with 968 additions and 756 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
<babeledit_project version="1.2" be_version="2.7.1">
<babeledit_project be_version="2.7.1" version="1.2">
<!--
BabelEdit project file
@@ -7994,6 +7994,27 @@
<folder_node>
<name>cdk</name>
<children>
<concept_node>
<name>controllist</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>payers</name>
<definition_loaded>false</definition_loaded>
@@ -8038,6 +8059,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>pbs_serialnumber</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>title</name>
<definition_loaded>false</definition_loaded>

View File

@@ -34,7 +34,7 @@ export const tracker = new Tracker({
// trackerAssist({ confirmText: "Technical support is about to assist you." })
// ); // check the list of available options below
export const recordGraphQL = tracker.use(trackerGraphQL());
tracker.start();
//tracker.start();
if (process.env.NODE_ENV === "production") LogRocket.init("gvfvfw/bodyshopapp");
export const factory = SplitSdk({

View File

@@ -34,10 +34,7 @@ export function DmsCustomerSelector({ bodyshop }) {
setVisible(true);
setDmsType("pbs");
setcustomerList(customerList);
console.log(
"🚀 ~ file: dms-customer-selector.component.jsx ~ line 37 ~ socket.on ~ customerList",
customerList
);
});
const onUseSelected = () => {
@@ -49,7 +46,7 @@ export function DmsCustomerSelector({ bodyshop }) {
const onUseGeneric = () => {
setVisible(false);
socket.emit(
"cdk-selected-customer",
`${dmsType}selected-customer`,
bodyshop.cdk_configuration.generic_customer_number
);
setSelectedCustomer(null);
@@ -57,7 +54,7 @@ export function DmsCustomerSelector({ bodyshop }) {
const onCreateNew = () => {
setVisible(false);
socket.emit("cdk-selected-customer", null);
socket.emit(`${dmsType}-selected-customer`, null);
setSelectedCustomer(null);
};
@@ -102,12 +99,6 @@ export function DmsCustomerSelector({ bodyshop }) {
dataIndex: "ContactId",
key: "ContactId",
},
{
title: t("jobs.fields.dms.vinowner"),
dataIndex: "vinOwner",
key: "vinOwner",
render: (text, record) => <Checkbox disabled checked={record.vinOwner} />,
},
{
title: t("jobs.fields.dms.name1"),
key: "name1",
@@ -127,6 +118,7 @@ export function DmsCustomerSelector({ bodyshop }) {
if (!visible) return null;
return (
<Col span={24}>
{dmsType}
<Table
title={() => (
<div>

View File

@@ -1,14 +1,16 @@
import { DeleteFilled } from "@ant-design/icons";
import { DeleteFilled, DownOutlined } from "@ant-design/icons";
import {
Button,
Card,
Divider,
Dropdown,
Form,
Input,
InputNumber,
Select,
Space,
Statistic,
Menu,
Typography,
} from "antd";
import Dinero from "dinero.js";
@@ -252,6 +254,42 @@ export function DmsPostForm({ bodyshop, socket, job }) {
}}
</Form.Item>
<Dropdown
overlay={
<Menu>
{bodyshop.cdk_configuration.controllist &&
bodyshop.cdk_configuration.controllist.map(
(key, idx) => (
<Menu.Item
key={idx}
onClick={() => {
form.setFieldsValue({
payers: form
.getFieldValue("payers")
.map((row, mapIndex) => {
if (index !== mapIndex) return row;
return {
...row,
controlnumber: key.controlnumber,
};
}),
});
}}
>
{key.name}
</Menu.Item>
)
)}
</Menu>
}
>
<a href=" #" onClick={(e) => e.preventDefault()}>
{t("bodyshop.labels.dms.cdk.controllist")}{" "}
<DownOutlined />
</a>
</Dropdown>
<DeleteFilled
onClick={() => {
remove(field.name);

View File

@@ -100,7 +100,7 @@ export function JobsAvailableContainer({
}
//IO-539 Check for Parts Rate on PAL for SGI use case.
await CheckTaxRates(estData.est_data, bodyshop);
console.log(estData);
const newTotals = (
await Axios.post("/job/totals", {
job: {

View File

@@ -472,7 +472,7 @@ export default function ShopInfoGeneral({ form }) {
label={t("bodyshop.fields.md_email_cc", { template: "parts_order" })}
rules={[
{
required: true,
//message: t("general.validation.required"),
type: "array",
},
@@ -492,7 +492,7 @@ export default function ShopInfoGeneral({ form }) {
label={t("bodyshop.fields.md_ded_notes")}
rules={[
{
required: true,
//message: t("general.validation.required"),
type: "array",
},

View File

@@ -73,7 +73,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
return (
<div>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber)&& (
<>
<DataLabel label={t("bodyshop.labels.dms.cdk_dealerid")}>
{form.getFieldValue("cdk_dealerid")}
@@ -201,6 +201,63 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
}}
</Form.List>
</LayoutFormRow>
<LayoutFormRow header={t("bodyshop.labels.dms.cdk.controllist")}>
<Form.List name={["cdk_configuration", "controllist"]}>
{(fields, { add, remove }) => {
return (
<div>
{fields.map((field, index) => (
<Form.Item key={field.key}>
<LayoutFormRow noDivider>
<Form.Item
label={t("jobs.fields.dms.payer.name")}
key={`${index}name`}
name={[field.name, "name"]}
rules={[
{
required: true,
},
]}
>
<Input />
</Form.Item>
<Form.Item
label={t("jobs.fields.dms.payer.controlnumber")}
key={`${index}controlnumber`}
name={[field.name, "controlnumber"]}
rules={[
{
required: true,
},
]}
>
<Input />
</Form.Item>
<DeleteFilled
onClick={() => {
remove(field.name);
}}
/>
</LayoutFormRow>
</Form.Item>
))}
<Form.Item>
<Button
type="dashed"
onClick={() => {
add();
}}
style={{ width: "100%" }}
>
{t("general.actions.add")}
</Button>
</Form.Item>
</div>
);
}}
</Form.List>
</LayoutFormRow>
</>
)}
@@ -293,7 +350,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
<Input onBlur={handleBlur} />
</Form.Item> */}
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_acctnumber")}
key={`${index}dms_acctnumber`}
@@ -307,7 +364,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
<Input onBlur={handleBlur} />
</Form.Item>
)}
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_wip_acctnumber")}
key={`${index}dms_wip_acctnumber`}
@@ -430,7 +487,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
>
<Input onBlur={handleBlur} />
</Form.Item>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_acctnumber")}
key={`${index}dms_acctnumber`}
@@ -470,7 +527,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
</LayoutFormRow>
<SelectorDiv>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<>
<Form.List name={["md_responsibility_centers", "dms_defaults"]}>
{(fields, { add, remove }) => {
@@ -3921,7 +3978,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
>
<Input />
</Form.Item>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_acctnumber")}
rules={[
@@ -4019,7 +4076,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
>
<Input />
</Form.Item>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_acctnumber")}
rules={[
@@ -4117,7 +4174,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
>
<Input />
</Form.Item>
{bodyshop.cdk_dealerid && (
{(bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber) && (
<Form.Item
label={t("bodyshop.fields.dms.dms_acctnumber")}
rules={[

View File

@@ -496,9 +496,11 @@
"deliverchecklist": "Delivery Checklist",
"dms": {
"cdk": {
"controllist": "Control Number List",
"payers": "CDK Payers"
},
"cdk_dealerid": "CDK Dealer ID",
"pbs_serialnumber": "PBS Serial Number",
"title": "DMS"
},
"emaillater": "Email Later",

View File

@@ -496,9 +496,11 @@
"deliverchecklist": "",
"dms": {
"cdk": {
"controllist": "",
"payers": ""
},
"cdk_dealerid": "",
"pbs_serialnumber": "",
"title": ""
},
"emaillater": "",

View File

@@ -496,9 +496,11 @@
"deliverchecklist": "",
"dms": {
"cdk": {
"controllist": "",
"payers": ""
},
"cdk_dealerid": "",
"pbs_serialnumber": "",
"title": ""
},
"emaillater": "",

View File

@@ -85,7 +85,7 @@ exports.PbsSelectedCustomer = async function PbsSelectedCustomer(
CdkBase.createLogEvent(socket, "DEBUG", `Inserting account data.`);
await InsertAccountPostingData(socket);
CdkBase.createLogEvent(socket, "DEBUG", `Marking job as exported.`);
// await MarkJobExported(socket, socket.JobData.id);
await MarkJobExported(socket, socket.JobData.id);
socket.emit("export-success", socket.JobData.id);
} catch (error) {

View File

@@ -192,7 +192,7 @@ exports.default = async function (socket, jobid) {
// );
taxAllocations.state.sale = taxAllocations.state.sale.add(
Dinero({ amount: (ca_bc_pvrt || 0) * 100 })
Dinero({ amount: Math.round((ca_bc_pvrt || 0) * 100) })
);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1254,6 +1254,7 @@ exports.GET_CDK_ALLOCATIONS = `query QUERY_JOB_CLOSE_DETAILS($id: uuid!) {
actual_delivery
scheduled_in
actual_in
ca_bc_pvrt
timetickets {
id
actualhrs