Merged in release/2021-12-03 (pull request #282)
release/2021-12-03 Approved-by: Patrick Fic
This commit is contained in:
1
_reference/Test_CDK_Acct Config.json
Normal file
1
_reference/Test_CDK_Acct Config.json
Normal file
File diff suppressed because one or more lines are too long
@@ -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>
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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",
|
||||
},
|
||||
|
||||
@@ -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={[
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -496,9 +496,11 @@
|
||||
"deliverchecklist": "",
|
||||
"dms": {
|
||||
"cdk": {
|
||||
"controllist": "",
|
||||
"payers": ""
|
||||
},
|
||||
"cdk_dealerid": "",
|
||||
"pbs_serialnumber": "",
|
||||
"title": ""
|
||||
},
|
||||
"emaillater": "",
|
||||
|
||||
@@ -496,9 +496,11 @@
|
||||
"deliverchecklist": "",
|
||||
"dms": {
|
||||
"cdk": {
|
||||
"controllist": "",
|
||||
"payers": ""
|
||||
},
|
||||
"cdk_dealerid": "",
|
||||
"pbs_serialnumber": "",
|
||||
"title": ""
|
||||
},
|
||||
"emaillater": "",
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) })
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
1531
server/data/arms.js
1531
server/data/arms.js
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user