remove in context reports
parent
a43e5e8401
commit
3a0b8a2ca1
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -427,6 +427,12 @@
|
|||
<span>Add <%= configFunctions.getProperty("aliases.occupant") %></span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="level-item">
|
||||
<a class="button is-link is-small is-hidden-print has-text-weight-normal" href="<%= urlPrefix %>/reports/lotOccupancyOccupants-byLotOccupancyId/?lotOccupancyId=<%= lotOccupancy.lotOccupancyId %>" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -144,9 +144,23 @@
|
|||
</div>
|
||||
|
||||
<div class="panel">
|
||||
<h2 class="panel-heading">
|
||||
<%= configFunctions.getProperty("aliases.occupants") %>
|
||||
</h2>
|
||||
<div class="panel-heading">
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h2 class="title is-4"><%= configFunctions.getProperty("aliases.occupants") %></h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<a class="button is-link is-small is-hidden-print has-text-weight-normal" href="<%= urlPrefix %>/reports/lotOccupancyOccupants-byLotOccupancyId/?lotOccupancyId=<%= lotOccupancy.lotOccupancyId %>" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-block is-block">
|
||||
<% if (lotOccupancy.lotOccupancyOccupants.length === 0) { %>
|
||||
<div class="message is-warning">
|
||||
|
|
|
|||
|
|
@ -3,16 +3,32 @@
|
|||
<nav class="breadcrumb">
|
||||
<ul>
|
||||
<li><a href="<%= urlPrefix %>/dashboard">Home</a></li>
|
||||
<li class="is-active"><a href="#" aria-current="page">
|
||||
<li class="is-active">
|
||||
<a href="#" aria-current="page">
|
||||
<span class="icon is-small"><i class="far fa-map" aria-hidden="true"></i></span>
|
||||
<span><%= configFunctions.getProperty("aliases.maps") %></span>
|
||||
</a></li>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<h1 class="title is-1">
|
||||
<div class="level is-mobile">
|
||||
<div class="level-left">
|
||||
<div class="level-item">
|
||||
<h1 class="title is-1">
|
||||
Find a <%= configFunctions.getProperty("aliases.map") %>
|
||||
</h1>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="level-right">
|
||||
<div class="level-item">
|
||||
<a class="button" href="<%= urlPrefix %>/reports/maps-formatted" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (user.userProperties.canUpdate) { %>
|
||||
<div class="fixed-container is-fixed-bottom-right mx-4 my-4 has-text-right is-hidden-print">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
<%- include('_header'); -%>
|
||||
|
||||
|
||||
<div class="columns">
|
||||
<div class="column is-3">
|
||||
<aside class="menu">
|
||||
|
|
@ -314,7 +313,7 @@
|
|||
<div class="columns">
|
||||
<div class="column">
|
||||
<div class="panel">
|
||||
<h3 class="panel-heading">Lot Occupancy (<%= configFunctions.getProperty("aliases.lot") %> <%= configFunctions.getProperty("aliases.occupancy") %>) Tables</h3>
|
||||
<h3 class="panel-heading">Occupancy (<%= configFunctions.getProperty("aliases.occupancy") %>) Tables</h3>
|
||||
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/lotOccupancies-all" download>
|
||||
<div class="has-text-centered my-2 ml-2 mr-3">
|
||||
<span class="icon has-text-info">
|
||||
|
|
@ -555,7 +554,7 @@
|
|||
</div>
|
||||
<div class="column">
|
||||
<div class="panel">
|
||||
<h3 class="panel-heading">Lot Occupancy (<%= configFunctions.getProperty("aliases.lot") %> <%= configFunctions.getProperty("aliases.occupancy") %>) Tables</h3>
|
||||
<h3 class="panel-heading">Occupancy (<%= configFunctions.getProperty("aliases.occupancy") %>) Tables</h3>
|
||||
<a class="panel-block align-items-flex-start" href="<%= urlPrefix %>/reports/occupancyTypes-all" download>
|
||||
<div class="has-text-centered my-2 ml-2 mr-3">
|
||||
<span class="icon has-text-info">
|
||||
|
|
|
|||
|
|
@ -312,6 +312,10 @@
|
|||
<span class="icon is-small"><i class="fas fa-calendar" aria-hidden="true"></i></span>
|
||||
<span>Download iCalendar</span>
|
||||
</a>
|
||||
<a class="dropdown-item" href="<%= urlPrefix %>/reports/workOrderMilestones-byWorkOrderId/?workOrderId=<%= workOrder.workOrderId %>" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export as CSV</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -308,6 +308,10 @@
|
|||
<span class="icon is-small"><i class="fas fa-calendar" aria-hidden="true"></i></span>
|
||||
<span>Download iCalendar</span>
|
||||
</a>
|
||||
<a class="dropdown-item" href="<%= urlPrefix %>/reports/workOrderMilestones-byWorkOrderId/?workOrderId=<%= workOrder.workOrderId %>" target="_blank" download>
|
||||
<span class="icon is-small"><i class="fas fa-download" aria-hidden="true"></i></span>
|
||||
<span>Export as CSV</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue