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; }