add daily transactions report
parent
51794096a4
commit
a034ad5ddc
|
|
@ -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,48 +211,63 @@ 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
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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,62 +259,77 @@ 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, {
|
||||
readonly: true
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
export {};
|
||||
|
|
@ -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) => {
|
||||
|
|
|
|||
|
|
@ -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<HTMLAnchorElement>;
|
||||
const tabContainerElements = document.querySelectorAll(
|
||||
".tabs-container > div"
|
||||
|
|
|
|||
|
|
@ -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)})();
|
||||
"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)})();
|
||||
|
|
@ -147,6 +147,32 @@
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/lotOccupancyTransactions-byTransactionDateString">
|
||||
<div class="has-text-centered my-2 ml-2 mr-3">
|
||||
<span class="icon has-text-info">
|
||||
<i class="fas fa-2x fa-file" aria-hidden="true"></i>
|
||||
</span><br />
|
||||
<span class="tag is-info">CSV</span>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="title is-5 is-marginless">Transactions by Date</h3>
|
||||
<div class="field has-addons mt-2">
|
||||
<div class="control">
|
||||
<label class="button is-small is-static" for="lotOccupancyTransactions-byTransactionDateString--transactionDateString">
|
||||
Transaction Date
|
||||
</label>
|
||||
</div>
|
||||
<div class="control is-expanded">
|
||||
<input class="input is-small" id="lotOccupancyTransactions-byTransactionDateString--transactionDateString" name="transactionDateString" type="date" value="<%= dateTimeFunctions.dateToString(new Date()) %>" required />
|
||||
</div>
|
||||
<div class="control">
|
||||
<button class="button is-small is-primary" type="submit">
|
||||
Export
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="is-hidden" id="tab--lots">
|
||||
|
|
|
|||
Loading…
Reference in New Issue