current occupancy report
parent
5df34264ae
commit
5726e80010
|
|
@ -12,6 +12,16 @@ const mapCityAlias = mapCamelCase + "City";
|
||||||
const mapProvinceAlias = mapCamelCase + "Province";
|
const mapProvinceAlias = mapCamelCase + "Province";
|
||||||
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
||||||
const mapPhoneNumberAlias = mapCamelCase + "PhoneNumber";
|
const mapPhoneNumberAlias = mapCamelCase + "PhoneNumber";
|
||||||
|
const lotCamelCase = camelCase(configFunctions.getProperty("aliases.lot"));
|
||||||
|
const lotIdAlias = lotCamelCase + "Id";
|
||||||
|
const lotNameAlias = lotCamelCase + "Name";
|
||||||
|
const lotTypeAlias = lotCamelCase + "Type";
|
||||||
|
const lotStatusAlias = lotCamelCase + "Status";
|
||||||
|
const occupancyCamelCase = camelCase(configFunctions.getProperty("aliases.occupancy"));
|
||||||
|
const lotOccupancyIdAlias = occupancyCamelCase + "Id";
|
||||||
|
const occupancyTypeAlias = occupancyCamelCase + "Type";
|
||||||
|
const occupancyStartDateAlias = occupancyCamelCase + "StartDate";
|
||||||
|
const occupancyEndDateAlias = occupancyCamelCase + "EndDate";
|
||||||
export const getReportData = (reportName, reportParameters) => {
|
export const getReportData = (reportName, reportParameters) => {
|
||||||
let sql;
|
let sql;
|
||||||
const sqlParameters = [];
|
const sqlParameters = [];
|
||||||
|
|
@ -24,26 +34,19 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
"select mapName as " +
|
"select mapName as " +
|
||||||
mapNameAlias +
|
mapNameAlias +
|
||||||
"," +
|
"," +
|
||||||
" mapDescription as " +
|
(" mapDescription as " + mapDescriptionAlias) +
|
||||||
mapDescriptionAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapAddress1 as " +
|
(" mapAddress1 as " + mapAddress1Alias) +
|
||||||
mapAddress1Alias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapAddress2 as " +
|
(" mapAddress2 as " + mapAddress2Alias) +
|
||||||
mapAddress2Alias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapCity as " +
|
(" mapCity as " + mapCityAlias) +
|
||||||
mapCityAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapProvince as " +
|
(" mapProvince as " + mapProvinceAlias) +
|
||||||
mapProvinceAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapPostalCode as " +
|
(" mapPostalCode as " + mapPostalCodeAlias) +
|
||||||
mapPostalCodeAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapPhoneNumber as " +
|
(" mapPhoneNumber as " + mapPhoneNumberAlias) +
|
||||||
mapPhoneNumberAlias +
|
|
||||||
" from Maps" +
|
" from Maps" +
|
||||||
" where recordDelete_timeMillis is null" +
|
" where recordDelete_timeMillis is null" +
|
||||||
" order by mapName";
|
" order by mapName";
|
||||||
|
|
@ -53,9 +56,16 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
break;
|
break;
|
||||||
case "lots-byLotTypeId":
|
case "lots-byLotTypeId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -66,9 +76,16 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
break;
|
break;
|
||||||
case "lots-byLotStatusId":
|
case "lots-byLotStatusId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -79,9 +96,16 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
break;
|
break;
|
||||||
case "lots-byMapId":
|
case "lots-byMapId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -99,6 +123,29 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
case "lotOccupancies-all":
|
case "lotOccupancies-all":
|
||||||
sql = "select * from LotOccupancies";
|
sql = "select * from LotOccupancies";
|
||||||
break;
|
break;
|
||||||
|
case "lotOccupancies-current-byMapId":
|
||||||
|
sql =
|
||||||
|
"select o.lotOccupancyId as " +
|
||||||
|
lotOccupancyIdAlias +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" ot.occupancyType as " + occupancyTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" o.occupancyStartDate as " + occupancyStartDateAlias) +
|
||||||
|
"," +
|
||||||
|
(" o.occupancyEndDate as " + occupancyEndDateAlias) +
|
||||||
|
" from LotOccupancies o" +
|
||||||
|
" left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId" +
|
||||||
|
" left join Lots l on o.lotId = l.lotId" +
|
||||||
|
" left join Maps m on l.mapId = m.mapId" +
|
||||||
|
" where o.recordDelete_timeMillis is null" +
|
||||||
|
" and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)" +
|
||||||
|
" and l.mapId = ?";
|
||||||
|
sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId);
|
||||||
|
break;
|
||||||
case "lotOccupancyComments-all":
|
case "lotOccupancyComments-all":
|
||||||
sql = "select * from LotOccupancyComments";
|
sql = "select * from LotOccupancyComments";
|
||||||
break;
|
break;
|
||||||
|
|
@ -121,6 +168,7 @@ export const getReportData = (reportName, reportParameters) => {
|
||||||
sql =
|
sql =
|
||||||
"select w.workOrderId, w.workOrderNumber," +
|
"select w.workOrderId, w.workOrderNumber," +
|
||||||
" t.workOrderType, w.workOrderDescription," +
|
" t.workOrderType, w.workOrderDescription," +
|
||||||
|
" w.workOrderOpenDate," +
|
||||||
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
||||||
" from WorkOrders w" +
|
" from WorkOrders w" +
|
||||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,18 @@ const mapProvinceAlias = mapCamelCase + "Province";
|
||||||
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
||||||
const mapPhoneNumberAlias = mapCamelCase + "PhoneNumber";
|
const mapPhoneNumberAlias = mapCamelCase + "PhoneNumber";
|
||||||
|
|
||||||
|
const lotCamelCase = camelCase(configFunctions.getProperty("aliases.lot"));
|
||||||
|
const lotIdAlias = lotCamelCase + "Id";
|
||||||
|
const lotNameAlias = lotCamelCase + "Name";
|
||||||
|
const lotTypeAlias = lotCamelCase + "Type";
|
||||||
|
const lotStatusAlias = lotCamelCase + "Status";
|
||||||
|
|
||||||
|
const occupancyCamelCase = camelCase(configFunctions.getProperty("aliases.occupancy"));
|
||||||
|
const lotOccupancyIdAlias = occupancyCamelCase + "Id";
|
||||||
|
const occupancyTypeAlias = occupancyCamelCase + "Type";
|
||||||
|
const occupancyStartDateAlias = occupancyCamelCase + "StartDate";
|
||||||
|
const occupancyEndDateAlias = occupancyCamelCase + "EndDate";
|
||||||
|
|
||||||
export const getReportData = (
|
export const getReportData = (
|
||||||
reportName: string,
|
reportName: string,
|
||||||
reportParameters?: ReportParameters
|
reportParameters?: ReportParameters
|
||||||
|
|
@ -40,26 +52,19 @@ export const getReportData = (
|
||||||
"select mapName as " +
|
"select mapName as " +
|
||||||
mapNameAlias +
|
mapNameAlias +
|
||||||
"," +
|
"," +
|
||||||
" mapDescription as " +
|
(" mapDescription as " + mapDescriptionAlias) +
|
||||||
mapDescriptionAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapAddress1 as " +
|
(" mapAddress1 as " + mapAddress1Alias) +
|
||||||
mapAddress1Alias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapAddress2 as " +
|
(" mapAddress2 as " + mapAddress2Alias) +
|
||||||
mapAddress2Alias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapCity as " +
|
(" mapCity as " + mapCityAlias) +
|
||||||
mapCityAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapProvince as " +
|
(" mapProvince as " + mapProvinceAlias) +
|
||||||
mapProvinceAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapPostalCode as " +
|
(" mapPostalCode as " + mapPostalCodeAlias) +
|
||||||
mapPostalCodeAlias +
|
|
||||||
"," +
|
"," +
|
||||||
" mapPhoneNumber as " +
|
(" mapPhoneNumber as " + mapPhoneNumberAlias) +
|
||||||
mapPhoneNumberAlias +
|
|
||||||
" from Maps" +
|
" from Maps" +
|
||||||
" where recordDelete_timeMillis is null" +
|
" where recordDelete_timeMillis is null" +
|
||||||
" order by mapName";
|
" order by mapName";
|
||||||
|
|
@ -72,9 +77,16 @@ export const getReportData = (
|
||||||
|
|
||||||
case "lots-byLotTypeId":
|
case "lots-byLotTypeId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -88,9 +100,16 @@ export const getReportData = (
|
||||||
|
|
||||||
case "lots-byLotStatusId":
|
case "lots-byLotStatusId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -104,9 +123,16 @@ export const getReportData = (
|
||||||
|
|
||||||
case "lots-byMapId":
|
case "lots-byMapId":
|
||||||
sql =
|
sql =
|
||||||
"select l.lotId," +
|
"select l.lotId as " +
|
||||||
" m.mapName, l.lotName," +
|
lotIdAlias +
|
||||||
" t.lotType, s.lotStatus" +
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" t.lotType as " + lotTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" s.lotStatus as " + lotStatusAlias) +
|
||||||
" from Lots l" +
|
" from Lots l" +
|
||||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||||
|
|
@ -130,6 +156,32 @@ export const getReportData = (
|
||||||
sql = "select * from LotOccupancies";
|
sql = "select * from LotOccupancies";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "lotOccupancies-current-byMapId":
|
||||||
|
sql =
|
||||||
|
"select o.lotOccupancyId as " +
|
||||||
|
lotOccupancyIdAlias +
|
||||||
|
"," +
|
||||||
|
(" l.lotName as " + lotNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" m.mapName as " + mapNameAlias) +
|
||||||
|
"," +
|
||||||
|
(" ot.occupancyType as " + occupancyTypeAlias) +
|
||||||
|
"," +
|
||||||
|
(" o.occupancyStartDate as " + occupancyStartDateAlias) +
|
||||||
|
"," +
|
||||||
|
(" o.occupancyEndDate as " + occupancyEndDateAlias) +
|
||||||
|
" from LotOccupancies o" +
|
||||||
|
" left join OccupancyTypes ot on o.occupancyTypeId = ot.occupancyTypeId" +
|
||||||
|
" left join Lots l on o.lotId = l.lotId" +
|
||||||
|
" left join Maps m on l.mapId = m.mapId" +
|
||||||
|
" where o.recordDelete_timeMillis is null" +
|
||||||
|
" and (o.occupancyEndDate is null or o.occupancyEndDate >= ?)" +
|
||||||
|
" and l.mapId = ?";
|
||||||
|
|
||||||
|
sqlParameters.push(dateTimeFunctions.dateToInteger(new Date()), reportParameters.mapId);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case "lotOccupancyComments-all":
|
case "lotOccupancyComments-all":
|
||||||
sql = "select * from LotOccupancyComments";
|
sql = "select * from LotOccupancyComments";
|
||||||
break;
|
break;
|
||||||
|
|
@ -158,6 +210,7 @@ export const getReportData = (
|
||||||
sql =
|
sql =
|
||||||
"select w.workOrderId, w.workOrderNumber," +
|
"select w.workOrderId, w.workOrderNumber," +
|
||||||
" t.workOrderType, w.workOrderDescription," +
|
" t.workOrderType, w.workOrderDescription," +
|
||||||
|
" w.workOrderOpenDate," +
|
||||||
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
||||||
" from WorkOrders w" +
|
" from WorkOrders w" +
|
||||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||||
|
|
|
||||||
|
|
@ -111,6 +111,43 @@
|
||||||
|
|
||||||
<div class="is-hidden" id="tab--lotOccupancies">
|
<div class="is-hidden" id="tab--lotOccupancies">
|
||||||
<h1 class="title is-1"><%= configFunctions.getProperty("aliases.occupancy") %> Reports</h1>
|
<h1 class="title is-1"><%= configFunctions.getProperty("aliases.occupancy") %> Reports</h1>
|
||||||
|
|
||||||
|
<div class="panel">
|
||||||
|
<form class="panel-block align-items-flex-start" method="get" action="<%= urlPrefix %>/reports/lotOccupancies-current-byMapId">
|
||||||
|
<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">Current <%= configFunctions.getProperty("aliases.occupancy") %> By <%= configFunctions.getProperty("aliases.map") %></h3>
|
||||||
|
<div class="field has-addons mt-2">
|
||||||
|
<div class="control">
|
||||||
|
<label class="button is-small is-static" for="lotOccupancies-current-byMapId--mapId">
|
||||||
|
<%= configFunctions.getProperty("aliases.map") %>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="control is-expanded">
|
||||||
|
<div class="select is-small is-fullwidth">
|
||||||
|
<select id="lotOccupancies-current-byMapId--mapId" name="mapId">
|
||||||
|
<% for (const map of maps) { %>
|
||||||
|
<option value="<%= map.mapId %>">
|
||||||
|
<%= map.mapName || "(No Name)" %>
|
||||||
|
</option>
|
||||||
|
<% } %>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="control">
|
||||||
|
<button class="button is-small is-primary" type="submit">
|
||||||
|
Export
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="is-hidden" id="tab--lots">
|
<div class="is-hidden" id="tab--lots">
|
||||||
<h1 class="title is-1"><%= configFunctions.getProperty("aliases.lot") %> Reports</h1>
|
<h1 class="title is-1"><%= configFunctions.getProperty("aliases.lot") %> Reports</h1>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue