Persönliche Werkzeuge

Vorlage:BV-BgPreisIndex

Aus BogenWiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
Zeile 10: Zeile 10:
   BVBgList = BgList;
   BVBgList = BgList;
   for (var b = 0; b < BVBgList.length; b++)
   for (var b = 0; b < BVBgList.length; b++)
-
     BVGetBogen(Param.WikiUser,Param.Gebiet,Param.Gebiet1,Param.KatNr,BVBgList[b].BogenNr,OnBgLoad);
+
     BVGetBogen(Param.WikiUser,Param.Gebiet,Param.Gebiet1,Param.KatNr,BVBgList[b].BogenNr,Param.Options,OnBgLoad);
}
}
function OnBgLoad(Bogen,Param)
function OnBgLoad(Bogen,Param)
Zeile 28: Zeile 28:
                   '  <tr style="background:#E0E0E0" valign=top>'+
                   '  <tr style="background:#E0E0E0" valign=top>'+
                   '    <td rowspan=2><div style="'+sCellPadding+'"><b>BogenNr.</b><br>'+BVBgList.length+'</div></td>'+
                   '    <td rowspan=2><div style="'+sCellPadding+'"><b>BogenNr.</b><br>'+BVBgList.length+'</div></td>'+
-
                   '    <td colspan=2><div style="'+sCellPadding+'"><b>BRS</b></div></td>'+
+
                   '    <td colspan=2><div style="'+sCellPadding+'"><b>Eigenschaften</b></div></td>'+
                   '    <td colspan=3><div style="'+sCellPadding+'"><b>Preis</b></div></td>'+
                   '    <td colspan=3><div style="'+sCellPadding+'"><b>Preis</b></div></td>'+
                   '  </tr>'+
                   '  </tr>'+
Zeile 53: Zeile 53:
       if (BVBgList[b].BogenWiki == 'X')
       if (BVBgList[b].BogenWiki == 'X')
         sBN = '<a href="/bogenwiki/index.php?title=Bund MiNr. '+BVBgList[b].BogenNr+' groß">'+BVBgList[b].BogenNr+'</a>';
         sBN = '<a href="/bogenwiki/index.php?title=Bund MiNr. '+BVBgList[b].BogenNr+' groß">'+BVBgList[b].BogenNr+'</a>';
-
       var sPreis = BVBgList[b].Eingang.Preis+'€';
+
       var sPreis = BVBgList[b].Eingang.Preis;
       var bPreis = ((BVBgList[b].Eingang.Art == 'AZ') || (BVBgList[b].Eingang.Art == 'K'));
       var bPreis = ((BVBgList[b].Eingang.Art == 'AZ') || (BVBgList[b].Eingang.Art == 'K'));
       if (bPreis) {
       if (bPreis) {
 +
        var aOptions = Param.Options.split(';');
 +
        var aGroupBy = '';
 +
        for (o = 0; o < aOptions.length; o++) {
 +
          if (aOptions[o].split(':')[0] == 'GroupBy')
 +
            aGroupBy = aOptions[o].split(':')[1].split('+');
 +
        }
 +
        var sGroupByValue = '';
 +
        for (g = 0; g < aGroupBy.length; g++) {
 +
          sGroupByValue += BVGetBgFieldValue(BVBgList[b],aGroupBy[g])+'::';
 +
        }
         var nPreis = parseFloat(sPreis.replace(/,/,'.'))
         var nPreis = parseFloat(sPreis.replace(/,/,'.'))
-
         var nDKZIdx = -1;
+
         var nGroupIdx = -1;
         for (var p = 0; p < BVBgPreise.length; p++)
         for (var p = 0; p < BVBgPreise.length; p++)
-
           if (BVBgPreise[p].DKZ == sDKZ) nDKZIdx = p;
+
           if (BVBgPreise[p].GroupValue == sGroupByValue) nGroupIdx = p;
-
         if (nDKZIdx < 0) {
+
         if (nGroupIdx < 0) {
-
           BVBgPreise.push({DKZ:sDKZ, Min:nPreis, Sum:nPreis, Max:nPreis, Count:1, Preise:[nPreis]});
+
           BVBgPreise.push({GroupValue:sGroupByValue, Min:nPreis, Sum:nPreis, Max:nPreis, Count:1, Preise:[nPreis]});
         } else {
         } else {
-
           if (nPreis < BVBgPreise[nDKZIdx].Min) BVBgPreise[nDKZIdx].Min = nPreis;
+
           if (nPreis < BVBgPreise[nDKZIdx].Min) BVBgPreise[nGroupIdx].Min = nPreis;
-
           if (nPreis > BVBgPreise[nDKZIdx].Max) BVBgPreise[nDKZIdx].Max = nPreis;
+
           if (nPreis > BVBgPreise[nDKZIdx].Max) BVBgPreise[nGroupIdx].Max = nPreis;
-
           BVBgPreise[nDKZIdx].Sum += nPreis;
+
           BVBgPreise[nGroupIdx].Sum += nPreis;
-
           BVBgPreise[nDKZIdx].Count++;
+
           BVBgPreise[nGroupIdx].Count++;
-
           BVBgPreise[nDKZIdx].Preise.push(nPreis);
+
           BVBgPreise[nGroupIdx].Preise.push(nPreis);
         }
         }
       } else {
       } else {
Zeile 86: Zeile 96:
     sTabHTML = '<table id="BVBgPreise.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr+'.Tab" style="background:silver" cellpadding=1 cellspacing=1>'+
     sTabHTML = '<table id="BVBgPreise.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr+'.Tab" style="background:silver" cellpadding=1 cellspacing=1>'+
               '  <tr style="background:#E0E0E0" valign=top>'+
               '  <tr style="background:#E0E0E0" valign=top>'+
-
               '    <td><div style="'+sCellPadding+'"><b>DKZ</b></div></td>'+
+
               '    <td><div style="'+sCellPadding+'"><b>Group</b></div></td>'+
               '    <td><div style="'+sCellPadding+'"><b>Min</b></div></td>'+
               '    <td><div style="'+sCellPadding+'"><b>Min</b></div></td>'+
               '    <td><div style="'+sCellPadding+'"><b>Avg.</b></div></td>'+
               '    <td><div style="'+sCellPadding+'"><b>Avg.</b></div></td>'+
Zeile 93: Zeile 103:
               '    <td><div style="'+sCellPadding+'"><b>Anz.</b></div></td>'+
               '    <td><div style="'+sCellPadding+'"><b>Anz.</b></div></td>'+
               '  </tr>';
               '  </tr>';
-
     BVBgPreise.sort((a, b) => a.DKZ > b.DKZ ? 1 : -1);
+
     BVBgPreise.sort((a, b) => a.GroupValue > b.GroupValue ? 1 : -1);
     for (var p = 0; p < BVBgPreise.length; p++)
     for (var p = 0; p < BVBgPreise.length; p++)
       sTabHTML += '  <tr style="background:#FCFCFC" valign=top>'+
       sTabHTML += '  <tr style="background:#FCFCFC" valign=top>'+
-
                   '    <td><div style="'+sCellPadding+'">'+BVBgPreise[p].DKZ+'</div></td>'+
+
                   '    <td><div style="'+sCellPadding+'">'+BVBgPreise[p].GroupValue+'</div></td>'+
                   '    <td align=right><div style="'+sCellPadding+'">'+BVBgPreise[p].Min.toFixed(2).replace(/\./,',')+'€</div></td>'+
                   '    <td align=right><div style="'+sCellPadding+'">'+BVBgPreise[p].Min.toFixed(2).replace(/\./,',')+'€</div></td>'+
                   '    <td align=right><div style="'+sCellPadding+'">'+(BVBgPreise[p].Sum/BVBgPreise[p].Count).toFixed(2).replace(/\./,',')+'€</div></td>'+
                   '    <td align=right><div style="'+sCellPadding+'">'+(BVBgPreise[p].Sum/BVBgPreise[p].Count).toFixed(2).replace(/\./,',')+'€</div></td>'+
Zeile 117: Zeile 127:
}
}
</script></html>
</script></html>
-
|Index=<html><script>BVGetBogenList('all','</html>{{{Gebiet}}}<html>','</html>{{{Gebiet1}}}<html>','</html>{{{KatNr}}}<html>',OnBgListLoad);</script></html>
+
|Index=<html><script>BVGetBogenList('all','</html>{{{Gebiet}}}<html>','</html>{{{Gebiet1}}}<html>','</html>{{{KatNr}}}<html>','GroupBy:</html>{{{GroupBy}}}<html>',OnBgListLoad);</script></html>
|#default=<span style="color:red"><b>Template BV_BgPreisIndex: Invalid value for parameter Cmd ("{{{Cmd|''empty''}}}")!!!</b></span>
|#default=<span style="color:red"><b>Template BV_BgPreisIndex: Invalid value for parameter Cmd ("{{{Cmd|''empty''}}}")!!!</b></span>
}}
}}

Version vom 12:47, 24. Sep. 2023

Template BV_BgPreisIndex: Invalid value for parameter Cmd ("empty")!!!