From 02a6ccd48124060e683dfad0ab2c77064b74fc58 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 6 Feb 2023 10:39:47 -0800 Subject: [PATCH 1/4] Add indexes to export logs. --- .../1675708520823_create_index_exportlog_billid/down.sql | 1 + .../1675708520823_create_index_exportlog_billid/up.sql | 2 ++ .../1675708547556_create_index_exportlog_jobid/down.sql | 1 + .../1675708547556_create_index_exportlog_jobid/up.sql | 2 ++ .../1675708579618_create_index_exportlog_payments/down.sql | 1 + .../1675708579618_create_index_exportlog_payments/up.sql | 2 ++ 6 files changed, 9 insertions(+) create mode 100644 hasura/migrations/1675708520823_create_index_exportlog_billid/down.sql create mode 100644 hasura/migrations/1675708520823_create_index_exportlog_billid/up.sql create mode 100644 hasura/migrations/1675708547556_create_index_exportlog_jobid/down.sql create mode 100644 hasura/migrations/1675708547556_create_index_exportlog_jobid/up.sql create mode 100644 hasura/migrations/1675708579618_create_index_exportlog_payments/down.sql create mode 100644 hasura/migrations/1675708579618_create_index_exportlog_payments/up.sql diff --git a/hasura/migrations/1675708520823_create_index_exportlog_billid/down.sql b/hasura/migrations/1675708520823_create_index_exportlog_billid/down.sql new file mode 100644 index 000000000..95fda734b --- /dev/null +++ b/hasura/migrations/1675708520823_create_index_exportlog_billid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "public"."exportlog_billid"; diff --git a/hasura/migrations/1675708520823_create_index_exportlog_billid/up.sql b/hasura/migrations/1675708520823_create_index_exportlog_billid/up.sql new file mode 100644 index 000000000..688820e5c --- /dev/null +++ b/hasura/migrations/1675708520823_create_index_exportlog_billid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "exportlog_billid" on + "public"."exportlog" using btree ("billid"); diff --git a/hasura/migrations/1675708547556_create_index_exportlog_jobid/down.sql b/hasura/migrations/1675708547556_create_index_exportlog_jobid/down.sql new file mode 100644 index 000000000..897febadc --- /dev/null +++ b/hasura/migrations/1675708547556_create_index_exportlog_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "public"."exportlog_jobid"; diff --git a/hasura/migrations/1675708547556_create_index_exportlog_jobid/up.sql b/hasura/migrations/1675708547556_create_index_exportlog_jobid/up.sql new file mode 100644 index 000000000..3eb318294 --- /dev/null +++ b/hasura/migrations/1675708547556_create_index_exportlog_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "exportlog_jobid" on + "public"."exportlog" using btree ("jobid"); diff --git a/hasura/migrations/1675708579618_create_index_exportlog_payments/down.sql b/hasura/migrations/1675708579618_create_index_exportlog_payments/down.sql new file mode 100644 index 000000000..8417b5a29 --- /dev/null +++ b/hasura/migrations/1675708579618_create_index_exportlog_payments/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "public"."exportlog_payments"; diff --git a/hasura/migrations/1675708579618_create_index_exportlog_payments/up.sql b/hasura/migrations/1675708579618_create_index_exportlog_payments/up.sql new file mode 100644 index 000000000..1a41704ec --- /dev/null +++ b/hasura/migrations/1675708579618_create_index_exportlog_payments/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "exportlog_payments" on + "public"."exportlog" using btree ("paymentid"); From e0eb4657d2f25cd6b5d1d6bb2e611c6ca084b07f Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Mon, 6 Feb 2023 12:45:19 -0800 Subject: [PATCH 2/4] Resolve null displays of vehicle names. --- .../owner-detail-jobs.component.jsx | 4 +++- .../vehicles-detail.page.container.jsx | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/client/src/components/owner-detail-jobs/owner-detail-jobs.component.jsx b/client/src/components/owner-detail-jobs/owner-detail-jobs.component.jsx index e6553e1ab..c69712a0b 100644 --- a/client/src/components/owner-detail-jobs/owner-detail-jobs.component.jsx +++ b/client/src/components/owner-detail-jobs/owner-detail-jobs.component.jsx @@ -34,7 +34,9 @@ function OwnerDetailJobsComponent({ bodyshop, owner }) { render: (text, record) => record.vehicleid ? ( - {`${record.v_model_yr} ${record.v_make_desc} ${record.v_model_desc}`} + {`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${ + record.v_model_desc || "" + }`.trim()} ) : ( t("jobs.errors.novehicle") diff --git a/client/src/pages/vehicles-detail/vehicles-detail.page.container.jsx b/client/src/pages/vehicles-detail/vehicles-detail.page.container.jsx index 9165cb3f6..77baa7bfd 100644 --- a/client/src/pages/vehicles-detail/vehicles-detail.page.container.jsx +++ b/client/src/pages/vehicles-detail/vehicles-detail.page.container.jsx @@ -39,9 +39,11 @@ export function VehicleDetailContainer({ document.title = t("titles.vehicledetail", { vehicle: data && data.vehicles_by_pk - ? `${data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr} ${ - data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc - } ${data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc}` + ? `${(data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || ""} ${ + (data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || "" + } ${ + (data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) || "" + }` : "", }); setSelectedHeader("vehicles"); @@ -53,7 +55,14 @@ export function VehicleDetailContainer({ label: t("titles.bc.vehicle-details", { vehicle: data && data.vehicles_by_pk - ? `${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}` + ? `${ + (data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || "" + } ${ + (data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || "" + } ${ + (data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) || + "" + }` : "", }), }, @@ -64,7 +73,11 @@ export function VehicleDetailContainer({ CreateRecentItem( vehId, "vehicle", - `${data.vehicles_by_pk.v_vin} | ${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}`, + `${data.vehicles_by_pk.v_vin || "N/A"} | ${ + data.vehicles_by_pk.v_model_yr || "" + } ${data.vehicles_by_pk.v_make_desc || ""} ${ + data.vehicles_by_pk.v_model_desc || "" + }`.trim(), `/manage/vehicles/${vehId}` ) ); From 038aaf249efddd3c85f9aa51dbd099d9a2edd094 Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Wed, 8 Feb 2023 18:37:10 -0800 Subject: [PATCH 3/4] IO-2160 Purchase & Return Ratio by Vendor Reports --- client/src/translations/en_us/common.json | 2 ++ client/src/translations/es/common.json | 2 ++ client/src/translations/fr/common.json | 2 ++ client/src/utils/TemplateConstants.js | 28 +++++++++++++++++++++++ 4 files changed, 34 insertions(+) diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 332f350fd..8561cd2a7 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -2486,6 +2486,8 @@ "production_by_technician": "Production by Technician", "production_by_technician_one": "Production filtered by Technician", "psr_by_make": "Percent of Sales by Vehicle Make", + "purchase_return_ratio_grouped_by_vendor_detail": "Purchase & Return Ratio by Vendor (Detail)", + "purchase_return_ratio_grouped_by_vendor_summary": "Purchase & Return Ratio by Vendor (Summary)", "purchases_by_cost_center_detail": "Purchases by Cost Center (Detail)", "purchases_by_cost_center_summary": "Purchases by Cost Center (Summary)", "purchases_by_date_range_detail": "Purchases by Date - Detail", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 2b7c7391b..27525eff9 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -2486,6 +2486,8 @@ "production_by_technician": "", "production_by_technician_one": "", "psr_by_make": "", + "purchase_return_ratio_grouped_by_vendor_detail": "", + "purchase_return_ratio_grouped_by_vendor_summary": "", "purchases_by_cost_center_detail": "", "purchases_by_cost_center_summary": "", "purchases_by_date_range_detail": "", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index 381fe267b..5fdda7707 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -2486,6 +2486,8 @@ "production_by_technician": "", "production_by_technician_one": "", "psr_by_make": "", + "purchase_return_ratio_grouped_by_vendor_detail": "", + "purchase_return_ratio_grouped_by_vendor_summary": "", "purchases_by_cost_center_detail": "", "purchases_by_cost_center_summary": "", "purchases_by_date_range_detail": "", diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js index 9ae638b2f..6c72e8fa4 100644 --- a/client/src/utils/TemplateConstants.js +++ b/client/src/utils/TemplateConstants.js @@ -1813,6 +1813,34 @@ export const TemplateList = (type, context) => { }, group: "jobs", }, + purchase_return_ratio_grouped_by_vendor_detail: { + title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail"), + subject: i18n.t( + "reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail" + ), + key: "purchase_return_ratio_grouped_by_vendor_detail", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, + purchase_return_ratio_grouped_by_vendor_summary: { + title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary"), + subject: i18n.t( + "reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary" + ), + key: "purchase_return_ratio_grouped_by_vendor_summary", + //idtype: "vendor", + disabled: false, + rangeFilter: { + object: i18n.t("reportcenter.labels.objects.bills"), + field: i18n.t("bills.fields.date"), + }, + group: "purchases", + }, } : {}), ...(!type || type === "courtesycarcontract" From 739265ee6a0003eeb49063a9ffcf168735ed4244 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 10 Feb 2023 09:08:39 -0800 Subject: [PATCH 4/4] Improve display of job lines preset display. --- .../job-lines-preset-button.component.jsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/client/src/components/job-lines-preset-button/job-lines-preset-button.component.jsx b/client/src/components/job-lines-preset-button/job-lines-preset-button.component.jsx index 60272786b..f805ece5a 100644 --- a/client/src/components/job-lines-preset-button/job-lines-preset-button.component.jsx +++ b/client/src/components/job-lines-preset-button/job-lines-preset-button.component.jsx @@ -22,9 +22,20 @@ export function JoblinePresetButton({ bodyshop, form }) { }; const menu = ( - + {bodyshop.md_jobline_presets.map((i, idx) => ( - handleSelect(i)} key={idx}> + handleSelect(i)} + key={idx} + style={{ breakInside: "avoid" }} + > {i.label} ))}