current occupancy report
parent
5df34264ae
commit
5726e80010
|
|
@ -12,6 +12,16 @@ const mapCityAlias = mapCamelCase + "City";
|
|||
const mapProvinceAlias = mapCamelCase + "Province";
|
||||
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
||||
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) => {
|
||||
let sql;
|
||||
const sqlParameters = [];
|
||||
|
|
@ -24,26 +34,19 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
"select mapName as " +
|
||||
mapNameAlias +
|
||||
"," +
|
||||
" mapDescription as " +
|
||||
mapDescriptionAlias +
|
||||
(" mapDescription as " + mapDescriptionAlias) +
|
||||
"," +
|
||||
" mapAddress1 as " +
|
||||
mapAddress1Alias +
|
||||
(" mapAddress1 as " + mapAddress1Alias) +
|
||||
"," +
|
||||
" mapAddress2 as " +
|
||||
mapAddress2Alias +
|
||||
(" mapAddress2 as " + mapAddress2Alias) +
|
||||
"," +
|
||||
" mapCity as " +
|
||||
mapCityAlias +
|
||||
(" mapCity as " + mapCityAlias) +
|
||||
"," +
|
||||
" mapProvince as " +
|
||||
mapProvinceAlias +
|
||||
(" mapProvince as " + mapProvinceAlias) +
|
||||
"," +
|
||||
" mapPostalCode as " +
|
||||
mapPostalCodeAlias +
|
||||
(" mapPostalCode as " + mapPostalCodeAlias) +
|
||||
"," +
|
||||
" mapPhoneNumber as " +
|
||||
mapPhoneNumberAlias +
|
||||
(" mapPhoneNumber as " + mapPhoneNumberAlias) +
|
||||
" from Maps" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by mapName";
|
||||
|
|
@ -53,9 +56,16 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
break;
|
||||
case "lots-byLotTypeId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -66,9 +76,16 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
break;
|
||||
case "lots-byLotStatusId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -79,9 +96,16 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
break;
|
||||
case "lots-byMapId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -99,6 +123,29 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
case "lotOccupancies-all":
|
||||
sql = "select * from LotOccupancies";
|
||||
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":
|
||||
sql = "select * from LotOccupancyComments";
|
||||
break;
|
||||
|
|
@ -121,6 +168,7 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
sql =
|
||||
"select w.workOrderId, w.workOrderNumber," +
|
||||
" t.workOrderType, w.workOrderDescription," +
|
||||
" w.workOrderOpenDate," +
|
||||
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
||||
" from WorkOrders w" +
|
||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||
|
|
|
|||
|
|
@ -23,6 +23,18 @@ const mapProvinceAlias = mapCamelCase + "Province";
|
|||
const mapPostalCodeAlias = mapCamelCase + "PostalCode";
|
||||
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: string,
|
||||
reportParameters?: ReportParameters
|
||||
|
|
@ -40,26 +52,19 @@ export const getReportData = (
|
|||
"select mapName as " +
|
||||
mapNameAlias +
|
||||
"," +
|
||||
" mapDescription as " +
|
||||
mapDescriptionAlias +
|
||||
(" mapDescription as " + mapDescriptionAlias) +
|
||||
"," +
|
||||
" mapAddress1 as " +
|
||||
mapAddress1Alias +
|
||||
(" mapAddress1 as " + mapAddress1Alias) +
|
||||
"," +
|
||||
" mapAddress2 as " +
|
||||
mapAddress2Alias +
|
||||
(" mapAddress2 as " + mapAddress2Alias) +
|
||||
"," +
|
||||
" mapCity as " +
|
||||
mapCityAlias +
|
||||
(" mapCity as " + mapCityAlias) +
|
||||
"," +
|
||||
" mapProvince as " +
|
||||
mapProvinceAlias +
|
||||
(" mapProvince as " + mapProvinceAlias) +
|
||||
"," +
|
||||
" mapPostalCode as " +
|
||||
mapPostalCodeAlias +
|
||||
(" mapPostalCode as " + mapPostalCodeAlias) +
|
||||
"," +
|
||||
" mapPhoneNumber as " +
|
||||
mapPhoneNumberAlias +
|
||||
(" mapPhoneNumber as " + mapPhoneNumberAlias) +
|
||||
" from Maps" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by mapName";
|
||||
|
|
@ -72,9 +77,16 @@ export const getReportData = (
|
|||
|
||||
case "lots-byLotTypeId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -88,9 +100,16 @@ export const getReportData = (
|
|||
|
||||
case "lots-byLotStatusId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -104,9 +123,16 @@ export const getReportData = (
|
|||
|
||||
case "lots-byMapId":
|
||||
sql =
|
||||
"select l.lotId," +
|
||||
" m.mapName, l.lotName," +
|
||||
" t.lotType, s.lotStatus" +
|
||||
"select l.lotId as " +
|
||||
lotIdAlias +
|
||||
"," +
|
||||
(" m.mapName as " + mapNameAlias) +
|
||||
"," +
|
||||
(" l.lotName as " + lotNameAlias) +
|
||||
"," +
|
||||
(" t.lotType as " + lotTypeAlias) +
|
||||
"," +
|
||||
(" s.lotStatus as " + lotStatusAlias) +
|
||||
" from Lots l" +
|
||||
" left join LotTypes t on l.lotTypeId = t.lotTypeId" +
|
||||
" left join LotStatuses s on l.lotStatusId = s.lotStatusId" +
|
||||
|
|
@ -130,6 +156,32 @@ export const getReportData = (
|
|||
sql = "select * from LotOccupancies";
|
||||
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":
|
||||
sql = "select * from LotOccupancyComments";
|
||||
break;
|
||||
|
|
@ -158,6 +210,7 @@ export const getReportData = (
|
|||
sql =
|
||||
"select w.workOrderId, w.workOrderNumber," +
|
||||
" t.workOrderType, w.workOrderDescription," +
|
||||
" w.workOrderOpenDate," +
|
||||
" m.workOrderMilestoneCount, m.workOrderMilestoneCompletionCount" +
|
||||
" from WorkOrders w" +
|
||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||
|
|
|
|||
|
|
@ -111,6 +111,43 @@
|
|||
|
||||
<div class="is-hidden" id="tab--lotOccupancies">
|
||||
<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 class="is-hidden" id="tab--lots">
|
||||
<h1 class="title is-1"><%= configFunctions.getProperty("aliases.lot") %> Reports</h1>
|
||||
|
|
|
|||
Loading…
Reference in New Issue