87,992
社区成员
发帖
与我相关
我的任务
分享
<SCRIPT type="text/javascript">
var counterFirms = 10;
var importantFleets = 10;
var company;
var my_date = new Date();
var daten = 100;
var firmDatas = new Array();
var allFirms = new Array();
var lastTable = 0;
var kw = KalenderWoche(my_date.getFullYear(), my_date.getMonth() + 1, my_date.getDate());
//abrufen über XMLHttpRequest
function getRequest() {
var request = null;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert("Current Browser has no XMLHttpRequest object!");
}
return request;
}
//liest die daten aus
function sendDataRequest(dateiname, nr, aktkw) {
var request = getRequest();
if (null == request) {
alert("Cancel");
return;
}
request.open("GET", dateiname, true);
request.onreadystatechange = function() {
switch (request.readyState) {
case 4: {
//erst 5 Wichtigeste Firmen abfragen
var daten = request.responseText;
if (nr == 0) {
setFirms(daten);
} else {
setFirmDatas(daten, nr, aktkw);
}
}
default:
return false;
break;
}
};
request.send(null);
}
// speichert die firmen im Array die Daten müssen mit split noch aufgeteilt werden
function setFirms(daten) {
allFirms = daten.split("\n");
for (var i = 1; i < allFirms.length; i++) {
//storage.set("allFirmsID"+i,allFirms[i].split(";")[1]);
// storage.set("allFirms"+i,allFirms[i].split(";")[0]);
//var liste = storage.getAll();
}
setImportantFirms();
displayValue();
getAllFleets();
}
// entscheidet welches die 5 wichtigesten Firmen sind
// Anhand Problemquote und Flottenanzahl
function setImportantFirms() {
var IDImportantFirms = new Array();
var liste = storage.getAll();
storage.set("company_Prio" + 1, allFirms[1].split(";")[0]);
storage.set("companyID_Prio" + 1 + "", allFirms[1].split(";")[1]);
storage.set("company_Prio" + 1 + "_Fleet", allFirms[1].split(";")[2]);
storage.set("company_Prio" + 1 + "_Problems", allFirms[1].split(";")[3]);
storage.set("company_Prio" + 1 + "_ProblemValue", parseFloat(liste["company_Prio" + 1 + "_Problems"]) / parseFloat(liste["company_Prio" + 1 + "_Fleet"]));
var fleetSize;
var problem;
var j;
//beginn bei 1er Flotte mit dem vergleich
for (var i = 2; i < allFirms.length; i++) {
var dataValues = allFirms[i].split(";");
fleetSize = dataValues[2];
fleetID = dataValues[1];
problem = dataValues[3];
j = 1;
if (parseFloat(fleetSize) != 0) {
//Rechenzeit Maximal Anzahl der O(Daten*5)
while ((parseFloat(problem) / parseFloat(fleetSize) < liste["company_Prio" + j + "_ProblemValue"] || (parseFloat(problem) / parseFloat(fleetSize) == liste["company_Prio" + j + "_ProblemValue"] && parseFloat(fleetSize) < liste["company_Prio" + j + "_Fleet"] ) || fleetID == 400 )
//spätestens beim 5 mit dem Sortieren aufhören
&& j < (1 + importantFleets)) {
j++;
};
if (j < importantFleets) {
for (var w = j; w < (importantFleets + 1); w++) {
storage.set("company_Prio" + (j + (importantFleets + 1) - w), liste["company_Prio" + (j + (importantFleets + 1) - w)]);
storage.set("companyID_Prio" + (j + (importantFleets + 1) - w) + "", liste["companyID_Prio" + (j + (importantFleets + 1) - w)]);
storage.set("company_Prio" + (j + (importantFleets + 1) - w) + "_Fleet", liste["company_Prio" + (j + (importantFleets + 1) - w) + "_Fleet"]);
storage.set("company_Prio" + (j + (importantFleets + 1) - w) + "_Problems", liste["company_Prio" + (j + (importantFleets + 1) - w) + "_Problems"]);
storage.set("company_Prio" + (j + (importantFleets + 1) - w) + "_ProblemValue", liste["company_Prio" + (j + (importantFleets + 1) - w) + "_ProblemValue"]);
}
}
storage.set("company_Prio" + j, allFirms[i].split(";")[0]);
storage.set("companyID_Prio" + j + "", allFirms[i].split(";")[1]);
storage.set("company_Prio" + j + "_Fleet", allFirms[i].split(";")[2]);
storage.set("company_Prio" + j + "_Problems", allFirms[i].split(";")[3]);
storage.set("company_Prio" + j + "_ProblemValue", parseFloat(liste["company_Prio" + j + "_Problems"]) / parseFloat(liste["company_Prio" + j + "_Fleet"]));
}
}
}
//schreibt die daten in ein array
function setFirmDatas(daten, nr, varkw) {
var liste = storage.getAll();
if (varkw < (kw - 1)) {
firmDatas = daten.split("\n");
storage.set(("problemLength" + varkw + "Prio" + (nr - 1)), firmDatas.length - 2);
} else {
firmDatas = daten.split("\n");
storage.set(("problemLength" + varkw + "Prio" + (nr - 1)), firmDatas.length - 2);
for (var dat = 1; dat < firmDatas.length; dat++) {
var t = nr - 1;
storage.set("Prio" + t + "_data" + dat, firmDatas[dat]);
}
}
if (nr != 20) {
grafikDraw(nr);
} else {
storage.set("company", $("select#chFleets :selected").text());
storage.set("open_company_nr", (19));
window.location = "details_1.0.html";
}
//calculateKW();
}
//grafik erzeugen und Firma auslesen
function firmenDetails(nr) {
//Fehler der beim setzen der Daten aufgetreten ist muss mit +1 behoben werden.
getFirmsData((nr + 1));
}
//erzeugt die Grafik
function grafikDraw(nr) {
lastTable = nr;
var liste = storage.getAll();
//altes canvas Element löschen bevor neues erzeugen
loeschen();
var bar;
//neue canvas Element(grafische Datei) erzeugen
bar = new RGraph.Bar('cvs_tablle1', [parseFloat(liste["problemLength" + (kw - 2) + "Prio" + (nr - 1)]), parseFloat(liste["problemLength" + (kw - 1) + "Prio" + (nr - 1)]), 0]);
bar.Set('chart.title', "Problemverlauf von " + document.getElementById("Prio" + (nr - 1)).innerHTML);
//Anzahl der statistiken
bar.Set('chart.labels', ["KW " + (kw - 2), "KW " + (kw - 1), "KW" + kw]);
bar.Draw();
document.getElementById("problemRate").innerHTML = "Problem Rate:" + 100.0 * parseFloat(liste["company_Prio" + (nr) + "_ProblemValue"]) + " %";
}
//grafik wird gelöscht
function loeschen() {
document.getElementById("problemRate").innerHTML = "";
var canvas = document.getElementById('cvs_tablle1');
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
}
</SCRIPT>