commit 10/10/2025

User Management
This commit is contained in:
2025-10-10 09:52:11 +07:00
parent d549aee42c
commit 7f647fe9c3
3 changed files with 89 additions and 78 deletions

View File

@@ -52,10 +52,10 @@ window.broadcastzones = [];
* Get Messagebank ANN_IDs from server * Get Messagebank ANN_IDs from server
*/ */
function get_messagebankids() { function get_messagebankids() {
messagebankids = []; window.messagebankids = [];
fetchAPI("MessageBank/" + "MessageIDs", "GET", {}, null, (okdata) => { fetchAPI("MessageBank/" + "MessageIDs", "GET", {}, null, (okdata) => {
if (Array.isArray(okdata)) { if (Array.isArray(okdata)) {
messagebankids.push(...okdata); window.messagebankids.push(...okdata);
} }
}, (errdata) => { }, (errdata) => {
alert("Error loading message bank IDs : " + errdata.message); alert("Error loading message bank IDs : " + errdata.message);
@@ -66,10 +66,10 @@ function get_messagebankids() {
* Get Airline Tags from server * Get Airline Tags from server
*/ */
function get_airlinetags() { function get_airlinetags() {
airlinetags = []; window.airlinetags = [];
fetchAPI("SoundBank/" + "AirlineTags", "GET", {}, null, (okdata) => { fetchAPI("SoundBank/" + "AirlineTags", "GET", {}, null, (okdata) => {
if (Array.isArray(okdata)) { if (Array.isArray(okdata)) {
airlinetags.push(...okdata); window.airlinetags.push(...okdata);
} }
}, (errdata) => { }, (errdata) => {
alert("Error loading airline tags : " + errdata.message); alert("Error loading airline tags : " + errdata.message);
@@ -80,10 +80,10 @@ function get_airlinetags() {
* Get City Tags from server * Get City Tags from server
*/ */
function get_citytags() { function get_citytags() {
citytags = []; window.citytags = [];
fetchAPI("SoundBank/" + "CityTags", "GET", {}, null, (okdata) => { fetchAPI("SoundBank/" + "CityTags", "GET", {}, null, (okdata) => {
if (Array.isArray(okdata)) { if (Array.isArray(okdata)) {
citytags.push(...okdata); window.citytags.push(...okdata);
} }
}, (errdata) => { }, (errdata) => {
alert("Error loading city tags : " + errdata.message); alert("Error loading city tags : " + errdata.message);
@@ -94,10 +94,10 @@ function get_citytags() {
* Get Broadcast Zones descriptions from server * Get Broadcast Zones descriptions from server
*/ */
function get_broadcastzones_descriptions() { function get_broadcastzones_descriptions() {
broadcastzones = []; window.broadcastzones = [];
fetchAPI("BroadcastZones/" + "BroadcastZoneDescriptions", "GET", {}, null, (okdata) => { fetchAPI("BroadcastZones/" + "BroadcastZoneDescriptions", "GET", {}, null, (okdata) => {
if (Array.isArray(okdata)) { if (Array.isArray(okdata)) {
broadcastzones.push(...okdata); window.broadcastzones.push(...okdata);
} }
}, (errdata) => { }, (errdata) => {
alert("Error loading broadcast zones : " + errdata.message); alert("Error loading broadcast zones : " + errdata.message);
@@ -127,7 +127,7 @@ function fill_usertablebody(vv) {
</tr>`; </tr>`;
$('#usertablebody').append(row); $('#usertablebody').append(row);
let $addedrow = $('#usertablebody tr:last'); let $addedrow = $('#usertablebody tr:last');
$addedrow.on('click', function () { $addedrow.off('click').on('click', function () {
if (window.selecteduserrow) { if (window.selecteduserrow) {
window.selecteduserrow.find('td').css('background-color', ''); window.selecteduserrow.find('td').css('background-color', '');
if (window.selecteduserrow.is($(this))) { if (window.selecteduserrow.is($(this))) {
@@ -170,15 +170,6 @@ $(document).ready(function () {
get_messagebankids(); get_messagebankids();
get_broadcastzones_descriptions(); get_broadcastzones_descriptions();
let $usertablebody = $('#usertablebody');
let $finduser = $('#finduser');
let $btnClear = $('#btnClear');
let $btnAdd = $('#btnAdd');
let $btnRemove = $('#btnRemove');
let $btnEdit = $('#btnEdit');
let $btnExport = $('#btnExport');
let $btnImport = $('#btnImport');
let APIURL = "UserManagement/"; let APIURL = "UserManagement/";
// add / edit modal elements // add / edit modal elements
@@ -279,9 +270,9 @@ $(document).ready(function () {
} }
$usertablebody.empty(); $('#usertablebody').empty();
reloaduserDB(); reloaduserDB();
$finduser.on('input', function () { $('#finduser').off('input').on('input', function () {
let searchTerm = $(this).val().toLowerCase(); let searchTerm = $(this).val().toLowerCase();
if (searchTerm.length > 0) { if (searchTerm.length > 0) {
let filteredUsers = window.userdb.filter(user => let filteredUsers = window.userdb.filter(user =>
@@ -305,7 +296,7 @@ $(document).ready(function () {
*/ */
function modalshow(editmode = false, index=0) { function modalshow(editmode = false, index=0) {
// event on click btnShowSoundbankModal // event on click btnShowSoundbankModal
$btnShowSoundbankModal.on('click', function () { $btnShowSoundbankModal.off('click').on('click', function () {
$soundbankmodal.modal('show'); $soundbankmodal.modal('show');
fill_citylist(); fill_citylist();
fill_airlinelist(); fill_airlinelist();
@@ -331,7 +322,7 @@ $(document).ready(function () {
}); });
} }
$soundbankmodal.on('click.soundbankselectionsave', '#soundbankselectionsave', function () { $soundbankmodal.off('click.soundbankselectionsave').on('click.soundbankselectionsave', '#soundbankselectionsave', function () {
let selected_airlinetags = []; let selected_airlinetags = [];
$('#airlinelist input[type=checkbox]:checked').each(function () { $('#airlinelist input[type=checkbox]:checked').each(function () {
selected_airlinetags.push($(this).val()); selected_airlinetags.push($(this).val());
@@ -357,12 +348,12 @@ $(document).ready(function () {
$soundbankmodal.modal('hide'); $soundbankmodal.modal('hide');
}); });
$soundbankmodal.on('click.soundbankselectionclose', '#soundbankselectionclose', function () { $soundbankmodal.off('click.soundbankselectionclose').on('click.soundbankselectionclose', '#soundbankselectionclose', function () {
$soundbankmodal.modal('hide'); $soundbankmodal.modal('hide');
}); });
}); });
// event on click btnShowMessagebankModal // event on click btnShowMessagebankModal
$btnShowMessagebankModal.on('click', function () { $btnShowMessagebankModal.off('click').on('click', function () {
$messagebankmodal.modal('show'); $messagebankmodal.modal('show');
fill_messagebanklist(); fill_messagebanklist();
let messagebank = $modalmessagebank.val().trim(); let messagebank = $modalmessagebank.val().trim();
@@ -376,7 +367,7 @@ $(document).ready(function () {
}); });
} }
$messagebankmodal.on('click.messagebankselectionsave', '#messagebankselectionsave', function () { $messagebankmodal.off('click.messagebankselectionsave').on('click.messagebankselectionsave', '#messagebankselectionsave', function () {
let selected_messagebankids = []; let selected_messagebankids = [];
$('#messagebanklist input[type=checkbox]:checked').each(function () { $('#messagebanklist input[type=checkbox]:checked').each(function () {
selected_messagebankids.push($(this).val()); selected_messagebankids.push($(this).val());
@@ -391,12 +382,12 @@ $(document).ready(function () {
$messagebankmodal.modal('hide'); $messagebankmodal.modal('hide');
}); });
$messagebankmodal.on('click.messagebankselectionclose', '#messagebankselectionclose', function () { $messagebankmodal.off('click.messagebankselectionclose').on('click.messagebankselectionclose', '#messagebankselectionclose', function () {
$messagebankmodal.modal('hide'); $messagebankmodal.modal('hide');
}); });
}); });
// event on click btnShowBroaadcastZoneModal // event on click btnShowBroaadcastZoneModal
$btnShowBroaadcastZoneModal.on('click', function () { $btnShowBroaadcastZoneModal.off('click').on('click', function () {
$broadcastzonemodal.modal('show'); $broadcastzonemodal.modal('show');
fill_broadcastzonelist(); fill_broadcastzonelist();
let broadcastzones = $modalbroadcastzones.val().trim(); let broadcastzones = $modalbroadcastzones.val().trim();
@@ -409,7 +400,7 @@ $(document).ready(function () {
} }
}); });
} }
$broadcastzonemodal.on('click.broadcastzoneselectionsave', '#broadcastzoneselectionsave', function () { $broadcastzonemodal.off('click.broadcastzoneselectionsave').on('click.broadcastzoneselectionsave', '#broadcastzoneselectionsave', function () {
let selected_broadcastzones = []; let selected_broadcastzones = [];
$('#broadcastzonelist input[type=checkbox]:checked').each(function () { $('#broadcastzonelist input[type=checkbox]:checked').each(function () {
selected_broadcastzones.push($(this).val()); selected_broadcastzones.push($(this).val());
@@ -423,13 +414,13 @@ $(document).ready(function () {
$modalbroadcastzones.val(broadcastzonesvalue); $modalbroadcastzones.val(broadcastzonesvalue);
$broadcastzonemodal.modal('hide'); $broadcastzonemodal.modal('hide');
}); });
$broadcastzonemodal.on('click.broadcastzoneselectionclose', '#broadcastzoneselectionclose', function () { $broadcastzonemodal.off('click.broadcastzoneselectionclose').on('click.broadcastzoneselectionclose', '#broadcastzoneselectionclose', function () {
$broadcastzonemodal.modal('hide'); $broadcastzonemodal.modal('hide');
}); });
}); });
// event on Click save button // event on Click save button
$addmodal.on('click.usermanagementsave', '#usermanagementsave', function () { $addmodal.off('click.usermanagementsave').on('click.usermanagementsave', '#usermanagementsave', function () {
let username = $modalusername.val().trim(); let username = $modalusername.val().trim();
let password = $modalpassword.val(); let password = $modalpassword.val();
let verifypassword = $modalverifypassword.val(); let verifypassword = $modalverifypassword.val();
@@ -503,12 +494,12 @@ $(document).ready(function () {
$addmodal.modal('hide'); $addmodal.modal('hide');
}); });
// event on Click close button // event on Click close button
$addmodal.on('click.usermanagementclose', '#usermanagementclose', function () { $addmodal.off('click.usermanagementclose').on('click.usermanagementclose', '#usermanagementclose', function () {
$addmodal.modal('hide'); $addmodal.modal('hide');
}); });
} }
$btnClear.on('click', function () { $('#btnClear').off('click').on('click', function () {
DoClear(APIURL, "UserManagement", (okdata) => { DoClear(APIURL, "UserManagement", (okdata) => {
reloaduserDB(); reloaduserDB();
alert("Success clear user management : " + okdata.message); alert("Success clear user management : " + okdata.message);
@@ -516,12 +507,12 @@ $(document).ready(function () {
alert("Error clear user management : " + errdata.message); alert("Error clear user management : " + errdata.message);
}); });
}); });
$btnAdd.click(() => { $('#btnAdd').off('click').on('click', () => {
$addmodal.modal('show'); $addmodal.modal('show');
clearAddModal(); clearAddModal();
modalshow(false,0); modalshow(false,0);
}); });
$btnRemove.click(() => { $('#btnRemove').off('click').on('click', () => {
if (window.selecteduserrow) { if (window.selecteduserrow) {
let cells = window.selecteduserrow.find('td'); let cells = window.selecteduserrow.find('td');
/** @type {UserDB} */ /** @type {UserDB} */
@@ -546,7 +537,7 @@ $(document).ready(function () {
alert("No user selected"); alert("No user selected");
} }
}); });
$btnEdit.click(() => { $('#btnEdit').off('click').on('click', () => {
if (window.selecteduserrow) { if (window.selecteduserrow) {
let cells = window.selecteduserrow.find('td'); let cells = window.selecteduserrow.find('td');
let index = parseInt(cells.eq(0).text()); let index = parseInt(cells.eq(0).text());
@@ -579,10 +570,10 @@ $(document).ready(function () {
alert("No user selected"); alert("No user selected");
} }
}); });
$btnExport.click(() => { $('#btnExport').off('click').on('click', () => {
DoExport(APIURL, "user.xlsx", {}); DoExport(APIURL, "user.xlsx", {});
}); });
$btnImport.click(() => { $('#btnImport').off('click').on('click', () => {
DoImport(APIURL, (okdata) => { DoImport(APIURL, (okdata) => {
reloaduserDB(); reloaduserDB();
alert("Success import user : " + okdata.message); alert("Success import user : " + okdata.message);

View File

@@ -29,7 +29,7 @@ lateinit var audioPlayer: AudioPlayer
val StreamerOutputs: MutableMap<String, BarixConnection> = HashMap() val StreamerOutputs: MutableMap<String, BarixConnection> = HashMap()
lateinit var udpreceiver: UDPReceiver lateinit var udpreceiver: UDPReceiver
lateinit var tcpreceiver: TCPReceiver lateinit var tcpreceiver: TCPReceiver
const val version = "0.0.4 (09/10/2025)" const val version = "0.0.5 (09/10/2025)"
// AAS 64 channels // AAS 64 channels
const val max_channel = 64 const val max_channel = 64

View File

@@ -220,13 +220,15 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (Description, TAG, Category, Language, VoiceType, Path) SELECT Description, TAG, Category, Language, VoiceType, Path FROM ${super.dbName} ORDER BY Description ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (Description, TAG, Category, Language, VoiceType, Path) SELECT Description, TAG, Category, Language, VoiceType, Path FROM ${super.dbName} ORDER BY Description ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, TAG, Category, Language, VoiceType, Path) SELECT Description, TAG, Category, Language, VoiceType, Path FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, TAG, Category, Language, VoiceType, Path) SELECT Description, TAG, Category, Language, VoiceType, Path FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by Description" as Any) Logger.info("${super.dbName} table resorted by Description" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -420,12 +422,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS) SELECT Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS FROM ${super.dbName} ORDER BY ANN_ID ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS) SELECT Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS FROM ${super.dbName} ORDER BY ANN_ID ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS) SELECT Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS) SELECT Description, Language, ANN_ID, Voice_Type, Message_Detail, Message_TAGS FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by Description" as Any) Logger.info("${super.dbName} table resorted by Description" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -615,12 +619,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (TAG, Language) SELECT TAG, Language FROM ${super.dbName} ORDER BY TAG") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (TAG, Language) SELECT TAG, Language FROM ${super.dbName} ORDER BY TAG")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (TAG, Language) SELECT TAG, Language FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (TAG, Language) SELECT TAG, Language FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by TAG" as Any) Logger.info("${super.dbName} table resorted by TAG" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -833,12 +839,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language) SELECT Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language FROM ${super.dbName} ORDER BY Day , Time ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language) SELECT Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language FROM ${super.dbName} ORDER BY Day , Time ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language) SELECT Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language) SELECT Description, Day, Time, Soundpath, Repeat, Enable, BroadcastZones, Language FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by Day and Time" as Any) Logger.info("${super.dbName} table resorted by Day and Time" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1054,12 +1062,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (description, SoundChannel, Box, Relay) SELECT description, SoundChannel, Box, Relay FROM ${super.dbName} ORDER BY description ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (description, SoundChannel, Box, Relay) SELECT description, SoundChannel, Box, Relay FROM ${super.dbName} ORDER BY description ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (description, SoundChannel, Box, Relay) SELECT description, SoundChannel, Box, Relay FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (description, SoundChannel, Box, Relay) SELECT description, SoundChannel, Box, Relay FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by description" as Any) Logger.info("${super.dbName} table resorted by description" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1236,12 +1246,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language) SELECT Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language FROM ${super.dbName} ORDER BY `index` ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language) SELECT Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language FROM ${super.dbName} ORDER BY `index` ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language) SELECT Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language) SELECT Date_Time, Source, Type, Message, SB_TAGS, BroadcastZones, Repeat, Language FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by index" as Any) Logger.info("${super.dbName} table resorted by index" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1395,12 +1407,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS) SELECT Date_Time, Source, Type, Message, SB_TAGS FROM ${super.dbName} ORDER BY `index` ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (Date_Time, Source, Type, Message, SB_TAGS) SELECT Date_Time, Source, Type, Message, SB_TAGS FROM ${super.dbName} ORDER BY `index` ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS) SELECT Date_Time, Source, Type, Message, SB_TAGS FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (Date_Time, Source, Type, Message, SB_TAGS) SELECT Date_Time, Source, Type, Message, SB_TAGS FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by index" as Any) Logger.info("${super.dbName} table resorted by index" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1556,12 +1570,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (channel, ip) SELECT channel, ip FROM ${super.dbName} ORDER BY `index` ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (channel, ip) SELECT channel, ip FROM ${super.dbName} ORDER BY `index` ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (channel, ip) SELECT channel, ip FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (channel, ip) SELECT channel, ip FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by index" as Any) Logger.info("${super.dbName} table resorted by index" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1769,19 +1785,21 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate( statement?.executeUpdate(
"INSERT INTO temp_${super.dbName} (datenya, timenya, machine, description) " + "INSERT INTO $tempdb_name (datenya, timenya, machine, description) " +
"SELECT datenya, timenya, machine, description FROM ${super.dbName} " + "SELECT datenya, timenya, machine, description FROM ${super.dbName} " +
"ORDER BY datenya , timenya , machine " "ORDER BY datenya , timenya , machine "
) )
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate( statement?.executeUpdate(
"INSERT INTO ${super.dbName} (datenya, timenya, machine, description) " + "INSERT INTO ${super.dbName} (datenya, timenya, machine, description) " +
"SELECT datenya, timenya, machine, description FROM temp_${super.dbName}" "SELECT datenya, timenya, machine, description FROM $tempdb_name"
) )
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by datenya, timenya, machine" as Any) Logger.info("${super.dbName} table resorted by datenya, timenya, machine" as Any)
// reload the local list // reload the local list
Get() Get()
@@ -1946,12 +1964,14 @@ class MariaDB(
override fun Resort(): Boolean { override fun Resort(): Boolean {
try { try {
val statement = connection.createStatement() val statement = connection.createStatement()
val tempdb_name = "temp_${super.dbName}"
// use a temporary table to reorder the index // use a temporary table to reorder the index
statement?.executeUpdate("CREATE TABLE IF NOT EXISTS temp_${super.dbName} LIKE ${super.dbName}") statement?.executeUpdate("CREATE TABLE IF NOT EXISTS $tempdb_name LIKE ${super.dbName}")
statement?.executeUpdate("INSERT INTO temp_${super.dbName} (username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones) SELECT username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones FROM ${super.dbName} ORDER BY username ") statement?.executeUpdate("TRUNCATE TABLE $tempdb_name")
statement?.executeUpdate("INSERT INTO $tempdb_name (username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones) SELECT username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones FROM ${super.dbName} ORDER BY username ")
statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}") statement?.executeUpdate("TRUNCATE TABLE ${super.dbName}")
statement?.executeUpdate("INSERT INTO ${super.dbName} (username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones) SELECT username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones FROM temp_${super.dbName}") statement?.executeUpdate("INSERT INTO ${super.dbName} (username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones) SELECT username, password, location, airline_tags, city_tags, messagebank_ann_id, broadcastzones FROM $tempdb_name")
statement?.executeUpdate("DROP TABLE temp_${super.dbName}") statement?.executeUpdate("DROP TABLE $tempdb_name")
Logger.info("${super.dbName} table resorted by index" as Any) Logger.info("${super.dbName} table resorted by index" as Any)
// reload the local list // reload the local list
Get() Get()