Created view to calculate statistics for YTD Permits. Also changed the term RDI to Permit for consistency and understanding

This commit is contained in:
James Richie
2026-04-04 19:14:39 -04:00
parent 1499685dd0
commit a24bcfbae7
25 changed files with 1332 additions and 1171 deletions
+59 -59
View File
@@ -11,10 +11,10 @@
<!-- Variables -->
<xsl:variable name="PAGINATION_COUNT" select="//rdis/@count"/>
<xsl:variable name="PAGINATION_START" select="//rdis/@start"/>
<xsl:variable name="PAGINATION_END" select="//rdis/@end"/>
<xsl:variable name="PAGINATION_PAGE" select="//rdis/@page"/>
<xsl:variable name="PAGINATION_COUNT" select="//permits/@count"/>
<xsl:variable name="PAGINATION_START" select="//permits/@start"/>
<xsl:variable name="PAGINATION_END" select="//permits/@end"/>
<xsl:variable name="PAGINATION_PAGE" select="//permits/@page"/>
<xsl:template match="/">
@@ -43,13 +43,13 @@
<div class="row">
<div class="col-lg-4 mb-3">
<label class="form-label" for="rdi_company">Builder/Company</label>
<input type="text" class="form-control form-control-sm" name="rdi_company" id="rdi_company" maxlength="120" autocomplete="off" autofocus="autofocus"/>
<label class="form-label" for="permit_company">Builder/Company</label>
<input type="text" class="form-control form-control-sm" name="permit_company" id="permit_company" maxlength="120" autocomplete="off" autofocus="autofocus"/>
</div>
<div class="col-lg-1 mb-3">
<label class="form-label" for="rdi_and_or">And/Or</label>
<select class="form-select form-select-sm" name="rdi_and_or" id="rdi_and_or" size="1">
<label class="form-label" for="permit_and_or">And/Or</label>
<select class="form-select form-select-sm" name="permit_and_or" id="permit_and_or" size="1">
<option value="and">And</option>
<option value="or">Or</option>
</select>
@@ -60,36 +60,36 @@
<div class="row">
<div class="col-lg-2 mb-3">
<label class="form-label" for="rdi_entry_start_date">Entry Start Date</label>
<div class="input-group input-group-sm rdi_entry_start_date">
<input type="text" class="form-control form-control-sm date-mask" name="rdi_entry_start_date" id="rdi_entry_start_date" autocomplete="off" value=""/>
<label class="form-label" for="permit_entry_start_date">Entry Start Date</label>
<div class="input-group input-group-sm permit_entry_start_date">
<input type="text" class="form-control form-control-sm date-mask" name="permit_entry_start_date" id="permit_entry_start_date" autocomplete="off" value=""/>
<button class="btn btn-sm btn-outline-primary btnEntryStartDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
<i class="bi bi-calendar3"/>
</button>
</div>
</div>
<div class="col-lg-2 mb-3">
<label class="form-label" for="rdi_entry_end_date">Entry End Date</label>
<div class="input-group input-group-sm rdi_entry_end_date">
<input type="text" class="form-control form-control-sm date-mask" name="rdi_entry_end_date" id="rdi_entry_end_date" autocomplete="off" value=""/>
<label class="form-label" for="permit_entry_end_date">Entry End Date</label>
<div class="input-group input-group-sm permit_entry_end_date">
<input type="text" class="form-control form-control-sm date-mask" name="permit_entry_end_date" id="permit_entry_end_date" autocomplete="off" value=""/>
<button class="btn btn-sm btn-outline-primary btnEntryEndDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
<i class="bi bi-calendar3"/>
</button>
</div>
</div>
<div class="col-lg-2 mb-3">
<label class="form-label" for="rdi_permit_start_date">Permit Start Date</label>
<div class="input-group input-group-sm rdi_permit_start_date">
<input type="text" class="form-control form-control-sm date-mask" name="rdi_permit_start_date" id="rdi_permit_start_date" autocomplete="off" value=""/>
<label class="form-label" for="permit_permit_start_date">Permit Start Date</label>
<div class="input-group input-group-sm permit_permit_start_date">
<input type="text" class="form-control form-control-sm date-mask" name="permit_permit_start_date" id="permit_permit_start_date" autocomplete="off" value=""/>
<button class="btn btn-sm btn-outline-primary btnPermitStartDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
<i class="bi bi-calendar3"/>
</button>
</div>
</div>
<div class="col-lg-2 mb-3">
<label class="form-label" for="rdi_permit_end_date">Permit End Date</label>
<div class="input-group input-group-sm rdi_permit_end_date">
<input type="text" class="form-control form-control-sm date-mask" name="rdi_permit_end_date" id="rdi_permit_end_date" autocomplete="off"/>
<label class="form-label" for="permit_permit_end_date">Permit End Date</label>
<div class="input-group input-group-sm permit_permit_end_date">
<input type="text" class="form-control form-control-sm date-mask" name="permit_permit_end_date" id="permit_permit_end_date" autocomplete="off"/>
<button class="btn btn-sm btn-outline-primary btnPermitEndDateCalendar" type="button" data-bs-toggle="tooltip" data-bs-title="Calendar" data-bs-custom-class="custom-tooltip" tabindex="-1">
<i class="bi bi-calendar3"/>
</button>
@@ -119,7 +119,7 @@
<xsl:choose>
<xsl:when test="count(//rdis/record) > 0">
<xsl:when test="count(//permits/record) > 0">
<div class="card mt-3">
@@ -154,7 +154,7 @@
<div class="input-group-text">
<i class="bi bi-list-ol"/>
</div>
<select class="form-select" name="rdis_per_page" id="rdis_per_page">
<select class="form-select" name="permits_per_page" id="permits_per_page">
<option value="20">20</option>
<option value="40">40</option>
<option value="60">60</option>
@@ -170,7 +170,7 @@
<div class="buttons mt-1 mb-1">
<xsl:if test="count(//rdis/record) > 0">
<xsl:if test="count(//permits/record) > 0">
<button type="button" class="btn btn-sm btn-primary me-2 mb-2 btnSelectAll">
<i class="bi bi-check2-square me-2"/>Select All</button>
</xsl:if>
@@ -239,7 +239,7 @@
<xsl:choose>
<xsl:when test="count(//rdis/record) = 0">
<xsl:when test="count(//permits/record) = 0">
<div class="filter-error fs-5 text-danger fw-bold fst-italic mt-3 mb-1">
<xsl:text>There are no Permits to view...</xsl:text>
@@ -255,25 +255,25 @@
<div class="table-responsive scrollable">
<table class="table table-sm table-striped table-hover base-table" id="rdis-table">
<table class="table table-sm table-striped table-hover base-table" id="permits-table">
<thead class="sticky-header" data-theme="{$THEME}">
<th class="text-center" >Select</th>
<th class="sortable text-nowrap" data-order-by="rdi_company" >Company</th>
<th class="sortable text-nowrap" data-order-by="rdi_permit_count">Permits</th>
<th class="sortable text-nowrap" data-order-by="rdi_value" >Value</th>
<th class="sortable text-nowrap text-center" data-order-by="rdi_project_type">Current <br />Year YTD</th>
<th class="sortable text-nowrap text-center" data-order-by="rdi_company" >Current<br /> YTD Value</th>
<th class="text-nowrap text-center" >Last <br /> 12 Months</th>
<th class="sortable text-nowrap" data-order-by="rdi_address" >Address</th>
<th class="text-nowrap" >Phone</th>
<th class="text-center" >Select</th>
<th class="sortable text-nowrap" data-order-by="permit_company" >Company</th>
<th class="sortable text-nowrap" data-order-by="permit_permit_count">Permits</th>
<th class="sortable text-nowrap" data-order-by="permit_value" >Value</th>
<th class="sortable text-nowrap text-center" data-order-by="permit_project_type">Current <br />Year YTD</th>
<th class="sortable text-nowrap text-center" data-order-by="permit_company" >Current<br /> YTD Value</th>
<th class="text-nowrap text-center" >Last <br /> 12 Months</th>
<th class="sortable text-nowrap" data-order-by="permit_address" >Address</th>
<th class="text-nowrap" >Phone</th>
</thead>
<tbody>
<xsl:apply-templates select="//rdis"/>
<xsl:apply-templates select="//permits"/>
</tbody>
@@ -327,7 +327,7 @@
</div>
</div>
<!-- Form to Print All RDI -->
<!-- Form to Print All Permits -->
<form style="display:inline;" id="PrintAllPermitsByBuilderPDFForm" method="post" action="" target="PrintTab">
@@ -341,49 +341,49 @@
<form style="display:inline;" id="PrintSelectedPermitsByBuilderForm" method="post" action="" target="PrintTab">
<input type="hidden" name="action" value="print"/>
<input type="hidden" name="report" value="Print_Selected_PermitsByBuilder"/>
<input type="hidden" name="selected_permits" value=""/>
<input type="hidden" name="action" value="print"/>
<input type="hidden" name="report" value="Print_Selected_PermitsByBuilder"/>
<input type="hidden" name="selected_permits" value=""/>
<input type="hidden" name="subscription_serial" value="{{//subscriptions/record/subscription_serial}}"/>
</form>
</xsl:template>
<!-- Template for RDI rows -->
<!-- Template for Permits rows -->
<xsl:template match="rdis/record">
<xsl:template match="permits/record">
<tr class="hoverable rdi-row text-nowrap" data-rdi-serial="{rdi_serial}">
<tr class="hoverable permit-row text-nowrap" data-permit-serial="{permit_serial}">
<td class="checkbox text-center selection-checkboxes selection-area">
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{rdi_serial}">
<input type="checkbox" class="selection-checkbox selection-area" name="selected[]" value="{permit_serial}">
</input>
<span class="selection-area user-select-none">&#160;</span>
</td>
<td class="rdi_company filterable">
<xsl:value-of select="rdi_company"/>
<td class="permit_company filterable">
<xsl:value-of select="permit_company"/>
</td>
<td class="rdi_permit_count text-nowrap filterable">
<xsl:value-of select="rdi_permit_count"/>
<td class="permit_permit_count text-nowrap filterable">
<xsl:value-of select="permit_permit_count"/>
</td>
<td class="rdi_value text-nowrap filterable">
<xsl:value-of select="concat('$', format-number(rdi_value_verbose, '###,###'))"/>
<td class="permit_value text-nowrap filterable">
<xsl:value-of select="concat('$', format-number(permit_value_verbose, '###,###'))"/>
</td>
<td class="rdi_ytd_permits text-nowrap filterable text-center">
<xsl:value-of select="rdi_ytd_permits"/>
<td class="ytd_permits text-nowrap filterable text-center">
<xsl:value-of select="ytd_permits"/>
</td>
<td class="rdi_ytd_value filterable text-center">
<xsl:value-of select="concat('$', format-number(rdi_ytd_value, '###,###'))"/>
<td class="permit_ytd_value filterable text-center">
<xsl:value-of select="concat('$', format-number(ytd_value, '###,###'))"/>
</td>
<td class="rdi_12mth_prev_permits filterable text-center">
<xsl:value-of select="rdi_12mth_prev_permits"/>
<td class="permit_12mth_prev_permits filterable text-center">
<xsl:value-of select="previous_ytd_permits"/>
<xsl:choose>
<xsl:when test="permits_trend = 'up'">
<i class="bi bi-arrow-up text-success"></i>
@@ -397,12 +397,12 @@
</xsl:choose>
</td>
<td class="rdi_entry_date filterable">
<xsl:value-of select="concat(rdi_address, ' ', rdi_city, ', ', rdi_state, ' ', rdi_zip)"/>
<td class="permit_address filterable">
<xsl:value-of select="concat(permit_address, ' ', permit_city, ', ', permit_state, ' ', permit_zip)"/>
</td>
<td class="rdi_phone filterable">
<xsl:value-of select="rdi_phone_verbose"/>
<td class="permit_phone filterable">
<xsl:value-of select="permit_phone_verbose"/>
</td>
</tr>