Merge pull request #579 from AndreasK79/dxcc_summary_fix

Split the query for the dxcc summary in two. Some configurations of m…
这个提交包含在:
Peter Goodhall 2020-08-19 16:24:31 +01:00 提交者 GitHub
当前提交 0365a87476
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 3 个文件被更改,包括 108 次插入20 次删除

查看文件

@ -128,6 +128,7 @@ class Awards extends CI_Controller {
$dxcclist = $this->dxcc->fetchdxcc($postdata); $dxcclist = $this->dxcc->fetchdxcc($postdata);
$data['dxcc_array'] = $this->dxcc->get_dxcc_array($dxcclist, $bands, $postdata); $data['dxcc_array'] = $this->dxcc->get_dxcc_array($dxcclist, $bands, $postdata);
$data['dxcc_summary'] = $this->dxcc->get_dxcc_summary($bands);
// Render Page // Render Page
$data['page_title'] = "Awards - DXCC"; $data['page_title'] = "Awards - DXCC";

查看文件

@ -463,5 +463,62 @@ class DXCC extends CI_Model {
} }
return $sql; return $sql;
} }
/*
* Function gets worked and confirmed summary on each band on the active stationprofile
*/
function get_dxcc_summary($bands)
{
$CI =& get_instance();
$CI->load->model('Stations');
$station_id = $CI->Stations->find_active();
foreach ($bands as $band) {
$worked = $this->getSummaryByBand($band, $station_id);
$confirmed = $this->getSummaryByBandConfirmed($band, $station_id);
$dxccSummary['worked'][$band] = $worked[0]->count;
$dxccSummary['confirmed'][$band] = $confirmed[0]->count;
}
return $dxccSummary;
}
function getSummaryByBand($band, $station_id)
{
$sql = "SELECT thcv.col_band, count(distinct thcv.col_dxcc) as count FROM " . $this->config->item('table_name') . " thcv";
$sql .= " where station_id = " . $station_id;
if ($band == 'SAT') {
$sql .= " and thcv.col_prop_mode ='" . $band . "'";
} else {
$sql .= " and thcv.col_prop_mode !='SAT'";
$sql .= " and thcv.col_band ='" . $band . "'";
}
$query = $this->db->query($sql);
return $query->result();
}
function getSummaryByBandConfirmed($band, $station_id)
{
$sql = "SELECT thcv.col_band, count(distinct thcv.col_dxcc) as count FROM " . $this->config->item('table_name') . " thcv";
$sql .= " where station_id = " . $station_id;
if ($band == 'SAT') {
$sql .= " and thcv.col_prop_mode ='" . $band . "'";
} else {
$sql .= " and thcv.col_prop_mode !='SAT'";
$sql .= " and thcv.col_band ='" . $band . "'";
}
$sql .= " and (col_qsl_rcvd = 'Y' or col_lotw_qsl_rcvd = 'Y')";
$query = $this->db->query($sql);
return $query->result();
}
} }
?> ?>

查看文件

@ -112,7 +112,7 @@
</fieldset> </fieldset>
</form> </form>
<?php <?php
$i = 1; $i = 1;
if ($dxcc_array) { if ($dxcc_array) {
echo ' echo '
@ -140,11 +140,41 @@
} }
echo '</tr>'; echo '</tr>';
} }
echo '</tfoot></table></div>'; echo '</table>
<h1>Summary</h1>
<table class="table table-bordered table-hover table-striped table-condensed text-center">
<thead>
<tr><td></td>';
foreach($bands as $band) {
echo '<td>' . $band . '</td>';
}
echo '</tr>';
echo '</tr>
</thead>
<tbody>
<tr><td>Total worked</td>';
foreach ($dxcc_summary['worked'] as $dxcc) { // Fills the table with the data
echo '<td style="text-align: center">' . $dxcc . '</td>';
}
echo '</tr><tr>
<td>Total confirmed</td>';
foreach ($dxcc_summary['confirmed'] as $dxcc) { // Fills the table with the data
echo '<td style="text-align: center">' . $dxcc . '</td>';
}
echo '</tr>
</table>
</div>';
} }
else { else {
echo '<div class="alert alert-danger" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>Nothing found!</div>'; echo '<div class="alert alert-danger" role="alert"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>Nothing found!</div>';
} }
?> ?>
</div> </div>