diff --git a/helpers/lotOccupancyDB/getReportData.js b/helpers/lotOccupancyDB/getReportData.js index 795bfc3b..2c9bf058 100644 --- a/helpers/lotOccupancyDB/getReportData.js +++ b/helpers/lotOccupancyDB/getReportData.js @@ -26,10 +26,11 @@ export const getReportData = (reportName, reportParameters) => { let sql; const sqlParameters = []; switch (reportName) { - case "maps-all": + case "maps-all": { sql = "select * from Maps"; break; - case "maps-formatted": + } + case "maps-formatted": { sql = "select mapName as " + mapNameAlias + @@ -51,10 +52,12 @@ export const getReportData = (reportName, reportParameters) => { " where recordDelete_timeMillis is null" + " order by mapName"; break; - case "lots-all": + } + case "lots-all": { sql = "select * from Lots"; break; - case "lots-byLotTypeId": + } + case "lots-byLotTypeId": { sql = "select l.lotId as " + lotIdAlias + @@ -74,7 +77,8 @@ export const getReportData = (reportName, reportParameters) => { " and l.lotTypeId = ?"; sqlParameters.push(reportParameters.lotTypeId); break; - case "lots-byLotStatusId": + } + case "lots-byLotStatusId": { sql = "select l.lotId as " + lotIdAlias + @@ -94,7 +98,8 @@ export const getReportData = (reportName, reportParameters) => { " and l.lotStatusId = ?"; sqlParameters.push(reportParameters.lotStatusId); break; - case "lots-byMapId": + } + case "lots-byMapId": { sql = "select l.lotId as " + lotIdAlias + @@ -114,16 +119,20 @@ export const getReportData = (reportName, reportParameters) => { " and l.mapId = ?"; sqlParameters.push(reportParameters.mapId); break; - case "lotComments-all": + } + case "lotComments-all": { sql = "select * from LotComments"; break; - case "lotFields-all": + } + case "lotFields-all": { sql = "select * from LotFields"; break; - case "lotOccupancies-all": + } + case "lotOccupancies-all": { sql = "select * from LotOccupancies"; break; - case "lotOccupancies-current-byMapId": + } + case "lotOccupancies-current-byMapId": { sql = "select o.lotOccupancyId as " + lotOccupancyIdAlias + @@ -146,25 +155,44 @@ export const getReportData = (reportName, reportParameters) => { " and l.mapId = ?"; sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId); break; - case "lotOccupancyComments-all": + } + case "lotOccupancyComments-all": { sql = "select * from LotOccupancyComments"; break; - case "lotOccupancyFees-all": + } + case "lotOccupancyFees-all": { sql = "select * from LotOccupancyFees"; break; - case "lotOccupancyFields-all": + } + case "lotOccupancyFields-all": { sql = "select * from LotOccupancyFields"; break; - case "lotOccupancyOccupants-all": + } + case "lotOccupancyOccupants-all": { sql = "select * from LotOccupancyOccupants"; break; - case "lotOccupancyTransactions-all": + } + case "lotOccupancyTransactions-all": { sql = "select * from LotOccupancyTransactions"; break; - case "workOrders-all": + } + case "lotOccupancyTransactions-byTransactionDateString": { + sql = + "select t.lotOccupancyId, t.transactionIndex," + + " t.transactionDate, t.transactionTime," + + " t.transactionAmount, t.externalReceiptNumber," + + " t.transactionNote" + + " from LotOccupancyTransactions t" + + " where t.recordDelete_timeMillis is null" + + " and t.transactionDate = ?"; + sqlParameters.push(dateTimeFunctions.dateStringToInteger(reportParameters.transactionDateString)); + break; + } + case "workOrders-all": { sql = "select * from WorkOrders"; break; - case "workOrders-open": + } + case "workOrders-open": { sql = "select w.workOrderId, w.workOrderNumber," + " t.workOrderType, w.workOrderDescription," + @@ -183,47 +211,62 @@ export const getReportData = (reportName, reportParameters) => { " where w.recordDelete_timeMillis is null" + " and w.workOrderCloseDate is null"; break; - case "workOrderComments-all": + } + case "workOrderComments-all": { sql = "select * from WorkOrderComments"; break; - case "workOrderLots-all": + } + case "workOrderLots-all": { sql = "select * from WorkOrderLots"; break; - case "workOrderMilestones-all": + } + case "workOrderMilestones-all": { sql = "select * from WorkOrderMilestones"; break; - case "fees-all": + } + case "fees-all": { sql = "select * from Fees"; break; - case "feeCategories-all": + } + case "feeCategories-all": { sql = "select * from FeeCategories"; break; - case "lotTypes-all": + } + case "lotTypes-all": { sql = "select * from LotTypes"; break; - case "lotTypeFields-all": + } + case "lotTypeFields-all": { sql = "select * from LotTypeFields"; break; - case "lotStatuses-all": + } + case "lotStatuses-all": { sql = "select * from LotStatuses"; break; - case "occupancyTypes-all": + } + case "occupancyTypes-all": { sql = "select * from OccupancyTypes"; break; - case "occupancyTypeFields-all": + } + case "occupancyTypeFields-all": { sql = "select * from OccupancyTypeFields"; break; - case "lotOccupantTypes-all": + } + case "lotOccupantTypes-all": { sql = "select * from LotOccupantTypes"; break; - case "workOrderTypes-all": + } + case "workOrderTypes-all": { sql = "select * from WorkOrderTypes"; break; - case "workOrderMilestoneTypes-all": + } + case "workOrderMilestoneTypes-all": { sql = "select * from WorkOrderMilestoneTypes"; break; - default: + } + default: { return undefined; + } } const database = sqlite(databasePath, { readonly: true diff --git a/helpers/lotOccupancyDB/getReportData.ts b/helpers/lotOccupancyDB/getReportData.ts index d7bfedcd..5f117fd9 100644 --- a/helpers/lotOccupancyDB/getReportData.ts +++ b/helpers/lotOccupancyDB/getReportData.ts @@ -43,11 +43,12 @@ export const getReportData = ( const sqlParameters = []; switch (reportName) { - case "maps-all": + case "maps-all": { sql = "select * from Maps"; break; + } - case "maps-formatted": + case "maps-formatted": { sql = "select mapName as " + mapNameAlias + @@ -70,12 +71,14 @@ export const getReportData = ( " order by mapName"; break; + } - case "lots-all": + case "lots-all": { sql = "select * from Lots"; break; + } - case "lots-byLotTypeId": + case "lots-byLotTypeId": { sql = "select l.lotId as " + lotIdAlias + @@ -97,8 +100,9 @@ export const getReportData = ( sqlParameters.push(reportParameters.lotTypeId); break; + } - case "lots-byLotStatusId": + case "lots-byLotStatusId": { sql = "select l.lotId as " + lotIdAlias + @@ -120,8 +124,9 @@ export const getReportData = ( sqlParameters.push(reportParameters.lotStatusId); break; + } - case "lots-byMapId": + case "lots-byMapId": { sql = "select l.lotId as " + lotIdAlias + @@ -143,20 +148,24 @@ export const getReportData = ( sqlParameters.push(reportParameters.mapId); break; + } - case "lotComments-all": + case "lotComments-all": { sql = "select * from LotComments"; break; + } - case "lotFields-all": + case "lotFields-all": { sql = "select * from LotFields"; break; + } - case "lotOccupancies-all": + case "lotOccupancies-all": { sql = "select * from LotOccupancies"; break; + } - case "lotOccupancies-current-byMapId": + case "lotOccupancies-current-byMapId": { sql = "select o.lotOccupancyId as " + lotOccupancyIdAlias + @@ -181,32 +190,57 @@ export const getReportData = ( sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId); break; + } - case "lotOccupancyComments-all": + case "lotOccupancyComments-all": { sql = "select * from LotOccupancyComments"; break; + } - case "lotOccupancyFees-all": + case "lotOccupancyFees-all": { sql = "select * from LotOccupancyFees"; break; + } - case "lotOccupancyFields-all": + case "lotOccupancyFields-all": { sql = "select * from LotOccupancyFields"; break; + } - case "lotOccupancyOccupants-all": + case "lotOccupancyOccupants-all": { sql = "select * from LotOccupancyOccupants"; break; + } - case "lotOccupancyTransactions-all": + case "lotOccupancyTransactions-all": { sql = "select * from LotOccupancyTransactions"; break; + } - case "workOrders-all": + case "lotOccupancyTransactions-byTransactionDateString": { + sql = + "select t.lotOccupancyId, t.transactionIndex," + + " t.transactionDate, t.transactionTime," + + " t.transactionAmount, t.externalReceiptNumber," + + " t.transactionNote" + + " from LotOccupancyTransactions t" + + " where t.recordDelete_timeMillis is null" + + " and t.transactionDate = ?"; + + sqlParameters.push( + dateTimeFunctions.dateStringToInteger( + reportParameters.transactionDateString as string + ) + ); + break; + } + + case "workOrders-all": { sql = "select * from WorkOrders"; break; + } - case "workOrders-open": + case "workOrders-open": { sql = "select w.workOrderId, w.workOrderNumber," + " t.workOrderType, w.workOrderDescription," + @@ -225,61 +259,76 @@ export const getReportData = ( " where w.recordDelete_timeMillis is null" + " and w.workOrderCloseDate is null"; break; + } - case "workOrderComments-all": + case "workOrderComments-all": { sql = "select * from WorkOrderComments"; break; + } - case "workOrderLots-all": + case "workOrderLots-all": { sql = "select * from WorkOrderLots"; break; + } - case "workOrderMilestones-all": + case "workOrderMilestones-all": { sql = "select * from WorkOrderMilestones"; break; + } - case "fees-all": + case "fees-all": { sql = "select * from Fees"; break; + } - case "feeCategories-all": + case "feeCategories-all": { sql = "select * from FeeCategories"; break; + } - case "lotTypes-all": + case "lotTypes-all": { sql = "select * from LotTypes"; break; + } - case "lotTypeFields-all": + case "lotTypeFields-all": { sql = "select * from LotTypeFields"; break; + } - case "lotStatuses-all": + case "lotStatuses-all": { sql = "select * from LotStatuses"; break; + } - case "occupancyTypes-all": + case "occupancyTypes-all": { sql = "select * from OccupancyTypes"; break; + } - case "occupancyTypeFields-all": + case "occupancyTypeFields-all": { sql = "select * from OccupancyTypeFields"; break; + } - case "lotOccupantTypes-all": + case "lotOccupantTypes-all": { sql = "select * from LotOccupantTypes"; break; + } - case "workOrderTypes-all": + case "workOrderTypes-all": { sql = "select * from WorkOrderTypes"; break; + } - case "workOrderMilestoneTypes-all": + case "workOrderMilestoneTypes-all": { sql = "select * from WorkOrderMilestoneTypes"; break; + } - default: + default: { return undefined; + } } const database = sqlite(databasePath, { diff --git a/public-typescript/reportSearch.d.ts b/public-typescript/reportSearch.d.ts index e69de29b..cb0ff5c3 100644 --- a/public-typescript/reportSearch.d.ts +++ b/public-typescript/reportSearch.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/public-typescript/reportSearch.js b/public-typescript/reportSearch.js index 135ec1a1..97aab01d 100644 --- a/public-typescript/reportSearch.js +++ b/public-typescript/reportSearch.js @@ -1,4 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); (() => { + const los = exports.los; const menuTabElements = document.querySelectorAll(".menu a"); const tabContainerElements = document.querySelectorAll(".tabs-container > div"); const selectTab = (clickEvent) => { diff --git a/public-typescript/reportSearch.ts b/public-typescript/reportSearch.ts index 09004cd4..2f75162b 100644 --- a/public-typescript/reportSearch.ts +++ b/public-typescript/reportSearch.ts @@ -1,4 +1,10 @@ +/* eslint-disable unicorn/prefer-module */ + +import type * as globalTypes from "../types/globalTypes"; + (() => { + const los = exports.los as globalTypes.LOS; + const menuTabElements = document.querySelectorAll(".menu a") as NodeListOf; const tabContainerElements = document.querySelectorAll( ".tabs-container > div" diff --git a/public/javascripts/reportSearch.min.js b/public/javascripts/reportSearch.min.js index d9442f63..7aa739af 100644 --- a/public/javascripts/reportSearch.min.js +++ b/public/javascripts/reportSearch.min.js @@ -1 +1 @@ -(()=>{const e=document.querySelectorAll(".menu a"),s=document.querySelectorAll(".tabs-container > div"),t=t=>{t.preventDefault();for(const s of e)s.classList.remove("is-active");const c=t.currentTarget;c.classList.add("is-active");const i=c.href.slice(Math.max(0,c.href.indexOf("#")+1));for(const e of s)e.id===i?e.classList.remove("is-hidden"):e.classList.add("is-hidden")};for(const s of e)s.addEventListener("click",t)})(); \ No newline at end of file +"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),(()=>{exports.los;const e=document.querySelectorAll(".menu a"),s=document.querySelectorAll(".tabs-container > div"),t=t=>{t.preventDefault();for(const s of e)s.classList.remove("is-active");const o=t.currentTarget;o.classList.add("is-active");const c=o.href.slice(Math.max(0,o.href.indexOf("#")+1));for(const e of s)e.id===c?e.classList.remove("is-hidden"):e.classList.add("is-hidden")};for(const s of e)s.addEventListener("click",t)})(); \ No newline at end of file diff --git a/views/report-search.ejs b/views/report-search.ejs index 1941a07d..859c4199 100644 --- a/views/report-search.ejs +++ b/views/report-search.ejs @@ -147,6 +147,32 @@ +
+
+ + +
+ CSV +
+
+

Transactions by Date

+
+
+ +
+
+ +
+
+ +
+
+
+