239 lines
12 KiB
JavaScript
239 lines
12 KiB
JavaScript
|
|
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;
|
|
} |