Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 46efccd53a | |||
| 77fe05fc4b | |||
| 966d1ad67b | |||
| 61357300e3 | |||
| 17c33e5bb3 | |||
| 59b95b1807 | |||
| b5cbdc236f | |||
| c7d1157a1a | |||
| f020ae8000 | |||
| f4b04e11da | |||
| d8ecc4672e | |||
| 7fd6705513 | |||
| bb0db92ef9 | |||
| 537f48db96 | |||
| df13fc3598 | |||
| 1d50a3a2c9 | |||
| a7354d622d | |||
| b9b7e70d87 | |||
| 1c53ed7e19 | |||
| 944e3798d4 | |||
| b12b4c21e1 | |||
| 2b3782d787 | |||
| ea290015ef | |||
| ec01dfbec1 | |||
| 9a2bf77b50 | |||
| 00bbae0989 | |||
| 451c3a3568 | |||
| a51f7e4b76 | |||
| d02114b3f3 | |||
| 87f56daf15 | |||
| 0a661e44b1 | |||
| 7f146d2c41 | |||
| cf89b1178b |
+486
-67
File diff suppressed because it is too large
Load Diff
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+487
-68
File diff suppressed because it is too large
Load Diff
Vendored
+763
-341
File diff suppressed because it is too large
Load Diff
@@ -131,11 +131,11 @@ function emsDepartment($data)
|
|||||||
}
|
}
|
||||||
if ($key == "Benötigte GW-San") {
|
if ($key == "Benötigte GW-San") {
|
||||||
$pd["use_SEG_FULL"] = true;
|
$pd["use_SEG_FULL"] = true;
|
||||||
} elseif ($key == "Benötigte RTW" || ($key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss" && $value > 40)) {
|
} elseif ($key == "Benötigte RTW" || $key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss") {
|
||||||
$pd["use_RTW"] = true;
|
$pd["use_RTW"] = true;
|
||||||
} elseif ($key == "NEF Anforderungswahrscheinlichkeit" && $value > 40) {
|
} elseif ($key == "NEF Anforderungswahrscheinlichkeit") {
|
||||||
$pd["use_NEF"] = true;
|
$pd["use_NEF"] = true;
|
||||||
} elseif ($key == "RTH Anforderungswahrscheinlichkeit" && $value > 30) {
|
} elseif ($key == "RTH Anforderungswahrscheinlichkeit") {
|
||||||
$pd["use_RTH"] = true;
|
$pd["use_RTH"] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -295,6 +295,14 @@ foreach (glob("*.json") as $filename) {
|
|||||||
$mission['id'] = $mission_id;
|
$mission['id'] = $mission_id;
|
||||||
$mission['type'] = $mission_id;
|
$mission['type'] = $mission_id;
|
||||||
$mission['name'] = $data['Name'];
|
$mission['name'] = $data['Name'];
|
||||||
|
|
||||||
|
//$mission['share'] = isset($data['Tritt nur ab dem Datum auf']) ? true : false;
|
||||||
|
$mission['share'] = false;
|
||||||
|
|
||||||
|
if (isset($data['Credits im Durchschnitt']) && intval($data['Credits im Durchschnitt']) >= 7000 && $mission['share'] == false) {
|
||||||
|
$mission['share'] = true;
|
||||||
|
}
|
||||||
|
|
||||||
$fd = fireDepartment($data);
|
$fd = fireDepartment($data);
|
||||||
if (array_sum($fd) > 0) {
|
if (array_sum($fd) > 0) {
|
||||||
$mission['fire_department'] = $fd;
|
$mission['fire_department'] = $fd;
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
for i in $(seq 420 424); do
|
for i in $(seq 421 423); do
|
||||||
curl -s -o "./missions/$i.html" "https://www.leitstellenspiel.de/einsaetze/$i"
|
curl -s -o "./missions/$i.html" "https://www.leitstellenspiel.de/einsaetze/$i"
|
||||||
html2text -utf8 -style pretty -width 100 -o "./missions/$i.text" "./missions/$i.html"
|
html2text -utf8 -style pretty -width 100 -o "./missions/$i.text" "./missions/$i.html"
|
||||||
lynx --dump "./missions/$i.html" > "./missions/$i.txt"
|
lynx --dump "./missions/$i.html" > "./missions/$i.txt"
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="CptcsOLVZDZ8aMSG8FWeOHL84iwqScWrX26fREfMTtI=" name="csrf-token" />
|
<meta content="kX8RZLCcfKMXHlpuSdVA2uWEC3a0nLeBv2TPQyUDg/A=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-6dae189568c355807e28f829cc25cb33.js" type="text/javascript"></script>
|
||||||
|
|
||||||
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="sW5qrZx5GA4BBZD98qyG7pPTzGq1WjeNCnIDfiSzzK4=" name="csrf-token" />
|
<meta content="cvOny8TDgPA/eJthVo45f8+Vh/ExGdKnenC3q0Fr0sk=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="BNB0VEetMlMDcjHizS6YvWvA7A6QyjqezPsrd/hf17Y=" name="csrf-token" />
|
<meta content="/1vfZbjIof1sP0Gy1juDZhzIKL3GHnKnAPVcFhmrmLU=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
<title>LEITSTELLENSPIEL.DE - baue deine eigene Leitstelle, in deiner Stadt!</title>
|
||||||
<meta content="authenticity_token" name="csrf-param" />
|
<meta content="authenticity_token" name="csrf-param" />
|
||||||
<meta content="E/Anxv+qaHmWs1MWTFdBAsP34DrrQnvotX6q4tyZVIQ=" name="csrf-token" />
|
<meta content="ftiiGYcaqxTBxvpRVtzy+XpuEqIE9is8LacbnV7bmNo=" name="csrf-token" />
|
||||||
|
|
||||||
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
<script src="/assets/application-a789289a71061d030b76a864e1d16075.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>We're sorry, but something went wrong (500)</title>
|
|
||||||
<style type="text/css">
|
|
||||||
body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
|
|
||||||
div.dialog {
|
|
||||||
width: 25em;
|
|
||||||
padding: 0 4em;
|
|
||||||
margin: 4em auto 0 auto;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
border-right-color: #999;
|
|
||||||
border-bottom-color: #999;
|
|
||||||
}
|
|
||||||
h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<!-- This file lives in public/500.html -->
|
|
||||||
<div id="500_hype_container" style="margin:auto;position:relative;width:600px;height:200px;overflow:hidden;">
|
|
||||||
<script type="text/javascript" charset="utf-8" src="/500.hyperesources/500_hype_generated_script.js?47359"></script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"Name":null}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
|
|
||||||
@@ -1382,8 +1382,7 @@ alertFhz(elw2, 1, 'ELW2', false);
|
|||||||
alertFhz(dl, 1, 'DL', false);
|
alertFhz(dl, 1, 'DL', false);
|
||||||
RTW();
|
RTW();
|
||||||
//alertFhz(rtw, 20, 'RTW', false);
|
//alertFhz(rtw, 20, 'RTW', false);
|
||||||
} else if ([424].indexOf(help) != -1 && !(isVerband)) {
|
} else if ([43].indexOf(help) != -1 && !(isVerband)) {
|
||||||
} else if ([43].indexOf(help) != -1 && !(isVerband)) {
|
|
||||||
alertFhz(ruest, 5, 'RÜST', false);
|
alertFhz(ruest, 5, 'RÜST', false);
|
||||||
alertFhz(oel, 2, 'GW-ÖL', false);
|
alertFhz(oel, 2, 'GW-ÖL', false);
|
||||||
alertFhz(lf, 10, 'LF', false);
|
alertFhz(lf, 10, 'LF', false);
|
||||||
|
|||||||
+276
-273
@@ -10,10 +10,10 @@ class AutomaticDispose {
|
|||||||
all_missions: /***ADis_AllMissions***/ 0,
|
all_missions: /***ADis_AllMissions***/ 0,
|
||||||
name: this.name,
|
name: this.name,
|
||||||
runner: ['kt', 'om', 'os', 'vm', 've'],
|
runner: ['kt', 'om', 'os', 'vm', 've'],
|
||||||
runner_divs: ['mission_list_krankentransporte', 'mission_list', /*'mission_list_sicherheitswache',*/ 'mission_list_alliance', 'mission_list_alliance_event'],
|
runner_divs: ['mission_list_krankentransporte', 'mission_list', 'mission_list_sicherheitswache', 'mission_list_alliance', 'mission_list_alliance_event'],
|
||||||
runner_settings: ['Krankentransport-Automatic', 'MissionsOwn-Automatic', /*'MissionsOwn-Automatic',*/ 'Alliance-Automatic', 'AllianceEvent-Automatic'],
|
runner_settings: ['Krankentransport-Automatic', 'MissionsOwn-Automatic', 'MissionsOwn-Automatic', 'Alliance-Automatic', 'AllianceEvent-Automatic'],
|
||||||
runner_iframesName: ['adis-krankentransporte', 'adis-ownmissions', /*'adis-plannedevents',*/ 'adis-verbandmission', 'adis-verbandmission-event'],
|
runner_iframesName: ['adis-krankentransporte', 'adis-ownmissions', 'adis-plannedevents', 'adis-verbandmission', 'adis-verbandmission-event'],
|
||||||
runner_iframes: ['adis-krankentransporte-frame', 'adis-ownmissions-frame', /*'adis-plannedevents-frame',*/ 'adis-verbandmission-frame', 'adis-verbandmission-event-frame']
|
runner_iframes: ['adis-krankentransporte-frame', 'adis-ownmissions-frame', 'adis-plannedevents-frame', 'adis-verbandmission-frame', 'adis-verbandmission-event-frame']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ class AutomaticDispose {
|
|||||||
await self.genSettings()
|
await self.genSettings()
|
||||||
setInterval(self.genSettings.bind(self), 1000);
|
setInterval(self.genSettings.bind(self), 1000);
|
||||||
|
|
||||||
if (window.location.pathname === "/" || window.location.pathname === "/#") {
|
if (window.location.pathname === "/" || window.location.pathname === "/#" || window.location.pathname === "/#_=_") {
|
||||||
self.GetAvailableMissions()
|
self.GetAvailableMissions()
|
||||||
self.IndexPage()
|
self.IndexPage()
|
||||||
setInterval(self.CollectRescueSprechwuensche.bind(self), 2500);
|
setInterval(self.CollectRescueSprechwuensche.bind(self), 2500);
|
||||||
@@ -135,11 +135,10 @@ class AutomaticDispose {
|
|||||||
setInterval(self.OpenNextPoliceSprechwunsch.bind(self), 5000);
|
setInterval(self.OpenNextPoliceSprechwunsch.bind(self), 5000);
|
||||||
self.CollectPoliceSprechwuensche();
|
self.CollectPoliceSprechwuensche();
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(() => {
|
||||||
const self = this;
|
|
||||||
self.CollectMissions();
|
self.CollectMissions();
|
||||||
self.ReadAndAddMissions();
|
self.ReadAndAddMissions();
|
||||||
}.bind(self), 500);
|
}, 500);
|
||||||
|
|
||||||
self.ADisSettings.runner.forEach((runner) => {
|
self.ADisSettings.runner.forEach((runner) => {
|
||||||
self.OpenNextMission(runner)
|
self.OpenNextMission(runner)
|
||||||
@@ -162,9 +161,7 @@ class AutomaticDispose {
|
|||||||
if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'adis-sprechwunsch-police') {
|
if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'adis-sprechwunsch-police') {
|
||||||
self.Check_Call_Police_Active();
|
self.Check_Call_Police_Active();
|
||||||
} else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name != 'adis-sprechwunsch-police') {
|
} else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name != 'adis-sprechwunsch-police') {
|
||||||
setTimeout(function(){
|
self.StartMission();
|
||||||
this.StartMission();
|
|
||||||
}.bind(self),250)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -253,13 +250,12 @@ class AutomaticDispose {
|
|||||||
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
|
$("#adis-sprechwunsch-rescue-frame").attr("src", "https://www.leitstellenspiel.de/vehicles/" + VehicleID);
|
||||||
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
|
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", VehicleID);
|
||||||
|
|
||||||
self.RescueVehicleFrameWatchDog = setTimeout(async function () {
|
self.RescueVehicleFrameWatchDog = setTimeout(async () => {
|
||||||
const self = this;
|
|
||||||
self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
|
self.RemoveRescueSprechwunschFromQueue(VehicleID).then((deleteCount) => {
|
||||||
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
|
$("#adis-sprechwunsch-rescue-frame").attr("src", "");
|
||||||
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
|
$("#adis-sprechwunsch-rescue-frame").attr("vehicle_id", "empty");
|
||||||
});
|
});
|
||||||
}.bind(self), 1500);
|
}, 1500);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -444,13 +440,12 @@ class AutomaticDispose {
|
|||||||
$("#adis-sprechwunsch-police-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
$("#adis-sprechwunsch-police-frame").attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
||||||
$("#adis-sprechwunsch-police-frame").attr("mission_id", MissionID);
|
$("#adis-sprechwunsch-police-frame").attr("mission_id", MissionID);
|
||||||
|
|
||||||
self.PoliceVehicleFrameWatchDog = setTimeout(async function (MissionID) {
|
self.PoliceVehicleFrameWatchDog = setTimeout(async (MissionID) => {
|
||||||
const self = this;
|
|
||||||
self.RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
|
self.RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
|
||||||
$("#adis-sprechwunsch-police-frame").attr("src", "");
|
$("#adis-sprechwunsch-police-frame").attr("src", "");
|
||||||
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
|
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
|
||||||
});
|
});
|
||||||
}.bind(self), 1500, MissionID);
|
}, 2500, MissionID);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -478,7 +473,6 @@ class AutomaticDispose {
|
|||||||
this.Collect_Jails();
|
this.Collect_Jails();
|
||||||
} else {
|
} else {
|
||||||
let MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
let MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
||||||
// console.log('Check_Call_Police_Active', MissionID)
|
|
||||||
this.RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
|
this.RemovePoliceSprechwunschFromQueue(MissionID).then((deleteCount) => {
|
||||||
$("#adis-sprechwunsch-police-frame").attr("src", "");
|
$("#adis-sprechwunsch-police-frame").attr("src", "");
|
||||||
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
|
$("#adis-sprechwunsch-police-frame").attr("mission_id", "empty");
|
||||||
@@ -644,7 +638,7 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').length > 0 && CountGefangene >= 5) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').size() > 0 && CountGefangene >= 5) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').each((_, elem) => {
|
$('#vehicle_show_table_all tr[vehicle_type="GefKw"] input[type="checkbox"]').each((_, elem) => {
|
||||||
if (CountGefangene > 0) {
|
if (CountGefangene > 0) {
|
||||||
$(elem).click()
|
$(elem).click()
|
||||||
@@ -652,7 +646,7 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').length > 0 && CountGefangene > 0) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').size() > 0 && CountGefangene > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').each((_, elem) => {
|
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').each((_, elem) => {
|
||||||
if (CountGefangene > 0) {
|
if (CountGefangene > 0) {
|
||||||
$(elem).click()
|
$(elem).click()
|
||||||
@@ -660,7 +654,7 @@ class AutomaticDispose {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length > 0) {
|
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').size() > 0) {
|
||||||
$('#mission_alarm_btn').click();
|
$('#mission_alarm_btn').click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -862,6 +856,29 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
CollectMissions() {
|
CollectMissions() {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
|
self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], async () => {
|
||||||
|
self.ADSettings().then((setting) => {
|
||||||
|
return self.ADisDB.ADisMissions.toCollection()
|
||||||
|
}).then((Missions) => {
|
||||||
|
if (typeof Missions !== "undefined") {
|
||||||
|
|
||||||
|
return Missions.count((count) => {
|
||||||
|
if (count > 0) {
|
||||||
|
return Missions.each((MyMission) => {
|
||||||
|
var MissionElement = $("#mission_" + MyMission.missionID);
|
||||||
|
if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) {
|
||||||
|
// remove
|
||||||
|
console.log("Remove :", MyMission)
|
||||||
|
self.RemoveMissionsFromQueue(MyMission.missionID)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
const MyOwnObserver = new MutationObserver((mutations) => {
|
const MyOwnObserver = new MutationObserver((mutations) => {
|
||||||
mutations.forEach((mutation) => {
|
mutations.forEach((mutation) => {
|
||||||
// console.log(mutation.target.id);
|
// console.log(mutation.target.id);
|
||||||
@@ -889,39 +906,17 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
ReadAndAddMissions(MissionID, Runner) {
|
ReadAndAddMissions(MissionID, Runner) {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
||||||
|
if (typeof MissionID != 'undefined') {
|
||||||
self.ADSettings().then(() => {
|
self.AddMission(MissionID, Runner);
|
||||||
return self.ADisDB.ADisMissions.toCollection()
|
} else {
|
||||||
}).then((Missions) => {
|
self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
||||||
if (typeof Missions !== "undefined") {
|
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
||||||
return Missions.count((count) => {
|
MissionID = $(elem).attr("mission_id");
|
||||||
if (count > 0) {
|
await self.AddMission(MissionID, RunnerX);
|
||||||
return Missions.each((MyMission) => {
|
|
||||||
var MissionElement = $("#mission_" + MyMission.missionID);
|
|
||||||
if (MissionElement.length == 0 || $('#mission_panel_' + MyMission.missionID).hasClass('mission_panel_green')) {
|
|
||||||
// remove
|
|
||||||
console.log("Remove :", MyMission)
|
|
||||||
self.RemoveMissionsFromQueue(MyMission.missionID)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
})
|
||||||
}).then(() => {
|
}
|
||||||
|
|
||||||
if (typeof MissionID != 'undefined') {
|
|
||||||
return self.AddMission(MissionID, Runner);
|
|
||||||
} else {
|
|
||||||
return self.ADisSettings.runner_divs.forEach(async (RunnerX, index) => {
|
|
||||||
await $("#" + RunnerX).find(".missionSideBarEntry").each(async (index, elem) => {
|
|
||||||
MissionID = $(elem).attr("mission_id");
|
|
||||||
await self.AddMission(MissionID, RunnerX);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -933,6 +928,7 @@ class AutomaticDispose {
|
|||||||
const runnerOpt = self.ADisSettings.runner[runnerID];
|
const runnerOpt = self.ADisSettings.runner[runnerID];
|
||||||
|
|
||||||
return self.ADSettings().then((setting) => {
|
return self.ADSettings().then((setting) => {
|
||||||
|
|
||||||
if (setting[settingOpt] == 'true') {
|
if (setting[settingOpt] == 'true') {
|
||||||
let where = {
|
let where = {
|
||||||
missionID: ID,
|
missionID: ID,
|
||||||
@@ -943,39 +939,10 @@ class AutomaticDispose {
|
|||||||
}).then((Missions) => {
|
}).then((Missions) => {
|
||||||
if (typeof Missions === "undefined") {
|
if (typeof Missions === "undefined") {
|
||||||
return;
|
return;
|
||||||
/*
|
|
||||||
var MissionElement = $("#mission_" + ID);
|
|
||||||
|
|
||||||
var MissionID = MissionElement.attr("mission_id");
|
|
||||||
var MissionType = MissionElement.attr("mission_type_id");
|
|
||||||
var addr = MissionElement.find(".map_position_mover").text().split(",")
|
|
||||||
var MissionName = addr[0];
|
|
||||||
var MissionStreet = addr[1];
|
|
||||||
var MissionVillage = addr[2];
|
|
||||||
|
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
|
||||||
type: MissionType
|
|
||||||
}).then((available) => {
|
|
||||||
return self.AddMissionsToQueue({
|
|
||||||
"missionID": MissionID,
|
|
||||||
"type": MissionType,
|
|
||||||
"runner": runnerOpt,
|
|
||||||
"name": MissionName,
|
|
||||||
"street": MissionStreet,
|
|
||||||
"village": MissionVillage,
|
|
||||||
"available": (available !== undefined) ? 'true' : 'false',
|
|
||||||
"done": 'false',
|
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
|
||||||
});
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
return Missions.count((count) => {
|
return Missions.count((count) => {
|
||||||
console.log(count, runnerOpt);
|
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
return Missions.each((Mission) => {
|
return Missions.each(() => {
|
||||||
console.table(Mission);
|
|
||||||
var MissionElement = $("#mission_" + ID);
|
var MissionElement = $("#mission_" + ID);
|
||||||
var _MissionID = MissionElement.attr("mission_id");
|
var _MissionID = MissionElement.attr("mission_id");
|
||||||
var _MissionType = MissionElement.attr("mission_type_id");
|
var _MissionType = MissionElement.attr("mission_type_id");
|
||||||
@@ -983,27 +950,26 @@ class AutomaticDispose {
|
|||||||
var MissionName = addr[0];
|
var MissionName = addr[0];
|
||||||
var MissionStreet = addr[1];
|
var MissionStreet = addr[1];
|
||||||
var MissionVillage = addr[2];
|
var MissionVillage = addr[2];
|
||||||
console.log('update mission', _MissionID, MissionType, _MissionType)
|
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: _MissionType
|
type: MissionType
|
||||||
}).then((available) => {
|
}).then((available) => {
|
||||||
return self.UpdateMissions({
|
return self.AddMissionsToQueue({
|
||||||
"missionID": _MissionID,
|
"id": _MissionID,
|
||||||
"type": _MissionType,
|
"type": _MissionType,
|
||||||
"runner": runnerOpt,
|
"runner": runnerOpt,
|
||||||
"name": MissionName,
|
"name": MissionName,
|
||||||
"street": MissionStreet,
|
"street": MissionStreet,
|
||||||
"village": MissionVillage,
|
"village": MissionVillage,
|
||||||
"available": (available !== undefined) ? 'true' : 'false',
|
"available": (available !== undefined),
|
||||||
"done": "false",
|
"done": false,
|
||||||
"last_check": Mission.last_check,
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
"next_check": Mission.next_check
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
var MissionElement = $("#mission_" + ID);
|
var MissionElement = $("#mission_" + ID);
|
||||||
|
|
||||||
var MissionID = MissionElement.attr("mission_id");
|
var MissionID = MissionElement.attr("mission_id");
|
||||||
@@ -1012,19 +978,19 @@ class AutomaticDispose {
|
|||||||
var MissionName = addr[0];
|
var MissionName = addr[0];
|
||||||
var MissionStreet = addr[1];
|
var MissionStreet = addr[1];
|
||||||
var MissionVillage = addr[2];
|
var MissionVillage = addr[2];
|
||||||
console.log('new mission', MissionID)
|
|
||||||
return self.ADisDB.ADisAvailabelMissions.get({
|
return self.ADisDB.ADisAvailabelMissions.get({
|
||||||
type: MissionType
|
type: MissionType
|
||||||
}).then((available) => {
|
}).then((available) => {
|
||||||
return self.AddMissionsToQueue({
|
return self.AddMissionsToQueue({
|
||||||
"missionID": MissionID,
|
"id": MissionID,
|
||||||
"type": MissionType,
|
"type": MissionType,
|
||||||
"runner": runnerOpt,
|
"runner": runnerOpt,
|
||||||
"name": MissionName,
|
"name": MissionName,
|
||||||
"street": MissionStreet,
|
"street": MissionStreet,
|
||||||
"village": MissionVillage,
|
"village": MissionVillage,
|
||||||
"available": (available !== undefined) ? 'true' : 'false',
|
"available": (available !== undefined),
|
||||||
"done": 'false',
|
"done": false,
|
||||||
"last_check": Math.floor(new Date().getTime() / 1000),
|
"last_check": Math.floor(new Date().getTime() / 1000),
|
||||||
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
"next_check": Math.floor(new Date().getTime() / 1000) + 1
|
||||||
});
|
});
|
||||||
@@ -1036,7 +1002,18 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
AddMissionsToQueue(Mission) {
|
AddMissionsToQueue(Mission) {
|
||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.put(Mission).catch((err) => {
|
return self.ADisDB.ADisMissions.put({
|
||||||
|
missionID: Mission.id,
|
||||||
|
type: Mission.type,
|
||||||
|
runner: Mission.runner,
|
||||||
|
name: Mission.name,
|
||||||
|
available: Mission.available ? 'true' : 'false',
|
||||||
|
done: Mission.done ? 'true' : 'false',
|
||||||
|
street: Mission.street,
|
||||||
|
village: Mission.village,
|
||||||
|
last_check: Mission.last_check,
|
||||||
|
next_check: Mission.next_check
|
||||||
|
}).catch((err) => {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1062,7 +1039,7 @@ class AutomaticDispose {
|
|||||||
const self = this;
|
const self = this;
|
||||||
return self.ADisDB.ADisMissions.update(MissionID, {
|
return self.ADisDB.ADisMissions.update(MissionID, {
|
||||||
last_check: Math.floor(new Date().getTime() / 1000),
|
last_check: Math.floor(new Date().getTime() / 1000),
|
||||||
next_check: Math.floor(new Date().getTime() / 1000) + 120
|
next_check: Math.floor(new Date().getTime() / 1000) + 60
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
})
|
})
|
||||||
@@ -1094,6 +1071,21 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions, self.ADisDB.ADisAvailabelMissions], () => {
|
||||||
self.ADSettings().then((setting) => {
|
self.ADSettings().then((setting) => {
|
||||||
|
if (setting[runnerSettings] == 'true') {
|
||||||
|
let where = {
|
||||||
|
runner: Runner,
|
||||||
|
available: 'true',
|
||||||
|
done: 'false'
|
||||||
|
}
|
||||||
|
var coll = self.ADisDB.ADisMissions.where(where)
|
||||||
|
if (self.MyRunner != "kt") {
|
||||||
|
coll = coll.and(function (item) {
|
||||||
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return coll.toArray()
|
||||||
|
}
|
||||||
|
/*
|
||||||
if (setting[runnerSettings] == 'true') {
|
if (setting[runnerSettings] == 'true') {
|
||||||
return self.ADisDB.ADisMissions.where({
|
return self.ADisDB.ADisMissions.where({
|
||||||
runner: Runner,
|
runner: Runner,
|
||||||
@@ -1101,35 +1093,34 @@ class AutomaticDispose {
|
|||||||
done: 'false'
|
done: 'false'
|
||||||
}).and(function (item) {
|
}).and(function (item) {
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
}).limit(1)
|
}).toArray()
|
||||||
|
}*/
|
||||||
|
}).then((Wunsche) => {
|
||||||
|
if (typeof Wunsche === "undefined") {
|
||||||
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
}
|
}
|
||||||
}).then((Wunsch) => {
|
Wunsche.sort((a, b) => {
|
||||||
// console.table(Wunsch);
|
return a.next_check - b.next_check;
|
||||||
if (Wunsch !== undefined) {
|
});
|
||||||
return Wunsch.count(function (count) {
|
// console.table(Wunsche);
|
||||||
if (count > 0) {
|
if (Wunsche.length > 0) {
|
||||||
return Wunsch.each((myWunsch) => {
|
let myWunsch = Wunsche[0];
|
||||||
// console.log("MYWUNSCH:")
|
// console.log("MYWUNSCH:")
|
||||||
// console.table(myWunsch);
|
// console.table(myWunsch);
|
||||||
let MissionID = myWunsch.missionID;
|
let MissionID = myWunsch.missionID;
|
||||||
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
if ($('#' + runnerIframe).attr("mission_id") == "empty") {
|
||||||
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
$('#' + runnerIframe).attr("src", "https://www.leitstellenspiel.de/missions/" + MissionID);
|
||||||
$('#' + runnerIframe).attr("mission_id", MissionID);
|
$('#' + runnerIframe).attr("mission_id", MissionID);
|
||||||
// self.UpdateMissionsToDone(MissionID).then(() => {
|
// self.UpdateMissionsToDone(MissionID).then(() => {
|
||||||
// // console.log('done.... ' + Runner);
|
// // console.log('done.... ' + Runner);
|
||||||
// $('#' + runnerIframe).attr("src", '');
|
// $('#' + runnerIframe).attr("src", '');
|
||||||
// $('#' + runnerIframe).attr("mission_id", 'empty');
|
// $('#' + runnerIframe).attr("mission_id", 'empty');
|
||||||
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
||||||
// })
|
// })
|
||||||
} else {
|
} else {
|
||||||
// only while
|
// only while
|
||||||
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
// setTimeout(self.OpenNextMission.bind(self), 5000, Runner);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
return setTimeout(self.OpenNextMission.bind(self), 1000, Runner);
|
||||||
});
|
});
|
||||||
@@ -1151,87 +1142,85 @@ class AutomaticDispose {
|
|||||||
self.MyRunner = self.ADisSettings.runner[runnerID];
|
self.MyRunner = self.ADisSettings.runner[runnerID];
|
||||||
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
self.MyRunnerSettings = self.ADisSettings.runner_settings[runnerID];
|
||||||
|
|
||||||
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
self.MissionID = document.location.pathname.substr(document.location.pathname.lastIndexOf("/") + 1);
|
||||||
var help_el = $('a#mission_help');
|
var help_el = $('a#mission_help');
|
||||||
if (help_el.length > 0) {
|
if (help_el.length > 0) {
|
||||||
self.MissionType = help_el[0].href.split("?")[0];
|
self.MissionType = help_el[0].href.split("?")[0];
|
||||||
var re = /\d+$/i;
|
var re = /\d+$/i;
|
||||||
var found = self.MissionType.match(re);
|
var found = self.MissionType.match(re);
|
||||||
self.MissionType = Number(found[0]);
|
self.MissionType = Number(found[0]);
|
||||||
} else {
|
} else {
|
||||||
self.MissionType = null;
|
self.MissionType = null;
|
||||||
}
|
}
|
||||||
// console.log("MissionID", self.MissionID);
|
// console.log("MissionID", self.MissionID);
|
||||||
// console.log("MissionType", self.MissionType);
|
// console.log("MissionType", self.MissionType);
|
||||||
// console.log("Window", window.name);
|
// console.log("Window", window.name);
|
||||||
// console.log("self.MyRunner", self.MyRunner);
|
// console.log("self.MyRunner", self.MyRunner);
|
||||||
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
// console.log("self.MyRunnerSettings", self.MyRunnerSettings);
|
||||||
|
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
||||||
// if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
console.log("DONE: " + self.MissionID);
|
||||||
// console.log("DONE: ", self.MissionID);
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
// return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
||||||
// return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
})
|
||||||
// })
|
} else {
|
||||||
// } else {
|
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
||||||
return self.ADisDB.transaction('rw', [self.ADisDB.ADisMissions], () => {
|
self.ADSettings().then((setting) => {
|
||||||
self.ADSettings().then((setting) => {
|
if (setting[self.MyRunnerSettings] === 'true') {
|
||||||
if (setting[self.MyRunnerSettings] === 'true') {
|
let where = {
|
||||||
|
missionID: self.MissionID,
|
||||||
let where = {
|
runner: self.MyRunner,
|
||||||
missionID: self.MissionID,
|
done: 'false'
|
||||||
runner: self.MyRunner,
|
}
|
||||||
done: 'false'
|
// console.log(where);
|
||||||
|
return self.ADisDB.ADisMissions.where(where).and(function (item) {
|
||||||
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
|
}).limit(1)
|
||||||
|
}
|
||||||
|
}).then((Wunsch) => {
|
||||||
|
if (Wunsch !== undefined) {
|
||||||
|
return Wunsch.count(function (count) {
|
||||||
|
if (count > 0) {
|
||||||
|
return Wunsch.each((mywunsch) => {
|
||||||
|
return self.MainHandler()
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
|
return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// console.log(where);
|
});
|
||||||
return self.ADisDB.ADisMissions.where(where).and(function (item) {
|
} else {
|
||||||
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
}).limit(1)
|
return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
|
||||||
}
|
})
|
||||||
}).then((Wunsch) => {
|
}
|
||||||
if (Wunsch !== undefined) {
|
|
||||||
return Wunsch.count(function (count) {
|
|
||||||
if (count > 0) {
|
|
||||||
return Wunsch.each((mywunsch) => {
|
|
||||||
console.table(mywunsch);
|
|
||||||
return self.MainHandler()
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return self.UpdateMissionsToDone(self.MissionID).then(() => {
|
|
||||||
return tellParent(`console.log('wunsch:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
|
||||||
return tellParent(`console.log('wunsch:2000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
// }
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MainHandler() {
|
MainHandler() {
|
||||||
const self = this;
|
const self = this;
|
||||||
if (self.MissionType == null || self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
if (self.includesString($('#iframe-inside-container > div.missionNotFound > div.missionNotFoundText').text(), 'Der Einsatz wurde erfolgreich abgeschlossen.')) {
|
||||||
tellParent(`console.log('DONE: ${self.MissionID}');`);
|
console.log("DONE: " + self.MissionID);
|
||||||
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
return self.RemoveMissionsFromQueue(self.MissionID).then(() => {
|
||||||
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
return tellParent(`console.log('handler:1000:done:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // delete Mission here as completed
|
||||||
})
|
})
|
||||||
} else if (self.includesString($('#iframe-inside-container > div.alert.fade.in.alert-success').text(), "wurde erfolgreich informiert") ) {
|
} else if (self.includesString($('#iframe-inside-container > div.alert.fade.in.alert-success').text(), "wurde erfolgreich informiert") /*|| $('#vehicle_show_table_all input[type="checkbox"]:checked').size() > 0*/ ) {
|
||||||
const m = $('#iframe-inside-container > div.alert.fade.in.alert-success').text()
|
console.log("SEND: " + self.MissionID);
|
||||||
tellParent(`console.log('SEND: ${self.MissionID}', '${m}');`);
|
|
||||||
return self.UpdateMissionsToDone(self.MissionID).then(() => {
|
return self.UpdateMissionsToDone(self.MissionID).then(() => {
|
||||||
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
return tellParent(`console.log('handler:2000:update:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');`); // update Mission here as updated or full
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if (['adis-ownmissions', 'adis-plannedevents', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
setTimeout(function () {
|
||||||
console.log("WILL SEND?")
|
if (['adis-ownmissions', 'adis-plannedeventss', 'adis-krankentransporte'].indexOf(window.name) != -1) {
|
||||||
self.CheckMissionAutomatic();
|
self.CheckMissionAutomatic();
|
||||||
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
} else if (['adis-verbandmission', 'adis-verbandmission-event'].indexOf(window.name) != -1) {
|
||||||
self.WorkVerbandMission();
|
self.WorkVerbandMission();
|
||||||
}
|
}
|
||||||
|
}, 250);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1241,51 +1230,54 @@ class AutomaticDispose {
|
|||||||
// -
|
// -
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
|
|
||||||
WorkVerbandMission() {
|
WorkVerbandMission(myself) {
|
||||||
|
if (typeof myself === 'undefined') {
|
||||||
|
myself = false
|
||||||
|
}
|
||||||
const self = this;
|
const self = this;
|
||||||
self.ADSettings().then((setting) => {
|
return self.ADSettings().then((setting) => {
|
||||||
var title = document.getElementById('missionH1');
|
var title = document.getElementById('missionH1');
|
||||||
var isVerband = title.innerText.toLowerCase().includes("[verband]");
|
var isVerband = title.innerText.toLowerCase().includes("[verband]");
|
||||||
if (setting['Alliance-Automatic'] == 'true' && isVerband) {
|
if ((setting['Alliance-Automatic'] == 'true' && isVerband) || myself) {
|
||||||
if ([52, 55, 129, 203].indexOf(self.MissionType) !== -1 && $('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').length > 0) {
|
if ([52, 55, 129, 203].indexOf(self.MissionType) !== -1 && $('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
||||||
} else if ([53, 130, 202].indexOf(self.MissionType) !== -1) {
|
} else if ([53, 130, 202].indexOf(self.MissionType) !== -1) {
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]').length > 0) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="NEF"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="NEF"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="NEF"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="NEF"] input[type="checkbox"]')[0].click();
|
||||||
}
|
}
|
||||||
} else if ([54, 56].indexOf(self.MissionType) !== -1) {
|
} else if ([54, 56].indexOf(self.MissionType) !== -1) {
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]').length > 0) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FLF"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="GW-A"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="GW-Öl"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="LF 20"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="LF 20"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="LF 20"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="LF 20"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="LF 20/16"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="LF 20/16"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="LF 20/16"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="LF 20/16"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="HLF 20"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="HLF 20"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="HLF 20"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="HLF 20"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="TLF 8/8"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="TLF 8/8"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="TLF 8/8"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="TLF 8/8"] input[type="checkbox"]')[0].click();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').length > 0) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]')[0].click();
|
||||||
} else if ($('#vehicle_show_table_all tr[vehicle_type="KTW Typ B"] input[type="checkbox"]').length > 0) {
|
} else if ($('#vehicle_show_table_all tr[vehicle_type="KTW Typ B"] input[type="checkbox"]').size() > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="KTW Typ B"] input[type="checkbox"]')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="KTW Typ B"] input[type="checkbox"]')[0].click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Todo add alternative cars, please no LF because of Mülltonne....
|
// Todo add alternative cars, please no LF because of Mülltonne....
|
||||||
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length > 0) {
|
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').size() > 0 && myself == false) {
|
||||||
$('#mission_alarm_btn').click();
|
$('#mission_alarm_btn').click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1301,7 +1293,7 @@ class AutomaticDispose {
|
|||||||
CheckMissionAutomatic() {
|
CheckMissionAutomatic() {
|
||||||
const self = this;
|
const self = this;
|
||||||
var setOpt;
|
var setOpt;
|
||||||
if (window.name == 'adis-ownmissions' || window.name == 'adis-plannedevents') {
|
if (window.name == 'adis-ownmissions' || window.name == 'adis-plannedeventss') {
|
||||||
setOpt = 'MissionsOwn-Automatic';
|
setOpt = 'MissionsOwn-Automatic';
|
||||||
} else if (window.name == 'adis-krankentransporte') {
|
} else if (window.name == 'adis-krankentransporte') {
|
||||||
setOpt = 'Krankentransport-Automatic';
|
setOpt = 'Krankentransport-Automatic';
|
||||||
@@ -1361,97 +1353,109 @@ class AutomaticDispose {
|
|||||||
|
|
||||||
StartAlarmProcess() {
|
StartAlarmProcess() {
|
||||||
const self = this;
|
const self = this;
|
||||||
const alarming = function alarming() {
|
|
||||||
const self = this;
|
const alarming = function alarming(self) {
|
||||||
Promise.resolve().then(async () => {
|
Promise.resolve().then(async () => {
|
||||||
return await self.PrepareVehicleNeedList();
|
return await self.PrepareVehicleNeedList();
|
||||||
}).then(async () => {
|
}).then(async () => {
|
||||||
return await self.CollectInvolvedVehicles();
|
return await self.CollectInvolvedVehicles();
|
||||||
}).then(async () => {
|
}).then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.CollectPatients();
|
return await self.CollectPatients();
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.ProcessEmergencyMedicalService()
|
return await self.ProcessEmergencyMedicalService()
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.ProcessFireDepartment()
|
return await self.ProcessFireDepartment()
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.ProcessPoliceDepartment()
|
return await self.ProcessPoliceDepartment()
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.ProcessTechnicalEmergencyService()
|
return await self.ProcessTechnicalEmergencyService()
|
||||||
})
|
})
|
||||||
.then(async () => {
|
.then(async () => {
|
||||||
if (self.MyRunner == 'os' && self.Vehicles.length > 0) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return await self.ProcessWaterRescue()
|
return await self.ProcessWaterRescue()
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
||||||
if (self.OweSecure && $('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]:checked').length == 0) {
|
if (self.OweSecure) {
|
||||||
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]:not(:checked)').length > 0) {
|
if ($('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]:not(:checked)').length > 0) {
|
||||||
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]:not(:checked)')[0].click();
|
$('#vehicle_show_table_all tr[vehicle_type="FuStW"] input[type="checkbox"]:not(:checked)')[0].click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log("Clicked Vehicles: ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
// TODO check cars driving or already there
|
||||||
// console.log("WILL KLICK SEND")
|
if (self.MissionConfig.share) {
|
||||||
setTimeout(function () {
|
// console.log('self.MissionConfig.share',self.MissionConfig.share)
|
||||||
|
const elems = $('#vehicle_show_table_all tr input[type="checkbox"]:checked')
|
||||||
|
// console.log('elems', elems)
|
||||||
|
for (let i = 0; i < elems.length; i++) {
|
||||||
|
if (i === 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$(elems[i]).click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("Clicked Vehicles:" + self.MissionID + ":" + self.MissionConfig.type + " ", $('#vehicle_show_table_all input[type="checkbox"]:checked').length, $('#vehicle_show_table_all input[type="checkbox"]:checked'));
|
||||||
|
console.table(self.MissionData)
|
||||||
|
|
||||||
|
self.UpdateMissionsToDone(self.MissionID).then(async () => {
|
||||||
|
//tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},2500);`);
|
||||||
|
//if (window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").length > 0 && self.MissionConfig.share) {
|
||||||
|
// window.$('input[type=checkbox]').prop('checked', false);
|
||||||
|
// await self.WorkVerbandMission(true);
|
||||||
|
// window.$('#allianceShareText').val('Kein RD, die Patiernten gehören mir! Anonsten kann nach 2h geschlossen werden. Danke für die Aufmerksamkeit!')
|
||||||
|
// window.$("a.btn.btn-success.btn-sm.alert_notify_alliance").click();
|
||||||
|
//} else {
|
||||||
|
if ($('#vehicle_show_table_all input[type="checkbox"]:checked').length) {
|
||||||
|
console.log('send now')
|
||||||
|
if (window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']").length > 0 && self.MissionConfig.share) {
|
||||||
|
window.$('input[type=checkbox]').prop('checked', false);
|
||||||
|
await self.WorkVerbandMission(true);
|
||||||
|
window.$("a[title='Alarmieren, im Verband freigeben und nächsten Einsatz aufrufen']")[0].click();
|
||||||
|
} else {
|
||||||
|
window.$('#mission_alarm_btn').click();
|
||||||
|
}
|
||||||
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
|
} else {
|
||||||
|
tellParent(`setTimeout(function(){console.log('ok:${window.name}:${self.MissionID}');window.AutomaticDisposeCall.FreeIframe('${self.MyRunner}');},500);`);
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
});
|
||||||
|
|
||||||
self.UpdateMissionsToDone(self.MissionID).then(() => {
|
|
||||||
tellParent(`console.log('ok:${window.name}:${self.MissionID}');`);
|
|
||||||
window.$('#mission_alarm_btn').click();
|
|
||||||
});
|
|
||||||
}.bind(self), 250);
|
|
||||||
|
|
||||||
})
|
})
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
var $div = $("#mission-form > div:nth-child(7) > a");
|
|
||||||
var isShow = $div.is(':hidden');
|
|
||||||
//console.log($div, isShow);
|
|
||||||
if ($div.length && isShow) {
|
|
||||||
var observer = new MutationObserver(function (mutations) {
|
|
||||||
mutations.forEach(function (mutation) {
|
|
||||||
if (mutation.attributeName === "style") {
|
|
||||||
setTimeout(function () {
|
|
||||||
alarming()
|
|
||||||
}.bind(self), 500);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
observer.observe($div[0], {
|
|
||||||
attributes: true
|
|
||||||
});
|
|
||||||
|
|
||||||
$div.click();
|
|
||||||
} else {
|
|
||||||
setTimeout(function () {
|
|
||||||
const self = this;
|
|
||||||
alarming().bind(self)
|
|
||||||
}.bind(self), 250);
|
|
||||||
}
|
}
|
||||||
|
setTimeout(function () {
|
||||||
|
var $div = $("#mission-form > div:nth-child(7) > a");
|
||||||
|
var isShow = $div.is(':hidden');
|
||||||
|
//console.log($div, isShow);
|
||||||
|
if ($div.length && isShow) {
|
||||||
|
var observer = new MutationObserver(function (mutations) {
|
||||||
|
mutations.forEach(function (mutation) {
|
||||||
|
if (mutation.attributeName === "style") {
|
||||||
|
setTimeout(function () {
|
||||||
|
alarming(self)
|
||||||
|
}, 750);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
observer.observe($div[0], {
|
||||||
|
attributes: true
|
||||||
|
});
|
||||||
|
|
||||||
|
$div.click();
|
||||||
|
} else {
|
||||||
|
setTimeout(function () {
|
||||||
|
alarming(self)
|
||||||
|
}, 250);
|
||||||
|
}
|
||||||
|
}, 150);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||||
// -
|
// -
|
||||||
// - Collect Involved Vehicles & Patients
|
// - Collect Involved Vehicles & Patients
|
||||||
@@ -1504,12 +1508,11 @@ class AutomaticDispose {
|
|||||||
// Wir benötigen einen RTW oder KTW Typ B.
|
// Wir benötigen einen RTW oder KTW Typ B.
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen RTW oder KTW Typ B") != -1) {
|
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen RTW oder KTW Typ B") != -1) {
|
||||||
PatientNeedSEGKTWB = true;
|
PatientNeedSEGKTWB = true;
|
||||||
}
|
} else
|
||||||
|
// Wir benötigen einen RTW.
|
||||||
// Wir benötigen einen RTW.
|
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTW") != -1) {
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTW") != -1) {
|
PatientNeedRTW = true;
|
||||||
PatientNeedRTW = true;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen NEF.
|
// Wir benötigen einen NEF.
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein NEF") != -1) {
|
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein NEF") != -1) {
|
||||||
|
|||||||
@@ -1,239 +0,0 @@
|
|||||||
|
|
||||||
CollectPatients() {
|
|
||||||
const self = this;
|
|
||||||
let PatientCounter = 0;
|
|
||||||
|
|
||||||
$(".mission_patient").each(function (_, elem) {
|
|
||||||
var PatientName = $(elem).text();
|
|
||||||
var PatientNeedRTW = false;
|
|
||||||
var PatientNeedNEF = false;
|
|
||||||
var PatientNeedRTH = false;
|
|
||||||
var PatientNeedLNA = false;
|
|
||||||
var PatientNeedOrgL = false;
|
|
||||||
var PatientNeedSEGKTWB = false;
|
|
||||||
var PatientNeedTragehilfe = false;
|
|
||||||
|
|
||||||
// Wir benötigen einen RTW oder KTW Typ B.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen RTW oder KTW Typ B") != -1) {
|
|
||||||
PatientNeedSEGKTWB = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen RTW.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTW") != -1) {
|
|
||||||
PatientNeedRTW = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen NEF.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein NEF") != -1) {
|
|
||||||
PatientNeedNEF = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen RTH.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTH") != -1) {
|
|
||||||
PatientNeedRTH = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen LNA.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen LNA") != -1) {
|
|
||||||
PatientNeedLNA = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen einen OrgL.
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen OrgL") != -1) {
|
|
||||||
PatientNeedOrgL = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wir benötigen eine Tragehilfe (z.B. durch ein LF).
|
|
||||||
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen eine Tragehilfe") != -1) {
|
|
||||||
PatientNeedTragehilfe = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
self.Patients[PatientCounter] = {
|
|
||||||
"name": PatientName,
|
|
||||||
"need_RTW": PatientNeedRTW,
|
|
||||||
"need_NEF": PatientNeedNEF,
|
|
||||||
"need_RTH": PatientNeedRTH,
|
|
||||||
"need_LNA": PatientNeedLNA,
|
|
||||||
"need_OrgL": PatientNeedOrgL,
|
|
||||||
"need_SEG_KTWB": PatientNeedSEGKTWB,
|
|
||||||
"need_Tragehilfe": PatientNeedTragehilfe
|
|
||||||
}
|
|
||||||
|
|
||||||
PatientCounter++;
|
|
||||||
});
|
|
||||||
|
|
||||||
return self.Patients;
|
|
||||||
}
|
|
||||||
|
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
||||||
// -
|
|
||||||
// - Process Emergency_Medical_Service
|
|
||||||
// -
|
|
||||||
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
|
||||||
|
|
||||||
ProcessEmergencyMedicalService() {
|
|
||||||
|
|
||||||
const self = this;
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
// -
|
|
||||||
// - Emergency Medical Service: Vehicles
|
|
||||||
// -
|
|
||||||
// - 38: KTW
|
|
||||||
// - 28: RTW
|
|
||||||
// - 29: NEF
|
|
||||||
// - 74: NAW
|
|
||||||
// - 73: GRTW
|
|
||||||
// - 31: RTH
|
|
||||||
// - 55: LNA
|
|
||||||
// - 56: OrgL
|
|
||||||
// -
|
|
||||||
// - 58: (SEG) KTW Typ B
|
|
||||||
// - 59: (SEG) ELW 1
|
|
||||||
// - 60: (SEG) GW-San
|
|
||||||
// -
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
|
|
||||||
if (typeof self.MissionConfig.emergency_medical_service == "object") // Wenn der EMS-Block in der Config definiert ist
|
|
||||||
{
|
|
||||||
|
|
||||||
if (Object.keys(self.Patients).length >= 5) { // need LNA
|
|
||||||
self._ADisVehiclesNeed["55"] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Object.keys(self.Patients).length >= 10) { // need OrgL
|
|
||||||
self._ADisVehiclesNeed["56"] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Object.keys(self.Patients).length == 0) {
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_RTW == true) {
|
|
||||||
self._ADisVehiclesNeed["28"]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_NEF == true) {
|
|
||||||
self._ADisVehiclesNeed["29"]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_RTH == true) {
|
|
||||||
self._ADisVehiclesNeed["31"]++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (var Key in self.Patients) {
|
|
||||||
var Patient = self.Patients[Key];
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_KTW == true) {
|
|
||||||
if (!Patient.need_RTW && !Patient.need_NEF && !Patient.need_RTH) {
|
|
||||||
self._ADisVehiclesNeed["38"]++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Patient.need_LNA && self._ADisVehiclesNeed["55"] < 1) {
|
|
||||||
self._ADisVehiclesNeed["55"]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Patient.need_OrgL && self._ADisVehiclesNeed["56"] < 1) {
|
|
||||||
self._ADisVehiclesNeed["56"]++;
|
|
||||||
}
|
|
||||||
if (Patient.need_Tragehilfe == true) {
|
|
||||||
self._ADisVehiclesNeed["0"]++;
|
|
||||||
}
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_RTW == true || Patient.need_RTW == true) {
|
|
||||||
self._ADisVehiclesNeed["28"]++;
|
|
||||||
}
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_NEF == true || Patient.need_NEF == true) {
|
|
||||||
self._ADisVehiclesNeed["29"]++;
|
|
||||||
}
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_RTH == true || Patient.need_RTH == true) {
|
|
||||||
self._ADisVehiclesNeed["31"]++;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: need to be refactored to make sure first KTW Typ B before RTW.
|
|
||||||
if (self.MissionConfig.emergency_medical_service.use_SEG_ELW1_Only == "true") {
|
|
||||||
self._ADisVehiclesNeed["59"]++;
|
|
||||||
} else if (self.MissionConfig.emergency_medical_service.use_SEG_FULL == "true" || Object.keys(self.Patients).length >= 3) {
|
|
||||||
self._ADisVehiclesNeed["58"]++;
|
|
||||||
self._ADisVehiclesNeed["58"]++; // 3x KTW Type B
|
|
||||||
self._ADisVehiclesNeed["58"]++;
|
|
||||||
self._ADisVehiclesNeed["59"]++;
|
|
||||||
self._ADisVehiclesNeed["60"]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
var VehicleTable;
|
|
||||||
|
|
||||||
if ($("#vehicle_show_table_body_all").length > 0) {
|
|
||||||
VehicleTable = $("#vehicle_show_table_body_all");
|
|
||||||
} else {
|
|
||||||
VehicleTable = $("#vehicle_show_table_body_rett");
|
|
||||||
}
|
|
||||||
|
|
||||||
VehicleTable.find(".vehicle_select_table_tr").each(function (_, elem) {
|
|
||||||
var VehicleID = $(elem).attr("id").replace("vehicle_element_content_", "");
|
|
||||||
// var VehicleDistanceTime = $("#vehicle_sort_" + VehicleID).attr("sortvalue");
|
|
||||||
var VehicleType = $(elem).attr("vehicle_type");
|
|
||||||
|
|
||||||
if ($("#vehicle_checkbox_" + VehicleID + ":enabled").length === 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (VehicleType == "KTW" && self._ADisVehiclesNeed["38"] > 0) {
|
|
||||||
// console.log(" Automatic Dispose: Fahrzeug " + VehicleID + " " + VehicleType + " markiert");
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["38"]--;
|
|
||||||
} else if ((VehicleType == "LF 20" || VehicleType == "LF 10" ||
|
|
||||||
VehicleType == "LF 8/6" || VehicleType == "LF 20/16" ||
|
|
||||||
VehicleType == "LF 10/6" || VehicleType == "LF 16-TS" ||
|
|
||||||
VehicleType == "HLF 20" || VehicleType == "TSF-W" ||
|
|
||||||
VehicleType == "TLF 2000" || VehicleType == "TLF 3000" ||
|
|
||||||
VehicleType == "TLF 8/8" || VehicleType == "TLF 8/18" ||
|
|
||||||
VehicleType == "TLF 16/24-Tr" || VehicleType == "TLF 16/25" ||
|
|
||||||
VehicleType == "TLF 16/45" || VehicleType == "TLF 20/40" ||
|
|
||||||
VehicleType == "TLF 20/40-SL" || VehicleType == "TLF 16") &&
|
|
||||||
self._ADisVehiclesNeed["0"] + self._ADisVehiclesNeed["1"] + self._ADisVehiclesNeed["6"] + self._ADisVehiclesNeed["7"] +
|
|
||||||
self._ADisVehiclesNeed["8"] + self._ADisVehiclesNeed["9"] + self._ADisVehiclesNeed["30"] + self._ADisVehiclesNeed["37"] +
|
|
||||||
self._ADisVehiclesNeed["17"] + self._ADisVehiclesNeed["18"] + self._ADisVehiclesNeed["19"] + self._ADisVehiclesNeed["20"] +
|
|
||||||
self._ADisVehiclesNeed["21"] + self._ADisVehiclesNeed["22"] + self._ADisVehiclesNeed["23"] + self._ADisVehiclesNeed["24"] +
|
|
||||||
self._ADisVehiclesNeed["25"] + self._ADisVehiclesNeed["26"] > 0) { // LF acts as 'Tragehilfe'
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["0"]--;
|
|
||||||
} else if (VehicleType == "NAW" && self._ADisVehiclesNeed["28"] > 0 && self._ADisVehiclesNeed["29"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["74"]--;
|
|
||||||
self._ADisVehiclesNeed["28"]--;
|
|
||||||
self._ADisVehiclesNeed["29"]--;
|
|
||||||
} else if (VehicleType == "GRTW" && self._ADisVehiclesNeed["73"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["73"]--;
|
|
||||||
} else if (VehicleType == "RTW" && self._ADisVehiclesNeed["28"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["28"]--;
|
|
||||||
} else if (VehicleType == "NEF" && self._ADisVehiclesNeed["29"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["29"]--;
|
|
||||||
} else if (VehicleType == "RTH" && self._ADisVehiclesNeed["31"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["31"]--;
|
|
||||||
} else if (VehicleType == "KdoW-LNA" && self._ADisVehiclesNeed["55"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["55"]--;
|
|
||||||
} else if (VehicleType == "KdoW-OrgL" && self._ADisVehiclesNeed["56"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["56"]--;
|
|
||||||
} else if (VehicleType == "KTW Typ B" && self._ADisVehiclesNeed["58"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["58"]--;
|
|
||||||
self._ADisVehiclesNeed["28"]--; // no need for RTW if KTW Type B is called
|
|
||||||
} else if (VehicleType == "ELW 1 (SEG)" && self._ADisVehiclesNeed["59"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["59"]--;
|
|
||||||
} else if (VehicleType == "GW-San" && self._ADisVehiclesNeed["60"] > 0) {
|
|
||||||
$("#vehicle_checkbox_" + VehicleID).click();
|
|
||||||
self._ADisVehiclesNeed["60"]--;
|
|
||||||
self._ADisVehiclesNeed["29"]--; // no need for NEF if GW-SAN is called
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
const AutomaticDispose = function () {
|
|
||||||
let self = this;
|
|
||||||
self.MaxVehicleID = 86
|
|
||||||
self.MissionType = null
|
|
||||||
self.MissionID = null
|
|
||||||
self.MyRunner = null
|
|
||||||
self.MyRunnerSettings = null
|
|
||||||
self.OweSecure = false
|
|
||||||
|
|
||||||
self._ADisVehiclesNeed = {}
|
|
||||||
self.MissionConfig = {}
|
|
||||||
self.Vehicles = {}
|
|
||||||
self.Patients = {}
|
|
||||||
|
|
||||||
self.ADis_MyHead = document.getElementsByTagName('head')[0];
|
|
||||||
self.ADis_MyBody = document.getElementsByTagName('body')[0];
|
|
||||||
|
|
||||||
// -
|
|
||||||
// - Sprechwunsch Variablen
|
|
||||||
// -
|
|
||||||
self.Jails = [];
|
|
||||||
self.JailRegEx = /\(Freie Zellen\:\s+(\d)\,\s+Entfernung\:\s+(\d+\,\d+)\s+km(?:\,\s+Abgabe an Besitzer\:\s+(\d+)%)?\)/g;
|
|
||||||
self.Hospitals = [];
|
|
||||||
self.RescueVehicleFrameWatchDog = null;
|
|
||||||
self.PoliceVehicleFrameWatchDog = null;
|
|
||||||
};
|
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
(() => {
|
||||||
|
let msis = (async () => {
|
||||||
|
return await AutomaticDisposeCall.ADisDB.ADisMissions.where({
|
||||||
|
runner: 'om',
|
||||||
|
available: 'true',
|
||||||
|
done: 'false'
|
||||||
|
}).and(function (item) {
|
||||||
|
return item.next_check <= Math.floor(new Date().getTime() / 1000)
|
||||||
|
}).toArray()
|
||||||
|
})();
|
||||||
|
msis.then((result) => {
|
||||||
|
result.sort((a, b) => {
|
||||||
|
return a.next_check > b.next_check;
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}).then((sortedResult) => {
|
||||||
|
console.table(sortedResult);
|
||||||
|
});
|
||||||
|
})();
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
// ==UserScript==
|
||||||
|
// @name Mission Watcher
|
||||||
|
// @version 1.0.0
|
||||||
|
// @run-at document-end
|
||||||
|
// @require https://cdnjs.cloudflare.com/ajax/libs/dexie/2.0.4/dexie.min.js
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
|
||||||
|
class WatchMissions {
|
||||||
|
|
||||||
|
constructor(){
|
||||||
|
let self = this;
|
||||||
|
self.DB = new Dexie('LSS_AutomaticDispo');
|
||||||
|
|
||||||
|
|
||||||
|
self.DB.version(1).stores({
|
||||||
|
/**
|
||||||
|
* Missions to Watch
|
||||||
|
* - missionID - Mission ID that should be watched.
|
||||||
|
* - limit - If the Mission turns green more than 6 times, no more requests will be sent.
|
||||||
|
*/
|
||||||
|
Missions: "++missionID"
|
||||||
|
});
|
||||||
|
self.DB.open().catch((err) => {
|
||||||
|
console.error(err.stack || err);
|
||||||
|
});
|
||||||
|
self.DB.on("ready", async () => {
|
||||||
|
// index page
|
||||||
|
if (window.location.pathname === "/" || window.location.pathname === "/#" || window.location.pathname === "/#_=_") {
|
||||||
|
self.RegisterIndexPage();
|
||||||
|
}
|
||||||
|
// mission page
|
||||||
|
else if (window.location.pathname.indexOf("/missions/") !== -1 && window.name == 'watchMission') {
|
||||||
|
self.RegisterMissionPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
get RandomTime() {
|
||||||
|
const max = 6;
|
||||||
|
const min = 1;
|
||||||
|
return Math.floor((Math.random()*(max-min+1)+min)*1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
RegisterIndexPage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
RegisterMissionPage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
(() => {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
new WatchMissions();
|
||||||
|
|
||||||
|
})()
|
||||||
Reference in New Issue
Block a user