Files
automatic-dispose/script/sprechwunsch/rescue-opener.js
2018-11-24 16:16:04 +01:00

78 lines
3.1 KiB
JavaScript
Executable File

$(document).ready(function () {
setInterval(ADis_CollectRescueSprechwuensche, 2500);
setInterval(ADis_OpenNextRescueSprechwunsch, 2500);
ADis_CollectRescueSprechwuensche();
});
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Assign & Unassign Missions to Dispatchers
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function ADis_CollectRescueSprechwuensche() {
new Promise(async function (resolve, reject) {
await ADisDB.ADisSprechwunsch.where({
done: 'false'
}).each((myWunsch) => {
console.log('ADis_CollectRescueSprechwuensche: remove', myWunsch);
if ($("#vehicle_list_" + myWunsch.vehicleID).find(".building_list_fms").text() != "5") {
return ADis_RemoveRescueSprechwunschFromQueue(myWunsch.vehicleID);
}
})
return resolve();
}).then(() => {
$("#building_list").find(".building_list_vehicle_element").each(function () {
var VehicleStatus = $(this).find(".building_list_fms").text();
var VehicleType = Number(parseInt($(this).find("a").attr("vehicle_type_id")));
var VehicleID = $(this).attr("vehicle_id");
if (VehicleStatus == "5" && [32, 52].indexOf(VehicleType) === -1) {
ADis_AddRescueSprechwunschToQueue(VehicleID);
}
});
});
}
function ADis_OpenNextRescueSprechwunsch() {
ADisSettings().then((setting) => {
if (setting['Sprechwunsch-Automatic'] == 'true') {
return ADisDB.ADisSprechwunsch.where({
done: 'false'
}).limit(1)
}
}).then((Wunsch) => {
if (Wunsch !== undefined) {
Wunsch.each((myWunsch) => {
let VehicleID = myWunsch.vehicleID;
ADis_UpdateRescueSprechwunschToDone(VehicleID).then(() => {
if ($("#adis-sprechwunsch-rescue-frame").attr("vehicle_id") == "empty") {
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
RescueVehicleFrameWatchDog = setTimeout(async function () {
ADis_RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
});
}, 1500);
}
});
});
}
});
}
function ADis_AddRescueSprechwunschToQueue(WunschID) {
return ADisDB.ADisSprechwunsch.add({
vehicleID: WunschID,
done: 'false'
}).catch((err) => {})
}
function ADis_UpdateRescueSprechwunschToDone(WunschID) {
return ADisDB.ADisSprechwunsch.put({
vehicleID: WunschID,
done: 'true'
}).catch((err) => {})
}