diff --git a/helpers/lotOccupancyDB/getReportData.js b/helpers/lotOccupancyDB/getReportData.js index aa2e0a97..96c0e068 100644 --- a/helpers/lotOccupancyDB/getReportData.js +++ b/helpers/lotOccupancyDB/getReportData.js @@ -21,6 +21,19 @@ const lotOccupancyIdAlias = occupancyCamelCase + 'Id'; const occupancyTypeAlias = occupancyCamelCase + 'Type'; const occupancyStartDateAlias = occupancyCamelCase + 'StartDate'; const occupancyEndDateAlias = occupancyCamelCase + 'EndDate'; +const occupantCamelCase = camelCase(configFunctions.getProperty('aliases.occupant')); +const lotOccupantIndexAlias = occupantCamelCase + 'Index'; +const lotOccupantTypeAlias = occupantCamelCase + 'Type'; +const occupantNameAlias = occupantCamelCase + 'Name'; +const occupantAddress1Alias = occupantCamelCase + 'Address1'; +const occupantAddress2Alias = occupantCamelCase + 'Address2'; +const occupantCityAlias = occupantCamelCase + 'City'; +const occupantProvinceAlias = occupantCamelCase + 'Province'; +const occupantPostalCodeAlias = occupantCamelCase + 'PostalCode'; +const occupantPhoneNumberAlias = occupantCamelCase + 'PhoneNumber'; +const occupantEmailAddressAlias = occupantCamelCase + 'EmailAddress'; +const occupantCommentTitleAlias = occupantCamelCase + 'CommentTitle'; +const occupantCommentAlias = occupantCamelCase + 'Comment'; export async function getReportData(reportName, reportParameters = {}) { let sql; const sqlParameters = []; @@ -137,6 +150,26 @@ export async function getReportData(reportName, reportParameters = {}) { sql = 'select * from LotOccupancyOccupants'; break; } + case 'lotOccupancyOccupants-byLotOccupancyId': { + sql = `select o.lotOccupantIndex as ${lotOccupantIndexAlias}, + t.lotOccupantType as ${lotOccupantTypeAlias}, + o.occupantName as ${occupantNameAlias}, + o.occupantAddress1 as ${occupantAddress1Alias}, + o.occupantAddress2 as ${occupantAddress2Alias}, + o.occupantCity as ${occupantCityAlias}, + o.occupantProvince as ${occupantProvinceAlias}, + o.occupantPostalCode as ${occupantPostalCodeAlias}, + o.occupantPhoneNumber as ${occupantPhoneNumberAlias}, + o.occupantEmailAddress as ${occupantEmailAddressAlias}, + t.occupantCommentTitle as ${occupantCommentTitleAlias}, + o.occupantComment as ${occupantCommentAlias} + from LotOccupancyOccupants o + left join LotOccupantTypes t on o.lotOccupantTypeId = t.lotOccupantTypeId + where o.recordDelete_timeMillis is null + and o.lotOccupancyId = ?`; + sqlParameters.push(reportParameters.lotOccupancyId); + break; + } case 'lotOccupancyTransactions-all': { sql = 'select * from LotOccupancyTransactions'; break; @@ -187,6 +220,20 @@ export async function getReportData(reportName, reportParameters = {}) { sql = 'select * from WorkOrderMilestones'; break; } + case 'workOrderMilestones-byWorkOrderId': { + sql = `select t.workOrderMilestoneType, + m.workOrderMilestoneDate, + m.workOrderMilestoneTime, + m.workOrderMilestoneDescription, + m.workOrderMilestoneCompletionDate, + m.workOrderMilestoneCompletionTime + from WorkOrderMilestones m + left join WorkOrderMilestoneTypes t on m.workOrderMilestoneTypeId = t.workOrderMilestoneTypeId + where m.recordDelete_timeMillis is null + and m.workOrderId = ?`; + sqlParameters.push(reportParameters.workOrderId); + break; + } case 'fees-all': { sql = 'select * from Fees'; break; diff --git a/helpers/lotOccupancyDB/getReportData.ts b/helpers/lotOccupancyDB/getReportData.ts index bf687218..3e51aa6c 100644 --- a/helpers/lotOccupancyDB/getReportData.ts +++ b/helpers/lotOccupancyDB/getReportData.ts @@ -33,6 +33,22 @@ const occupancyTypeAlias = occupancyCamelCase + 'Type' const occupancyStartDateAlias = occupancyCamelCase + 'StartDate' const occupancyEndDateAlias = occupancyCamelCase + 'EndDate' +const occupantCamelCase = camelCase( + configFunctions.getProperty('aliases.occupant') +) +const lotOccupantIndexAlias = occupantCamelCase + 'Index' +const lotOccupantTypeAlias = occupantCamelCase + 'Type' +const occupantNameAlias = occupantCamelCase + 'Name' +const occupantAddress1Alias = occupantCamelCase + 'Address1' +const occupantAddress2Alias = occupantCamelCase + 'Address2' +const occupantCityAlias = occupantCamelCase + 'City' +const occupantProvinceAlias = occupantCamelCase + 'Province' +const occupantPostalCodeAlias = occupantCamelCase + 'PostalCode' +const occupantPhoneNumberAlias = occupantCamelCase + 'PhoneNumber' +const occupantEmailAddressAlias = occupantCamelCase + 'EmailAddress' +const occupantCommentTitleAlias = occupantCamelCase + 'CommentTitle' +const occupantCommentAlias = occupantCamelCase + 'Comment' + export async function getReportData( reportName: string, reportParameters: ReportParameters = {} @@ -179,6 +195,27 @@ export async function getReportData( break } + case 'lotOccupancyOccupants-byLotOccupancyId': { + sql = `select o.lotOccupantIndex as ${lotOccupantIndexAlias}, + t.lotOccupantType as ${lotOccupantTypeAlias}, + o.occupantName as ${occupantNameAlias}, + o.occupantAddress1 as ${occupantAddress1Alias}, + o.occupantAddress2 as ${occupantAddress2Alias}, + o.occupantCity as ${occupantCityAlias}, + o.occupantProvince as ${occupantProvinceAlias}, + o.occupantPostalCode as ${occupantPostalCodeAlias}, + o.occupantPhoneNumber as ${occupantPhoneNumberAlias}, + o.occupantEmailAddress as ${occupantEmailAddressAlias}, + t.occupantCommentTitle as ${occupantCommentTitleAlias}, + o.occupantComment as ${occupantCommentAlias} + from LotOccupancyOccupants o + left join LotOccupantTypes t on o.lotOccupantTypeId = t.lotOccupantTypeId + where o.recordDelete_timeMillis is null + and o.lotOccupancyId = ?` + sqlParameters.push(reportParameters.lotOccupancyId) + break + } + case 'lotOccupancyTransactions-all': { sql = 'select * from LotOccupancyTransactions' break @@ -241,6 +278,21 @@ export async function getReportData( break } + case 'workOrderMilestones-byWorkOrderId': { + sql = `select t.workOrderMilestoneType, + m.workOrderMilestoneDate, + m.workOrderMilestoneTime, + m.workOrderMilestoneDescription, + m.workOrderMilestoneCompletionDate, + m.workOrderMilestoneCompletionTime + from WorkOrderMilestones m + left join WorkOrderMilestoneTypes t on m.workOrderMilestoneTypeId = t.workOrderMilestoneTypeId + where m.recordDelete_timeMillis is null + and m.workOrderId = ?` + sqlParameters.push(reportParameters.workOrderId) + break + } + case 'fees-all': { sql = 'select * from Fees' break diff --git a/views/lotOccupancy-edit.ejs b/views/lotOccupancy-edit.ejs index ef6da56b..ff5a7137 100644 --- a/views/lotOccupancy-edit.ejs +++ b/views/lotOccupancy-edit.ejs @@ -411,26 +411,32 @@ <% if (!isCreate) { %>
- Work Order Type
- <%= workOrder.workOrderType %>
-
- Description
- <% if (workOrder.workOrderDescription) { %>
- <%= workOrder.workOrderDescription %>
- <% } else { %>
- (No Description)
- <% } %>
-
- <%= configFunctions.getProperty("aliases.workOrderOpenDate") %>
- <%= workOrder.workOrderOpenDateString %>
-
- <%= configFunctions.getProperty("aliases.workOrderCloseDate") %>
- <% if (workOrder.workOrderCloseDate) { %>
- <%= workOrder.workOrderCloseDateString %>
- <% } else { %>
- (No <%= configFunctions.getProperty("aliases.workOrderCloseDate") %>)
- <% } %>
-
+ Work Order Type
+ <%= workOrder.workOrderType %>
+
+ Description
+ <% if (workOrder.workOrderDescription) { %>
+ <%= workOrder.workOrderDescription %>
+ <% } else { %>
+ (No Description)
+ <% } %>
+
+ <%= configFunctions.getProperty("aliases.workOrderOpenDate") %>
+ <%= workOrder.workOrderOpenDateString %>
+
+ <%= configFunctions.getProperty("aliases.workOrderCloseDate") %>
+ <% if (workOrder.workOrderCloseDate) { %>
+ <%= workOrder.workOrderCloseDateString %>
+ <% } else { %>
+ (No <%= configFunctions.getProperty("aliases.workOrderCloseDate") %>)
+ <% } %>
+
| - | <%= configFunctions.getProperty("aliases.occupancy") %> Type | -<%= configFunctions.getProperty("aliases.lot") %> | -<%= configFunctions.getProperty("aliases.occupancyStartDate") %> | -End Date | -<%= configFunctions.getProperty("aliases.occupants") %> | -
|---|---|---|---|---|---|
| - <% if (isActive) { %> - "> - <% } else { %> - "> - <% } %> - | -- - <%= lotOccupancy.occupancyType %> - - | -- <% if (lotOccupancy.lotId) { %> - <%= lotOccupancy.lotName %> - <% } else { %> - (No <%= configFunctions.getProperty("aliases.lot") %>) - <% } %> - | -<%= lotOccupancy.occupancyStartDateString %> | -- <% if (lotOccupancy.occupancyEndDate) { %> - <%= lotOccupancy.occupancyEndDateString %> - <% } else { %> - (No End Date) - <% } %> - | -
- <% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %>
- (No <%= configFunctions.getProperty("aliases.occupants") %>)
- <% } else { %>
- <% for (const occupant of lotOccupancy.lotOccupancyOccupants) { %>
-
-
- <%= occupant.occupantName %>
- - <% } %> - <% } %> - |
-
| <%= configFunctions.getProperty("aliases.lot") %> | -<%= configFunctions.getProperty("aliases.map") %> | -<%= configFunctions.getProperty("aliases.lot") %> Type | -Status | -
|---|---|---|---|
| - <%= lot.lotName %> - | -<%= lot.mapName %> | -<%= lot.lotType %> | -<%= lot.lotStatus %> | -
| Commentor | -Comment Date | -Comment | -
|---|---|---|
| <%= workOrderComment.recordCreate_userName %> | -- <%= workOrderComment.workOrderCommentDateString %> - <%= (workOrderComment.workOrderCommentTime === 0 ? "" : workOrderComment.workOrderCommentTimeString) %> - | -<%= workOrderComment.workOrderComment %> | -
| + | <%= configFunctions.getProperty("aliases.occupancy") %> Type | +<%= configFunctions.getProperty("aliases.lot") %> | +<%= configFunctions.getProperty("aliases.occupancyStartDate") %> | +End Date | +<%= configFunctions.getProperty("aliases.occupants") %> | +
|---|---|---|---|---|---|
| + <% if (isActive) { %> + "> + <% } else { %> + "> + <% } %> + | ++ + <%= lotOccupancy.occupancyType %> + + | ++ <% if (lotOccupancy.lotId) { %> + <%= lotOccupancy.lotName %> + <% } else { %> + (No <%= configFunctions.getProperty("aliases.lot") %>) + <% } %> + | +<%= lotOccupancy.occupancyStartDateString %> | ++ <% if (lotOccupancy.occupancyEndDate) { %> + <%= lotOccupancy.occupancyEndDateString %> + <% } else { %> + (No End Date) + <% } %> + | +
+ <% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %>
+ (No <%= configFunctions.getProperty("aliases.occupants") %>)
+ <% } else { %>
+ <% for (const occupant of lotOccupancy.lotOccupancyOccupants) { %>
+
+
+ <%= occupant.occupantName %>
+ + <% } %> + <% } %> + |
+
| <%= configFunctions.getProperty("aliases.lot") %> | +<%= configFunctions.getProperty("aliases.map") %> | +<%= configFunctions.getProperty("aliases.lot") %> Type | +Status | +
|---|---|---|---|
| + <%= lot.lotName %> + | +<%= lot.mapName %> | +<%= lot.lotType %> | +<%= lot.lotStatus %> | +
| Commentor | +Comment Date | +Comment | +
|---|---|---|
| <%= workOrderComment.recordCreate_userName %> | ++ <%= workOrderComment.workOrderCommentDateString %> + <%= (workOrderComment.workOrderCommentTime === 0 ? "" : workOrderComment.workOrderCommentTimeString) %> + | +<%= workOrderComment.workOrderComment %> | +