当前提交
3935971e3c
共有 3 个文件被更改,包括 217 次插入 和 129 次删除
|
|
@ -128,6 +128,7 @@ class Awards extends CI_Controller {
|
|||
|
||||
$dxcclist = $this->dxcc->fetchdxcc($postdata);
|
||||
$data['dxcc_array'] = $this->dxcc->get_dxcc_array($dxcclist, $bands, $postdata);
|
||||
$data['dxcc_summary'] = $this->dxcc->get_dxcc_summary($bands);
|
||||
|
||||
// Render Page
|
||||
$data['page_title'] = "Awards - DXCC";
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
class DXCC extends CI_Model {
|
||||
class DXCC extends CI_Model
|
||||
{
|
||||
|
||||
public $bandslots = array("160m" => 0,
|
||||
"80m" => 0,
|
||||
|
|
@ -32,7 +33,8 @@ class DXCC extends CI_Model {
|
|||
|
||||
}
|
||||
|
||||
function get_worked_bands() {
|
||||
function get_worked_bands()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$CI->load->model('Stations');
|
||||
$station_id = $CI->Stations->find_active();
|
||||
|
|
@ -66,7 +68,8 @@ class DXCC extends CI_Model {
|
|||
return $results;
|
||||
}
|
||||
|
||||
function show_stats(){
|
||||
function show_stats()
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$CI->load->model('Stations');
|
||||
$station_id = $CI->Stations->find_active();
|
||||
|
|
@ -142,8 +145,7 @@ class DXCC extends CI_Model {
|
|||
LIMIT 1
|
||||
');
|
||||
|
||||
if ($exceptions->num_rows() > 0)
|
||||
{
|
||||
if ($exceptions->num_rows() > 0) {
|
||||
return $exceptions;
|
||||
} else {
|
||||
|
||||
|
|
@ -159,21 +161,25 @@ class DXCC extends CI_Model {
|
|||
}
|
||||
}
|
||||
|
||||
function search(){
|
||||
function search()
|
||||
{
|
||||
print_r($this->input->get());
|
||||
return;
|
||||
}
|
||||
|
||||
function empty_table($table) {
|
||||
function empty_table($table)
|
||||
{
|
||||
$this->db->empty_table($table);
|
||||
}
|
||||
|
||||
function list() {
|
||||
function list()
|
||||
{
|
||||
$this->db->order_by('name', 'ASC');
|
||||
return $this->db->get('dxcc_entities');
|
||||
}
|
||||
|
||||
function get_dxcc_array($dxccArray, $bands, $postdata) {
|
||||
function get_dxcc_array($dxccArray, $bands, $postdata)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$CI->load->model('Stations');
|
||||
$station_id = $CI->Stations->find_active();
|
||||
|
|
@ -226,13 +232,13 @@ class DXCC extends CI_Model {
|
|||
|
||||
if (isset($dxccMatrix)) {
|
||||
return $dxccMatrix;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
function getDxccBandConfirmed($station_id, $band, $postdata) {
|
||||
function getDxccBandConfirmed($station_id, $band, $postdata)
|
||||
{
|
||||
$sql = "select adif as dxcc, name from dxcc_entities
|
||||
join (
|
||||
select col_dxcc from " . $this->config->item('table_name') . " thcv
|
||||
|
|
@ -241,8 +247,7 @@ class DXCC extends CI_Model {
|
|||
|
||||
if ($band == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $band . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $band . "'";
|
||||
}
|
||||
|
|
@ -263,7 +268,8 @@ class DXCC extends CI_Model {
|
|||
return $query->result();
|
||||
}
|
||||
|
||||
function getDxccBandWorked($station_id, $band, $postdata) {
|
||||
function getDxccBandWorked($station_id, $band, $postdata)
|
||||
{
|
||||
$sql = "select adif as dxcc, name from dxcc_entities
|
||||
join (
|
||||
select col_dxcc from " . $this->config->item('table_name') . " thcv
|
||||
|
|
@ -272,8 +278,7 @@ class DXCC extends CI_Model {
|
|||
|
||||
if ($band == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $band . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $band . "'";
|
||||
}
|
||||
|
|
@ -292,7 +297,8 @@ class DXCC extends CI_Model {
|
|||
return $query->result();
|
||||
}
|
||||
|
||||
function fetchDxcc($postdata) {
|
||||
function fetchDxcc($postdata)
|
||||
{
|
||||
$CI =& get_instance();
|
||||
$CI->load->model('Stations');
|
||||
$station_id = $CI->Stations->find_active();
|
||||
|
|
@ -306,8 +312,7 @@ class DXCC extends CI_Model {
|
|||
if ($postdata['band'] != 'All') {
|
||||
if ($postdata['band'] == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $postdata['band'] . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $postdata['band'] . "'";
|
||||
}
|
||||
|
|
@ -330,7 +335,8 @@ class DXCC extends CI_Model {
|
|||
return $query->result();
|
||||
}
|
||||
|
||||
function getDxccWorked($station_id, $postdata) {
|
||||
function getDxccWorked($station_id, $postdata)
|
||||
{
|
||||
$sql = "SELECT adif as dxcc FROM dxcc_entities
|
||||
join (
|
||||
select col_dxcc
|
||||
|
|
@ -341,8 +347,7 @@ class DXCC extends CI_Model {
|
|||
if ($postdata['band'] != 'All') {
|
||||
if ($postdata['band'] == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $postdata['band'] . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $postdata['band'] . "'";
|
||||
}
|
||||
|
|
@ -353,8 +358,7 @@ class DXCC extends CI_Model {
|
|||
if ($postdata['band'] != 'All') {
|
||||
if ($postdata['band'] == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $postdata['band'] . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $postdata['band'] . "'";
|
||||
}
|
||||
|
|
@ -379,7 +383,8 @@ class DXCC extends CI_Model {
|
|||
return $query->result();
|
||||
}
|
||||
|
||||
function getDxccConfirmed($station_id, $postdata) {
|
||||
function getDxccConfirmed($station_id, $postdata)
|
||||
{
|
||||
$sql = "SELECT adif as dxcc FROM dxcc_entities
|
||||
join (
|
||||
select col_dxcc
|
||||
|
|
@ -390,8 +395,7 @@ class DXCC extends CI_Model {
|
|||
if ($postdata['band'] != 'All') {
|
||||
if ($postdata['band'] == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $postdata['band'] . "'";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $postdata['band'] . "'";
|
||||
}
|
||||
|
|
@ -415,7 +419,8 @@ class DXCC extends CI_Model {
|
|||
}
|
||||
|
||||
// Made function instead of repeating this several times
|
||||
function addQslToQuery($postdata) {
|
||||
function addQslToQuery($postdata)
|
||||
{
|
||||
$sql = '';
|
||||
if ($postdata['lotw'] != NULL and $postdata['qsl'] == NULL) {
|
||||
$sql .= " and col_lotw_qsl_rcvd = 'Y'";
|
||||
|
|
@ -432,7 +437,8 @@ class DXCC extends CI_Model {
|
|||
}
|
||||
|
||||
// Made function instead of repeating this several times
|
||||
function addContinentsToQuery($postdata) {
|
||||
function addContinentsToQuery($postdata)
|
||||
{
|
||||
$sql = '';
|
||||
if ($postdata['Africa'] == NULL) {
|
||||
$sql .= " and cont <> 'AF'";
|
||||
|
|
@ -463,5 +469,56 @@ class DXCC extends CI_Model {
|
|||
}
|
||||
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) {
|
||||
$result = $this->getSummaryByBand($band, $station_id);
|
||||
$dxccSummary['worked'][$band] = $result[0]->count;
|
||||
$dxccSummary['confirmed'][$band] = $result[0]->cfmdxcc;
|
||||
}
|
||||
|
||||
return $dxccSummary;
|
||||
}
|
||||
|
||||
function getSummaryByBand($band, $station_id)
|
||||
{
|
||||
$sql = "SELECT thcv.col_band, count(distinct thcv.col_dxcc) as count, coalesce (cfmdxcc.count, 0) as cfmdxcc FROM " . $this->config->item('table_name') . " thcv";
|
||||
|
||||
$sql .= " left outer join (
|
||||
select col_band, count(distinct col_dxcc) as count from " . $this->config->item('table_name') . " thcv";
|
||||
$sql .= " where station_id = " . $station_id;
|
||||
|
||||
if ($band == 'SAT') {
|
||||
$sql .= " and col_prop_mode ='" . $band . "'";
|
||||
} else {
|
||||
$sql .= " and col_prop_mode !='SAT'";
|
||||
$sql .= " and col_band ='" . $band . "'";
|
||||
}
|
||||
|
||||
$sql .= " and (col_qsl_rcvd = 'Y' or col_lotw_qsl_rcvd = 'Y')";
|
||||
|
||||
$sql .= ") cfmdxcc on thcv.col_band = cfmdxcc.col_band ";
|
||||
|
||||
$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();
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -140,7 +140,37 @@
|
|||
}
|
||||
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 {
|
||||
|
|
|
|||
正在加载…
在新工单中引用