357 lines
8.1 KiB
JavaScript
357 lines
8.1 KiB
JavaScript
/**
|
|
* @TODO Documentation
|
|
*/
|
|
'use strict';
|
|
|
|
|
|
/*
|
|
*Ertellen der Produkt Tabelle aus der Datenbank
|
|
*/
|
|
if (document.getElementById('produktTabelle'&& 'produkte')) {
|
|
request({
|
|
type:"GET",
|
|
url: "/sven/api/article"
|
|
}, function (data) {
|
|
data.data = data.data.DATA;
|
|
|
|
var str = "";
|
|
var id = 1;
|
|
/*
|
|
* Erstellt einen String der die Tabelle beinhaltet
|
|
*/
|
|
str +='<table>';
|
|
str +='<thead>';
|
|
str +='<tr>';
|
|
str +='<th>Produktnummer</th>';
|
|
str +='<th>Marke</th>';
|
|
str +='<th>Produktname</th>';
|
|
str +='<th>Preis</th>';
|
|
str +='</tr>';
|
|
str +='</thead>';
|
|
str +='<tbody>';
|
|
data.data.forEach(function(elem) {
|
|
//Durchläuft das Array als Schleife
|
|
str +='<tr>';
|
|
str +='<td>'+elem.ID+'</td>';
|
|
str +='<td>'+elem.Marke+'</td>';
|
|
str +='<td>'+elem.Name+'</td>';
|
|
str +='<td>'+precisionRound(elem.Verkaufspreis, 2)+'€'+'</td>';
|
|
str +='</tr>';
|
|
});
|
|
str +='</tbody>';
|
|
str +='</table>';
|
|
$('#produktTabelle').html(str); //JQuerry
|
|
|
|
/*
|
|
*Füllt das Produkteingabefeld mit den vorhandenen Produkten
|
|
*/
|
|
var str_2 = "";
|
|
data.data.forEach(function(elem) {
|
|
str_2+='<option value='+elem.ID+'>'+elem.Name+'</option>';
|
|
});
|
|
$('#produkte').html(str_2); //JQuerry
|
|
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error Produkttabelle');
|
|
});
|
|
};
|
|
|
|
/*
|
|
*Funktion um die Werte von dem ausgewählten Produkt in den Graphen zu bringen
|
|
*/
|
|
if (document.getElementById('produkte')) {
|
|
var produkt_id = null;
|
|
$('#produkte').change(function(){
|
|
produkt_id = $(this).val()-1;
|
|
});
|
|
};
|
|
|
|
|
|
var daten_Menge;
|
|
function selectProduct(){
|
|
if(!produkt_id) return;
|
|
request({
|
|
url: "/sven/api/statistics"
|
|
}, function (data) {
|
|
data.data = data.data.DATA;
|
|
var series_2 = [];
|
|
var labels_2 = [];
|
|
data.data.forEach(function(item) {
|
|
if(item.f_Artikel_ID === produkt_id) {
|
|
labels_2.push(item.Woche);
|
|
series_2.push({x: item.Woche, y: item.Menge});
|
|
}
|
|
});
|
|
|
|
daten_Menge = {labels: labels_2, series: [series_2]};
|
|
|
|
if (document.getElementById('chart2')) {
|
|
new Chartist.Bar('#chart2', daten_Menge, {
|
|
chartPadding: {
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 40,
|
|
left: 40
|
|
},
|
|
plugins: [
|
|
Chartist.plugins.ctAxisTitle({
|
|
axisX: {
|
|
axisTitle: 'Woche',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: 20
|
|
},
|
|
textAnchor: 'middle'
|
|
},
|
|
axisY: {
|
|
axisTitle: 'Menge',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: -20
|
|
},
|
|
textAnchor: 'middle',
|
|
flipTitle: false
|
|
}
|
|
})
|
|
]
|
|
});
|
|
};
|
|
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error Produktgraphen');
|
|
});
|
|
};
|
|
if (document.getElementById('chart2')) {
|
|
new Chartist.Bar('#chart2', daten_Menge);
|
|
};
|
|
|
|
/*
|
|
* Erstellt den 1. Graphen durch errechen der gesammt Menge die in der spezifischen Woche verkauft wurde
|
|
*/
|
|
if (document.getElementById('chart1')) {
|
|
var gesMengen_Daten;
|
|
request({
|
|
url: "/sven/api/statistics"
|
|
}, function (data) {
|
|
data.data = data.data.DATA;
|
|
var series_Menge = [];
|
|
var labels_Menge = [];
|
|
var Wochen = {};
|
|
data.data.forEach(function(item) {
|
|
item.Woche = parseInt(item.Woche);
|
|
if(!Wochen[item.Woche]) Wochen[item.Woche] = parseInt(item.Menge);
|
|
else Wochen[item.Woche] += parseInt(item.Menge);
|
|
});
|
|
|
|
Object.keys(Wochen).forEach(function(item) {
|
|
series_Menge.push(Wochen[item]);
|
|
});
|
|
labels_Menge =Object.keys(Wochen);
|
|
for(var i=0; i<labels_Menge.lenght;i++)
|
|
labels_Menge[i]="Woche"+labels_Menge[i];
|
|
var gesMengen_Daten = { labels: labels_Menge, series: [series_Menge]};
|
|
|
|
new Chartist.Bar('#chart1', gesMengen_Daten, {
|
|
chartPadding: {
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 40,
|
|
left: 40
|
|
},
|
|
plugins: [
|
|
Chartist.plugins.ctAxisTitle({
|
|
axisX: {
|
|
axisTitle: 'Woche',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: 20
|
|
},
|
|
textAnchor: 'middle'
|
|
},
|
|
axisY: {
|
|
axisTitle: 'Menge',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: -20
|
|
},
|
|
textAnchor: 'middle',
|
|
flipTitle: false
|
|
}
|
|
})
|
|
]
|
|
});
|
|
|
|
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error Produktgraphen');
|
|
});
|
|
|
|
new Chartist.Bar('#chart1', daten_Menge);
|
|
|
|
};
|
|
/*
|
|
* Tabelle vom und fürs Lager
|
|
*/
|
|
if (document.getElementById('lagerTabelle')) {
|
|
request({
|
|
type:"GET",
|
|
url: "/sven/api/stock",
|
|
}, function (data) {
|
|
data.data = data.data.DATA;
|
|
if(data.data.length == 0) return;
|
|
|
|
var str = "";
|
|
var id = 1;
|
|
/*
|
|
* Erstellt einen String der die Tabelle beinhaltet
|
|
*/
|
|
str +='<table>';
|
|
str +='<thead>';
|
|
str +='<tr>';
|
|
str +='<th>Lagerplatz</th>';
|
|
str +='<th>Produktname</th>';
|
|
str +='<th>Menge</th>';
|
|
str +='</tr>';
|
|
str +='</thead>';
|
|
str +='<tbody>';
|
|
data.data.forEach(function(elem) { //Durchläuft das Array als Schleife
|
|
str +='<tr>';
|
|
str +='<td>'+elem.Lagerplatz+'</td>';
|
|
str +='<td>'+elem.f_Artikel_ID+'</td>';
|
|
str +='<td>'+elem.Menge+'</td>';
|
|
str +='</tr>';
|
|
});
|
|
str +='</tbody>';
|
|
str +='</table>';
|
|
$('#lagerTabelle').html(str); //JQuerry
|
|
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error lagerTabelle');
|
|
});
|
|
};
|
|
|
|
/*
|
|
* Tabelle für erwartete Lieferungen
|
|
*/
|
|
if (document.getElementById('lieferTabelle')) {
|
|
request({
|
|
type:"GET",
|
|
url: "/sven/api/stockDeliveries"
|
|
}, function (data) {
|
|
data.data = data.data.DATA;
|
|
if(data.data.length == 0) return;
|
|
var str = "";
|
|
var id = 1;
|
|
/*
|
|
* Erstellt einen String der die Tabelle beinhaltet
|
|
*/
|
|
str +='<table>';
|
|
str +='<thead>';
|
|
str +='<tr>';
|
|
str +='<th>Bestellung</th>';
|
|
str +='<th>Produktname</th>';
|
|
str +='<th>Bestellte Menge</th>';
|
|
str +='<th>Ankunftsdatum</th>'
|
|
str +='</tr>';
|
|
str +='</thead>';
|
|
str +='<tbody>';
|
|
data.data.forEach(function(elem) { //Durchläuft das Array als Schleife
|
|
str +='<tr>';
|
|
str +='<td>'+elem.ID+'</td>';
|
|
str +='<td>'+elem.f_ProduktID+'</td>';
|
|
str +='<td>'+elem.Menge+'</td>';
|
|
str +='<td>'+elem.Ankunftsdatum+'</td>';
|
|
str +='</tr>';
|
|
});
|
|
str +='</tbody>';
|
|
str +='</table>';
|
|
$('#lieferTabelle').html(str);
|
|
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error Lieferungen');
|
|
});
|
|
};
|
|
|
|
function precisionRound(number, precision) {
|
|
return parseFloat(number).toFixed(precision);
|
|
};
|
|
|
|
function gewinnGraph() {
|
|
var gewinn = 0;
|
|
if(!produkt_id) return;
|
|
request(
|
|
{
|
|
type:"GET",
|
|
url:"/sven/api/article"
|
|
}, function(data){
|
|
data.data = data.data.DATA;
|
|
console.log(data.data);
|
|
var series_2 = [];
|
|
var labels_2 = [];
|
|
|
|
gewinn = data.data[produkt_id].Rohgewinn / data.data[produkt_id].Anzahl_pro_Palette;
|
|
console.log(produkt_id, data.data[produkt_id].Rohgewinn, data.data[produkt_id].Anzahl_pro_Palette);
|
|
|
|
request({
|
|
type:"GET",
|
|
url:"/sven/api/statistics"
|
|
}, function(data){
|
|
data.data = data.data.DATA;
|
|
data.data.forEach(function(item) {
|
|
if(item.f_Artikel_ID === produkt_id) {
|
|
console.log(item);
|
|
labels_2.push(item.Woche);
|
|
series_2.push(gewinn);
|
|
|
|
daten_Menge = {labels: labels_2, series: [series_2]};
|
|
if (document.getElementById('chart2')) {
|
|
new Chartist.Bar('#chart2', daten_Menge, {
|
|
chartPadding: {
|
|
top: 0,
|
|
right: 0,
|
|
bottom: 40,
|
|
left: 40
|
|
},
|
|
plugins: [
|
|
Chartist.plugins.ctAxisTitle({
|
|
axisX: {
|
|
axisTitle: 'Woche',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: 20
|
|
},
|
|
textAnchor: 'middle'
|
|
},
|
|
axisY: {
|
|
axisTitle: 'Preis in €',
|
|
axisClass: 'ct-axis-title',
|
|
offset: {
|
|
x: 0,
|
|
y: -20
|
|
},
|
|
textAnchor: 'middle',
|
|
flipTitle: false
|
|
}
|
|
})
|
|
]
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}, function (data) {
|
|
console.log(data);
|
|
console.log('Error 12');
|
|
});
|
|
};
|