Skip to content

Commit

Permalink
Merge pull request #536 from USEPA/feature/update-2024-frf-record-typ…
Browse files Browse the repository at this point in the history
…e-field

Feature/update 2024 frf record type field
  • Loading branch information
courtneymyers authored Jan 22, 2025
2 parents bac0b55 + d521147 commit 9de2026
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 93 deletions.
74 changes: 13 additions & 61 deletions app/server/app/utilities/bap.js
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ const { submissionPeriodOpen } = require("../config/formio");
* Primary_Applicant__r: {
* attributes: { type: "Contact", url: string }
* Id: string
* RecordTypeId: string
* Record_Type_Name__c: string
* FirstName: string
* LastName: string
* Title: string
Expand All @@ -260,7 +260,7 @@ const { submissionPeriodOpen } = require("../config/formio");
* Alternate_Applicant__r: {
* attributes: { type: "Contact", url: string }
* Id: string
* RecordTypeId: string
* Record_Type_Name__c: string
* FirstName: string
* LastName: string
* Title: string
Expand All @@ -279,7 +279,7 @@ const { submissionPeriodOpen } = require("../config/formio");
* School_District_Contact__r: {
* attributes: { type: "Contact", url: string }
* Id: string
* RecordTypeId: string
* Record_Type_Name__c: string
* FirstName: string
* LastName: string
* Title: string
Expand Down Expand Up @@ -323,7 +323,7 @@ const { submissionPeriodOpen } = require("../config/formio");
* Contact__r: {
* attributes: { type: "Contact", url: string }
* Id: string
* RecordTypeId: string
* Record_Type_Name__c: string
* FirstName: string
* LastName: string
* Title: string
Expand All @@ -341,12 +341,6 @@ const { submissionPeriodOpen } = require("../config/formio");
* }
* }
* }[]} frf2024BusRecordsContactsQueries
* @property {{
* attributes: { type: "RecordType", url: string }
* Id: string
* Name: string
* Description: string
* }[]} frf2024ContactsRecordTypesQuery
*/

/**
Expand Down Expand Up @@ -1351,14 +1345,14 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
// Applicant_Organization__r.Id
// Applicant_Organization__r.County__c
// Primary_Applicant__r.Id,
// Primary_Applicant__r.RecordTypeId,
// Primary_Applicant__r.Record_Type_Name__c,
// Primary_Applicant__r.FirstName,
// Primary_Applicant__r.LastName,
// Primary_Applicant__r.Title,
// Primary_Applicant__r.Email,
// Primary_Applicant__r.Phone,
// Alternate_Applicant__r.Id,
// Alternate_Applicant__r.RecordTypeId,
// Alternate_Applicant__r.Record_Type_Name__c,
// Alternate_Applicant__r.FirstName,
// Alternate_Applicant__r.LastName,
// Alternate_Applicant__r.Title,
Expand All @@ -1371,7 +1365,7 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
// CSB_School_District__r.BillingState,
// CSB_School_District__r.BillingPostalCode,
// School_District_Contact__r.Id,
// School_District_Contact__r.RecordTypeId
// School_District_Contact__r.Record_Type_Name__c
// School_District_Contact__r.FirstName,
// School_District_Contact__r.LastName,
// School_District_Contact__r.Title,
Expand Down Expand Up @@ -1406,14 +1400,14 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
"Applicant_Organization__r.Id": 1,
"Applicant_Organization__r.County__c": 1,
"Primary_Applicant__r.Id": 1,
"Primary_Applicant__r.RecordTypeId": 1,
"Primary_Applicant__r.Record_Type_Name__c": 1,
"Primary_Applicant__r.FirstName": 1,
"Primary_Applicant__r.LastName": 1,
"Primary_Applicant__r.Title": 1,
"Primary_Applicant__r.Email": 1,
"Primary_Applicant__r.Phone": 1,
"Alternate_Applicant__r.Id": 1,
"Alternate_Applicant__r.RecordTypeId": 1,
"Alternate_Applicant__r.Record_Type_Name__c": 1,
"Alternate_Applicant__r.FirstName": 1,
"Alternate_Applicant__r.LastName": 1,
"Alternate_Applicant__r.Title": 1,
Expand All @@ -1426,7 +1420,7 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
"CSB_School_District__r.BillingState": 1,
"CSB_School_District__r.BillingPostalCode": 1,
"School_District_Contact__r.Id": 1,
"School_District_Contact__r.RecordTypeId": 1,
"School_District_Contact__r.Record_Type_Name__c": 1,
"School_District_Contact__r.FirstName": 1,
"School_District_Contact__r.LastName": 1,
"School_District_Contact__r.Title": 1,
Expand All @@ -1442,8 +1436,7 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
)
.execute(async (err, records) => ((await err) ? err : records));

const frf2024Record = frf2024RecordQuery["0"];
const frf2024RecordId = frf2024Record.Id;
const frf2024RecordId = frf2024RecordQuery["0"].Id;

// `SELECT
// Id
Expand Down Expand Up @@ -1541,7 +1534,7 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
// Related_Line_Item__c,
// Relationship_Type__c,
// Contact__r.Id,
// Contant__r.RecordTypeId,
// Contant__r.Record_Type_Name__c,
// Contact__r.FirstName,
// Contact__r.LastName
// Contact__r.Title,
Expand Down Expand Up @@ -1575,7 +1568,7 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
Related_Line_Item__c: 1,
Relationship_Type__c: 1,
"Contact__r.Id": 1,
"Contact__r.RecordTypeId": 1,
"Contact__r.Record_Type_Name__c": 1,
"Contact__r.FirstName": 1,
"Contact__r.LastName": 1,
"Contact__r.Title": 1,
Expand All @@ -1595,51 +1588,10 @@ async function queryBapFor2024PRFData(req, frfReviewItemId) {
)
).flat();

const recordTypeIds = [];

recordTypeIds.push(frf2024Record?.Primary_Applicant__r?.RecordTypeId);
recordTypeIds.push(frf2024Record?.Alternate_Applicant__r?.RecordTypeId);
recordTypeIds.push(frf2024Record?.School_District_Contact__r?.RecordTypeId);

for (const busRecordsContactsQuery of frf2024BusRecordsContactsQueries) {
const { Contact__r } = busRecordsContactsQuery;
recordTypeIds.push(Contact__r?.RecordTypeId);
}

const uniqueRecordTypeIds = [...new Set(recordTypeIds)].filter(Boolean);

// `SELECT
// Id,
// Name,
// Description
// FROM
// RecordType
// WHERE
// Id IN(${uniqueRecordTypeIds.map((id) => `'${id}'`)})`

const frf2024ContactsRecordTypesQuery =
uniqueRecordTypeIds.length === 0
? []
: await bapConnection
.sobject("RecordType")
.find(
{
Id: { $in: uniqueRecordTypeIds },
},
{
// "*": 1,
Id: 1, // Salesforce record ID
Name: 1,
Description: 1,
},
)
.execute(async (err, records) => ((await err) ? err : records));

return {
frf2024RecordQuery,
frf2024BusRecordsQuery,
frf2024BusRecordsContactsQueries,
frf2024ContactsRecordTypesQuery,
};
}

Expand Down
39 changes: 7 additions & 32 deletions app/server/app/utilities/formio.js
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,6 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
frf2024RecordQuery,
frf2024BusRecordsQuery,
frf2024BusRecordsContactsQueries,
frf2024ContactsRecordTypesQuery,
} = results;

const existingBusOwnerType = "Old Bus Private Fleet Owner (if changed)";
Expand Down Expand Up @@ -536,7 +535,7 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {

const {
Id: contactId,
RecordTypeId,
Record_Type_Name__c,
FirstName,
LastName,
Title,
Expand Down Expand Up @@ -579,10 +578,6 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
BillingStreet ?? "\n"
).split("\n");

const orgContactRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === RecordTypeId,
);

array.push({
_bap_org_frf: true,
org_number: jsonOrg.org_number,
Expand All @@ -594,7 +589,7 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
_bap_org_id: orgId,
_bap_org_name: orgName,
_bap_org_contact_id_frf: contactId,
_bap_org_contact_recordtype: orgContactRecordType?.Name || "",
_bap_org_contact_recordtype: Record_Type_Name__c,
_bap_org_contact_fname: FirstName,
_bap_org_contact_lname: LastName,
_bap_org_contact_title: Title,
Expand Down Expand Up @@ -649,21 +644,13 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
item.Relationship_Type__c === newBusOwnerType,
);

const existingOwnerRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === existingOwnerRecord?.Contact__r?.RecordTypeId,
);

const newOwnerRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === newOwnerRecord?.Contact__r?.RecordTypeId,
);

return {
bus_number: Rebate_Item_num__c,
bus_existing_owner: {
org_id: existingOwnerRecord?.Contact__r?.Account?.Id,
org_name: existingOwnerRecord?.Contact__r?.Account?.Name,
org_contact_id: existingOwnerRecord?.Contact__r?.Id,
org_contact_recordtype: existingOwnerRecordType?.Name || "",
org_contact_recordtype: existingOwnerRecord?.Contact__r?.Record_Type_Name__c, // prettier-ignore
org_contact_fname: existingOwnerRecord?.Contact__r?.FirstName,
org_contact_lname: existingOwnerRecord?.Contact__r?.LastName,
},
Expand All @@ -684,7 +671,7 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
org_id: newOwnerRecord?.Contact__r?.Account?.Id,
org_name: newOwnerRecord?.Contact__r?.Account?.Name,
org_contact_id: newOwnerRecord?.Contact__r?.Id,
org_contact_recordtype: newOwnerRecordType?.Name || "",
org_contact_recordtype: newOwnerRecord?.Contact__r?.Record_Type_Name__c, // prettier-ignore
org_contact_fname: newOwnerRecord?.Contact__r?.FirstName,
org_contact_lname: newOwnerRecord?.Contact__r?.LastName,
},
Expand All @@ -695,18 +682,6 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
};
});

const primaryContactRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === Primary_Applicant__r?.RecordTypeId,
);

const alternateContactRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === Alternate_Applicant__r?.RecordTypeId,
);

const districtContactRecordType = frf2024ContactsRecordTypesQuery.find(
(item) => item.Id === School_District_Contact__r?.RecordTypeId,
);

return {
data: {
_frf_modified: frfModified,
Expand All @@ -733,14 +708,14 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
_bap_govt_bus_poc_email: GOVT_BUS_POC_EMAIL__c,
_bap_alt_govt_bus_poc_email: ALT_GOVT_BUS_POC_EMAIL__c,
_bap_primary_id: Primary_Applicant__r?.Id,
_bap_primary_recordtype: primaryContactRecordType?.Name || "",
_bap_primary_recordtype: Primary_Applicant__r?.Record_Type_Name__c,
_bap_primary_fname: Primary_Applicant__r?.FirstName,
_bap_primary_lname: Primary_Applicant__r?.LastName,
_bap_primary_title: Primary_Applicant__r?.Title,
_bap_primary_email: Primary_Applicant__r?.Email,
_bap_primary_phone: Primary_Applicant__r?.Phone,
_bap_alternate_id: Alternate_Applicant__r?.Id,
_bap_alternate_recordtype: alternateContactRecordType?.Name,
_bap_alternate_recordtype: Alternate_Applicant__r?.Record_Type_Name__c, // prettier-ignore
_bap_alternate_fname: Alternate_Applicant__r?.FirstName,
_bap_alternate_lname: Alternate_Applicant__r?.LastName,
_bap_alternate_title: Alternate_Applicant__r?.Title,
Expand All @@ -762,7 +737,7 @@ function fetchDataForPRFSubmission({ rebateYear, req, res }) {
},
_bap_district_self_certify: Self_Certification_Category__c,
_bap_district_contact_id: School_District_Contact__r?.Id,
_bap_district_contact_recordtype: districtContactRecordType?.Name || "", // prettier-ignore
_bap_district_contact_recordtype: School_District_Contact__r?.Record_Type_Name__c, // prettier-ignore
_bap_district_contact_fname: School_District_Contact__r?.FirstName,
_bap_district_contact_lname: School_District_Contact__r?.LastName,
_bap_district_contact_title: School_District_Contact__r?.Title,
Expand Down

0 comments on commit 9de2026

Please sign in to comment.