From 4ef2237ba4d89eded45e2427d62f9305394d6a69 Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 12 Jul 2023 10:05:26 +0200 Subject: [PATCH] Base LoTW matches on time and station_callsign --- application/controllers/Lotw.php | 25 +++++++------------------ application/models/Logbook_model.php | 26 ++------------------------ 2 files changed, 9 insertions(+), 42 deletions(-) diff --git a/application/controllers/Lotw.php b/application/controllers/Lotw.php index efe12138..5c28ee1e 100644 --- a/application/controllers/Lotw.php +++ b/application/controllers/Lotw.php @@ -475,7 +475,6 @@ class Lotw extends CI_Controller { $tableheaders .= "IOTA"; $tableheaders .= "Log Status"; $tableheaders .= "LoTW Status"; - $tableheaders .= "Station ID"; $tableheaders .= ""; $table = ""; @@ -503,16 +502,12 @@ class Lotw extends CI_Controller { if($status[0] == "No Match" && $skipNewQso != NULL) { - $station_id = $this->logbook_model->find_correct_station_id($record['station_callsign'], $record['my_gridsquare']); - - if ($station_id != NULL) { - $result = $this->logbook_model->import($record, $station_id, NULL, TRUE, NULL, NULL, NULL, true, false); // Create the Entry - if ($result == "") { - $lotw_status = 'QSO imported'; - } else { - $lotw_status = $result; - } - } + $result = $this->logbook_model->import($record, $station_id, NULL, TRUE, NULL, NULL, NULL, true, false); // Create the Entry + if ($result == "") { + $lotw_status = 'QSO imported'; + } else { + $lotw_status = $result; + } } else { if (isset($record['state'])) { @@ -551,12 +546,7 @@ class Lotw extends CI_Controller { $ituz = ""; } - $station_id = $this->logbook_model->find_correct_station_id($record['station_callsign'], $record['my_gridsquare']); - if ($station_id != NULL) { - $lotw_status = $this->logbook_model->lotw_update($time_on, $record['call'], $record['band'], $qsl_date, $record['qsl_rcvd'], $state, $qsl_gridsquare, $iota, $cnty, $cqz, $ituz, $station_id); - } else { - $lotw_status = "No matching Grid/OP-Call (check Locations)"; - } + $lotw_status = $this->logbook_model->lotw_update($time_on, $record['call'], $record['band'], $qsl_date, $record['qsl_rcvd'], $state, $qsl_gridsquare, $iota, $cnty, $cqz, $ituz, $record['station_callsign']); } @@ -572,7 +562,6 @@ class Lotw extends CI_Controller { $table .= "".$iota.""; $table .= "QSO Record: ".$status[0].""; $table .= "LoTW Record: ".$lotw_status.""; - $table .= "".$station_id.""; $table .= ""; } diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 06d6d1b1..9864aea1 100755 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -2636,7 +2636,7 @@ class Logbook_model extends CI_Model { } } - function lotw_update($datetime, $callsign, $band, $qsl_date, $qsl_status, $state, $qsl_gridsquare, $iota, $cnty, $cqz, $ituz, $station_id) { + function lotw_update($datetime, $callsign, $band, $qsl_date, $qsl_status, $state, $qsl_gridsquare, $iota, $cnty, $cqz, $ituz, $station_callsign) { $data = array( 'COL_LOTW_QSLRDATE' => $qsl_date, @@ -2665,7 +2665,7 @@ class Logbook_model extends CI_Model { $this->db->where('date_format(COL_TIME_ON, \'%Y-%m-%d %H:%i\') = "'.$datetime.'"'); $this->db->where('COL_CALL', $callsign); $this->db->where('COL_BAND', $band); - $this->db->where('station_id', $station_id); + $this->db->where('COL_STATION_CALLSIGN', $station_callsign); $this->db->update($this->config->item('table_name'), $data); unset($data); @@ -3922,28 +3922,6 @@ class Logbook_model extends CI_Model { return $query->result(); } - /* - * This function tries to locate the correct station_id used for importing QSOs from the downloaded LoTWreport - * $station_callsign is the call listed for the qso in lotwreport - * $my_gridsquare is the gridsquare listed for the qso in lotwreport - * Returns station_id if found - */ - function find_correct_station_id($station_callsign, $my_gridsquare) { - $sql = 'select station_id from station_profile - where station_callsign = "' . $station_callsign . '" and station_gridsquare = "' .$my_gridsquare. '"'; - - $query = $this->db->query($sql); - - $result = $query->row(); - - if ($result) { - return $result->station_id; - } - else { - return null; - } - } - function get_lotw_qsos_to_upload($station_id, $start_date, $end_date) { $this->db->select('COL_PRIMARY_KEY,COL_CALL, COL_BAND, COL_BAND_RX, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_SUBMODE, COL_FREQ, COL_FREQ_RX, COL_GRIDSQUARE, COL_SAT_NAME, COL_PROP_MODE, COL_LOTW_QSL_SENT, station_id');