diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel
index 0af751568..9a4dc22d0 100644
--- a/bodyshop_translations.babel
+++ b/bodyshop_translations.babel
@@ -26538,6 +26538,27 @@
+
+ findermodal
+ false
+
+
+
+
+
+ en-US
+ false
+
+
+ es-MX
+ false
+
+
+ fr-CA
+ false
+
+
+
insurance
false
diff --git a/client/src/components/ca-bc-etf-table-modal/ca-bc-etf-table-modal.container.jsx b/client/src/components/ca-bc-etf-table-modal/ca-bc-etf-table-modal.container.jsx
index fb18791bf..ae7f45665 100644
--- a/client/src/components/ca-bc-etf-table-modal/ca-bc-etf-table-modal.container.jsx
+++ b/client/src/components/ca-bc-etf-table-modal/ca-bc-etf-table-modal.container.jsx
@@ -1,18 +1,16 @@
-import { useLazyQuery } from "@apollo/client";
import { Button, Form, Modal } from "antd";
-import React, { useEffect } from "react";
+import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { logImEXEvent } from "../../firebase/firebase.utils";
-import { FIND_JOBS_BY_CLAIM } from "../../graphql/jobs.queries";
import { toggleModalVisible } from "../../redux/modals/modals.actions";
import { selectCaBcEtfTableConvert } from "../../redux/modals/modals.selectors";
-import { selectBodyshop } from "../../redux/user/user.selectors";
+import { GenerateDocument } from "../../utils/RenderTemplate";
+import { TemplateList } from "../../utils/TemplateConstants";
import CaBcEtfTableModalComponent from "./ca-bc-etf-table.modal.component";
const mapStateToProps = createStructuredSelector({
- bodyshop: selectBodyshop,
caBcEtfTableModal: selectCaBcEtfTableConvert,
});
@@ -24,45 +22,37 @@ const mapDispatchToProps = (dispatch) => ({
export function ContractsFindModalContainer({
caBcEtfTableModal,
toggleModalVisible,
-
- bodyshop,
}) {
const { t } = useTranslation();
const { visible } = caBcEtfTableModal;
-
+ const [loading, setLoading] = useState(false);
const [form] = Form.useForm();
-
- // const [updateJobLines] = useMutation(UPDATE_JOB_LINE);
- const [callSearch, { loading,// error,
- data }] = useLazyQuery(
- FIND_JOBS_BY_CLAIM
- );
+ const EtfTemplate = TemplateList("special").ca_bc_etf_table;
const handleFinish = async (values) => {
logImEXEvent("ca_bc_etf_table_parse");
-
+ setLoading(true);
const claimNumbers = [];
values.table.split("\n").forEach((row, idx, arr) => {
- if (idx !== 0 && idx !== arr.length - 1) {
- //Skip first row as it is header. Skip last row as it is totals.
- const { 1: claim, 2: shortclaim } = row.split("\t");
- if (!claim || !shortclaim) return;
- const trimmedShortClaim = shortclaim.trim();
- const trimmedClaim = claim.trim();
-
- const beginning = trimmedShortClaim?.slice(0, -1); //Get everything except the last char
- const last = trimmedShortClaim?.slice(-1); //Get the last digit
- const alpha = trimmedClaim?.slice(-1);
-
- const fullClaim = `${beginning}-${last}-${alpha}`;
- if (fullClaim.length > 5) claimNumbers.push(fullClaim);
- }
+ const { 1: claim, 2: shortclaim } = row.split("\t");
+ if (!claim || !shortclaim) return;
+ const trimmedShortClaim = shortclaim.trim();
+ // const trimmedClaim = claim.trim();
+ claimNumbers.push(trimmedShortClaim);
});
- console.log(`claimNumbers`, claimNumbers);
-
- callSearch({ variables: { claimNumbers } });
+ await GenerateDocument(
+ {
+ name: EtfTemplate.key,
+ variables: {
+ claimNumbers,
+ },
+ },
+ {},
+ "p"
+ );
+ setLoading(false);
};
useEffect(() => {
@@ -75,7 +65,7 @@ export function ContractsFindModalContainer({
toggleModalVisible()}
onOk={() => toggleModalVisible()}
destroyOnClose
@@ -91,7 +81,6 @@ export function ContractsFindModalContainer({
- {JSON.stringify(data)}
);
diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js
index 72f8f6c00..a357f64b6 100644
--- a/client/src/graphql/jobs.queries.js
+++ b/client/src/graphql/jobs.queries.js
@@ -1526,9 +1526,10 @@ export const QUERY_JOB_CHECKLISTS = gql`
`;
export const FIND_JOBS_BY_CLAIM = gql`
- query FIND_JOBS_BY_CLAIM($claimNumbers: [String!]!) {
- jobs(where: { clm_no: { _in: $claimNumbers } }) {
+ query FIND_JOBS_BY_CLAIM($claimNumbers: String!) {
+ jobs(where: { clm_no: { _similar: $claimNumbers } }) {
id
+ clm_no
ro_number
actual_completion
ownr_fn
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index ad73f095f..7bfe14cbd 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -1587,6 +1587,7 @@
"customer": "Customer",
"edit": "Edit Payment",
"electronicpayment": "Use Electronic Payment Processing?",
+ "findermodal": "ICBC Payment Finder",
"insurance": "Insurance",
"new": "New Payment",
"signup": "Please contact support to sign up for electronic payments.",
diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json
index 9db847d65..df220789d 100644
--- a/client/src/translations/es/common.json
+++ b/client/src/translations/es/common.json
@@ -1587,6 +1587,7 @@
"customer": "",
"edit": "",
"electronicpayment": "",
+ "findermodal": "",
"insurance": "",
"new": "",
"signup": "",
diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json
index 0c6fdb681..a2fee774b 100644
--- a/client/src/translations/fr/common.json
+++ b/client/src/translations/fr/common.json
@@ -1587,6 +1587,7 @@
"customer": "",
"edit": "",
"electronicpayment": "",
+ "findermodal": "",
"insurance": "",
"new": "",
"signup": "",
diff --git a/client/src/utils/TemplateConstants.js b/client/src/utils/TemplateConstants.js
index a4be6abcf..80ddbf6f5 100644
--- a/client/src/utils/TemplateConstants.js
+++ b/client/src/utils/TemplateConstants.js
@@ -686,5 +686,17 @@ export const TemplateList = (type, context) => {
},
}
: {}),
+ ...(!type || type === "special"
+ ? {
+ ca_bc_etf_table: {
+ title: i18n.t("printcenter.payments.ca_bc_etf_table"),
+ description: "Est Detail",
+ subject: i18n.t("printcenter.payments.ca_bc_etf_table"),
+ key: "ca_bc_etf_table",
+ disabled: false,
+ },
+
+ }
+ : {}),
};
};