calc/tests/Customer/OO/formels.txt
2026-02-25 15:33:54 +01:00

4051 lines
220 KiB
Plaintext

if(!function_exists('getSammelformMengenAbschlagPlano')) {
function getSammelformMengenAbschlagPlano($menge) {
return 1;
}// ####### BEGINN KOPIERSEKTION PSC #######
// Druckfarbenkosten berechnen Offsetdruck
function FarbkostenBerechnen($what, $KalkProdukt,$DruckbogenBreite, $Druckbogenhoehe, $anzahlDruckfarben, $drucklack, $bedruckteSeiten, $nettobg, $zuschuss, $anzahlFarbw, $druckfarben_inhalt) {
$DruckfarbenAufschlag = 1.2; // Preisfaktor für Fremdkosten
$Druckfarbe_Kilopreis_Euroskala = 8.5; // Kilopreis in Euro für Euroskala
$Druckfarbe_Kilopreis_Sonderfarbe = 50; // Kilopreis in Euro für Sonderfarbe (Pantone, HKS, Metallic etc.)
$Drucklack_Kilopreis = 12.5; // Kilopreis in Euro für Drucklack
$Druckfarbe_Flächendeckung_Euroskala = 25; // Standard Flächendeckung in Prozent
$Druckfarbe_Flächendeckung_Sonderfarbe = 60 + $anzahlFarbw * 10;
$Druckfarbe_Flächendeckung_Lack = 80; // Standard Flächendeckung in Prozent für Lack
$DurchschnittlicheFarbVerbrauchsmenge = 1.4; // Durchschnittliche Verbrauchsmenge in Gramm pro Quadratmeter (hier: ungestrichene Papieroberfläche)
$GrundfarbmengeFarbwerk = 0.150; // Grundfarbmenge pro Farbwerk in Kilogramm
if ($drucklack != 0) {
$drucklack = 1; // Wenn Drucklack verwendet wird, dann 1, sonst 0
}
// Korrekturfaktor, da Broschüren etc. erfahrungsgemäß weniger Sonderfarbe verbrauchen
$korrrekturSonderfarbe = 1;
if ($bedruckteSeiten != 1 || $KalkProdukt == 'BRO') {
$korrrekturSonderfarbe = 0.8;
}
// Anzahl der Sonderfarben, wird nur einmal gezählt
if ($anzahlFarbw > 0) {
$SonderfarbZaehler = 1;
}else{
$SonderfarbZaehler = 0;}
$KGjeFarbe_Euroskala = round((($anzahlDruckfarben - $anzahlFarbw) * (($nettobg + $zuschuss) * $bedruckteSeiten * $DruckbogenBreite / 100 * $Druckbogenhoehe / 100 * $Druckfarbe_Flächendeckung_Euroskala / 100 * $DurchschnittlicheFarbVerbrauchsmenge) / 1000 + $GrundfarbmengeFarbwerk / 2), 1);
$KGjeFarbe_Sonderfarbe = round($SonderfarbZaehler * ((($nettobg + $zuschuss) * $korrrekturSonderfarbe * $DruckbogenBreite / 100 * $Druckbogenhoehe / 100 * $Druckfarbe_Flächendeckung_Sonderfarbe / 100 * $DurchschnittlicheFarbVerbrauchsmenge) / 1000 + $GrundfarbmengeFarbwerk), 1);
$KG_Lack = round($drucklack * ((($nettobg + $zuschuss) * $korrrekturSonderfarbe * $DruckbogenBreite / 100 * $Druckbogenhoehe / 100 *
$Druckfarbe_Flächendeckung_Lack / 100 * $DurchschnittlicheFarbVerbrauchsmenge) / 1000 + $GrundfarbmengeFarbwerk), 1);
$farbkostenEuroskala = $KGjeFarbe_Euroskala * $Druckfarbe_Kilopreis_Euroskala * $DruckfarbenAufschlag; // Kosten für Euroskala
$farbkostenSonderfarbe = $KGjeFarbe_Sonderfarbe * $Druckfarbe_Kilopreis_Sonderfarbe * $DruckfarbenAufschlag; // Kosten für Sonderfarben
$farbkostenLack = $KG_Lack * $Drucklack_Kilopreis * $DruckfarbenAufschlag; // Kosten für Drucklack
if ($druckfarben_inhalt == 18 || $druckfarben_inhalt == 19) { // Wenn Farbe = MGA / MAG migrationsarm
$farbkostenEuroskala *= 1.7; // Kosten für Euroskala erhöhen
$farbkostenSonderfarbe /= 3.5; // Kosten für Sonderfarbe reduzieren
}
// neue Formel ab 1.7.2025
$farbkosten = $farbkostenEuroskala + $farbkostenSonderfarbe + $farbkostenLack;
$farbkosten = round($farbkosten, 2); // auf 2 Nachkommastellen runden
if ($farbkosten < 0) {
$farbkosten = 0; // negative Kosten vermeiden
}
// Ausgabe der Ergebnisse
if ($what == 'debug') {
echo "Testfall: " . $DruckbogenBreite . "x" . $Druckbogenhoehe . " cm | " . $anzahlDruckfarben . "|" . $drucklack . "|" . $bedruckteSeiten . "|" . $nettobg . "+" . $zuschuss . "|" . $anzahlFarbw . " => Farbkosten: " . $farbkosten . " € | \n";
echo ("Euroskala: " . $KGjeFarbe_Euroskala . " kg | \n");
echo ("Sonderfarbe: " . $KGjeFarbe_Sonderfarbe . " kg | \n");
echo ("Lack: " . $KG_Lack . " kg\n");
echo ("-------------------------\n");
}
return $farbkosten;
}
// Test
function getTest23($auflage){
$internarr = array('$parameter 1' => '250', '$parameter2' => 'test2', '$parameter3' => 'ja');
$intern = Array2String($internarr);
$ergebnis = array('$eigenkosten' => $auflage, '$fremdkosten' => 650, '$preisaend' => -100, '$versandgewicht' => 7250, '$intern' => $intern);
return $ergebnis;
}
// Für unbenötigte Rückgabewerte = alles "0"
function getZeroPlanoFa23($name){
$internarray = array('$name' => $name);
$intern = Array2String($internarray);
$ergebnis = array('eigenkosten' => 0, 'fremdkosten' => 0, 'preisaend' => 0, 'versandgewicht' => 0, 'intern' => $intern);
return $ergebnis;
}
// Arrays für Ausgabe umwandeln
function Array2String($array) {
$glue = ' ### ';
$symbol = ' = ';
return implode($glue, array_map(
function($k, $v) use($symbol) {
return $k . $symbol . $v;
},
array_keys($array),
array_values($array)
)
);
}
// Interpolation aus Tabelle erzeugen
function getInterpolationswertAusTabelle($input, $table) {
// Exakt gefunden
foreach ($table as $pair) {
if (($pair[0] == $input) && ($pair[1] !== 0)) return $pair[1];
}
// Unter dem kleinsten Wert
if ($input <= $table[0][0]) return $table[0][1];
// Über dem höchsten Wert
if ($input >= $table[count($table)-1][0]) return $table[count($table)-1][1];
// Zwischen Werten interpolieren
for ($i = 0; $i < count($table) - 1; $i++) {
if ($input >= $table[$i][0] && $input < $table[$i+1][0]) {
$x1 = $table[$i][0];
$y1 = $table[$i][1];
$x2 = $table[$i+1][0];
$y2 = $table[$i+1][1];
return $y1 + ($input - $x1) * ($y2 - $y1) / ($x2 - $x1);
}
}
return 0; // Fallback
}
// FormatCheck für WTV o.ä.
function FormatCheck($breite, $hoehe, $minbreite, $minhoehe, $maxbreite, $maxhoehe, $drehenmoeglich){
if($hoehe >= $minhoehe && $hoehe <= $maxhoehe && $breite >= $minbreite && $breite <= $maxbreite){
return True;
}else if($breite >= $minhoehe && $breite <= $maxhoehe && $hoehe >= $minbreite && $hoehe <= $maxbreite && $drehenmoeglich == True){
return True;
}else{
return false;
}
}
//Stanzung, Perfo berechnen
function StanzPerfoKostenBerechnen($stanzung, $stanzart, $auflage, $sortenzahl, $anzblattjeblock, $breite_offen, $hoehe_offen, $drucknutzen, $Pstundensatz_wtv_maschinen) {
$stanzung = intval($stanzung);
$stanzart = intval($stanzart);
$Pplano_stanzen_fix1 = 35;
$Pplano_stanzen_fix2 = 97.5;
$Pplano_stanzen_var1 = 14;
$Pplano_stanzen_var2 = 37.5;
$kosten_stanzung = 0;
$zeit_stanzung = 0;
$kosten_werkzeug_stanzung_1N = 0;
$kosten_werkzeug_stanzung = 0;
$nutzen_stanzung = 1;
$stanzmaschine = 'keine';
$maxnutzenanzTiegel = max(floor(33 / ($breite_offen + 1)) * floor(23 / ($hoehe_offen + 1)), floor(23 / ($breite_offen + 1)) * floor(33 / ($hoehe_offen + 1))); //Nutzenberechnung
$maxnutzenanzZylinder = max(floor(98 / ($breite_offen + 1)) * floor(68 / ($hoehe_offen + 1)), floor(68 / ($breite_offen + 1)) * floor(98 / ($hoehe_offen + 1))); //Nutzenberechnung
if ($stanzung != 0 && $stanzung != 99) {
$stanzwerkzeug_sorten = 1;
if ($stanzung == 3) {
$stanzwerkzeug_sorten = $sortenzahl;
}
$wtvzuschusspapier = ($auflage * $anzblattjeblock * 0.01 + 50) / $drucknutzen;
$kosten_werkzeug_stanzung_1N = (sqrt($breite_offen * $hoehe_offen) * 2 + 85) * $stanzwerkzeug_sorten;
if (($breite_offen > 33 || $hoehe_offen > 33) || ($breite_offen > 23 && $hoehe_offen > 23)) {
$kosten_stanzung = $Pplano_stanzen_fix2 + ($auflage * $anzblattjeblock) * $Pplano_stanzen_var2 / 1000;
$stanzmaschine = "zylinder";
if ($stanzung > 1) {
$kosten_stanzung += $kosten_werkzeug_stanzung_1N;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N;
}
} else {
$kosten_stanzung = $Pplano_stanzen_fix1 + ($auflage * $anzblattjeblock) * $Pplano_stanzen_var1 / 1000;
$stanzmaschine = "tiegel";
if ($stanzung > 1) {
$kosten_stanzung += $kosten_werkzeug_stanzung_1N;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N;
}
}
$kosten_stanzen_fix = $Pplano_stanzen_fix2;
$kosten_stanzen_var = $Pplano_stanzen_var2;
$stanzmaschine_temp = "zylinder";
for ($ntz = 1; $ntz <= $maxnutzenanzZylinder; $ntz++) {
$kosten_sta_temp = $kosten_stanzen_fix + $auflage * $kosten_stanzen_var / 1000 / $ntz + $kosten_werkzeug_stanzung_1N * $ntz;
if ($kosten_sta_temp < $kosten_stanzung) {
$kosten_stanzung = $kosten_sta_temp;
$nutzen_stanzung = $ntz;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N * $ntz;
$stanzmaschine = $stanzmaschine_temp;
}
}
$kosten_stanzen_fix = $Pplano_stanzen_fix1;
$kosten_stanzen_var = $Pplano_stanzen_var1;
$stanzmaschine_temp = "tiegel";
for ($ntz = 1; $ntz <= $maxnutzenanzTiegel; $ntz++) {
$kosten_sta_temp = $kosten_stanzen_fix + $auflage * $kosten_stanzen_var / 1000 / $ntz + $kosten_werkzeug_stanzung_1N * $ntz;
if ($kosten_sta_temp < $kosten_stanzung) {
$kosten_stanzung = $kosten_sta_temp;
$nutzen_stanzung = $ntz;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N * $ntz;
$stanzmaschine = $stanzmaschine_temp;
}
}
//Sonderfall Banderolen korrigieren
if ($stanzmaschine == 'zylinder' && $stanzung == 1 && ($nutzen_stanzung * $breite_offen < 20 || $nutzen_stanzung * $hoehe_offen < 20)) {
$kosten_stanzung += 35;
}
//Sonderfall Perfo/Rillen für vorh. Werkzeug korrigieren (hier andere Parameterübergabe beachten!)
if ($stanzung == 1 && $stanzart == 3) {
$kosten_werkzeug_stanzung = 10 + $sortenzahl * 5;
if ($stanzmaschine == 'zylinder') {
$kosten_stanzung = $kosten_werkzeug_stanzung + $Pplano_stanzen_fix2 + $auflage * $Pplano_stanzen_var2 / 1000 / $drucknutzen;
$nutzen_stanzung = $drucknutzen;
} else {
$kosten_stanzung = $kosten_werkzeug_stanzung + $Pplano_stanzen_fix1 + $auflage * $Pplano_stanzen_var1 / 1000 / $maxnutzenanzTiegel;
$nutzen_stanzung = $maxnutzenanzTiegel;
}
}
$zeit_stanzung = $kosten_stanzung / $Pstundensatz_wtv_maschinen;
return array($kosten_stanzung, $zeit_stanzung, $kosten_werkzeug_stanzung, $nutzen_stanzung, $stanzmaschine, $wtvzuschusspapier);
}else{
return array(0, 0, 0, 0, 'keine', 0);
}
}
// DIGITALDRUCK
function getPrePressDIGI23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $loseblatt, $personalisierung, $seiten_inhalt, $seiten_umschlag){
//Parameter
$Pstundensatz_vorstufe = 75;
$Pplano_fa_aufpreis_anderes_dateiformat = 30;
$Pumweltzeichen_fsc = 25;
$Pumweltzeichen_blauerengel = 50;
$Psortenzeit_vorstufe = 3;
$Pgrundzeit_vorstufe = 10;
$Pgrundzeit_loseblatt = 10;
$bedruckteSeiten = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt)[1];
$anzahlSeiten = $seiten_umschlag + $seiten_inhalt;
if($anzahlSeiten == 0){$anzahlSeiten = $bedruckteSeiten;}
$datenuebernahme_kosten = ($Pgrundzeit_loseblatt * $loseblatt + $Pgrundzeit_vorstufe + ($sortenzahl * 0.25) * $bedruckteSeiten * $Psortenzeit_vorstufe + $anzahlSeiten/4)/60 * $Pstundensatz_vorstufe;
$dateiformat_kosten = 0;
if(($dateiformat_geliefert != 1) && ($dateiformat_geliefert != 5)){
$dateiformat_kosten = $Pplano_fa_aufpreis_anderes_dateiformat + $anzahlSeiten *1;
}
$korrekturabzug_kosten = 0;
if($korrekturabzug == 2){
$korrekturabzug_kosten = max(8, 0.3 * ($sortenzahl*$bedruckteSeiten + $anzahlSeiten));
}
$umweltzeichen_kosten = 0;
if($umweltzeichen == 2){
$umweltzeichen_kosten = $Pumweltzeichen_fsc;
}
if($umweltzeichen == 3){
$umweltzeichen_kosten = $Pumweltzeichen_blauerengel;
}
$eigenkosten_prepress = $datenuebernahme_kosten + $dateiformat_kosten + $korrekturabzug_kosten + $umweltzeichen_kosten;
return $eigenkosten_prepress;
}
function getDruckNutzenDIGI($breite_offen, $hoehe_offen, $huellendruck){
$Druckbogenbreite = 48.7;
$Druckbogenhoehe = 33;
$DruckbgRaender = 1;
if ($huellendruck == 0){
$drucknutzen = max(
(floor(($Druckbogenbreite-$DruckbgRaender)/$breite_offen))*(floor(($Druckbogenhoehe-$DruckbgRaender)/$hoehe_offen)),
(floor(($Druckbogenhoehe-$DruckbgRaender)/$breite_offen))*(floor(($Druckbogenbreite-$DruckbgRaender)/$hoehe_offen))
);
}else{
$drucknutzen = 1;
$Druckbogenbreite = $breite_offen;
$Druckbogenhoehe = $hoehe_offen;
}
return [$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender];
}
// Digitaldruck Klickkosten kalkulieren
# EK A4 einseitig Dewart 4/2022: 4c = 0,035 €, 1c = 0,01 €
# Return = VK Klickpreis je Druck DIN A3 einseitig
function getKlickKostenDigitaldruck ($druckbogenmenge, $bedruckteSeiten, $druckfarben_inhalt, $huellendruck){
$KlickKosten_A4_4C_EK = 0.035; //= EK Dewart DIN A4 Klick 4/2022 x Faktor Farbe >>> VK DIN A3 4C einseitig, EK Dewart wäre neu ab 7/2024: 0,035 je DIN A3 Klick
$KlickKosten_A4_SW_EK = 0.01; //= EK Dewart DIN A4 Klick 4/2022 x Faktor SW >>> VK DIN A3 SW einseitig, EK Dewart wäre neu ab 7/2024: 0,01 sw DIN A3 Klick
$mengenAufschlagDigiDruck = 1.8 - log10($druckbogenmenge * $druckbogenmenge * $bedruckteSeiten) / 50;
if($druckfarben_inhalt == 1 || $druckfarben_inhalt == 3){
$klickkosten = $KlickKosten_A4_4C_EK * 2.2;
}else{
$klickkosten = $KlickKosten_A4_SW_EK * 3.5;
}
$klickkosten *= $mengenAufschlagDigiDruck;
if ($huellendruck == 1){
$klickkosten *= 2;
}
return $klickkosten;
}
function getPrintDIGIPlanoFa23($what, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $sortenzahl, $papiersorte_sammelform, $anzblattjeblock, $wtvzuschusspapier, $papiersorte_papiertyp1, $papiersorte_papiertyp2, $papiersorte_papiertyp3, $papiersorte_papiertyp4, $papiersorte_papiertyp5, $papiersorte_papiertyp6, $papiersorte_papiertyp7, $papiersorte_papiertyp8, $papiersorte_papiertyp9, $papiersorte_papiertyp10, $papiersorte_papiertyp11, $papiersorte_papiertyp12, $papiersorte_papiertyp13, $papiersorte_papiertyp14){
[$anzahlDruckfarben, $bedruckteSeiten] = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt);
// Hüllendruck? Papierkosten per o/oo + Druckkosten !
if(($papiersorte_papiertyp5) || ($papiersorte_papiertyp6) || ($papiersorte_papiertyp7) || ($papiersorte_papiertyp8) || ($papiersorte_papiertyp9) || ($papiersorte_papiertyp10)) {
$huellendruck = 1;
//echo('Hüllendruck!');
}else{
$huellendruck = 0;
//echo('Kein Hüllendruck');
}
[$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender] = getDruckNutzenDIGI($breite_offen, $hoehe_offen, $huellendruck);
// sonst zu teuer für Einzelausdrucke mehrere Seiten
if ($sortenzahl == $auflage){
$sortenzahl = 1;
}
$auflage *= $anzblattjeblock; // löst FEHLER AUS !!!
if ($drucknutzen > 0) {
$nettobg = ceil($auflage / $drucknutzen);
$zuschuss_digitaldruck = ceil(7 * $bedruckteSeiten + (($sortenzahl - 1) * 3 / $drucknutzen) + $nettobg * 0.03);
$bruttobg = $nettobg + $wtvzuschusspapier + $zuschuss_digitaldruck;
$klickkosten = getKlickKostenDigitaldruck($bruttobg, $bedruckteSeiten, $druckfarben_inhalt, $huellendruck);
if ($huellendruck == 1){
$papierkosten = $bruttobg * $papiersorte_value / 1000 * 1.3;
} else {
$papierkosten = ($Druckbogenbreite * $Druckbogenhoehe * $papiersorte_grammatur * $papiersorte_value / 1000000000 * $bruttobg) * 1.3;
}
$druckkosten = $bruttobg * $klickkosten * $bedruckteSeiten ;
}else{
$nettobg = $zuschuss_digitaldruck = $bruttobg = $mengenAufschlagDigiDruck = 0;
$papierkosten = $druckkosten = 999999;
}
if(($papiersorte_sammelform == 0) || ($huellendruck == 1)){
$ruestkosten = 20 + ($sortenzahl-1) * 1;
}else{
$ruestkosten = 5 + ($sortenzahl-1) * 1;
}
$eigenkosten_digitaldruck = $ruestkosten + $druckkosten;
$fremdkosten_digitaldruck = $papierkosten;
return [$eigenkosten_digitaldruck, $fremdkosten_digitaldruck, $nettobg, $zuschuss_digitaldruck, $papierkosten, $bruttobg, $ruestkosten, $druckkosten, $klickkosten];
}
function getWTVDIGIPlanoFa23($what, $auflage, $drucknutzen, $hoehe_offen, $breite_offen, $hoehe_geschl, $breite_geschl, $papiersorte_grammatur, $papiersorte_value, $sortenzahl, $falzung, $falzart, $loseblatt, $bohren_lochen, $verschluss, $klebepunkte_durchmesser, $ecken_runden, $personalisierung, $buendeln, $stanzung, $stanzart, $nutlinien, $oesen, $anzblattjeblock, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender){
//Parameter Digitaldruck
$Druckbogenbreite = 45;
$Druckbogenhoehe = 32;
$Pstundensatz_wtv_hand = 30;
$Pstundensatz_wtv_maschinen = 50;
$Pfaktor_klein_gross_falzung = 2.5;
$Pfalzbruch_ruesten = 10;
$wtveigenkosten = 0;
$wtvfremdkosten = 0;
$wtvzuschusspapier = 0;
$wtvfrachtkosten = 0;
$wtvfrachtgewicht = $auflage * $papiersorte_grammatur * $hoehe_offen * $breite_offen / 10000 * 1.1;
$grammaturfaktor_geschw_wtv = (100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100;
$wtvgeschwindigkeit = (log10($auflage*$auflage)*900)*(100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100;
$Pklebepunkte_lose_fix = 25;
$Pklebepunkte_lose_pro_tausend = 12;
$Pklebepunkte_vorkonf_fix = 15;
$Pklebepunkte_vorkonf_pro_tausend = 47;
$Phaftstreifen_lose_fix = 25;
$Phaftstreifen_lose_pro_tausend = 7;
$Phaftstreifen_vorkonf_fix = 45;
$Phaftstreifen_vorkonf_pro_tausend = 77;
$haftstreifen_material_pro_cm = 0.002;
$Poesen_fixpreis= 45;
$Poesen_stkpreis = 0.20;
$Pplano_fa_fixpreis_buendeln = 15;
$Pplano_fa_preis_je_buendel = 0.09;
if($anzblattjeblock == 0){
$anzblattjeblock=1;
}
// sonst zu teuer für Einzelausdrucke mehrere Seiten
if ($sortenzahl == $auflage){
$sortenzahl = 1;
}
//endschneiden + verpacken Digitaldruck
$zeit_endschneiden = (20+5*$sortenzahl+(sqrt($auflage * $anzblattjeblock/5)))/60;
$kosten_endschneiden = $zeit_endschneiden*$Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden;
$wtvzuschusspapier += (10 + $auflage * $anzblattjeblock * 0.002) / $drucknutzen;
//falzung Digitaldruck
$zeit_falzung = 0;
$fakt_falzung = 1;
if(!($falzung == 'nein' || $falzung == 0)){
$zeit_falzung = (15+$falzung*$Pfalzbruch_ruesten)/60+($auflage/3000);
if (($breite_offen> 14.7 && $hoehe_offen > 14.7 && $breite_offen< 85 && $hoehe_offen < 55 && $breite_geschl > 3.6 && $hoehe_geschl > 3.6 && $falzung < 6) ||
($breite_offen > 14.7 && $hoehe_offen > 14.7 && $breite_offen < 55 && $hoehe_offen < 85 && $breite_offen > 3.6 && $hoehe_geschl > 3.6 && $falzung < 6)){
$fakt_falzung = 1;
}else{
$fakt_falzung = $Pfaktor_klein_gross_falzung;
if($falzung >5){
$fakt_falzung *= 1.5;
}
}
if($falzart==5 || $falzart==6){
$zeit_falzung += 1 + $auflage/$wtvgeschwindigkeit*0.3;
}
if($falzart==99){
$zeit_falzung += 1 + $auflage/$wtvgeschwindigkeit*0.3;
}
$wtvzuschusspapier += ($auflage * 0.005 + $falzung * 20) / $drucknutzen;
if($falzung == 1 && $papiersorte_grammatur > 169){ //wenn nur Morgana nötig ist
$zeit_falzung = 0.1;
}
}
$kosten_falzung = $zeit_falzung * $fakt_falzung * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_falzung;
//nuten Digitaldruck
$zeit_nuten = 0;
if($papiersorte_grammatur > 169 && (!(($falzung == 'nein') || ($falzung == 0))) || !($nutlinien == 0)){
$zeit_nuten = ( $auflage / 1000 + 0.5 );
$wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen;
}
$kosten_nuten = $zeit_nuten * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_nuten;
//loseblatt Digitaldruck
$kosten_loseblatt = $zeit_loseblatt = 0;
if ($stanzung == 0){
$faktor_loseblatt = 1;
}else{
$faktor_loseblatt = 1.3;
}
if ($loseblatt != 0) {
$kosten_loseblatt = $loseblatt * 20 * $faktor_loseblatt;
$zeit_loseblatt = 0.5;
}
//ecken runden Digitaldruck
$EinsatzFaktor = 1;
if($stanzung != 0){$EinsatzFaktor = 2;}
if($falzung != 0){$EinsatzFaktor = $falzung * 2;}
$ExplJeEinsatz = 40 / $papiersorte_grammatur * 1000 / $EinsatzFaktor;
$zeit_eckenrunden = 0;
$kosten_eckenrunden = 0;
if($ecken_runden == 3 || $ecken_runden == 5) {
$zeit_eckenrunden = 0.5 + 4 * $auflage / $ExplJeEinsatz * 25 / 3600;
$kosten_eckenrunden = $zeit_eckenrunden * $Pstundensatz_wtv_hand;
$wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen;
}
$wtveigenkosten += $kosten_eckenrunden;
//bohren, lochen Digitaldruck
$zeit_bohren_lochen = 0;
if($bohren_lochen != 0){
$bohrformatliste = array(array(0.1,2),array(5,1.6),array(10,1.3),array(20,1),array(650,1.2),array(1300,1.4));
foreach($bohrformatliste as $n){
if($breite_offen*$hoehe_offen >= $n[0]){
$bohraufschlag = $n[1];
}
}
if($stanzung != 0 && $stanzung != 99){
$bohraufschlag *= 1.7;
}
if(!($falzung == 'nein' || $falzung == 0)){
$bohraufschlag *= 2;
}
if(($bohren_lochen == 2) && ($bohraufschlag == 1)){$bohren_lochen = 1;} //für DIN A4 2-fach Sonderpreis
$bohreinsaetzeJeExpl = ceil($bohren_lochen / 2);
$maxbohrhoehe = 40; //mm
$zeitjebohreinsatz = 1.5; //Minuten je Bohreinsatz
$dicke = $papiersorte_grammatur / 1000 * $auflage * $anzblattjeblock;
$anzahlbohreinsaetze = $bohreinsaetzeJeExpl * ($dicke / $maxbohrhoehe);
$zeit_bohren_lochen = ((5 * $bohren_lochen + $anzahlbohreinsaetze * $zeitjebohreinsatz) / 60)* $bohraufschlag;
$wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen;
}
$kosten_bohren_lochen = $zeit_bohren_lochen * $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_bohren_lochen;
//verschluss Digitaldruck
$kosten_verschluss = 0;
$zeit_verschluss = 0;
$kosten_haftstreifen_material_gesamt = $haftstreifen_material_pro_cm * min($hoehe_offen, $breite_offen) * $auflage;
if($verschluss == 1){
$kosten_verschluss = $Pklebepunkte_lose_pro_tausend/1000*$auflage+$Pklebepunkte_lose_fix;
$zeit_verschluss = 0.1;
}
if($verschluss == 2){
$kosten_verschluss = $Pklebepunkte_vorkonf_pro_tausend/1000*$auflage+$Pklebepunkte_vorkonf_fix;
$zeit_verschluss = $auflage / 600;
}
if($verschluss == 3){
$kosten_verschluss = $Phaftstreifen_lose_pro_tausend/1000*$auflage+$Phaftstreifen_lose_fix+$kosten_haftstreifen_material_gesamt;
$zeit_verschluss = 0.1;
}
if($verschluss == 4){
$kosten_verschluss = $Phaftstreifen_vorkonf_pro_tausend/1000*$auflage+$Phaftstreifen_vorkonf_fix+$kosten_haftstreifen_material_gesamt;
$zeit_verschluss = $auflage / 400;
}
if($verschluss == 6){
$kosten_verschluss = 0.42*$auflage+95;
$zeit_verschluss = $auflage / 300;
}
if($verschluss != 0){
$wtvzuschusspapier += ($auflage * 0.01 + 30) / $drucknutzen;
}
$wtvfremdkosten += $kosten_verschluss;
//nummerierung, codierung Digitaldruck
$kosten_personalisierung = 0;
if($personalisierung != 0){
$kosten_personalisierung = 50 + ($personalisierung * 20 * $auflage * $anzblattjeblock / 1000);
$wtvzuschusspapier += ($auflage * $anzblattjeblock * 0.01 + 50) / $drucknutzen;
}
$wtvfremdkosten += $kosten_personalisierung;
//oesen Digitaldruck
$kosten_oesen = 0;
if($oesen != 0){
$kosten_oesen = $Poesen_fixpreis + $auflage * $anzblattjeblock * $Poesen_stkpreis;
$wtvzuschusspapier += ($auflage * $anzblattjeblock * 0.005 + 30) / $drucknutzen;
}
$wtveigenkosten += $kosten_oesen;
//stanzung Digitaldruck
$stanzarray = StanzPerfoKostenBerechnen($stanzung, $stanzart, $auflage, $sortenzahl, $anzblattjeblock, $breite_offen, $hoehe_offen, $drucknutzen, $Pstundensatz_wtv_maschinen);
$kosten_stanzung = $stanzarray[0];
$zeit_stanzung = $stanzarray[1];
$kosten_werkzeug_stanzung = $stanzarray[2];
$nutzen_stanzung = $stanzarray[3];
$perfmaschine = $stanzarray[4];
$wtvzuschusspapier += $stanzarray[5];
if($stanzung != 0){
$wtvzuschusspapier += 50;
}
$wtvfremdkosten += $kosten_stanzung;
//bündeln Digitaldruck
$kosten_buendeln = 0;
if($hoehe_geschl > 29.7 || $breite_geschl > 29.7 || $hoehe_offen > 29.7 || $breite_offen > 29.7){
$buendelfaktor = 3;
}else{
$buendelfaktor = 1;
}
if ($falzung == 'nein' || $falzung == 0 || $stanzung = !0) {
$buendelfaktor *= 1.2;
}
if($buendeln != 0){
$kosten_buendeln = $Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pplano_fa_preis_je_buendel * $buendelfaktor;
}
$wtveigenkosten += $kosten_buendeln;
$zeit_buendeln = $kosten_buendeln / $Pstundensatz_wtv_hand;
//freie Positionen
$kosten_freipos10 = $frei10fixpreis + $frei10tsdpreis / 1000 * $auflage;
$kosten_freipos20 = $frei20fixpreis + $frei20tsdpreis / 1000 * $auflage;
$wtvfremdkosten += $kosten_freipos10 + $kosten_freipos20;
//Musterversand
$kosten_musterversand = $musterversand * 8;
$wtvfremdkosten += $kosten_musterversand;
//Neutralversand, Absender
$kosten_absender = $absender * 0;
$wtvfremdkosten += $kosten_absender;
//Endabrechnung
$wtvzuschusspapier = ceil($wtvzuschusspapier);
$wtvzuschusspapier_kosten = ($Druckbogenbreite * $Druckbogenhoehe * $papiersorte_grammatur * $papiersorte_value * $wtvzuschusspapier) / 1000000000;
return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung, $kosten_endschneiden, $zeit_endschneiden, $kosten_falzung, $zeit_falzung, $fakt_falzung, $kosten_nuten, $zeit_nuten, $kosten_personalisierung, $kosten_eckenrunden, $zeit_eckenrunden, $kosten_bohren_lochen, $zeit_bohren_lochen, $kosten_loseblatt, $zeit_buendeln, $zeit_verschluss, $zeit_loseblatt, $kosten_stanzung, $zeit_stanzung, $kosten_werkzeug_stanzung, $kosten_oesen, $kosten_buendeln, $kosten_freipos10, $kosten_freipos20, $kosten_musterversand, $kosten_absender];
}
function getDigiWTVFormate($breite_offen, $hoehe_offen, $stanzung, $stanzart, $nutlinien, $huellendruck){
if($stanzung != 0){
$breite_offen += 0.6;
$hoehe_offen += 0.6;
}
return [$breite_offen, $hoehe_offen];
}
function getZUABPlanoDigiFA23($what, $auflage, $eigenkosten, $fremdkosten, $papiersorte_sammelform, $produktionszeit, $qualitaet, $sortenzahl, $provisionsart, $provisionswert){
$preisaend = 0;
$provisions_betrag = 0;
$produktionszeit_betrag = 0;
$qualitaet_betrag = 0;
if($papiersorte_sammelform != 1){$preisaend += -10;}
if ($provisionsart == "1") {
$provisions_betrag = $provisionswert / 100 * ($eigenkosten + $fremdkosten);
}
if ($produktionszeit == 1) {
$produktionszeit_betrag = $eigenkosten * -0.05;}
if ($produktionszeit == 3) {
$produktionszeit_betrag = ($eigenkosten + $fremdkosten) * 0.1 + 15;}
$preisaend += $provisions_betrag + $produktionszeit_betrag + $qualitaet_betrag;
//Schrottpreise vermeiden, Mindestauftragswert beachten: (Auftragswert, Faktor)
$auftragswert = $eigenkosten + $fremdkosten - $preisaend;
$preisaendliste = array(array(999999999,1), array(90,0.98), array(85,0.96), array(80,0.94), array(75, 0.92),array(70,0.90), array(65,0.88));
foreach($preisaendliste as $p){
if($auftragswert < $p[0]){
$preisaendfaktor = $p[1];
}
}
$preisaend *= $preisaendfaktor;
return $preisaend;
}
function getZUABBRODigiFA23($what, $auflage, $eigenkosten, $fremdkosten, $papier_inhalt_sammelform, $papier_umschlag_sammelform, $produktionszeit, $qualitaet, $sortenzahl, $provisionsart, $provisionswert){
$preisaend = 0;
$provisions_betrag = 0;
$produktionszeit_betrag = 0;
$qualitaet_betrag = 0;
if($papier_inhalt_sammelform != 1){$preisaend += -10;}
if($papier_umschlag_sammelform != 1){$preisaend += -10;}
if ($provisionsart == "1") {
$provisions_betrag = $provisionswert / 100 * ($eigenkosten + $fremdkosten);
}
if ($produktionszeit == "1") {
$produktionszeit_betrag = $eigenkosten * -0.05;}
if ($produktionszeit == "3") {
$produktionszeit_betrag = ($eigenkosten + $fremdkosten) * 0.1 + 15;}
$preisaend += $provisions_betrag + $produktionszeit_betrag + $qualitaet_betrag;
return $preisaend;
}
function getDigitALLBRO23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $auflage, $breite_geschl, $hoehe_geschl, $papier_inhalt_papiertyp1, $papier_inhalt_papiertyp2, $papier_inhalt_papiertyp3, $papier_inhalt_papiertyp4, $papier_inhalt_papiertyp5, $papier_inhalt_papiertyp6, $papier_inhalt_papiertyp7, $papier_inhalt_papiertyp8, $papier_inhalt_papiertyp9, $papier_inhalt_papiertyp10, $papier_inhalt_papiertyp11, $papier_inhalt_papiertyp12, $papier_inhalt_papiertyp13, $papier_inhalt_papiertyp14, $papier_inhalt_grammatur, $papier_inhalt_value, $papier_inhalt_vs_rs_unterschiedlich, $seiten_inhalt, $druckfarben_inhalt, $papier_inhalt_sammelform, $inhaltidentisch, $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14, $papier_umschlag_grammatur, $papier_umschlag_value, $seiten_umschlag, $zussorten_umschlag, $papier_umschlag_vs_rs_unterschiedlich, $druckfarben_umschlag, $papier_umschlag_sammelform, $zusatz_sorten_umschlag, $veredelung_umschlag, $papier_inhalt_art_nr, $papier_umschlag_art_nr, $weiterverarbeitung, $ausfuehrung, $klammerung, $buendeln, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $blankomuster, $musterversand, $absender, $qualitaet, $produktionszeit, $provisionsart, $provisionswert)
{
// $weiterverarbeitung: 1=RDH, 2=PUR, 3=Wire-O, 4=HDCOVER, 5=HDCOVER LEINEN, 6=WAKAL, 7=FÄLZELBAND
// $ausfuehrung: 1=ohne Umschlag, 2=Umschlag 4 Seiten, 3=Front+Rückkarton, 4=Überzug auf Pappe, 5=Umschlag 6 Seiten, 6=Kapitalband, Leseband, Prägung, VNS
// Liste x,y,buchruecken ja/nein, BuBi-Pappe = ja/nein
//Parameter
$Pplano_fa_mindpreis_kaschierung = 165;
$Pplano_fa_kaschierung_mk = 0.8;
$Pplano_fa_kaschierung_gl = 0.6;
$druckgeschwindigkeit_inhalt = 300;
$huellendruck = 0;
if ($weiterverarbeitung == '2' || $weiterverarbeitung == '3' || $weiterverarbeitung == '6' || $weiterverarbeitung == '7') {
$wtvFalzBg = 2;
}else{
$wtvFalzBg = 4;
}
if ($ausfuehrung == '1'){
$seiten_umschlag = 0;
}
$beschnittliste_hor_vert = array(array(0.6, 0.2, FALSE, FALSE), array(1.2, 0.6, TRUE, FALSE), array(0.1, 0.1, TRUE, FALSE), array(0.6, 0.6, TRUE, TRUE), array(0.6, 0.6, TRUE, TRUE), array(0.2, 0.2, TRUE, FALSE), array(0.1, 0.1, TRUE, FALSE));
$beschnitt_horiz = $beschnittliste_hor_vert[$weiterverarbeitung - 1][0];
$beschnitt_vert = $beschnittliste_hor_vert[$weiterverarbeitung - 1][1];
$breite_offen_inhalt = $breite_geschl * $wtvFalzBg/2 + $beschnitt_horiz;
$hoehe_offen_inhalt = $hoehe_geschl + $beschnitt_vert;
if ($beschnittliste_hor_vert[$weiterverarbeitung - 1][3] == FALSE) {
$bubipappe = 0;
} else {
$bubipappe = 0.4;
}
$heftdicke = ($papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000) * 1.1 + $bubipappe;
if ($beschnittliste_hor_vert[$weiterverarbeitung - 1][2] == FALSE) {
$buchruecken = 0;
} else {
$buchruecken = $papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000 + $bubipappe;
}
$breite_offen_umschlag = $breite_geschl * $wtvFalzBg/2 + $beschnitt_horiz + $bubipappe + $buchruecken;
$hoehe_offen_umschlag = $hoehe_geschl + $beschnitt_vert;
$eigenkosten_prepress = getPrePressDIGI23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen_inhalt, $hoehe_offen_inhalt, 0, 0, $seiten_inhalt, $seiten_umschlag);
[$drucknutzen_inhalt, $druckbogen_breite_inhalt, $druckbogen_hoehe_inhalt, $DruckbgRaender_inhalt] = getDruckNutzenDIGI($breite_offen_inhalt, $hoehe_offen_inhalt, $huellendruck);
// WTV DIGI BRO
$Pstundensatz_wtv_hand = 30;
$Pstundensatz_wtv_maschinen = 50;
$wtveigenkosten = 0;
$wtvfremdkosten = 0;
$wtvzuschusspapier_inhalt = 0;
$wtvzuschusspapier_umschlag = 0;
$wtvfrachtkosten = 0;
$wtvfrachtgewicht = $auflage * $hoehe_geschl * $breite_geschl * ($seiten_inhalt / 2 * $papier_inhalt_grammatur + $seiten_umschlag / 2 * $papier_umschlag_grammatur) / 10000 * 1.1;
$wtvfrachtpreis = 90 + $wtvfrachtgewicht / 400000 * 15;
$wtvgeschwindigkeit_hfs_digitaldrucke = 300; //???
$Pplano_fa_fixpreis_buendeln = 15;
$Pbro_preis_je_buendel = 0.09;
$druckbogen_breite_umschlag = $druckbogen_breite_inhalt;
$druckbogen_hoehe_umschlag = $druckbogen_hoehe_inhalt;
if ($drucknutzen_inhalt < 1) {
$drucknutzen_inhalt = 1;
}
$drucknutzen_umschlag = $drucknutzen_inhalt;
if ($drucknutzen_umschlag < 1) {
$drucknutzen_umschlag = 1;
}
$anzDruckbg_inhalt = ceil(($seiten_inhalt / 2) / $drucknutzen_inhalt);
$anzDruckbg_umschlag = ceil(($seiten_umschlag / 2) / $drucknutzen_umschlag);
// endschneiden + verpacken DIGI
$zeit_endschneiden_inhalt = $zeit_endschneiden_umschlag = 0;
$kosten_endschneiden_inhalt = $kosten_endschneiden_umschlag = $wtvkostenverpackung= 0;
if ($weiterverarbeitung == '1' || $weiterverarbeitung == '3' || $weiterverarbeitung == '6' || $weiterverarbeitung == '7') {
$zeit_endschneiden_inhalt = max(20, 15 + $seiten_inhalt * 0.5 + $seiten_inhalt * $auflage / 1900) / 60;
if ($seiten_umschlag > 0) {
$zeit_endschneiden_umschlag = (15 + $anzDruckbg_umschlag * $auflage / 600) / 60;
}
$kosten_endschneiden_inhalt = $zeit_endschneiden_inhalt * $Pstundensatz_wtv_maschinen;
$kosten_endschneiden_umschlag = $zeit_endschneiden_umschlag * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden_inhalt + $kosten_endschneiden_umschlag;
// Verpackungsmaterial
$wtvkostenverpackung = $wtvfrachtgewicht / 5000 * 0.6;
$wtvfremdkosten += $wtvkostenverpackung;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (2 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (2 + $auflage * 0.005);
} elseif ($weiterverarbeitung == '4') {
if ($seiten_umschlag > 0) {
$zeit_endschneiden_umschlag = (15 + $anzDruckbg_umschlag * $auflage / 600) / 60;
}
$kosten_endschneiden_umschlag = $zeit_endschneiden_umschlag * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden_umschlag;
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (2 + $auflage * 0.005);
}
// RDH DIGI
$zeit_rdh = $kosten_rdh = 0;
if($weiterverarbeitung == '1'){
$heftdicke = ($papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000) * 1.1;
if($breite_geschl < 25 && $breite_geschl >= 9.0 && $hoehe_geschl >= 10.5 && ($seiten_inhalt + $seiten_umschlag) <= 96 && $heftdicke*10 < 4){
$zeit_rdh = 0.25 + ($seiten_inhalt + $seiten_umschlag)/60 + ($auflage/$wtvgeschwindigkeit_hfs_digitaldrucke);
if($hoehe_geschl < 14.8){
$zeit_rdh *= 1.3;
$zeit_rdh += 0.5;
}
}elseif($breite_geschl < 25 && $breite_geschl >= 9.0 && $hoehe_geschl >= 10 && ($seiten_inhalt + $seiten_umschlag) <= 96 && $heftdicke*10 < 5){
$zeit_rdh = (1 + ($seiten_inhalt + $seiten_umschlag)/60 + ($auflage/$wtvgeschwindigkeit_hfs_digitaldrucke)) * 1.4;
}elseif($heftdicke*10 < 6){
$zeit_rdh = (3 + ($seiten_inhalt + $seiten_umschlag)/60 + ($auflage/$wtvgeschwindigkeit_hfs_digitaldrucke)) * 1.9;
$wtvfrachtkosten += $wtvfrachtpreis;
}else{
$zeit_rdh = 99999999;
}
$kosten_ringoesen = $klammerung * 60;
$kosten_umschlag_nuten = 0;
if ($papier_umschlag_grammatur >= 170 && $ausfuehrung != '1') {
$kosten_umschlag_nuten = min(($auflage / 3000 + 0.5) * $Pstundensatz_wtv_maschinen, $auflage / $drucknutzen_umschlag / 1000 * 33 + 110);
}
$kosten_rdh = $zeit_rdh * $Pstundensatz_wtv_maschinen + $kosten_ringoesen + $kosten_umschlag_nuten;
$wtveigenkosten += $kosten_rdh;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (10 + $auflage * 0.02);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (10 + $auflage * 0.02);
}
// PUR DIGI
$zeit_pur = $kosten_pur = 0;
$fixkosten_pur_digitaldruck = 280;
$kosten_pur_expl_digitaldruck = 0.40;
if ($weiterverarbeitung == '2') {
if($seiten_umschlag > 4){
$umschlagfaktor_pur = 1.3;
}else{
$umschlagfaktor_pur = 1;
}
$kosten_pur = 1.3 * ($fixkosten_pur_digitaldruck + $auflage * $kosten_pur_expl_digitaldruck) * $umschlagfaktor_pur;
$zeit_pur = 24 * 4;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (10 + $auflage * 0.02);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (10 + $auflage * 0.02);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $kosten_pur;
}
// Wire-O DIGI
$zeit_wireo = $kosten_wireo = 0;
$kosten_loseblatt_digitaldruck = 15 + $auflage * 0.2;
if ($weiterverarbeitung == '3') {
//Wire-O stanzen + binden + Spirale DIGI
$fk_wireo_fix = 200;
$fk_wireo_spirale = 0.08 + ceil(max($hoehe_geschl, $breite_geschl) / 15) * 0.06;
$fk_wireo_sta = ceil($buchruecken / 1.8) * 0.15;
$fk_wireo_binden = 0.25;
$fk_wireo = ($fk_wireo_fix + $auflage * ($fk_wireo_spirale + $fk_wireo_sta + $fk_wireo_binden));
$kosten_wireo = $fk_wireo + $kosten_loseblatt;
$zeit_wireo = 24 * 5;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.005);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $fk_wireo;
}
// HDCOVER DIGI
$zeit_hdcover = $kosten_hdcover = 0;
if ($weiterverarbeitung == '4') {
$kosten_hdcover = 999999;
$zeit_hdcover = 24 * 12;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.02);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.02);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $kosten_hdcover;
}
// HDCOVER Leinen DIGI
$zeit_hdcover_leinen = $kosten_hdcover_leinen = 0;
if($weiterverarbeitung == '5'){
$kosten_hdcover_leinen_fix = 500;
$kosten_hdcover_leinen_var = (1/log(($auflage+650)/450)*4)+0.4+$seiten_inhalt/900;
$zeit_hdcover_leinen = 24 * 15;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.01);
$wtvfrachtkosten += $wtvfrachtpreis;
$kosten_hdcover_leinen = ($kosten_hdcover_leinen_fix + $auflage * $kosten_hdcover_leinen_var) * 1.25;
$wtvfremdkosten += $kosten_hdcover_leinen;
}
// WAKAL = Wandkalender
$zeit_wakal = $kosten_wakal = 0;
if ($weiterverarbeitung == '6') {
if ($breite_geschl < 12 || $breite_geschl > 43 || $hoehe_geschl < 12 || $hoehe_geschl > 43) {
$wireo_faktor = 2;
} else {
$wireo_faktor = 1;
}
$ek_wireo_zu = $wireo_faktor * ((0.5 + (ceil((($seiten_inhalt + $seiten_umschlag) / 2) / 23) * $auflage) / 2000) * $Pstundensatz_wtv_maschinen) + (($seiten_inhalt * $auflage / 600) / 60 * $Pstundensatz_wtv_maschinen);
$fk_wireo_sta_bind = ((1 / pow(2, log10($auflage / 20))) + ((max([$breite_geschl, $hoehe_geschl]) + 15) / 300) + 0.03 * (ceil(($buchruecken / 0.4)) - 1)) * ($auflage) * 1.4;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.02);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.02);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $fk_wireo_sta_bind;
$wtveigenkosten += $ek_wireo_zu;
$kosten_wakal = $fk_wireo_sta_bind + $ek_wireo_zu;
$zeit_wakal = 24 * 5;
}
// FÄLZEL = gefälzelte Broschüre
$zeit_faelzeln = $kosten_faelzeln = 0;
if ($weiterverarbeitung == '7') {
$zeit_faelzeln = 0.5 + $auflage * 2.50 / 60;
$materialkosten_faelzelband30cm = 0.16;
$kosten_faelzeln = $zeit_faelzeln * $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_faelzeln;
$wtvfremdkosten += $materialkosten_faelzelband30cm * $auflage;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (1 + $auflage * 0.02);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (10 + $auflage * 0.02);
}
//Verdelung Umschlag = folien kaschierung oder lack UM
$kosten_kaschierung = 0;
$zeit_kaschierung = 0;
$flaechekaschierung = ($breite_offen_umschlag*$wtvFalzBg/2+2)*($hoehe_offen_umschlag+2);
if($veredelung_umschlag == "6"){
$kosten_kaschierung = max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_mk*$flaechekaschierung/10000*$auflage);
}
if($veredelung_umschlag == "7"){
$kosten_kaschierung = max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_gl*$flaechekaschierung/10000*$auflage);
}
if($veredelung_umschlag != "0"){
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.002);
$zeit_kaschierung = 240;
$wtvfrachtkosten += 25;
$wtvfremdkosten += $kosten_kaschierung;
}
//bündeln DIGI
$kosten_buendeln = 0;
if ($buendeln != 0) {
$kosten_buendeln = $Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pbro_preis_je_buendel;
}
$zeit_buendeln = $kosten_buendeln / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_buendeln;
// Blankomuster vorab DIGI
$kosten_blankomuster = 115 * $blankomuster;
$wtveigenkosten += $kosten_blankomuster;
//freie Positionen DIGI
$kosten_freipos10 = $frei10fixpreis + $frei10tsdpreis / 1000 * $auflage;
$kosten_freipos20 = $frei20fixpreis + $frei20tsdpreis / 1000 * $auflage;
$wtvfremdkosten += $kosten_freipos10 + $kosten_freipos20;
//Musterversand DIGI
$kosten_musterversand = $musterversand * 8;
$wtvfremdkosten += $kosten_musterversand;
//Neutralversand, Absender DIGI
$kosten_absender = $absender * 0;
$wtvfremdkosten += $kosten_absender;
// Digitaldruck BRO Umschlag
if ($seiten_umschlag > 0) {
[$drucknutzen_umschlag, $druckbogen_breite_umschlag, $druckbogen_hoehe_umschlag, $DruckbgRaender_umschlag] = getDruckNutzenDIGI($breite_offen_umschlag, $hoehe_offen_umschlag, $huellendruck);
if($wtvFalzBg==2){
$auflage_umschlag = $auflage * 2;
}else{
$auflage_umschlag = $auflage;
}
[$eigenkosten_digitaldruck_umschlag, $fremdkosten_digitaldruck_umschlag, $nettobg_umschlag, $zuschuss_digitaldruck_umschlag, $papierkosten_umschlag, $bruttobg_umschlag, $ruestkosten_umschlag, $druckkosten_umschlag, $klickkosten_umschlag] = getPrintDIGIPlanoFa23($what, $papier_umschlag_grammatur, $papier_umschlag_value, $auflage_umschlag, $druckfarben_umschlag, $breite_offen_umschlag, $hoehe_offen_umschlag, $sortenzahl, $papier_umschlag_sammelform, 1, $wtvzuschusspapier_umschlag, $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14);
} else {
[$eigenkosten_digitaldruck_umschlag, $fremdkosten_digitaldruck_umschlag, $nettobg_umschlag, $zuschuss_digitaldruck_umschlag, $papierkosten_umschlag, $bruttobg_umschlag, $ruestkosten_umschlag, $druckkosten_umschlag, $klickkosten_umschlag, $drucknutzen_umschlag, $druckbogen_breite_umschlag, $druckbogen_hoehe_umschlag, $DruckbgRaender_umschlag] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
// Digitaldruck BRO Inhalt
$price_inhalt = 9999999;
$formate = array();
/*
$papierType1 = $result->papiertyp1; // 63x88
$papierType2 = $result->papiertyp2; // 70 x 100
$papierType3 = $result->papiertyp3; // 50 x 70
$papierType4 = $result->papiertyp4; // 61 x 43
$papierType5 = $result->papiertyp5; // Hüllen 22,9 x 11,4
$papierType6 = $result->papiertyp6; // Hüllen C4
$papierType7 = $result->papiertyp7; // Hüllen B4
$papierType8 = $result->papiertyp8; // Hüllen C5
$papierType9 = $result->papiertyp9; // Hüllen DIN lang 22 x 11
$papierType10 = $result->papiertyp10; // Hüllen 22 x 22
$papierType11 = $result->papiertyp11; // 65 x 92
$papierType12 = $result->papiertyp12; // 64 x 45
$papierType13 = $result->papiertyp13; // 31,5 x 44 und 22 x 31.5 (!)
$papierType14 = $result->papiertyp14; // 72 x 102
*/
if ($papier_inhalt_papiertyp1) {
$formate[] = array('breite' => 44, 'hoehe' => 31.5, 'ntz_rohbg' => 4);
}
if ($papier_inhalt_papiertyp2) {
$formate[] = array('breite' => 48.7, 'hoehe' => 33, 'ntz_rohbg' => 4);
}
if ($papier_inhalt_papiertyp3) {
$formate[] = array('breite' => 48.7, 'hoehe' => 33, 'ntz_rohbg' => 2);
}
if ($papier_inhalt_papiertyp4) {
$formate[] = array('breite' => 30.5, 'hoehe' => 43, 'ntz_rohbg' => 2);
}
if ($papier_inhalt_papiertyp11) {
$formate[] = array('breite' => 32.5, 'hoehe' => 46, 'ntz_rohbg' => 4);
}
if ($papier_inhalt_papiertyp12) {
$formate[] = array('breite' => 32, 'hoehe' => 45, 'ntz_rohbg' => 2);
}
if ($papier_inhalt_papiertyp13) {
$formate[] = array('breite' => 31.5, 'hoehe' => 44, 'ntz_rohbg' => 1);
}
if ($papier_inhalt_papiertyp14) {
$formate[] = array('breite' => 48.7, 'hoehe' => 33, 'ntz_rohbg' => 4);
}
foreach ($formate as $key => $format) {
$calc1 = floor(($format['breite'] - $DruckbgRaender_inhalt) / $breite_offen_inhalt) * floor(($format['hoehe'] - $DruckbgRaender_inhalt) / $hoehe_offen_inhalt);
$calc2 = floor(($format['breite'] - $DruckbgRaender_inhalt) / $hoehe_offen_inhalt) * floor(($format['hoehe'] - $DruckbgRaender_inhalt) / ($breite_offen_inhalt));
$drucknutzen_inhalt1 = ($calc1 > $calc2) ? $calc1 : $calc2;
if ($drucknutzen_inhalt1 > 0) {
$papiernutzen_inhalt1 = $format['ntz_rohbg'];
$nettobg_inhalt1 = ceil(($seiten_inhalt / $wtvFalzBg / $drucknutzen_inhalt1) * $auflage);
$zuschuss_inhalt1 = ceil(20 + ($seiten_inhalt / ($drucknutzen_inhalt1 * 2) * $auflage * 0.03) + $wtvzuschusspapier_inhalt);
$klickkosten_inhalt = getKlickKostenDigitaldruck($nettobg_inhalt1 + $zuschuss_inhalt1, 2, $druckfarben_inhalt, 0);
$druckkosten_inhalt1 = ($nettobg_inhalt1 + $zuschuss_inhalt1) * $klickkosten_inhalt * 2;
$druckzeitfortdruck1 = ($zuschuss_inhalt1 + $nettobg_inhalt1) / $druckgeschwindigkeit_inhalt;
$papierkosten_inhalt1 = (($nettobg_inhalt1 + $zuschuss_inhalt1) * $format['hoehe'] * $format['breite'] * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000);
$price_inhalt_calc = $papierkosten_inhalt1 + $druckkosten_inhalt1;
} else {
$price_inhalt_calc = 1000000;
$papierkosten_inhalt1 = $nettobg_inhalt1 = $zuschuss_inhalt1 = $papiernutzen_inhalt1 = $druckzeitfortdruck1 = 0;
}
if ($price_inhalt_calc < $price_inhalt) {
$price_inhalt = $price_inhalt_calc;
$drucknutzen_inhalt = $drucknutzen_inhalt1;
$zuschuss_inhalt = $zuschuss_inhalt1;
$nettobg_inhalt = $nettobg_inhalt1;
$druckbogen_hoehe_inhalt = $format['hoehe'];
$druckbogen_breite_inhalt = $format['breite'];
$papiernutzen_inhalt = $format['ntz_rohbg'];
$druckzeitfortdruck_inhalt = $druckzeitfortdruck1;
$papierkosten_inhalt = $papierkosten_inhalt1;
}
}
$papieraufschlagfaktor_inhalt = 1.7;
$price_inhalt -= $papierkosten_inhalt;
$papierkosten_inhalt *= $papieraufschlagfaktor_inhalt;
$price_inhalt += $papierkosten_inhalt;
$eigenkosten_inhalt = $price_inhalt - $papierkosten_inhalt;
$fremdkosten_inhalt = $price_inhalt - $eigenkosten_inhalt;
//Endabrechnung DIGI
$wtvzuschusspapier_inhalt = ceil($wtvzuschusspapier_inhalt);
$wtvzuschusspapier_umschlag = ceil($wtvzuschusspapier_umschlag);
$wtvzuschusspapier_kosten_inhalt = ($druckbogen_breite_inhalt * $druckbogen_hoehe_inhalt * $papier_inhalt_grammatur * $papier_inhalt_value * $wtvzuschusspapier_inhalt) / 1000000000;
$wtvzuschusspapier_kosten_umschlag = ($druckbogen_breite_umschlag * $druckbogen_hoehe_umschlag * $papier_umschlag_grammatur * $papier_umschlag_value * $wtvzuschusspapier_umschlag) / 1000000000;
$versandgewicht = $auflage * $hoehe_geschl * $breite_geschl * ($seiten_inhalt / 2 * $papier_inhalt_grammatur + $seiten_umschlag / 2 * $papier_umschlag_grammatur) / 10000 * 1.2;
$eigenkosten = $eigenkosten_prepress + $eigenkosten_digitaldruck_umschlag + $eigenkosten_inhalt + $wtveigenkosten;
$fremdkosten = $fremdkosten_digitaldruck_umschlag + $fremdkosten_inhalt + $wtvfremdkosten + $wtvfrachtkosten + $wtvzuschusspapier_kosten_inhalt + $wtvzuschusspapier_kosten_umschlag;
$preisaend = getZUABBRODigiFA23($what, $auflage, $eigenkosten, $fremdkosten, $papier_inhalt_sammelform, $papier_umschlag_sammelform, $produktionszeit, $qualitaet, $sortenzahl, $provisionsart, $provisionswert);
$basispreisnetto = $eigenkosten + $fremdkosten + $preisaend;
// Einzelwerte ausgeben
if ($what == 'debug') {
echo ('-------------------- Digitaldruck PrePress --------------------' . "\n<br />");
$Ausgabeliste = array('Vorstufe: ' => $eigenkosten_prepress);
foreach ($Ausgabeliste as $bez => $wert) {
if ($wert != 0) {
echo ($bez . number_format($wert, 2 , ',', '.') . " € \n<br />");
}
}
}
// Einzelwerte ausgeben
if (($what == 'debug') && ($seiten_umschlag > 0)) {
echo ('-------------------- Digitaldruck Print UMSCHLAG -------------------- ' . "\n<br />");
echo ('Format offen:' . $breite_offen_umschlag . ' x ' . $hoehe_offen_umschlag . ' cm' . "\n<br />");
echo ('Papier: ' . $druckbogen_breite_umschlag . ' x ' . $druckbogen_hoehe_umschlag . ' cm mit ' . $nettobg_umschlag . ' Nettobg. + ' . $zuschuss_digitaldruck_umschlag . ' ZU Druck + ' . $wtvzuschusspapier_umschlag . ' ZU WTV'."\n<br />");
echo (" = ".number_format($bruttobg_umschlag + $wtvzuschusspapier_umschlag, 0) . ' Bg. zu ' . $drucknutzen_umschlag . ' Drucknutzen' . "\n<br />");
echo ('Rüstkosten: ' . number_format($ruestkosten_umschlag, 2 , ',', '.') . " € | ");
echo ('Druckkosten: ' . (number_format($druckkosten_umschlag, 2 , ',', '.')) . " €\n<br />");
echo ('Papier: ' . number_format($papierkosten_umschlag, 2 , ',', '.') . " €\n<br />");
echo ('VK Klick DIN A3 : ' . number_format($klickkosten_inhalt, 2, ',', '.') . " € \n<br />");
echo ('Druck Eigenkosten: ' . number_format($eigenkosten_digitaldruck_umschlag, 2 , ',', '.') . " €\n<br />");
echo ('Druck Fremdkosten: ' . number_format($fremdkosten_digitaldruck_umschlag, 2 , ',', '.') . " € \n<br />");
echo ('Gesamtkosten Print Umschlag: ' . (number_format($eigenkosten_digitaldruck_umschlag + $fremdkosten_digitaldruck_umschlag, 2 , ',', '.')) . " €\n\n<br />");
}
// Einzelwerte ausgeben
if ($what == 'debug') {
echo ('-------------------- Digitaldruck Print INHALT --------------------' . "\n<br />");
echo ('offenes Format: ' . number_format($breite_offen_inhalt, 2 , ',', '.') . ' x ' . number_format($hoehe_offen_inhalt, 2 , ',', '.') . " cm \n<br />");
echo ('Heftdicke: ' . number_format($heftdicke, 2 , ',', '.') . ' cm' . "\n<br />");
echo ('Papier: ' . $druckbogen_breite_inhalt . ' x ' . $druckbogen_hoehe_inhalt . ' cm mit ' . number_format($nettobg_inhalt, 0, ',', '.') . ' Nettobg. + ' . number_format($zuschuss_inhalt, 0, ',', '.') . ' ZU Druck/WTV'."\n<br />");
echo (" = ".number_format($zuschuss_inhalt + $nettobg_inhalt, 0, ',', '.') . ' Bg. zu ' . $drucknutzen_inhalt . " Nutzen \n<br />");
echo ('Rohbogen mit ' . $papiernutzen_inhalt . " Nutzen \n<br />");
echo ('Papier: ' . number_format($papierkosten_inhalt, 2 , ',', '.') . ' €' . "\n<br />");
echo ('VK Klick DIN A3 : ' . number_format($klickkosten_inhalt, 2, ',', '.') . " € \n<br />");
echo ('Druck Eigenkosten: ' . number_format($eigenkosten_inhalt, 2 , ',', '.') . " €\n<br />");
echo ('Druck Fremdkosten: ' . number_format($fremdkosten_inhalt, 2 , ',', '.') . " €\n<br />");
echo ('Gesamtkosten Print Inhalt: ' . (number_format($eigenkosten_inhalt + $fremdkosten_inhalt, 2 , ',', '.')) . " €\n\n<br />");
echo ('-------------------- WTV BRO DIGI --------------------' . "\n<br />");
if ($seiten_umschlag > 0) {
echo ('Kosten Endschneiden UM: ' . number_format($kosten_endschneiden_umschlag, 2 , ',', '.') . ' € | Zeit: ' . number_format($zeit_endschneiden_umschlag, 2 , ',', '.') . " h\n<br />");
}
echo ('Kosten Endschneiden INH: ' . number_format($kosten_endschneiden_inhalt, 2 , ',', '.') . ' € | Zeit: ' . number_format($zeit_endschneiden_inhalt, 2 , ',', '.') . " h\n<br />");
if ($kosten_rdh > 0) {
echo ('Kosten RDH (ggf. inkl. nuten): ' . number_format($kosten_rdh, 2 , ',', '.') . ' € | Zeit: ' . number_format($zeit_rdh, 2 , ',', '.') . " h\n<br />");
echo ('WTV Geschw. HFS: ' . $wtvgeschwindigkeit_hfs_digitaldrucke . " Expl./h \n<br />");
}
if ($kosten_pur > 0) {
echo ('Kosten PUR: ' . number_format($kosten_pur, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_wireo > 0) {
echo ('Kosten Wire-O: ' . number_format($kosten_wireo, 2 , ',', '.') . " € \n<br />");
}
if ($kosten_hdcover > 0) {
echo ('Kosten HDCOVER: ' . number_format($kosten_hdcover, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_hdcover_leinen > 0) {
echo ('Kosten HDCOVER-LEINEN: ' . number_format($kosten_hdcover_leinen, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_wakal > 0) {
echo ('Kosten WaKal: ' . number_format($kosten_wakal, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_faelzeln > 0) {
echo ('Kosten Fälzel: ' . number_format($kosten_faelzeln, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_kaschierung > 0) {
echo ('Kosten Kaschierung: ' . number_format($kosten_kaschierung, 2 , ',', '.') . ' | Zeit : ' . number_format($zeit_kaschierung, 2 , ',', '.') . " h\n<br />");
}
if ($kosten_buendeln > 0) {
echo ('Kosten bündeln: ' . number_format($kosten_buendeln, 2 , ',', '.') . ' | Zeit : ' . number_format($zeit_buendeln, 2 , ',', '.') . " h\n<br />");
}
if ($kosten_blankomuster > 0) {
echo ('Kosten Blankomuster: ' . number_format($kosten_blankomuster, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_musterversand > 0) {
echo ('Kosten Musterversand: ' . number_format($kosten_musterversand, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_absender > 0) {
echo ('Kosten Absender: ' . number_format($kosten_absender, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_freipos10 > 0) {
echo ('Kosten freipos10: ' . number_format($kosten_freipos10, 2 , ',', '.') . " €\n<br />");
}
if ($kosten_freipos20 > 0) {
echo ('Kosten freipos20: ' . number_format($kosten_freipos20, 2 , ',', '.') . " €\n<br />");
}
if ($seiten_umschlag > 0) {
echo ('WTV Zuschuss Papier UM: ' . number_format($wtvzuschusspapier_kosten_umschlag, 2 , ',', '.') . ' € | ' . number_format($wtvzuschusspapier_umschlag, 0 , ',', '.') . " Bg. \n<br />");
}
echo ('WTV Zuschuss Papier INH: ' . number_format($wtvzuschusspapier_kosten_inhalt, 2 , ',', '.') . ' € | ' . number_format($wtvzuschusspapier_inhalt, 0 , ',', '.') . " Bg.\n<br />");
echo ('Versandgewicht: ' . number_format($versandgewicht / 1000, 2 , ',', '.') . " kg \n<br />");
echo (' WTV Eigenkosten: ' . number_format($wtveigenkosten, 2 , ',', '.') . " €\n<br />");
echo ('+ WTV Fremdkosten: ' . number_format($wtvfremdkosten, 2 , ',', '.') . " €\n<br />");
echo ('+ WTV Papierkosten ZU: ' . number_format( $wtvzuschusspapier_kosten_inhalt + $wtvzuschusspapier_kosten_umschlag, 2 , ',', '.') . " €\n<br />");
echo ('+ WTV Frachtkosten: ' . number_format($wtvfrachtkosten, 2 , ',', '.') . " €\n<br />");
echo ('= WTV Gesamtkosten: ' . number_format($wtvfremdkosten+$wtveigenkosten+$wtvzuschusspapier_kosten_inhalt + $wtvzuschusspapier_kosten_umschlag, 2 , ',', '.') . " €\n<br />");
echo ('============== Gesamt ==============' . "\n<br />");
echo (' Eigenkosten: ' . number_format($eigenkosten, 2 , ',', '.') . " € \n<br />");
echo ('+ Fremdkosten: ' . number_format($fremdkosten, 2 , ',', '.') . " € \n<br />");
echo ('+ Preisänderung: ' . number_format($preisaend, 2 , ',', '.') . " € \n<br />");
echo ('= Basispreis Netto: ' . number_format($basispreisnetto, 2 , ',', '.') . " €\n<br />");
}
$internarray = array('test' => 'testtext');
$intern = Array2String($internarray);
$ergebnis = array('eigenkosten' => $eigenkosten, 'fremdkosten' => $fremdkosten, 'preisaend' => $preisaend, 'versandgewicht' => $versandgewicht, 'intern' => $intern);
return $ergebnis;
}
// Offsetdruck
function getOffsetALLPlanoFa23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $breite_geschl, $hoehe_geschl, $papierType1, $papierType2, $papierType3, $papierType4, $papierType5, $papierType6, $papierType7, $papierType8, $papierType9, $papierType10, $papierType11, $papierType12, $papierType13, $papierType14, $papiersorte_grammatur, $papiersorte_value, $auflage, $drucklack, $papier_vs_rs_unterschiedlich, $anzblattjeblock, $zusdruckplatten, $zusfarbwechsel, $lackart, $papiersorte_sammelform, $loseblatt, $falzung, $falzart, $leimung, $buendeln, $perforation, $duftdruck, $oesen, $praegung, $stanzung, $stanzart, $cito_anstanzung, $verschluss, $durchmesser_klebepkt, $beilage, $nummerierung, $laserstanzung, $ecken_runden, $bohren_lochen, $kaschierung, $kaschierung_anzahl, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender, $qualitaet, $produktionszeit, $provisionsart, $provisionswert)
{
if($drucklack == '0'){
$lackart = 0;
}
if($anzblattjeblock == 0){
$anzblattjeblock = 1;
$leimung = 0;
}
if($anzblattjeblock != 1){
$leimung = 1;
}
$prepress_kosten = getPrePressPlanoFa23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen);
// Hüllendruck?
if (($papierType5) || ($papierType6) || ($papierType7) || ($papierType8) || ($papierType9) || ($papierType10)) {
$huellendruck = 1;
}else{
$huellendruck = 0;
}
if ($huellendruck == 1){
if ($papierType5){
$breite_offen = 22.9;
$hoehe_offen = 11.4;
}
if ($papierType6){
$breite_offen = 32.4;
$hoehe_offen = 22.9;
}
if ($papierType7){
$breite_offen = 35.3;
$hoehe_offen = 25;
}
if ($papierType8){
$breite_offen = 22.9;
$hoehe_offen = 16.2;
}
if ($papierType9){
$breite_offen = 22;
$hoehe_offen = 11;
}
if ($papierType10){
$breite_offen = 22;
$hoehe_offen = 22;
}
}
if ($falzung == 'nein' || $falzung == 0) {
$breite_geschl = $breite_offen;
$hoehe_geschl = $hoehe_offen;
}
// Format wegen WTV vergrößern?
$breite_offen_print = $breite_offen;
$hoehe_offen_print = $hoehe_offen;
if(($stanzung != 0 && $stanzung != 99) || ($praegung != 0) || ($perforation != 0) || ($kaschierung != 0)){
$breite_offen_print += 0.6;
$hoehe_offen_print += 0.6;
}
$printarray = getPrintPlanoFa23($what, $papierType1, $papierType2, $papierType3, $papierType4, $papierType5, $papierType6, $papierType7, $papierType8, $papierType9, $papierType10, $papierType11, $papierType12, $papierType13, $papierType14, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen_print, $hoehe_offen_print, $drucklack, $papier_vs_rs_unterschiedlich, $sortenzahl, $anzblattjeblock, $zusdruckplatten, $zusfarbwechsel, $lackart, $papiersorte_sammelform, $produktionszeit, $stanzung);
$druckbogen_breite = $printarray[8];
$druckbogen_hoehe = $printarray[7];
$druckbogen_nettomenge = $printarray[10];
$druckbogen_zuschussmenge = $printarray[11];
$drucknutzen = $printarray[9];
$druckzeitruesten = $printarray[18];
$druckzeitfortdruck = $printarray[19];
$ctp = $printarray[3];
$rohbogenformate = $printarray[26];
$drucklegung_text = $printarray[27];
$wtvarray = getWTVPlanoFa23($what, $auflage, $hoehe_offen, $breite_offen, $hoehe_geschl, $breite_geschl, $papiersorte_grammatur, $papiersorte_value, $drucknutzen, $sortenzahl, $loseblatt, $druckbogen_breite, $druckbogen_hoehe, $druckbogen_nettomenge, $druckbogen_zuschussmenge, $falzung, $falzart, $leimung, $anzblattjeblock, $buendeln, $perforation, $duftdruck, $oesen, $praegung, $stanzung, $stanzart, $cito_anstanzung, $verschluss, $durchmesser_klebepkt, $beilage, $nummerierung, $laserstanzung, $ecken_runden, $bohren_lochen, $kaschierung, $kaschierung_anzahl, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender, $huellendruck);
$wtveigenkosten = $wtvarray[0];
$wtvfremdkosten = $wtvarray[1];
$wtvfrachtkosten = $wtvarray[2];
$wtvzuschusspapier_kosten = $wtvarray[3];
$wtvzuschusspapier = $wtvarray[4];
$nutzen_stanzung = $wtvarray[5];
$versandgewicht = $wtvarray[6];
$zeit_endschneiden = $wtvarray[7];
$zeit_falzung = $wtvarray[8];
$zeit_nuten = $wtvarray[9];
$zeit_leimen = $wtvarray[10];
$zeit_buendeln = $wtvarray[11];
$zeit_perforation = $wtvarray[12];
$zeit_stanzung = $wtvarray[13];
$zeit_duftdruck =$wtvarray[14];
$zeit_oesen = $wtvarray[15];
$zeit_praegung = $wtvarray[16];
$zeit_cito = $wtvarray[17];
$zeit_verschluss = $wtvarray[18];
$zeit_beilage = $wtvarray[19];
$zeit_nummerierung = $wtvarray[20];
$zeit_laserstanzung = $wtvarray[21];
$zeit_eckenrunden = $wtvarray[22];
$zeit_bohren_lochen = $wtvarray[23];
$zeit_loseblatt = $wtvarray[24];
$rabattierfaehigekosten = $printarray[25];
$eigenkosten = $prepress_kosten + $printarray[0] + $wtvarray[0];
$fremdkosten = $printarray[24] + $wtvarray[1] + $wtvarray[2] + $wtvarray [3];
$druckmaschine = $printarray[1];
$preisaend = getZUABPlanoFa23($what, $auflage, $rabattierfaehigekosten, $eigenkosten, $fremdkosten, $papiersorte_sammelform, $druckfarben_inhalt, $druckmaschine, $qualitaet, $produktionszeit, $sortenzahl, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $anzblattjeblock, $papier_vs_rs_unterschiedlich);
$basispreisnetto = $eigenkosten + $fremdkosten + $preisaend;
if($what=='debug'){
echo('-------------------- Preis PLANO-FA total --------------------'."\n</br >");
echo('ohne Aktionsrabatt, Onlinerabatt, Kundengruppenrabatt, Endkundenversand'."\n</br >");
echo('Eigenkosten: '.number_format($eigenkosten, 2 , ',', '.')." €\n</br >");
echo('Fremdkosten: '.number_format($fremdkosten, 2 , ',', '.')." €\n</br >");
echo('Zu-/Abschläge: '.number_format($preisaend, 2 , ',', '.')." €\n</br >");
echo('Basispreis Netto: '.number_format($basispreisnetto, 2 , ',', '.')." € \n</br >");
echo("\n</br >".'--------------------------------------'."\n</br >");
}
$internarray = array('$druckmaschine'=>$druckmaschine, '$prepress_kosten'=>$prepress_kosten, '$druckbogen_breite'=>$druckbogen_breite, '$druckbogen_hoehe'=>$druckbogen_hoehe, '$druckbogen_nettomenge'=>$druckbogen_nettomenge, '$druckbogen_zuschussmenge'=>$druckbogen_zuschussmenge, '$drucknutzen'=>$drucknutzen, '$wtveigenkosten'=>$wtveigenkosten, '$wtvfremdkosten'=>$wtvfremdkosten, '$wtvfrachtkosten'=>$wtvfrachtkosten, '$wtvzuschusspapier_kosten'=>$wtvzuschusspapier_kosten, '$wtvzuschusspapier'=>$wtvzuschusspapier, '$nutzen_stanzung'=> $nutzen_stanzung, '$druckzeitruesten'=>$druckzeitruesten, '$druckzeitfortdruck'=>$druckzeitfortdruck, '$versandgewicht'=>$versandgewicht, '$ctp'=>$ctp , '$rohbogenformate'=>$rohbogenformate, '$zeit_endschneiden'=>$zeit_endschneiden, '$zeit_falzung'=>$zeit_falzung, '$zeit_nuten'=>$zeit_nuten, '$zeit_leimen'=>$zeit_leimen, '$zeit_buendeln'=>$zeit_buendeln, '$zeit_perforation'=>$zeit_perforation, '$zeit_stanzung'=>$zeit_stanzung, '$zeit_duftdruck'=>$zeit_duftdruck, '$zeit_oesen'=>$zeit_oesen, '$zeit_praegung'=>$zeit_praegung, '$zeit_cito'=>$zeit_cito, '$zeit_verschluss'=>$zeit_verschluss,'$zeit_beilage'=>$zeit_beilage, '$zeit_nummerierung'=>$zeit_nummerierung, '$zeit_laserstanzung'=>$zeit_laserstanzung, '$zeit_eckenrunden'=>$zeit_eckenrunden, '$zeit_bohren_lochen'=>$zeit_bohren_lochen, '$zeit_loseblatt'=>$zeit_loseblatt, '$drucklegung_text'=>$drucklegung_text);
$intern = Array2String($internarray);
$ergebnis = array('eigenkosten'=>$eigenkosten, 'fremdkosten'=>$fremdkosten, 'preisaend'=>$preisaend, 'versandgewicht'=>$versandgewicht, 'intern'=>$intern);
return $ergebnis;
}
function getOffsetALLBRO23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $breite_geschl, $hoehe_geschl, $auflage, $papier_inhalt_papiertyp1, $papier_inhalt_papiertyp2, $papier_inhalt_papiertyp3, $papier_inhalt_papiertyp4, $papier_inhalt_papiertyp5, $papier_inhalt_papiertyp6, $papier_inhalt_papiertyp7, $papier_inhalt_papiertyp8, $papier_inhalt_papiertyp9, $papier_inhalt_papiertyp10, $papier_inhalt_papiertyp11, $papier_inhalt_papiertyp12, $papier_inhalt_papiertyp13, $papier_inhalt_papiertyp14, $papier_inhalt_grammatur, $papier_inhalt_value, $papier_inhalt_vs_rs_unterschiedlich, $seiten_inhalt, $druckfarben_inhalt, $drucklack_inhalt, $lackart_inhalt, $papier_inhalt_sammelform, $inhaltidentisch, $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14, $papier_umschlag_grammatur, $papier_umschlag_value, $papier_umschlag_vs_rs_unterschiedlich, $seiten_umschlag, $druckfarben_umschlag, $veredelung_umschlag, $papier_umschlag_sammelform, $zusfarbwechsel, $zusdruckplatten, $zussorten_umschlag, $papier_inhalt_art_nr, $papier_umschlag_art_nr, $weiterverarbeitung, $ausfuehrung, $klammerung, $buendeln, $perforation, $duftdruck, $praegung_umschlag, $beilage, $registerstanzung, $einschweissen, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $blankomuster, $musterversand, $absender, $qualitaet, $produktionszeit, $provisionsart, $provisionswert)
{
if($seiten_umschlag == 0){
$papier_umschlag_art_nr = $papier_umschlag_grammatur = $papier_umschlag_value = $druckfarben_umschlag = 0;
}
$prepress_kosten = getPrePressBRO23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $seiten_inhalt, $druckfarben_inhalt, $seiten_umschlag, $druckfarben_umschlag, $breite_geschl, $hoehe_geschl);
// Test ob UM = INH und für RDH ggf. kombinieren
/*
if(($papier_inhalt_art_nr == $papier_umschlag_art_nr) && ($druckfarben_inhalt == $druckfarben_umschlag) && ($seiten_umschlag == 4) && ($weiterverarbeitung == 1)){
$seiten_inhalt += 4;
$seiten_umschlag = 0;
$ausfuehrung = 1;
if ($what == 'debug') {
echo('>>> UM = INH erkannt: '. $papier_inhalt_art_nr . ' = ' . $papier_umschlag_art_nr);
}
}
*/
$printarray = getPrintBRO23($what, $auflage, $breite_geschl, $hoehe_geschl, $weiterverarbeitung, $ausfuehrung, $papier_inhalt_papiertyp1, $papier_inhalt_papiertyp2, $papier_inhalt_papiertyp3, $papier_inhalt_papiertyp4, $papier_inhalt_papiertyp5, $papier_inhalt_papiertyp6, $papier_inhalt_papiertyp7, $papier_inhalt_papiertyp8, $papier_inhalt_papiertyp9, $papier_inhalt_papiertyp10, $papier_inhalt_papiertyp11, $papier_inhalt_papiertyp12, $papier_inhalt_papiertyp13, $papier_inhalt_papiertyp14, $papier_inhalt_grammatur, $papier_inhalt_value, $papier_inhalt_vs_rs_unterschiedlich, $seiten_inhalt, $druckfarben_inhalt, $drucklack_inhalt, $lackart_inhalt, $papier_inhalt_sammelform, $inhaltidentisch, $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14, $papier_umschlag_grammatur, $papier_umschlag_value, $papier_umschlag_vs_rs_unterschiedlich, $seiten_umschlag, $druckfarben_umschlag, $veredelung_umschlag, $papier_umschlag_sammelform, $zusfarbwechsel, $zusdruckplatten, $zussorten_umschlag, $papier_inhalt_art_nr, $papier_umschlag_art_nr, $produktionszeit);
$eigenkosten = $printarray[0];
$fremdkosten = $printarray[1];
$rabattierfaehigekosten = $printarray[2];
$format_offen_breite = $printarray[3];
$format_offen_hoehe = $printarray[4];
$bubipappe = $printarray[5];
$buchruecken = $printarray[6];
$druckmaschine_inhalt = $printarray[7];
$ctp_inhalt = $printarray[8];
$anzahlFarbwechsel_inhalt = $printarray[9];
$druckgeschwindigkeit_inhalt = $printarray[10];
$druckbogen_hoehe_inhalt = $printarray[11];
$druckbogen_breite_inhalt = $printarray[12];
$drucknutzen_inhalt = $printarray[13];
$nettobg_inhalt = $printarray[14];
$zuschuss_inhalt = $printarray[15];
$papierkosten_inhalt = $printarray[16];
$druckzeitruesten_inhalt = $printarray[17];
$druckzeitfortdruck_inhalt = $printarray[18];
$farbkosten_inhalt = $printarray[19];
$lackart_kosten_inhalt = $printarray[20];
$druckmaschine_umschlag = $printarray[21];
$ctp_umschlag = $printarray[22];
$anzahlFarbw_umschlag = $printarray[23];
$druckgeschwindigkeit_umschlag = $printarray[24];
$druckbogen_hoehe_umschlag = $printarray[25];
$druckbogen_breite_umschlag = $printarray[26];
$drucknutzen_umschlag = $printarray[27];
$druckbogen_nettomenge_umschlag = $printarray[28];
$druckbogen_zuschussmenge_umschlag = $printarray[29];
$papierkosten_umschlag = $printarray[30];
$druckzeitruesten_umschlag = $printarray[31];
$druckzeitfortdruck_umschlag = $printarray[32];
$farbkosten_umschlag = $printarray[33];
$lackart_kosten_umschlag = $printarray[34];
$rabattierfaehigekosten_inhalt = $printarray[35];
$rabattierfaehigekosten_umschlag = $printarray[36];
$heftdicke = $printarray[37];
$ctpstring = $printarray[38];
if ($what == 'debug2') {
echo ("\n</br >" . '-------------------- PREIS Debug --------------------' . "\n</br >");
echo ('$rabattierfaehigekosten_umschlag: ' . number_format($rabattierfaehigekosten_umschlag, 2, ',', '.') . " €\n</br >");
echo ('$rabattierfaehigekosten_inhalt: ' . number_format($rabattierfaehigekosten_inhalt, 2, ',', '.') . " €\n</br >");
echo ('$rabattierfaehigekosten SUMME UM+INH: ' . number_format($rabattierfaehigekosten_umschlag+$rabattierfaehigekosten_inhalt, 2, ',', '.') . " €\n</br >");
echo ('$rabattierfaehigekosten PARAMETER: ' . number_format($rabattierfaehigekosten, 2, ',', '.') . " €\n</br >");
}
$wtvarray = getWTVBRO23($what, $auflage, $breite_geschl, $hoehe_geschl, $format_offen_breite, $format_offen_hoehe, $bubipappe, $buchruecken, $weiterverarbeitung, $ausfuehrung, $klammerung, $papier_inhalt_grammatur, $papier_inhalt_value, $seiten_inhalt, $druckbogen_breite_inhalt, $druckbogen_hoehe_inhalt, $drucknutzen_inhalt, $drucknutzen_umschlag, $papier_umschlag_grammatur, $papier_umschlag_value, $seiten_umschlag, $druckbogen_breite_umschlag, $druckbogen_hoehe_umschlag, $buendeln, $perforation, $duftdruck, $praegung_umschlag, $beilage, $veredelung_umschlag, $registerstanzung, $einschweissen, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $blankomuster, $musterversand, $absender);
$eigenkosten += $prepress_kosten + $wtvarray[0];
$fremdkosten += $wtvarray[1] + $wtvarray[2] + $wtvarray[3] +$wtvarray[4];
$versandgewicht = $wtvarray[5];
$papier_vs_rs_unterschiedlich_umschlag = 0;
$preisaend = getZUABBRO23($what, $auflage, $rabattierfaehigekosten, $eigenkosten, $fremdkosten, $papier_inhalt_sammelform, $druckfarben_inhalt, $druckmaschine_inhalt, $papier_umschlag_sammelform, $druckfarben_umschlag, $druckmaschine_umschlag, $qualitaet, $produktionszeit, $format_offen_breite, $format_offen_hoehe, $provisionsart, $provisionswert, $rabattierfaehigekosten_inhalt, $rabattierfaehigekosten_umschlag, $zussorten_umschlag, $seiten_inhalt, $seiten_umschlag, $drucknutzen_inhalt, $drucknutzen_umschlag, $papier_vs_rs_unterschiedlich_umschlag);
$basispreisnetto = $eigenkosten + $fremdkosten + $preisaend;
$internarray = array('$format_offen_breite'=>$format_offen_breite, '$format_offen_hoehe'=>$format_offen_hoehe, '$bubipappe'=>$bubipappe, '$buchruecken'=>$buchruecken, '$druckmaschine_inhalt'=>$druckmaschine_inhalt, '$ctp_inhalt'=>$ctp_inhalt, '$druckbogen_hoehe_inhalt'=>$druckbogen_hoehe_inhalt, '$druckbogen_breite_inhalt'=>$druckbogen_breite_inhalt, '$drucknutzen_inhalt'=> $drucknutzen_inhalt, '$nettobg_inhalt'=>$nettobg_inhalt, '$zuschuss_inhalt'=>$zuschuss_inhalt, '$papierkosten_inhalt'=>$papierkosten_inhalt, '$druckzeitruesten_inhalt'=>$druckzeitruesten_inhalt, '$druckzeitfortdruck_inhalt'=>$druckzeitfortdruck_inhalt, '$druckmaschine_umschlag'=>$druckmaschine_umschlag, '$ctp_umschlag'=>$ctp_umschlag, '$druckbogen_hoehe_umschlag'=>$druckbogen_hoehe_umschlag, '$druckbogen_breite_umschlag'=>$druckbogen_breite_umschlag, '$drucknutzen_umschlag'=> $drucknutzen_umschlag, '$druckbogen_nettomenge_umschlag'=>$druckbogen_nettomenge_umschlag, '$druckbogen_zuschussmenge_umschlag'=>$druckbogen_zuschussmenge_umschlag, '$papierkosten_umschlag'=>$papierkosten_umschlag, '$druckzeitruesten_umschlag'=>$druckzeitruesten_umschlag, '$druckzeitfortdruck_umschlag'=>$druckzeitfortdruck_umschlag, '$papier_inhalt_art_nr'=> $papier_inhalt_art_nr, '$papier_umschlag_art_nr'=>$papier_umschlag_art_nr, '$ctpstring'=>$ctpstring);
$intern = Array2String($internarray);
if ($what == 'debug') {
echo ("\n</br >" . '-------------------- PREIS BRO total --------------------' . "\n</br >");
echo ('ohne Aktionsrabatt, Onlinerabatt, Kundengruppenrabatt, Endkundenversand' . "\n</br >");
echo ('Eigenkosten: ' . number_format($eigenkosten, 2, ',', '.') . " €\n</br >");
echo ('Fremdkosten: ' . number_format($fremdkosten, 2, ',', '.') . " €\n</br >");
echo ('Zu-/Abschläge: ' . number_format($preisaend, 2, ',', '.') . " €\n</br >");
echo ('Basispreis Netto: ' . number_format($basispreisnetto, 2, ',', '.') . " €\n</br >");
}
$ergebnis = array('eigenkosten'=>$eigenkosten, 'fremdkosten'=>$fremdkosten, 'preisaend'=>$preisaend, 'versandgewicht'=>$versandgewicht, 'intern'=>$intern);
return $ergebnis;
}
// Digitaldruck
function getDigitALLPlanoFa23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $personalisierung, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $breite_geschl, $hoehe_geschl, $loseblatt, $anzblattjeblock, $papiersorte_grammatur, $papiersorte_value, $papiersorte_sammelform, $falzung, $falzart, $bohren_lochen, $verschluss, $klebepunkte_durchmesser, $ecken_runden, $buendeln, $stanzung, $stanzart, $nutlinien, $oesen, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender, $produktionszeit, $qualitaet, $provisionsart, $provisionswert,
$papiersorte_papiertyp1, $papiersorte_papiertyp2, $papiersorte_papiertyp3, $papiersorte_papiertyp4, $papiersorte_papiertyp5, $papiersorte_papiertyp6, $papiersorte_papiertyp7, $papiersorte_papiertyp8, $papiersorte_papiertyp9, $papiersorte_papiertyp10, $papiersorte_papiertyp11, $papiersorte_papiertyp12, $papiersorte_papiertyp13, $papiersorte_papiertyp14){
// Hüllendruck? Papierkosten per o/oo + Druckkosten !
if (($papiersorte_papiertyp5) || ($papiersorte_papiertyp6) || ($papiersorte_papiertyp7) || ($papiersorte_papiertyp8) || ($papiersorte_papiertyp9) || ($papiersorte_papiertyp10)) {
$huellendruck = 1;
}else{
$huellendruck = 0;
}
if($anzblattjeblock == 0){$anzblattjeblock = 1;}
$eigenkosten_prepress = getPrePressDIGI23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $loseblatt, $personalisierung, 0, 0);
[$breite_offen, $hoehe_offen] = getDigiWTVFormate($breite_offen, $hoehe_offen, $stanzung, $stanzart, $nutlinien, $huellendruck);
[$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender] = getDruckNutzenDIGI($breite_offen, $hoehe_offen, $huellendruck);
[$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung, $kosten_endschneiden, $zeit_endschneiden, $kosten_falzung, $zeit_falzung, $fakt_falzung, $kosten_nuten, $zeit_nuten, $kosten_personalisierung, $kosten_eckenrunden, $zeit_eckenrunden, $kosten_bohren_lochen, $zeit_bohren_lochen, $kosten_loseblatt, $zeit_buendeln, $zeit_verschluss, $zeit_loseblatt, $kosten_stanzung, $zeit_stanzung, $kosten_werkzeug_stanzung, $kosten_oesen, $kosten_buendeln, $kosten_freipos10, $kosten_freipos20, $kosten_musterversand, $kosten_absender] = getWTVDIGIPlanoFa23($what, $auflage, $drucknutzen, $hoehe_offen, $breite_offen, $hoehe_geschl, $breite_geschl, $papiersorte_grammatur, $papiersorte_value, $sortenzahl, $falzung, $falzart, $loseblatt, $bohren_lochen, $verschluss, $klebepunkte_durchmesser, $ecken_runden, $personalisierung, $buendeln, $stanzung, $stanzart, $nutlinien, $oesen, $anzblattjeblock, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender);
[$eigenkosten_digitaldruck, $fremdkosten_digitaldruck, $nettobg, $zuschuss_digitaldruck, $papierkosten, $bruttobg, $ruestkosten, $druckkosten, $klickkosten] = getPrintDIGIPlanoFa23($what, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $sortenzahl, $papiersorte_sammelform, $anzblattjeblock, $wtvzuschusspapier, $papiersorte_papiertyp1, $papiersorte_papiertyp2, $papiersorte_papiertyp3, $papiersorte_papiertyp4, $papiersorte_papiertyp5, $papiersorte_papiertyp6, $papiersorte_papiertyp7, $papiersorte_papiertyp8, $papiersorte_papiertyp9, $papiersorte_papiertyp10, $papiersorte_papiertyp11, $papiersorte_papiertyp12, $papiersorte_papiertyp13, $papiersorte_papiertyp14);
$druckzeitruesten = $ruestkosten / 75;
$druckzeitfortdruck = $druckkosten / 75;
$eigenkosten = $eigenkosten_prepress + $eigenkosten_digitaldruck + $wtveigenkosten;
$fremdkosten = $fremdkosten_digitaldruck + $wtvfremdkosten + $wtvfrachtkosten;
$preisaend = getZUABPlanoDigiFA23($what, $auflage, $eigenkosten, $fremdkosten, $papiersorte_sammelform, $produktionszeit, $qualitaet, $sortenzahl, $provisionsart, $provisionswert);
$basispreisnetto = $eigenkosten + $fremdkosten + $preisaend;
$versandgewicht = 1.1 * $breite_offen * $hoehe_offen / 10000 * $auflage * $papiersorte_grammatur;
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- Digitaldruck PrePress --------------------'."\n<br />");
$Ausgabeliste = array('Vorstufe: ' => $eigenkosten_prepress);
foreach($Ausgabeliste as $bez => $wert){
if($wert != 0){echo($bez.number_format($wert, 2 , ',', '.')." € \n<br />");}
}
}
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- Digitaldruck PRINT Plano-Fa --------------------'."\n<br />");
echo('Druckbogen: '.$Druckbogenbreite.' x '.$Druckbogenhoehe.' cm'."\n<br />");
echo($nettobg.' Nettobg. + '.$zuschuss_digitaldruck.' ZU Druck + '.$wtvzuschusspapier.' ZU WTV = '.$bruttobg.' Bg. zu '.$drucknutzen.' Ntz.'."\n<br />");
echo('Rüstkosten: '.number_format($ruestkosten, 2 , ',', '.')." € | ");
echo('Druckkosten: '.(number_format($druckkosten, 2 , ',', '.'))." €\n<br />");
echo('Papier: '.number_format($papierkosten, 2 , ',', '.')." €\n<br />");
echo('VK Klick DIN A3: '.$klickkosten." € \n<br />");
echo('Eigenkosten Print: '.number_format($eigenkosten_digitaldruck, 2 , ',', '.')." € \n<br />");
echo('Fremdkosten Print: '.number_format($fremdkosten_digitaldruck, 2 , ',', '.')." € \n<br />");
echo('Gesamtkosten Print: '.(number_format($eigenkosten_digitaldruck+$fremdkosten_digitaldruck, 2 , ',', '.'))." €\n\n<br />");
}
//Werte ausgeben
if($what=='debug'){
echo('-------------------- Digitaldruck WTV Plano-Fa --------------------'."\n<br />");
echo('Kosten Endschneiden: '.number_format($kosten_endschneiden, 2 , ',', '.').' € | Zeit: '.number_format($zeit_endschneiden, 2 , ',', '.')."\n<br />");
if($kosten_falzung != 0){echo('Kosten Falzung: '.number_format($kosten_falzung, 2 , ',', '.').' € | Zeit Falzung: '.number_format($zeit_falzung, 2 , ',', '.')."\n<br />");
echo('$fakt_falzung: '.$fakt_falzung."\n<br />");
}
if($kosten_nuten != 0){echo('Kosten nuten: '.number_format($kosten_nuten, 2 , ',', '.').' | '.'Zeit nuten: '.number_format($zeit_nuten, 2 , ',', '.')."\n<br />");}
if($kosten_personalisierung != 0){echo('Kosten personalisierung: '.number_format($kosten_personalisierung, 2 , ',', '.')."\n<br />");}
if($kosten_eckenrunden != 0){echo('Kosten eckenrunden: '.number_format($kosten_eckenrunden, 2 , ',', '.').' | '.'Zeit eckenrunden: '.number_format($zeit_eckenrunden, 2 , ',', '.')."\n<br />");}
if($kosten_bohren_lochen != 0){echo('Kosten bohren_lochen: '.number_format($kosten_bohren_lochen, 2 , ',', '.').' | '.'Zeit bohren_lochen: '.number_format($zeit_bohren_lochen, 2 , ',', '.')."\n<br />");}
if($kosten_stanzung != 0){echo('Kosten Stanzung: '.number_format($kosten_stanzung, 2 , ',', '.').' | '.'Zeit stanzung: '.number_format($zeit_stanzung, 2 , ',', '.')."\n<br />");}
if($kosten_werkzeug_stanzung != 0){echo('Kosten Werkzeug Stanzung: '.number_format($kosten_werkzeug_stanzung, 2 , ',', '.')."\n<br />");}
if($kosten_oesen != 0){echo('Kosten Ösen: '.number_format($kosten_oesen, 2 , ',', '.')."\n<br />");}
if($kosten_buendeln != 0){echo('Kosten buendeln: '.number_format($kosten_buendeln, 2 , ',', '.')."\n<br />");}
if($kosten_freipos10 != 0){echo('Kosten freipos10: '.number_format($kosten_freipos10, 2 , ',', '.')."\n<br />");}
if($kosten_freipos20 != 0){echo('Kosten freipos20: '.number_format($kosten_freipos20, 2 , ',', '.')."\n<br />");}
if($kosten_musterversand != 0){echo('Kosten musterversand: '.number_format($kosten_musterversand, 2 , ',', '.')."\n<br />");}
if($kosten_absender != 0){echo('Kosten absender: '.number_format($kosten_absender, 2 , ',', '.')."\n<br />");
}
if($kosten_loseblatt != 0){echo('Kosten loseblatt: '.number_format($kosten_loseblatt, 2 , ',', '.').' | '.'Zeit loseblatt: '."\n<br />");}
echo('WTV Zuschusspapier Kosten: '.number_format($wtvzuschusspapier_kosten, 2 , ',', '.').' € | '.number_format($wtvzuschusspapier, 2 , ',', '.')." Bg. \n<br />");
echo('----------------------------------------'."\n<br />");
echo('WTV Frachtkosten: '.number_format($wtvfrachtkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Eigenkosten: '.number_format($wtveigenkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Fremdkosten: '.number_format($wtvfremdkosten, 2 , ',', '.')." € \n\n<br />");
echo('========================================'."\n<br />");
echo(' Eigenkosten: '.number_format($eigenkosten, 2 , ',', '.')." € \n<br />");
echo('+Fremdkosten: '.number_format($fremdkosten, 2 , ',', '.')." € \n<br />");
echo('+Preisänderung: '.number_format($preisaend, 2 , ',', '.')." € \n<br />");
echo('=Basispreis Netto: '.number_format($basispreisnetto, 2 , ',', '.')." €\n<br />");
echo('Versandgewicht: '.number_format($versandgewicht/1000,1)." kg\n<br />");
}
$internarray = array('$druckmaschine'=>'Canon', '$prepress_kosten'=>$eigenkosten_prepress, '$druckbogen_breite'=>$Druckbogenbreite, '$druckbogen_hoehe'=>$Druckbogenhoehe, '$druckbogen_nettomenge'=>$nettobg, '$druckbogen_zuschussmenge'=>$zuschuss_digitaldruck, '$drucknutzen'=>$drucknutzen, '$wtveigenkosten'=>$wtveigenkosten, '$wtvfremdkosten'=>$wtvfremdkosten, '$wtvfrachtkosten'=>$wtvfrachtkosten, '$wtvzuschusspapier_kosten'=>$wtvzuschusspapier_kosten, '$wtvzuschusspapier'=>$wtvzuschusspapier, '$versandgewicht'=>$versandgewicht, '$zeit_endschneiden'=>$zeit_endschneiden, '$zeit_falzung'=>$zeit_falzung, '$zeit_nuten'=>$zeit_nuten, '$zeit_buendeln'=>$zeit_buendeln, '$zeit_verschluss'=>$zeit_verschluss, '$zeit_eckenrunden'=>$zeit_eckenrunden, '$zeit_bohren_lochen'=>$zeit_bohren_lochen, '$zeit_loseblatt'=>$zeit_loseblatt, '$druckzeitruesten'=>$druckzeitruesten, '$druckzeitfortdruck'=>$druckzeitfortdruck);
$intern = Array2String($internarray);
$ergebnis = array('eigenkosten'=> $eigenkosten, 'fremdkosten' => $fremdkosten, 'preisaend' => $preisaend, 'versandgewicht'=> $versandgewicht, 'intern' => $intern);
return $ergebnis;
}
function getAnzDruckfarbenBedruckteSeiten21($farbauswahl){
$farbanz_liste = array(4,4,4,5,5,6,1,1,2,2,2,2,3,3,3,1,1,4,4,6,7,8,4);
$bedruckteseiten_liste = array(1,2,2,1,2,2,1,2,1,1,2,2,1,2,2,1,2,1,2,1,1,1,1);
return [$farbanz_liste[$farbauswahl-1],$bedruckteseiten_liste[$farbauswahl-1]];
}
function getMaschine($breite_offen, $hoehe_offen) {
if($breite_offen > 49 || $hoehe_offen > 49) {
return 'man';
}
return 'gto';
}
function getGreiferRand($format) {
$maschine = getMaschine($format['breite'], $format['hoehe']);
if($maschine == 'man') {
return 2.3;
}
return 1.4;
}
function getBogenRaender($format) {
$maschine = getMaschine($format['breite'], $format['hoehe']);
if($maschine == 'man') {
return 1.5;
}
return 0.8;
}
function getAnzFarbwechselMAN($farbauswahl) {
if($farbauswahl == 1) {
return 0;
}
if($farbauswahl == 2) {
return 0;
}
if($farbauswahl == 3) {
return 0;
}
if($farbauswahl == 4) {
return 1;
}
if($farbauswahl == 5) {
return 1;
}
if($farbauswahl == 6) {
return 2;
}
if($farbauswahl == 7) {
return 0;
}
if($farbauswahl == 8) {
return 0;
}
if($farbauswahl == 9) {
return 1;
}
if($farbauswahl == 10) {
return 2;
}
if($farbauswahl == 11) {
return 1;
}
if($farbauswahl == 12) {
return 2;
}
if($farbauswahl == 13) {
return 3;
}
if($farbauswahl == 14) {
return 2;
}
if($farbauswahl == 15) {
return 3;
}
if($farbauswahl == 16) {
return 1;
}
if($farbauswahl == 17) {
return 1;
}
if($farbauswahl == 18) {
return 0.5;
}
if($farbauswahl == 19) {
return 2;
}
if($farbauswahl == 20) {
return 2;
}
if($farbauswahl == 21) {
return 3;
}
if($farbauswahl == 22) {
return 4;
}
if($farbauswahl == 23) {
return 4;
}
return 10;
}
function getAnzFarbwechselGTO($farbauswahl) {
if($farbauswahl == 1) {
return 3;
}
if($farbauswahl == 2) {
return 3;
}
if($farbauswahl == 3) {
return 3;
}
if($farbauswahl == 4) {
return 4;
}
if($farbauswahl == 5) {
return 4;
}
if($farbauswahl == 6) {
return 5;
}
if($farbauswahl == 7) {
return 0;
}
if($farbauswahl == 8) {
return 0;
}
if($farbauswahl == 9) {
return 1;
}
if($farbauswahl == 10) {
return 2;
}
if($farbauswahl == 11) {
return 1;
}
if($farbauswahl == 12) {
return 2;
}
if($farbauswahl == 13) {
return 3;
}
if($farbauswahl == 14) {
return 2;
}
if($farbauswahl == 15) {
return 3;
}
if($farbauswahl == 16) {
return 1;
}
if($farbauswahl == 17) {
return 1;
}
if($farbauswahl == 18) {
return 4;
}
if($farbauswahl == 19) {
return 6;
}
if($farbauswahl == 20) {
return 6;
}
if($farbauswahl == 21) {
return 7;
}
if($farbauswahl == 22) {
return 8;
}
if($farbauswahl == 23) {
return 4;
}
return 10;
}
function getPrePressPlanoFa23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen) {
//Parameter
$Pstundensatz_vorstufe = 75;
$Pplano_fa_aufpreis_anderes_dateiformat = 25;
$Pumweltzeichen_fsc = 25;
$Pumweltzeichen_blauerengel = 50;
$Psortenzeit_vorstufe = 3;
$Pgrundzeit_vorstufe = 20;
$Pplano_digitalproof_minimal = 15;
$bedruckteSeiten = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt)[1];
$datenuebernahme_kosten = ($Pgrundzeit_vorstufe+$sortenzahl*$bedruckteSeiten*$Psortenzeit_vorstufe)/60*$Pstundensatz_vorstufe;
$dateiformat_kosten = 0;
if(($dateiformat_geliefert != 1) && ($dateiformat_geliefert != 5)){
$dateiformat_kosten = $Pplano_fa_aufpreis_anderes_dateiformat;
}
$korrekturabzug_kosten = 0;
if($korrekturabzug == 3){
$korrekturabzug_kosten = max($Pplano_digitalproof_minimal, (($breite_offen*$hoehe_offen)/62*$sortenzahl*$bedruckteSeiten));
}
if($korrekturabzug == 2){
$korrekturabzug_kosten = 5 + ($sortenzahl*$bedruckteSeiten);
}
$umweltzeichen_kosten = 0;
if($umweltzeichen == 2){
$umweltzeichen_kosten = $Pumweltzeichen_fsc;
}
if($umweltzeichen == 3){
$umweltzeichen_kosten = $Pumweltzeichen_blauerengel;
}
$eigenkosten = $datenuebernahme_kosten + $dateiformat_kosten + $korrekturabzug_kosten + $umweltzeichen_kosten;
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- PrePress PLANO-FA --------------------'."\n<br />");
$Ausgabeliste = array('Datenübernahme: ' => $datenuebernahme_kosten, 'Dateiformat: ' => $dateiformat_kosten, 'Umweltzeichen: ' => $umweltzeichen_kosten, 'Korrekturabzug: ' => $korrekturabzug_kosten);
foreach($Ausgabeliste as $bez => $wert){
if($wert != 0){echo($bez.number_format($wert, 2 , ',', '.')." € \n<br />");}
}
}
return $eigenkosten;
}
function getPrintPlanoFa23($what, $papierType1, $papierType2, $papierType3, $papierType4, $papierType5, $papierType6, $papierType7, $papierType8, $papierType9, $papierType10, $papierType11, $papierType12, $papierType13, $papierType14, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $drucklack, $papier_vs_rs_unterschiedlich, $sortenzahl, $anzblattjeblock, $zusdruckplatten, $zusfarbwechsel, $lackart, $papiersorte_sammelform, $produktionszeit, $stanzung) {
$GrundRuestZeit = 12;
$RuestZeitJePlatte = 3.1;
$WarteZeitUU = 0.15;
$kostenDruckplatte = 15;
$FarbwechselZeit = 35;
$Paufpreis_drucklack_matt_voll = 10;
$Paufpreis_drucklack_matt_partiell = 30;
$Paufpreis_drucklack_glzd_voll = 55;
$Paufpreis_drucklack_glzd_partiell = 95;
if($anzblattjeblock == 0){
$anzblattjeblock=1;
}
$auflage *= $anzblattjeblock;
$price = 9999999999;
$nutzen = 9999999999;
$nettobg = 9999999999;
$zuschuss = 9999999999;
$bogen_hoehe = 1000;
$bogen_breite = 1000;
$ctp = 999999999;
$druckgaenge = 99999999;
$stundensatz = 99999999;
$maschine = 'man';
$anzahlFarbw = 999;
$druckgeschwindigkeit = 999;
$passtdrauf = 0;
$sortenaufschlag = 999999;
$zuschussfaktor = 9;
$druckkosten = 999999;
$papierkosten = 999999;
$druckzeittotal = 999999;
$druckzeitruesten = 999999;
$druckzeitfortdruck = 999;
$druckzeit_farbw = 999;
$rabattierfaehigekosten = 0;
$sammelfaktor = 1;
// Hüllendruck? Papierkosten per o/oo + Druckkosten !
if (($papierType5) || ($papierType6) || ($papierType7) || ($papierType8) || ($papierType9) || ($papierType10)) {
$huellendruck = 1;
}else{
$huellendruck = 0;
// war + 0.4 - evtl. nur +0.3 für nicht gestanzt/perf./ ... sonst +1.2 ??? !!!
$hoehe_offen += 0.3;
$breite_offen += 0.3;
}
$farbarray = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt);
$anzahlDruckfarben = $farbarray[0];
$bedruckteSeiten = $farbarray[1];
$formate=array();
//Papier gestellt (Grammatur = 555) und/oder Formatberechnung nötig?
if($papiersorte_grammatur == 555){
$formate[] = array('type' => 0, 'breite' => $breite_offen + 3.7, 'hoehe' => $hoehe_offen + 3.7, 'umschlagen' => 0);
}else{
if($papierType1) {
$formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 0);
}
if($papierType1 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 2, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 1);
}
if($papierType2) {
$formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 0);
}
if($papierType2 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 1);
}
if($papierType3) {
$formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 0);
}
if($papierType3 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 1);
}
if($papierType4) {
$formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'umschlagen' => 0);
}
if($papierType4 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'umschlagen' => 1);
}
if($papierType5) {
$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 11.4, 'umschlagen' => 0);
}
if($papierType5 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 11.4, 'umschlagen' => 1);
}
if($papierType6) {
$formate[] = array('type' => 7, 'breite' => 32.4, 'hoehe' => 22.9, 'umschlagen' => 0);
}
if($papierType6 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 32.4, 'hoehe' => 22.9, 'umschlagen' => 1);
}
if($papierType7) {
$formate[] = array('type' => 7, 'breite' => 35.3, 'hoehe' => 25, 'umschlagen' => 0);
}
if($papierType7 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 35.3, 'hoehe' => 25, 'umschlagen' => 1);
}
if($papierType8) {
$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 16.2, 'umschlagen' => 0);
}
if($papierType8 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 16.2, 'umschlagen' => 1);
}
if($papierType9) {
$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'umschlagen' => 0);
}
if($papierType9 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'umschlagen' => 1);
}
if($papierType10) {
$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 0);
}
if($papierType10 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 1);
}
if($papierType11) {
$formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 0);
}
if($papierType11 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 1);
}
if($papierType12) {
$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 0);
}
if($papierType12 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 1);
}
if($papierType13) { //wenn 31.5 x 44 dann auch 22 x 31.5 mgl.
$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 0);
$formate[] = array('type' => 7, 'breite' => 31.5, 'hoehe' => 22, 'umschlagen' => 0);
}
if($papierType13 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 1);
$formate[] = array('type' => 7, 'breite' => 31.5, 'hoehe' => 22, 'umschlagen' => 1);
}
if($papierType14) {
$formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 0);
}
if($papierType14 && $papier_vs_rs_unterschiedlich == False) {
$formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 1);
}
}
$formateString = '';
foreach($formate as $key => $format) {
$greiferRand = getGreiferRand($format);
$bogenRaender = getBogenRaender($format);
$formateString .= $format['breite'] . 'x' . $format['hoehe'] . ' cm | ';
if($format['umschlagen'] == 0) {
$nutzen_calc = max(
((floor(($format['breite']-$bogenRaender)/$breite_offen))*(floor(($format['hoehe']-$greiferRand)/$hoehe_offen))),
((floor(($format['breite']-$bogenRaender)/$hoehe_offen)*(floor(($format['hoehe']-$greiferRand)/$breite_offen))))
);
$drucklegung_text1 = 'Druckbogen SD / WD mit '.$nutzen_calc.' Nutzen.';
$wartezeit = 0;
}else{
/* ALTE FORMEL $nutzen_calc= 2*floor((max(
((floor(($format['breite']-$bogenRaender)/$breite_offen))*(floor(($format['hoehe']-$greiferRand)/$hoehe_offen))),
((floor(($format['breite']-$bogenRaender)/$hoehe_offen)*(floor(($format['hoehe']-$greiferRand)/$breite_offen))))
))/2); */
$nutzen_calc= 2*(max(
((floor(($format['breite']/2-$bogenRaender/2)/$breite_offen))*(floor(($format['hoehe']-$greiferRand)/$hoehe_offen))), //Umschlager #1
((floor(($format['breite']/2-$bogenRaender/2)/$hoehe_offen)*(floor(($format['hoehe']-$greiferRand)/$breite_offen)))), //Umschlager #2
((floor(($format['breite']-$bogenRaender)/$breite_offen)*(floor(($format['hoehe']/2-$greiferRand)/$hoehe_offen)))), //Umstülper #1
((floor(($format['breite']-$bogenRaender)/$hoehe_offen)*(floor(($format['hoehe']/2-$greiferRand)/$breite_offen)))), //Umstülper #2
));
$drucklegung_text1 = 'Druckbogen zum Umschlagen/Umstülpen mit ' . $nutzen_calc . ' Nutzen.';
$wartezeit = $WarteZeitUU;
}
// Hüllendruck? Papierkosten per o/oo + Druckkosten !
if ($huellendruck == 1) {
$nutzen_calc = 1;
$drucklegung_text1 = 'Druckbogen SD / WD mit ' . $nutzen_calc . ' Nutzen.';
}
if($nutzen_calc < 1){
$nutzen_calc = 0.00001; // division by zero vermeiden, hohen Preis künstl. errechnen
}
if($bedruckteSeiten==2 && $papier_vs_rs_unterschiedlich==0 && $nutzen_calc > 1 && $format['umschlagen'] == 1){
$ctp1 = ($anzahlDruckfarben+$drucklack)*$bedruckteSeiten/2;
}else{
$ctp1 = ($anzahlDruckfarben+$drucklack)*$bedruckteSeiten;
if($druckfarben_inhalt == 2){
$ctp1 = 5 + $drucklack; // für den Fall "4/1 Euroskala" ohne Umschlagen wichtig
}
}
$maschine1 = getMaschine($format['breite'], $format['hoehe']);
$wtvgeschwindigkeit1 = (log10($auflage*$auflage)*900)*(100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100;
if($maschine1 == "gto") {
$druckgaenge1 = $bedruckteSeiten*($anzahlDruckfarben+$drucklack);
$fortdruckmaschine1 = $wtvgeschwindigkeit1 / 1.5;
$anzahlFarbw1 = getAnzFarbwechselGTO($druckfarben_inhalt);
$stundensatz1 = getMaschineKosten23($format, $anzahlFarbw1);
$grundzuschuss = 50;
if($huellendruck == 1) {
$grundzuschuss = 80;
$fortdruckmaschine1 *= .9;
$stundensatz1 = getMaschineKosten23($format, 0);
}
if($papiersorte_grammatur > 350){$stundensatz1 *= 3;}
elseif($papiersorte_grammatur > 300){$stundensatz1 *= 2;}
}else{
$druckgaenge1 = ceil(($anzahlDruckfarben+$drucklack)/5)*$bedruckteSeiten;
$fortdruckmaschine1 = getMANSpeed($auflage, $papiersorte_grammatur);
$anzahlFarbw1 = getAnzFarbwechselMAN($druckfarben_inhalt);
$stundensatz1 = getMaschineKosten23($format, $anzahlFarbw1);
$grundzuschuss = 100;
$huellendruck = 0;
}
$sammelarray = getSammelformWertePlanoFa23($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $bedruckteSeiten, $sortenzahl, $maschine1, $produktionszeit, $papier_vs_rs_unterschiedlich);
$sammelfaktor_papier = $sammelarray[2];
$sammelwahrscheinlichkeit_menge = $sammelarray[1];
$sammelwahrscheinlichkeit_format_sorten = $sammelarray[0];
$sammelfaktor_druckmaschine1 = $sammelarray[3];
if($nutzen_calc/$sortenzahl < $bedruckteSeiten) {
$passtdrauf1 = FALSE;
$passtNichtDraufNutzen = floor($nutzen_calc / $sortenzahl);
$restNutzen = $nutzen_calc % $sortenzahl;
$sortenaufschlag1 = ($restNutzen * (10+$breite_offen*$hoehe_offen/35)) + ($passtNichtDraufNutzen * ($sortenzahl-1) * 4);
$zuschussfaktor1 = 1;
if($bedruckteSeiten==2 && $papier_vs_rs_unterschiedlich==0 && $nutzen_calc > 1 && $format['umschlagen'] == 1) {
$ctp1 = ceil($sortenzahl / $nutzen_calc * $bedruckteSeiten) * $anzahlDruckfarben + $drucklack;
}else{
$ctp1 = ceil($sortenzahl / $nutzen_calc) * $bedruckteSeiten * $anzahlDruckfarben + $drucklack;
if($druckfarben_inhalt == 2){
$ctp1 = (5 + $drucklack) * ceil($sortenzahl / $nutzen_calc); // für den Fall "4/1 Euroskala" ohne Umschlagen wichtig
}
}
}else{
$passtdrauf1 = TRUE;
// ALT $sortenaufschlag1 = ($sortenzahl-1)*(10+$breite_offen*$hoehe_offen/35);
$generellaufschlag = 3 + 8 / sqrt($sortenzahl);
$sortenaufschlag1 = ($sortenzahl-1)*($generellaufschlag+$breite_offen*$hoehe_offen/33);
//echo('Format: '.$format['breite'].'x'.$format['hoehe'].' = Sortenaufschlag1: '.$sortenaufschlag1.' | '."\n<br />");
//Sortenaufschlag reduzieren, falls keine Sammelform ($papiersorte_sammelform = 1 >>> keine Sammelform)
if ((in_array($druckfarben_inhalt, array(1, 2, 3, 18, 19, 7, 8))) && ($papiersorte_sammelform == 1)) {
$sortenaufschlag1 *= 0.5;
}
$zuschussfaktor1 = 1;
}
if($stanzung != 0){
$sortenaufschlag1 += 5 * ($sortenzahl - 1);
}
$zuschuss1 = ceil(max($grundzuschuss*2,$grundzuschuss + (($druckgaenge1-1)*$grundzuschuss/4) + $ctp1*$grundzuschuss*0.75 + ceil($auflage/$nutzen_calc*0.02*$druckgaenge1)*$zuschussfaktor1 + ($zusfarbwechsel+$zusdruckplatten)*$grundzuschuss));
$druckgeschwindigkeit1 = $fortdruckmaschine1;
$nettobg1 = ceil($auflage/$nutzen_calc);
if ($huellendruck == 1){
$papieraufschlagfaktor1 = 1.3;
$papierkosten1 = ($nettobg1 + $zuschuss1) * $papiersorte_value / 1000 * $papieraufschlagfaktor1 ;
} else {
$papierwert1 = ($format['hoehe'] * $format['breite'] * $papiersorte_grammatur * $papiersorte_value / 1000000000);
$nettobgkosten1 = $papierwert1 * $nettobg1;
$zuschusskosten1 = $papierwert1 * $zuschuss1;
$papierkosten1 = $nettobgkosten1 + $zuschusskosten1;
$papieraufschlagfaktor1 = 1.30 -(MIN(($papierkosten/$papiersorte_value*100)/5000,0.2));
$papierkosten1 *= $papieraufschlagfaktor1;
}
$huellenruestzeit = 40 - $anzahlFarbw1 * 10;
$druckzeitfortdruck1 = (($zuschuss1+$nettobg1)/$druckgeschwindigkeit1*$druckgaenge1);
$druckzeit_farbw1 = ($anzahlFarbw1*$FarbwechselZeit/60);
$druckzeitruesten1 = ($GrundRuestZeit*$druckgaenge1/60)+($ctp1*$RuestZeitJePlatte/60) + $druckzeit_farbw1 + $wartezeit + ($huellendruck * $huellenruestzeit / 60);
$druckzeittotal1 = $druckzeitruesten1 + $druckzeitfortdruck1;
$druckkosten1 = $druckzeittotal1 * $stundensatz1;
if((in_array($druckfarben_inhalt,array(1,2,3,18,19,7,8))) && ($papiersorte_sammelform != 1)){
$sammelfaktor1 = (($sammelwahrscheinlichkeit_format_sorten*75)*($sammelwahrscheinlichkeit_menge*25)/(75*25)) * $sammelfaktor_papier * $sammelfaktor_druckmaschine1;
$rabattierfaehigekosten1 = ($ctp1 * $kostenDruckplatte) + ((($druckzeitruesten1 - $druckzeit_farbw1 * 0.75) + ($druckzeitfortdruck1 * 0.25)) * $stundensatz1) + ($zuschusskosten1);
}else{
$sammelfaktor1 = 0;
$rabattierfaehigekosten1 = 0;
}
$price_calc = $papierkosten1 + ($kostenDruckplatte*$ctp1) + $druckkosten1 + $sortenaufschlag1;
if($what=='debug2'){
echo('Umschlagen: '.$format['umschlagen'].' | ');
echo($format['hoehe'].' x '.$format['breite'].' >>> '.number_format($price_calc, 2 , ',', '.').' - '.number_format($rabattierfaehigekosten1 * $sammelfaktor1, 2 , ',', '.').' = '.number_format(($price_calc - $rabattierfaehigekosten1 * $sammelfaktor1), 2 , ',', '.')."\n<br />");
echo(' mit Nettobg.: '.$nettobg1.' ('.number_format($nettobgkosten1, 2 , ',', '.').' €) + Zuschuss: '.$zuschuss1.' ('.number_format($zuschusskosten1, 2 , ',', '.')." €)\n<br />");
echo(' mit CTP: '.$ctp1.' | Ntz: '.$nutzen_calc.' | Sammelfak.: '.number_format($sammelfaktor1, 2 , ',', '.')."\n<br />");
echo(' auf '.$maschine1.' mit '.$stundensatz1."\n<br />");
}
if((($price_calc - $rabattierfaehigekosten1 * $sammelfaktor1) < ($price - $rabattierfaehigekosten * $sammelfaktor)) && ($nettobg1 != 0) && ($nutzen_calc >=1)) {
$price = $price_calc;
$nutzen = $nutzen_calc;
$ctp = $ctp1;
$zuschuss = $zuschuss1;
$nettobg = $nettobg1;
$bogen_hoehe = $format['hoehe'];
$bogen_breite = $format['breite'];
$druckgaenge = $druckgaenge1;
$druckgeschwindigkeit = $druckgeschwindigkeit1;
$stundensatz = $stundensatz1;
$maschine = $maschine1;
$anzahlFarbw = $anzahlFarbw1;
$passtdrauf = $passtdrauf1;
$sortenaufschlag = $sortenaufschlag1;
$zuschussfaktor = $zuschussfaktor1;
$druckkosten = $druckkosten1;
$papierkosten = $papierkosten1;
$druckzeittotal = $druckzeittotal1;
$druckzeitruesten = $druckzeitruesten1;
$druckzeit_farbw = $druckzeit_farbw1;
$druckzeitfortdruck = $druckzeitfortdruck1;
$rabattierfaehigekosten = $rabattierfaehigekosten1;
$drucklegung_text = $drucklegung_text1;
$papieraufschlagfaktor = $papieraufschlagfaktor1;
$sammelfaktor = $sammelfaktor1;
if($what == 'debug2'){
echo(' >>> günstiger als Vorgänger'."\n\n<br />");
}
}
}
if($drucklack != '0'){
if($lackart == '2'){
$lackart_kosten = $Paufpreis_drucklack_matt_voll;
}
else if($lackart == '3'){
$lackart_kosten = $Paufpreis_drucklack_matt_partiell;
}
else if($lackart == '4'){
$lackart_kosten = $Paufpreis_drucklack_glzd_voll;
}
else if($lackart == '5'){
$lackart_kosten = $Paufpreis_drucklack_glzd_partiell;
}else{
$lackart_kosten = 0;
}
}else{
$lackart_kosten = 0;
}
$farbkosten = FarbkostenBerechnen("kein debug", "PLANO-FA", $bogen_breite, $bogen_hoehe, $anzahlDruckfarben, $drucklack, $bedruckteSeiten, $nettobg, $zuschuss, $anzahlFarbw, $druckfarben_inhalt);
$zusdruckplatten_kosten = $zusdruckplatten*($stundensatz/60*5+$kostenDruckplatte+20);
$zusfarbwechsel_kosten = $zusfarbwechsel*45*$stundensatz/60;
$price += $farbkosten + $lackart_kosten + $zusfarbwechsel_kosten + $zusdruckplatten_kosten;
$eigenkosten = $price - $farbkosten - $papierkosten;
$fremdkosten = $price - $eigenkosten;
// evtl. Fehler abfangen
if (!($drucklegung_text)){
$drucklegung_text = 'Drucklegung unbekannt';
}
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- Print PLANO-FA --------------------'."\n<br />");
echo($maschine.' = '.$stundensatz.' € Std.Satz'."\n<br />");
echo($breite_offen.' x '.$hoehe_offen.' cm'."\n<br />");
echo('Papier: '.$bogen_hoehe.' x '.$bogen_breite.' cm mit '.number_format($nettobg, 0, ',', '.').' + '.number_format($zuschuss, 0, ',', '.').' = '.number_format($zuschuss+$nettobg, 0, ',', '.').' Druckbg. je '.$nutzen.' Ntz.'."\n<br />");
echo('Geschw.: '.number_format($druckgeschwindigkeit, 0 , ',', '.').' | Druckgänge: '.$druckgaenge.' | CTP: '.$ctp.' | Farbw.: '.$anzahlFarbw.' '."\n<br />");
echo($drucklegung_text."\n<br />");
echo('Druckzeit rüsten: '.number_format($druckzeitruesten,1).' | Druckzeit Fortdruck: '.number_format($druckzeitfortdruck,1)." h \n<br />");
if($sortenzahl > 1){echo('Sorten: '.$sortenzahl.' | Sortenaufschlag: '.(number_format($sortenaufschlag, 2 , ',', '.')).' € | Passt drauf: ');
echo (int)$passtdrauf;
echo("\n<br />");};
if($zusdruckplatten_kosten != 0){echo('$zusdruckplatten_kosten: '.$zusdruckplatten_kosten." €\n<br />");}
if($zusfarbwechsel_kosten != 0){echo('$zusfarbwechsel_kosten: '.$zusfarbwechsel_kosten." €\n<br />");}
if($lackart_kosten != 0){echo('$lackart_kosten: '.$lackart_kosten." €\n<br />");}
echo('Kosten CTP: '.$ctp*$kostenDruckplatte." € \n <br />");
echo('Druck: '.(number_format($druckkosten, 2 , ',', '.'))." €\n<br />");
echo('Kosten Papier ('.number_format($papiersorte_value, 0, ',', '.').'): '.number_format($papierkosten, 2 , ',', '.').' € | Papieraufschlag: '.number_format($papieraufschlagfaktor, 2 , ',', '.')."\n<br />");
echo('Farbkosten: '.number_format($farbkosten, 2 , ',', '.')." €\n<br />");
echo('Rabattierfaehige Kosten: '.number_format($rabattierfaehigekosten, 2 , ',', '.')." € \n<br />");
echo('Eigenkosten Print: '.number_format($eigenkosten, 2 , ',', '.')." € \n<br />");
echo('Fremdkosten Print: '.number_format($fremdkosten, 2 , ',', '.')." € \n<br />");
echo('Gesamtkosten Print: '.(number_format($price, 2 , ',', '.'))." € \n\n<br />");
}
return [$eigenkosten, $maschine, $stundensatz, $ctp, $anzahlFarbw, $druckgeschwindigkeit, $druckgaenge, $bogen_hoehe, $bogen_breite, $nutzen, $nettobg, $zuschuss, $sortenaufschlag, $zuschussfaktor, $passtdrauf, $druckkosten, $papierkosten, $druckzeittotal, $druckzeitruesten, $druckzeitfortdruck, $farbkosten, $zusdruckplatten_kosten, $zusfarbwechsel_kosten, $lackart_kosten, $fremdkosten, $rabattierfaehigekosten, $formateString, $drucklegung_text];
}
function getWTVPlanoFa23($what, $auflage, $hoehe_offen, $breite_offen, $hoehe_geschl, $breite_geschl, $papiersorte_grammatur, $papiersorte_value, $drucknutzen, $sortenzahl, $loseblatt, $druckbogen_breite, $druckbogen_hoehe, $druckbogen_nettomenge, $druckbogen_zuschussmenge, $falzung, $falzart, $leimung, $anzblattjeblock, $buendeln, $perforation, $duftdruck, $oesen, $praegung, $stanzung, $stanzart, $cito_anstanzung, $verschluss, $durchmesser_klebepkt, $beilage, $nummerierung, $laserstanzung, $ecken_runden, $bohren_lochen, $kaschierung, $kaschierung_anzahl, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender, $huellendruck) {
//Parameter
$Pplano_fa_mindpreis_kaschierung = 165;
$Pplano_fa_kaschierung_mk = 0.8;
$Pplano_fa_kaschierung_gl = 0.6;
$Pplano_fa_kaschierung_legl = 0.9;
$Pplano_fa_fixpreis_bohren = 25;
$Pplano_fa_tsdpreis_bohren = 5;
$Pplano_fa_stckpreis_laserstanzung = 0.50;
$Pplano_fa_fixpreis_laserstanzung = 150;
$Pplano_fa_fixpreis_nummerierung = 40;
$Pplano_fa_tsdpreis_nr_schwarz_inkjet = 15;
$Pplano_fa_tsdpreis_nr_farbig_laser = 80;
$Pplano_fa_tsdpreis_nr_schwarz_laser = 40;
$Pbeilage_einlegen_unbestimmte = 35;
$Pbeilage_einlegen_bestimmte = 45;
$Pklebepunkte_lose_fix = 25;
$Pklebepunkte_lose_pro_tausend = 12;
$Pklebepunkte_vorkonf_fix = 25;
$Pklebepunkte_vorkonf_pro_tausend = 47;
$Phaftstreifen_lose_fix = 25;
$Phaftstreifen_lose_pro_tausend = 7;
$Phaftstreifen_vorkonf_fix = 45;
$Phaftstreifen_vorkonf_pro_tausend = 77;
$haftstreifen_material_pro_cm = 0.002;
$Pplano_fa_fixpreis_cito = 360;
$Pplano_fa_tsdpreis_cito = 35;
$Pplano_fa_fixpreis_cito_nassleimetik = 130;
$Pplano_fa_tsdpreis_cito_nassleimetik = 30;
$Pplano_praegen_fix1 = 60;
$Pplano_praegen_fix2 = 110;
$Pplano_praegen_var1 = 25;
$Pplano_praegen_var2 = 45;
$Poesen_fixpreis= 45;
$Poesen_stkpreis = 0.20;
$Pplano_fa_tsdpreis_duftdruck = 20;
$Pplano_fa_fixpreis_duftdruck = 300;
$Pplano_fa_fixpreis_buendeln = 15;
$Pplano_fa_preis_je_buendel = 0.09;
$Pfixkosten_blockleimung = 25;
$Pstundensatz_wtv_hand = 30;
$Pstundensatz_wtv_maschinen = 50;
$Pfaktor_klein_gross_falzung = 2.1;
$Paufpreis_falzen_altarfalz = 50;
$Pfalzbruch_ruesten = 10;
if($anzblattjeblock == 0){
$anzblattjeblock = 1;
$leimung = 0;
}
if($anzblattjeblock != 1){
$leimung = 1;
}
$wtveigenkosten = 0;
$wtvfremdkosten = 0;
$rabattierkosten = 0;
$wtvzuschusspapier = 0;
$wtvfrachtkosten = 0;
$wtvfrachtgewicht = ($anzblattjeblock * $auflage) * $papiersorte_grammatur * $hoehe_offen * $breite_offen / 10000 * 1.1;
$wtvfrachtpreis = 90 + $wtvfrachtgewicht / 400000 * 15;
$papierlogistikpauschale = $wtvfrachtgewicht / 100000 * 5;
$wtvfremdkosten += $papierlogistikpauschale;
$grammaturfaktor_geschw_wtv = (100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100;
$wtvgeschwindigkeit = (log10($auflage*$auflage)*900)*(100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100;
// Logiken prüfen
if(($breite_offen < $breite_geschl || $hoehe_offen < $hoehe_geschl) && !($falzung == 'nein' || $falzung == 0)){
$wtveigenkosten += 999999;
}
//endschneiden
if($huellendruck == 1 || $papiersorte_grammatur == 555){
$zeit_endschneiden = $kosten_endschneiden = 0;
} else {
$zeit_endschneiden = (15 + (sqrt($auflage * $anzblattjeblock / 2))) / 60;
if (($buendeln != 0) && ($falzung == 'nein' || $falzung == 0)) {
$absteckenaufschlag = ceil($auflage / $buendeln) * 0.001;
$zeit_endschneiden += $absteckenaufschlag;
}
if ($stanzung != 0) {
$zeit_endschneiden *= 1.2;
}
$kosten_endschneiden = $zeit_endschneiden * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden;
$wtvzuschusspapier += 3 * $sortenzahl + (10 + $auflage * 0.002) / $drucknutzen;
}
//verpacken
$kosten_verpacken = 0;
if ($falzung == 'nein' || $falzung == 0){
$kosten_verpacken += $wtvfrachtgewicht / 5000 * 0.6;
}
if ((($hoehe_geschl <= 21) && ($breite_geschl <= 29.7)) || (($hoehe_geschl <= 29.7) && ($breite_geschl <= 21))){
$kosten_verpacken += 0;
}else{
$kosten_verpacken += $wtvfrachtgewicht / 5000 * 0.6;
}
if($papiersorte_grammatur == 555){
$kosten_verpacken *= 0.2;
}
$wtveigenkosten += $kosten_verpacken;
//falzung
//"falzart" 1=Parallelfalz 2=Wickelfalz 3=Leporello / Zickzack 4=Kreuzfalz 5=Altar-/Fensterfalz geschlossen 6=Altar-/Fensterfalz offen 99=sonstige
$zeit_falzung = 0;
$falz_komplex = 1;
$fakt_falzung = 1;
$falz_extern = false;
if(!($falzung == 'nein' || $falzung == 0)){
if($stanzung != 0){
$falz_komplex *= 3;
$wtvfrachtkosten += $wtvfrachtpreis;
}
$falzgeschwindigkeit = $wtvgeschwindigkeit;
$zeit_falzung = (15+$falzung*$falz_komplex*$Pfalzbruch_ruesten)/60+($auflage/$falzgeschwindigkeit);
if (($breite_offen > 14.7 && $hoehe_offen > 14.7 && $breite_offen < 85 && $hoehe_offen < 55 && $breite_geschl > 3.6 && $hoehe_geschl > 3.6 && $falzung < 6) ||
($breite_offen > 14.7 && $hoehe_offen > 14.7 && $breite_offen < 55 && $hoehe_offen < 85 && $breite_geschl > 3.6 && $hoehe_geschl > 3.6 && $falzung < 6)) {
$fakt_falzung = 1 * $falz_komplex;
if ($hoehe_geschl * $breite_geschl < 155) { //kleiner DIN A6 = Probleme Auslage
$zeit_falzung *= 2;
}
if($falzung > 3){
$zeit_falzung *= (1 + $falzung / 10);
}
}else{
$fakt_falzung = $Pfaktor_klein_gross_falzung;
$falz_extern = true;
if($falzung > 6){
$fakt_falzung *= 1.9;
} elseif ($falzung > 5) {
$fakt_falzung *= 1.5;
}
}
if($falzart==5 || $falzart==6){
$zeit_falzung += 1 + $auflage/$falzgeschwindigkeit*0.3;
}
if($falzart==99){
$zeit_falzung += 1 + $auflage/$falzgeschwindigkeit*0.3;
}
if($auflage < 5000 && $falzung == 1 && $papiersorte_grammatur > 169 && (($breite_offen > 11 && $breite_offen < 38 && $hoehe_offen > 8 && $hoehe_offen < 70) ||
($hoehe_offen > 11 && $hoehe_offen < 38 && $breite_offen > 8 && $breite_offen < 70)))
{ //wenn nur Morgana oder notfalls Tiegel nötig ist
$zeit_falzung = $auflage / $falzgeschwindigkeit;
$fakt_falzung = $falz_komplex = 1;
$falz_extern = false;
}
elseif($auflage < 5000 && $falzung == 1 && $papiersorte_grammatur > 169 && (($breite_offen > 11 && $breite_offen < 50 && $hoehe_offen > 8 && $hoehe_offen < 70) ||
($hoehe_offen > 11 && $hoehe_offen < 50 && $breite_offen > 8 && $breite_offen < 70)))
{ //wenn nur Morgana oder notfalls Tiegel nötig ist
$zeit_falzung = $auflage / $falzgeschwindigkeit + 0.5;
$fakt_falzung = $falz_komplex = 1.5;
$falz_extern = false;
}
if($falz_extern==true){ //wenn Fischer oder extern nötig ist
$wtvfrachtkosten += $wtvfrachtpreis;
$zeit_falzung += 1;
}
if($kaschierung!=0){
$fakt_falzung *= 3;
}
$wtvzuschusspapier += ($auflage * 0.005 + $falzung * 30) / $drucknutzen;
}
$kosten_falzung = $zeit_falzung * $fakt_falzung * $Pstundensatz_wtv_maschinen;
if ($falz_extern == false) {
$wtveigenkosten += $kosten_falzung;
}else{
$wtvfremdkosten += $kosten_falzung;
}
//nuten
$zeit_nuten = 0;
if($papiersorte_grammatur > 169 && (!($falzung == 'nein' || $falzung == 0))){
$zeit_nuten = ( $auflage / 3500 + 0.4 );
$wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen;
}
$kosten_nuten = $zeit_nuten * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_nuten;
//leimen
$kosten_leimen = 0;
if($leimung != 0){
$kosten_leimen = $Pfixkosten_blockleimung + $auflage * (1/pow(2,log10($auflage/3)));
$wtvzuschusspapier += ($auflage * 0.005 + 30 + $anzblattjeblock) / $drucknutzen;
}
$zeit_leimen = $kosten_leimen / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_leimen;
//bündeln
$kosten_buendeln = 0;
if($hoehe_geschl > 29.7 || $breite_geschl > 29.7 || $hoehe_offen > 29.7 || $breite_offen > 29.7){
$buendelfaktor = 3;
}else{
$buendelfaktor = 1;
}
if($falzung == 'nein' || $falzung == 0 || $stanzung != 0){
$buendelfaktor *= 1.2;
}
if($buendeln != 0){
$kosten_buendeln = ($Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pplano_fa_preis_je_buendel) * $buendelfaktor;
}
$zeit_buendeln = $kosten_buendeln / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_buendeln;
//perforation (hier werden Paramter anders übergeben: $stanzart = 3 >>> $sortenzahl = Anzahl Linine * Anzahl Sorten)
$perfoarray = StanzPerfoKostenBerechnen($perforation, 3, $auflage, $sortenzahl * $perforation, $anzblattjeblock, $breite_offen, $hoehe_offen, $drucknutzen, $Pstundensatz_wtv_maschinen);
$kosten_perforation = $perfoarray[0];
$zeit_perforation = $perfoarray[1];
$kosten_werkzeug_perforation = $perfoarray[2];
$nutzen_perforation = $perfoarray[3];
$perfmaschine = $perfoarray[4];
$wtvzuschusspapier += $perfoarray[5];
$wtvfremdkosten += $kosten_perforation;
//duftdruck
$kosten_duftdruck = 0;
$zeit_duftdruck = 0;
if($duftdruck != 0){
$kosten_duftdruck = $duftdruck*$Pplano_fa_tsdpreis_duftdruck*$auflage/1000+$Pplano_fa_fixpreis_duftdruck;
$zeit_duftdruck = 480;
$wtvzuschusspapier += ($auflage * 0.01 + 100) / $drucknutzen;
$wtvfrachtkosten += $wtvfrachtpreis;
}
$wtvfremdkosten += $kosten_duftdruck;
//oesen
$kosten_oesen = 0;
$zeit_oesen = 0;
if($oesen != 0){
$kosten_oesen = $Poesen_fixpreis + $auflage * $Poesen_stkpreis;
$zeit_oesen = $auflage / 1000 * 240;
$wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen;
}
$wtveigenkosten += $kosten_oesen;
//praegung
$kosten_praegung = 0;
$zeit_praegung = 0;
$kosten_werkzeug_praegung = 0;
if($praegung != 0){
$zeit_praegung = $auflage / 1000 + 1;
if($breite_offen > 23 || $hoehe_offen > 23){
$kosten_praegung = $Pplano_praegen_fix2 + $auflage * $Pplano_praegen_var2 / 1000;
}else{
$kosten_praegung = $Pplano_praegen_fix1 + $auflage * $Pplano_praegen_var1 / 1000;
}
if($praegung == 2){
$kosten_werkzeug_praegung = sqrt($breite_offen*$hoehe_offen)*2+95*$sortenzahl;
}
$wtvzuschusspapier += ($auflage * 0.01 + 100) / $drucknutzen;
}
$wtvfremdkosten += $kosten_praegung + $kosten_werkzeug_praegung;
//stanzung
$stanzarray = StanzPerfoKostenBerechnen($stanzung, $stanzart, $auflage, $sortenzahl, $anzblattjeblock, $breite_offen, $hoehe_offen, $drucknutzen, $Pstundensatz_wtv_maschinen);
$kosten_stanzung = $stanzarray[0];
$zeit_stanzung = $stanzarray[1];
$kosten_werkzeug_stanzung = $stanzarray[2];
$nutzen_stanzung = $stanzarray[3];
$stanzmaschine = $stanzarray[4];
$wtvzuschusspapier += $stanzarray[5];
$wtvfremdkosten += $kosten_stanzung;
//cito-anstanzung (opt. Laserstanzung falls günstiger)
$kosten_cito = 0;
$zeit_cito = 0;
$aufpreis_tsd_cito = 0;
$ntz_cito = max(floor(40/$hoehe_offen)*floor(28/$breite_offen),floor(28/$hoehe_offen)*floor(40/$breite_offen));
if($ntz_cito<1){
$ntz_cito = 1;
$aufpreis_tsd_cito = 100;
}
if($cito_anstanzung == 1){
$kosten_cito = min(($Pplano_fa_stckpreis_laserstanzung*$auflage+$Pplano_fa_fixpreis_laserstanzung),($sortenzahl*($Pplano_fa_fixpreis_cito+($breite_offen*$hoehe_offen/4))+(($Pplano_fa_tsdpreis_cito+$aufpreis_tsd_cito)/1000*$auflage/$ntz_cito)));
$zeit_cito = $kosten_cito / $Pstundensatz_wtv_maschinen;
$wtvzuschusspapier += ($auflage * 0.03 + 100) / $drucknutzen;
}
if($cito_anstanzung == 2){
$kosten_cito = $Pplano_fa_fixpreis_cito_nassleimetik+($Pplano_fa_tsdpreis_cito_nassleimetik+$aufpreis_tsd_cito)/1000*$auflage/$ntz_cito;
$zeit_cito = $kosten_cito / $Pstundensatz_wtv_maschinen;
$wtvzuschusspapier += ($auflage * 0.03 + 100) / $drucknutzen;
}
$wtvfremdkosten = $wtvfremdkosten + $kosten_cito;
//verschluss
// 0 = nein, 1 = KLPK lose, 2 = KLPK konf., 3 = HSTR lose, 4 = HSTR konf. 5 = STA, 6 = Schleife
$kosten_verschluss = 0;
$zeit_verschluss = 0;
$kosten_haftstreifen_material_gesamt = $haftstreifen_material_pro_cm * min($hoehe_offen, $breite_offen) * $auflage;
if($verschluss == 1){
$kosten_verschluss = $Pklebepunkte_lose_pro_tausend/1000*$auflage+$Pklebepunkte_lose_fix;
$zeit_verschluss = 0.1;
}
if($verschluss == 2){
$kosten_verschluss = $Pklebepunkte_vorkonf_pro_tausend/1000*$auflage+$Pklebepunkte_vorkonf_fix;
$zeit_verschluss = $auflage / 600;
}
if($verschluss == 3){
$kosten_verschluss = $Phaftstreifen_lose_pro_tausend/1000*$auflage+$Phaftstreifen_lose_fix+$kosten_haftstreifen_material_gesamt;
$zeit_verschluss = 0.1;
}
if($verschluss == 4){
$kosten_verschluss = $Phaftstreifen_vorkonf_pro_tausend/1000*$auflage+$Phaftstreifen_vorkonf_fix+$kosten_haftstreifen_material_gesamt;
$zeit_verschluss = $auflage / 400;
}
if($verschluss ==5){
$maxnutzenanzTiegel = max(floor(33/($breite_offen+1)) * floor(23/($hoehe_offen+1)), floor(23/($breite_offen+1)) * floor(33/($hoehe_offen+1))); //Nutzenberechnung
$maxnutzenanzZylinder = max(floor(98/($breite_offen+1)) * floor(68/($hoehe_offen+1)), floor(68/($breite_offen+1)) * floor(98/($hoehe_offen+1))); //Nutzenberechnung
$kosten_werkzeug_stanzung_1N = sqrt($breite_offen*$hoehe_offen)*2+85;
if($breite_offen > 23 || $hoehe_offen > 23){
$kosten_stanzung = $Pplano_stanzen_fix2 + $auflage * $Pplano_stanzen_var2 / 1000;
$stanzmaschine = "zylinder";
$kosten_stanzung += $kosten_werkzeug_stanzung_1N;
}else{
$kosten_stanzung = $Pplano_stanzen_fix1 + $auflage * $Pplano_stanzen_var1 / 1000;
$stanzmaschine = "tiegel";
$kosten_stanzung += $kosten_werkzeug_stanzung_1N;
}
$kosten_stanzen_fix = $Pplano_stanzen_fix2;
$kosten_stanzen_var = $Pplano_stanzen_var2;
$stanzmaschine_temp = "zylinder";
for ($ntz = 1; $ntz <= $maxnutzenanzZylinder; $ntz++){
$kosten_sta_temp = $kosten_stanzen_fix + $auflage * $kosten_stanzen_var / 1000 / $ntz + $kosten_werkzeug_stanzung_1N * $ntz;
if($kosten_sta_temp < $kosten_stanzung){
$kosten_stanzung = $kosten_sta_temp;
$nutzen_stanzung = $ntz;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N * $ntz;
$stanzmaschine = $stanzmaschine_temp;
}
}
$kosten_stanzen_fix = $Pplano_stanzen_fix1;
$kosten_stanzen_var = $Pplano_stanzen_var1;
$stanzmaschine_temp = "tiegel";
for ($ntz = 1; $ntz <= $maxnutzenanzTiegel; $ntz++){
$kosten_sta_temp = $kosten_stanzen_fix + $auflage * $kosten_stanzen_var / 1000 / $ntz + $kosten_werkzeug_stanzung_1N * $ntz;
if($kosten_sta_temp < $kosten_stanzung){
$kosten_stanzung = $kosten_sta_temp;
$nutzen_stanzung = $ntz;
$kosten_werkzeug_stanzung = $kosten_werkzeug_stanzung_1N * $ntz;
$stanzmaschine = $stanzmaschine_temp;
}
}
$kosten_verschluss = $kosten_stanzung;
$zeit_verschluss = $kosten_verschluss / $Pstundensatz_wtv_maschinen;
}
if($verschluss == 6){
$kosten_verschluss = 0.42*$auflage+95;
$zeit_verschluss = $auflage / 300;
}
if($verschluss != 0){
$wtvzuschusspapier += ($auflage * 0.01 + 30) / $drucknutzen;
}
$wtvfremdkosten += $kosten_verschluss;
//beilage
$kosten_beilage = 0;
if($beilage == 1){
$kosten_beilage = $Pbeilage_einlegen_unbestimmte*$auflage/1000;
}
if($beilage == 2){
$kosten_beilage = $Pbeilage_einlegen_bestimmte*$auflage/1000;
}
$zeit_beilage = $kosten_beilage / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_beilage;
//nummerierung, codierung
$kosten_nummerierung = 0;
if($nummerierung == 1){
$kosten_nummerierung = $Pplano_fa_fixpreis_nummerierung+($falzung*15)+$Pplano_fa_tsdpreis_nr_schwarz_inkjet*$auflage/1000;
}
if($nummerierung == 2){
$kosten_nummerierung = $Pplano_fa_fixpreis_nummerierung+($falzung*15)+$Pplano_fa_tsdpreis_nr_farbig_laser*$auflage/1000;
}
if($nummerierung == 3){
$kosten_nummerierung = $Pplano_fa_fixpreis_nummerierung+($falzung*15)+$Pplano_fa_tsdpreis_nr_schwarz_laser*$auflage/1000;
}
if($nummerierung != 0){
$wtvzuschusspapier += ($auflage * 0.01 + 50) / $drucknutzen;
}
$zeit_nummerierung = $kosten_nummerierung / $Pstundensatz_wtv_maschinen;
$wtvfremdkosten += $kosten_nummerierung;
//laserstanzung
$kosten_laserstanzung = 0;
$zeit_laserstanzung = 0;
if($laserstanzung != 0){
$kosten_laserstanzung = $laserstanzung*$Pplano_fa_stckpreis_laserstanzung*$auflage+$Pplano_fa_fixpreis_laserstanzung;
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvzuschusspapier += ($auflage * 0.01 + 100) / $drucknutzen;
$zeit_laserstanzung = 240;
}
$wtvfremdkosten += $kosten_laserstanzung;
//ecken runden
$EinsatzFaktor = 1;
if($stanzung != 0){$EinsatzFaktor = 2;}
if($falzung != 0){$EinsatzFaktor = $falzung * 2;}
$ExplJeEinsatz = 40 / $papiersorte_grammatur * 1000 / $EinsatzFaktor;
$zeit_eckenrunden = 0;
$kosten_eckenrunden = 0;
if($ecken_runden == 3 || $ecken_runden == 5) {
$zeit_eckenrunden = 0.5 + 4 * $auflage * $anzblattjeblock / $ExplJeEinsatz * 25 / 3600;
$kosten_eckenrunden = $zeit_eckenrunden * $Pstundensatz_wtv_hand;
}
if($ecken_runden == 99) {
$Pplano_fa_tsdpreis_ecken_runden_nassleimetik = 1.50;
$kosten_eckenrunden = 1 / $grammaturfaktor_geschw_wtv * $auflage * $Pplano_fa_tsdpreis_ecken_runden_nassleimetik / 1000 + 15;
$zeit_eckenrunden = $kosten_eckenrunden / $Pstundensatz_wtv_hand;
}
$wtveigenkosten += $kosten_eckenrunden;
//bohren, lochen
$zeit_bohren_lochen = 0;
if($bohren_lochen != 0){
$bohrformatliste = array(array(0.1,2),array(5,1.6),array(10,1.3),array(20,1),array(650,1.2),array(1300,1.4));
foreach($bohrformatliste as $n){
if($breite_offen*$hoehe_offen >= $n[0]){
$bohraufschlag = $n[1];
}
}
if($stanzung != 0 && $stanzung != 99){
$bohraufschlag *= 1.7;
}
if(!($falzung == 'nein' || $falzung == 0)){
$bohraufschlag *= 2;
}
if(($bohren_lochen == 2) && ($bohraufschlag == 1)){$bohren_lochen = 1;} //für DIN A4 2-fach Sonderpreis
$bohreinsaetzeJeExpl = ceil($bohren_lochen / 2);
$maxbohrhoehe = 40; //mm
$zeitjebohreinsatz = 1.5; //Minuten je Bohreinsatz
$dicke = $papiersorte_grammatur / 1000 * $auflage * $anzblattjeblock * max(1, $falzung+1);
$anzahlbohreinsaetze = $bohreinsaetzeJeExpl * ($dicke / $maxbohrhoehe);
$zeit_bohren_lochen = ((5 * $bohren_lochen + $anzahlbohreinsaetze * $zeitjebohreinsatz) / 60)* $bohraufschlag;
}
$kosten_bohren_lochen = $zeit_bohren_lochen * $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_bohren_lochen;
//folien kaschierung
$kosten_kaschierung = 0;
$zeit_kaschierung = 0;
$flaechekaschierung = ($breite_offen+2)*($hoehe_offen+2);
if($kaschierung == 1){
$kosten_kaschierung = $kaschierung_anzahl*max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_mk*$flaechekaschierung/10000*$auflage);
}
if($kaschierung == 2){
$kosten_kaschierung = $kaschierung_anzahl*max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_gl*$flaechekaschierung/10000*$auflage);
}
if($kaschierung == 3){
$kosten_kaschierung = $kaschierung_anzahl*max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_legl*$flaechekaschierung/10000*$auflage);
}
if($kaschierung != 0){
$wtvzuschusspapier +=($auflage * 0.005 + 30) / $drucknutzen;
$zeit_kaschierung = 240;
$wtvfrachtkosten += 25;
$wtvfremdkosten += $kosten_kaschierung;
}
//loseblatt, zusammentragen von Sorten, in Abh. von Grammatur und Format > manuell oder HFS
$kosten_loseblatt = 0;
$zeit_loseblatt = 0;
if($stanzung == 0){
$faktor_loseblatt = 1;
}else{
$faktor_loseblatt = 1.3;
}
if($sortenzahl > 1 && $loseblatt == 1){
if($papiersorte_grammatur <= 300 && $hoehe_geschl >= 14.8 && $breite_geschl >= 14.8 && $breite_offen <= 42 && $hoehe_geschl <= 42){
$hfs_durchlaeufe = ceil($sortenzahl/23);
$hfs_ruestzeit = $sortenzahl * 2 / 60 + 0.5;
$hfs_zeit_zu = $auflage * $hfs_durchlaeufe / $wtvgeschwindigkeit;
$hfs_zeit_stapeln = 1 + $hfs_durchlaeufe * $auflage * 0.0013;
$hfs_zeit_loseblatt = $hfs_ruestzeit + $hfs_zeit_zu + $hfs_zeit_stapeln;
$hfs_kosten_loseblatt = $hfs_zeit_loseblatt * $Pstundensatz_wtv_maschinen;
}else{
$hfs_kosten_loseblatt = 999999999;
$hfs_zeit_loseblatt = 999999999;
}
$man_kosten_loseblatt = $sortenzahl * 5 + $auflage * 0.015;
$man_zeit_loseblatt = $man_kosten_loseblatt / $Pstundensatz_wtv_hand;
$kosten_loseblatt = min($hfs_kosten_loseblatt, $man_kosten_loseblatt);
$kosten_loseblatt *= $faktor_loseblatt;
if($kosten_loseblatt == $hfs_kosten_loseblatt){
$zeit_loseblatt = $hfs_zeit_loseblatt;
}else{
$zeit_loseblatt = $man_zeit_loseblatt;
}
$wtvzuschusspapier += ($auflage*0.005 + $sortenzahl*10) / $drucknutzen;
$wtveigenkosten += $kosten_loseblatt;
}
//freie Positionen
$kosten_freipos10 = $frei10fixpreis + $frei10tsdpreis / 1000 * $auflage;
$kosten_freipos20 = $frei20fixpreis + $frei20tsdpreis / 1000 * $auflage;
$wtvfremdkosten += $kosten_freipos10 + $kosten_freipos20;
//Musterversand
$kosten_musterversand = $musterversand * 8;
$wtvfremdkosten += $kosten_musterversand;
//Neutralversand, Absender
$kosten_absender = $absender * 0;
$wtvfremdkosten += $kosten_absender;
//Endabrechnung
$wtvzuschusspapier = ceil($wtvzuschusspapier);
$wtvzuschusspapier_kosten = ($druckbogen_breite * $druckbogen_hoehe * $papiersorte_grammatur * $papiersorte_value * $wtvzuschusspapier) / 1000000000;
//Werte ausgeben
if($what=='debug'){
echo('-------------------- WTV PLANO-FA --------------------'."\n<br />");
if ($kosten_endschneiden != 0) {
echo ('Kosten Endschneiden: ' . number_format($kosten_endschneiden, 2, ',', '.') . ' € | Zeit: ' . number_format($zeit_endschneiden, 1) . " h \n<br />");
}
if($kosten_falzung != 0){echo('Kosten Falzung: '.number_format($kosten_falzung, 2 , ',', '.').' € | Zeit: '.number_format($zeit_falzung,1)." h\n<br />");
echo('Faktor Falzung: '.$fakt_falzung.' | Falz-komplex : '.$falz_komplex . ' | Falz extern: '.var_export($falz_extern, true)."\n<br />");
}
if ($kosten_verpacken != 0){
echo ('Kosten verpacken: ' .number_format($kosten_verpacken, 2, ',', '.').' €'."\n<br />");
}
if($kosten_nuten != 0){echo('Kosten nuten: '.number_format($kosten_nuten, 2 , ',', '.').' € | '.'Zeit nuten: '.number_format($zeit_nuten,1)." h\n<br />");}
if($kosten_leimen != 0){echo('Kosten zustr., leimen, trennen: '.number_format($kosten_leimen, 2 , ',', '.').' € | '.'Zeit: '.number_format($zeit_leimen,1)." h\n<br />");}
if($kosten_buendeln != 0){echo('Kosten bündeln: '.number_format($kosten_buendeln, 2 , ',', '.').' € | '.'Zeit bündeln: '.number_format($zeit_buendeln,1)." h\n<br />");}
if($kosten_perforation != 0){echo('Kosten perforation: '.number_format($kosten_perforation, 2 , ',', '.').' € | '.'Zeit Perforation: '.number_format($zeit_perforation,1)."h \n<br />".'Kosten Werkzeug Perfo.: '.number_format($kosten_werkzeug_perforation, 2 , ',', '.')." € \n<br />".'Nutzen Perfo.: '.number_format($nutzen_perforation,1).' | '.'Zeit Perfo.: '.number_format($zeit_perforation,1).' h | '.'Perfo.maschine: '.$perfmaschine."\n<br />");}
if($kosten_duftdruck != 0){echo('Kosten Duftdruck: '.number_format($kosten_duftdruck, 2 , ',', '.').' € | '.'Zeit Duftdruck: '.number_format($zeit_duftdruck,1)."\n<br />");}
if($kosten_oesen != 0){echo('Kosten Ösen: '.number_format($kosten_oesen, 2 , ',', '.').' € | '.'Zeit Ösen: '.number_format($zeit_oesen,1)." h\n<br />");}
if($kosten_praegung != 0){echo('Kosten Prägung: '.number_format($kosten_praegung, 2 , ',', '.').' € | '.'Kosten Werkzeug Prägung: '.number_format($kosten_werkzeug_praegung, 2 , ',', '.').' € | '.'Gesamtosten Prägung: '.number_format(($kosten_praegung+$kosten_werkzeug_praegung), 2 , ',', '.').' € | '.'Zeit praegung: '.number_format($zeit_praegung,1)." h \n<br />");}
if($kosten_stanzung != 0){echo('Kosten Stanzung (ggf. inkl. Werkzeug): '.number_format($kosten_stanzung, 2 , ',', '.').' € | '.'Werkzeug Stanzung: '.number_format($kosten_werkzeug_stanzung, 2 , ',', '.')." € \n<br />".'Nutzen Stanzung: '.number_format($nutzen_stanzung, 0).' | '.'Zeit Stanzung: '.number_format($zeit_stanzung,1).' h | '.'Stanzmaschine: '.$stanzmaschine."\n<br />");}
if($kosten_cito != 0){echo('Kosten Cito: '.number_format($kosten_cito, 2 , ',', '.').' € | '.'Zeit Cito: '.number_format($zeit_cito,1).' h | '.'Ntz. Cito: '.number_format($ntz_cito, 0 , ',', '.')."\n<br />");}
if($kosten_verschluss != 0){echo('Kosten Verschluss: '.number_format($kosten_verschluss, 2 , ',', '.').' € | '.'Zeit Verschluss: '.number_format($zeit_verschluss,1)." h\n<br />");}
if($kosten_beilage != 0){echo('Kosten Beilage: '.number_format($kosten_beilage, 2 , ',', '.').' € | '.'Zeit beilage: '.number_format($zeit_beilage,1)." h\n<br />");}
if($kosten_nummerierung != 0){echo('Kosten Nummerierung: '.number_format($kosten_nummerierung, 2 , ',', '.').' € | '.'Zeit Nummerierung: '.number_format($zeit_nummerierung,1)." h\n<br />");}
if($kosten_laserstanzung != 0){echo('Kosten Laserstanzung: '.number_format($kosten_laserstanzung, 2 , ',', '.').' € | '.'Zeit Laserstanzung: '.number_format($zeit_laserstanzung,1)." h\n<br />");}
if($kosten_eckenrunden != 0){echo('Kosten Eckenrunden: '.number_format($kosten_eckenrunden, 2 , ',', '.').' € | '.'Zeit eckenrunden: '.number_format($zeit_eckenrunden,1)." h \n<br />");}
if($kosten_bohren_lochen != 0){echo('Kosten Bohren/Lochen: '.number_format($kosten_bohren_lochen, 2 , ',', '.').' € | '.'Zeit Bohren/Lochen: '.number_format($zeit_bohren_lochen,1).' h | Bohraufschlag: '.$bohraufschlag."\n<br />");}
if($kosten_kaschierung != 0){echo('Kosten Kaschierung: '.number_format($kosten_kaschierung, 2 , ',', '.').' € | '.'Zeit kaschierung: '.number_format($zeit_kaschierung,1)." h\n<br />");}
if($kosten_loseblatt != 0){echo('Kosten Loseblatt: '.number_format($kosten_loseblatt, 2 , ',', '.').' € | '.'Zeit loseblatt: '.number_format($zeit_loseblatt,1)." h\n<br />");}
echo('WTV Zuschuss Papier: '.number_format($wtvzuschusspapier_kosten, 2 , ',', '.').' € | '.number_format($wtvzuschusspapier,0)." Bogen \n<br />");
echo('Papierlogistikpauschale: '.number_format($papierlogistikpauschale, 2 , ',', '.')." €\n<br />");
echo('----------------------------------------'."\n<br />");
echo('WTV Frachtkosten: '.number_format($wtvfrachtkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Eigenkosten: '.number_format($wtveigenkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Fremdkosten: '.number_format($wtvfremdkosten, 2 , ',', '.')." €\n\n<br />");
}
if($what == 'allarray' || $what == 'debug') {
return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung, $wtvfrachtgewicht, $zeit_endschneiden, $zeit_falzung, $zeit_nuten, $zeit_leimen, $zeit_buendeln, $zeit_perforation, $zeit_stanzung, $zeit_duftdruck, $zeit_oesen, $zeit_praegung, $zeit_cito, $zeit_verschluss, $zeit_beilage, $zeit_nummerierung, $zeit_laserstanzung, $zeit_eckenrunden, $zeit_bohren_lochen, $zeit_loseblatt];
}
return FALSE;
}
function getZUABPlanoFa23($what, $auflage, $rabattierfaehigekosten, $zuab_eigenkosten, $zuab_fremdkosten, $papiersorte_sammelform, $druckfarben_inhalt, $druckmaschine, $qualitaet, $produktionszeit, $sortenzahl, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $anzblattjeblock, $papier_vs_rs_unterschiedlich) {
if($anzblattjeblock == 0){
$anzblattjeblock=1;
}
$auflage *= $anzblattjeblock;
//Sammelform
$bedruckteSeiten = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt)[1];
$zuab_gesamtkosten = $zuab_eigenkosten + $zuab_fremdkosten;
$sammelarray = getSammelformWertePlanoFa23($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $bedruckteSeiten, $sortenzahl, $druckmaschine, $produktionszeit, $papier_vs_rs_unterschiedlich);
$sammelfaktor_papier = $sammelarray[2];
$sammelwahrscheinlichkeit_menge = $sammelarray[1];
$sammelwahrscheinlichkeit_format_sorten = $sammelarray[0];
$sammelfaktor_druckmaschine = $sammelarray[3];
$sammelfaktor = (($sammelwahrscheinlichkeit_format_sorten*75)*($sammelwahrscheinlichkeit_menge*25)/(75*25))*$sammelfaktor_papier*$sammelfaktor_druckmaschine;
if((in_array($druckfarben_inhalt,array(1,2,3,18,19,7,8))) && ($papiersorte_sammelform != 1)){
$sammelformreduktion = $rabattierfaehigekosten * $sammelfaktor * -1;
}else{
$sammelformreduktion = 0;
}
$preisaenderung = $sammelformreduktion;
//Qualität 1 = easyValue, 2 = ISO-Std., 3 = MaxHighEnd, Pos. in Liste (0=Fixwert,1=Prozwert)
$qualitaetswerte = array(array(0,-5),array(0,0),array(30,8));
$qualitaet_fix = $qualitaetswerte[$qualitaet-1][0];
$qualitaet_proz = $qualitaetswerte[$qualitaet-1][1];
if($qualitaet_proz <= 0){
$qualkost = $zuab_eigenkosten;
}else{
$qualkost = $zuab_gesamtkosten + $sammelformreduktion/2;
}
$qualitaet_zuab = $qualitaet_fix + ($qualkost/100*$qualitaet_proz);
$preisaenderung += $qualitaet_zuab;
//Produktionszeit 1 = relaX, 2 = normal, 3 = eXpress | Pos. in Liste (0=Fixwert,1=Prozwert)
$zeitwerte = array(array(0,-8),array(0,0),array(35,13));
$zeitwert_fix = $zeitwerte[$produktionszeit-1][0];
$zeitwert_proz = $zeitwerte[$produktionszeit-1][1];
if($zeitwert_proz <= 0){
$zeitkosten = $zuab_eigenkosten;
}else{
$zeitkosten = $zuab_gesamtkosten + $sammelformreduktion/2;
}
$zeit_zuab = $zeitwert_fix + ($zeitkosten/100*$zeitwert_proz);
$preisaenderung += $zeit_zuab;
//Schrottpreise vermeiden, Mindestauftragswert beachten: (Auftragswert, Faktor)
$preisaendfaktor = 1;
$auftragswert = $zuab_gesamtkosten + $preisaenderung;
if ($auftragswert < 100) {
$steigung = 0.04;
$preisaendfaktor = 0.3 + 0.7 * (1 - exp(-$steigung * ($auftragswert - 30)));
$preisaendfaktor += 0.04256704383765;
//echo("Schrottpreise vermieden: alte preisänderung: $preisaenderung €\n<br />");
$preisaenderung *= $preisaendfaktor;
//echo("neue Preisänderung: $preisaenderung €\n<br />");
}
//Provision (1 = Prozentual, 5, 10, 15, 20%)
$provision_zuschlag = 0;
if($provisionsart == "1"){
$provision_zuschlag = ($zuab_gesamtkosten+$preisaenderung)/100*$provisionswert;
}
$preisaenderung += $provision_zuschlag;
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- Zu-/Abschläge PLANO-FA --------------------'."\n<br />");
echo('Gesamtkosten: '.number_format($zuab_gesamtkosten, 2 , ',', '.')." € \n<br />");
echo('Rabattierfaehige Kosten:. '.number_format($rabattierfaehigekosten, 2 , ',', '.')." € \n<br />");
echo('Sammelfaktor Papiersorte: '.number_format($sammelfaktor_papier, 2 , ',', '.')."\n<br />");
echo('Sammelwahrscheinlichkeit Format/Sorten: '.number_format($sammelwahrscheinlichkeit_format_sorten, 2)."\n<br />");
echo('Sammelwahrscheinlichkeit Menge: '.number_format($sammelwahrscheinlichkeit_menge, 2)."\n<br />");
echo('Sammelfaktor total: '.number_format($sammelfaktor, 2)."\n<br />");
echo('Preisänd. durch Sammelform: '.number_format($sammelformreduktion, 2 , ',', '.')." €\n<br />");
echo("Qualität: ". $qualitaet_fix. ' € | '.$qualitaet_proz." = ".number_format($qualitaet_zuab, 2 , ',', '.')." €\n<br />");
echo("Produktionszeit: ".$zeitwert_fix.' € | '.$zeitwert_proz." = ".number_format($zeit_zuab, 2 , ',', '.')." €\n<br />");
echo('Provision: '.number_format($provisionswert, 2 , ',', '.').' % | '.number_format($provision_zuschlag, 2 , ',', '.')." € \n<br />");
echo('Zu-/Abschläge total: '.number_format($preisaenderung, 2 , ',', '.')." € \n\n<br />");
if ($preisaendfaktor != 1) {
echo ("Schrottpreise vermieden: $preisaendfaktor = ".$preisaendfaktor ."\n<br />");
}
}
return $preisaenderung;
}
function getSammelformWertePlanoFa23($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $anzahlSeiten, $sortenzahl, $druckmaschine, $produktionszeit, $papier_vs_rs_unterschiedlich){
// (Index unten -1), daher 0 = ohne, 1 = happy, 2 = eq, 3 = sense, 4 = sky, 5 = glam, 6 = post
$papierliste = array(0,99,96,90,75,60,40);
$sammelfaktor_papier = $papierliste[$papiersorte_sammelform-1]/100;
// bis 14.10.22 $mengenliste = array(array(1,99),array(500,96),array(1250,93),array(2500,90),array(7500,80),array(10000,70),array(15000,60),array(20000,50),array(30000,40),array(40000,30),array(50000,20),array(60000,10),array(70000,5));
$mengenliste = array(array(1,99.9),array(100,99.5),array(200,99), array(300,98.8),array(400,98.5),array(500,98),array(750,97),array(1250,96),array(2500,93),array(5000,88),array(7500,80),array(10000,70),array(15000,60),array(20000,50),array(30000,40),array(40000,30),array(50000,20),array(60000,10),array(70000,5));
$sammelwahrscheinlichkeit_menge = getInterpolationswertAusTabelle($auflage, $mengenliste)/100;
// array(5100,0) nicht sinnvoll, da sonst gar kein Abschlag mehr für Vollformate oder viele Sorten
//neu 1/2026 $formatliste = array(array(0,99.9),array(155,99),array(310,98),array(360,97),array(410,96),array(500,95),array(550,94),array(600,93), array(623,92),array(700,90),array(800,88),array(900,85),array(1000,80),array(1247,75),array(1350,70),array(1400,65),array(1600,60),array(1800,55),array(2494,50),array(2700,45),array(2900,40),array(3100,35),array(3300,30),array(3600,25),array(4100,20),array(4500,15),array(4989,10),array(5100,5));
$formatliste = array(array(0,99.9),array(155,99),array(310,98),array(623,92),array(900,85),array(1247,75),array(1400,65),array(1600,60),array(1800,55),array(2494,50),array(3100,35),array(3300,30),array(3600,25),array(4100,20),array(4500,15),array(4989,10),array(5100,5));
$input = $anzahlSeiten*$sortenzahl*$breite_offen*$hoehe_offen;
$sammelwahrscheinlichkeit_format_sorten = getInterpolationswertAusTabelle($input, $formatliste)/100;
if($papier_vs_rs_unterschiedlich == 1 && $anzahlSeiten > 1){
$sammelwahrscheinlichkeit_format_sorten *= 0.5;
}
//Abschlag Format für Höhe || Breite > 59 cm reduzieren
if($breite_offen > 59 || $hoehe_offen > 59){
$alt = $sammelwahrscheinlichkeit_format_sorten;
$sammelwahrscheinlichkeit_format_sorten -= (max($hoehe_offen,$breite_offen) - 59) / 100;
//echo ('wups1: '.$alt.'>'.$sammelwahrscheinlichkeit_format_sorten);
if ($sammelwahrscheinlichkeit_format_sorten < 0) {
$sammelwahrscheinlichkeit_format_sorten = 0;}
}
//Abschlag Banderolenformate oder Streifenformate (nicht ET-NL Formate!) reduzieren
$maxUnterschied = max($breite_offen / $hoehe_offen, $hoehe_offen / $breite_offen);
if($maxUnterschied > 5){
$alt = $sammelwahrscheinlichkeit_format_sorten;
//$sammelwahrscheinlichkeit_format_sorten *= 0.75;
$sammelwahrscheinlichkeit_format_sorten -= $maxUnterschied / 100 * 1.5;
//echo ('wups2: '.$alt.'>'.$sammelwahrscheinlichkeit_format_sorten);
//var_dump($maxUnterschied);
if ($sammelwahrscheinlichkeit_format_sorten < 0) {
$sammelwahrscheinlichkeit_format_sorten = 0;}
}
// Sammelfaktor final korrigieren
if(strtolower($druckmaschine) == 'gto'){
$sammelfaktor_druckmaschine = 0.5;
}else{
$sammelfaktor_druckmaschine = 1.0;
}
if($produktionszeit == 3){
$sammelfaktor_druckmaschine *= 0.8;
}
return [$sammelwahrscheinlichkeit_format_sorten, $sammelwahrscheinlichkeit_menge, $sammelfaktor_papier, $sammelfaktor_druckmaschine];
}
function getPrePressBRO23($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $seiten_inhalt, $druckfarben_inhalt, $seiten_umschlag, $druckfarben_umschlag, $breite_offen, $hoehe_offen) {
//Parameter
$Pstundensatz_vorstufe = 75;
$Pbro_aufpreis_anderes_dateiformat = 30;
$Pumweltzeichen_fsc = 25;
$Pumweltzeichen_blauerengel = 50;
$Pgrundzeit_vorstufe = 30;
$Pbro_digitalproof_minimal = 15;
$anzahlSeiten = $seiten_umschlag + $seiten_inhalt;
$datenuebernahme_kosten = ($Pgrundzeit_vorstufe+$anzahlSeiten/1.5)/60*$Pstundensatz_vorstufe;
$dateiformat_kosten = 0;
if(($dateiformat_geliefert != 1) && ($dateiformat_geliefert != 5)){
$dateiformat_kosten = $Pbro_aufpreis_anderes_dateiformat + $anzahlSeiten*2/60*$Pstundensatz_vorstufe;
}
$korrekturabzug_kosten = 0;
if($korrekturabzug == 3){
$korrekturabzug_kosten = max($Pbro_digitalproof_minimal, (($breite_offen*$hoehe_offen)/62 * $anzahlSeiten));
}
if($korrekturabzug == 2){
$korrekturabzug_kosten = 5 + ($anzahlSeiten/10);
}
$umweltzeichen_kosten = 0;
if($umweltzeichen == 2){
$umweltzeichen_kosten = $Pumweltzeichen_fsc;
}
if($umweltzeichen == 3){
$umweltzeichen_kosten = $Pumweltzeichen_blauerengel;
}
$eigenkosten = $datenuebernahme_kosten + $dateiformat_kosten + $korrekturabzug_kosten + $umweltzeichen_kosten;
// Einzelwerte ausgeben
if($what=='debug'){
echo('-------------------- PrePress BRO --------------------'."\n<br />");
$Ausgabeliste = array('Datenübernahme: ' => $datenuebernahme_kosten, 'Dateiformat: ' => $dateiformat_kosten, 'Umweltzeichen: ' => $umweltzeichen_kosten, 'Korrekturabzug: ' => $korrekturabzug_kosten);
foreach($Ausgabeliste as $bez => $wert){
if($wert != 0){echo($bez.number_format($wert, 2 , ',', '.')." € \n<br />");}
}
}
return $eigenkosten;
}
function getPrintBRO23($what, $auflage, $breite_geschl, $hoehe_geschl, $weiterverarbeitung, $ausfuehrung, $papier_inhalt_papiertyp1, $papier_inhalt_papiertyp2, $papier_inhalt_papiertyp3, $papier_inhalt_papiertyp4, $papier_inhalt_papiertyp5, $papier_inhalt_papiertyp6, $papier_inhalt_papiertyp7, $papier_inhalt_papiertyp8, $papier_inhalt_papiertyp9, $papier_inhalt_papiertyp10, $papier_inhalt_papiertyp11, $papier_inhalt_papiertyp12, $papier_inhalt_papiertyp13, $papier_inhalt_papiertyp14, $papier_inhalt_grammatur, $papier_inhalt_value, $papier_inhalt_vs_rs_unterschiedlich, $seiten_inhalt, $druckfarben_inhalt, $drucklack_inhalt, $lackart_inhalt, $papier_inhalt_sammelform, $inhaltidentisch, $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14, $papier_umschlag_grammatur, $papier_umschlag_value, $papier_umschlag_vs_rs_unterschiedlich, $seiten_umschlag, $druckfarben_umschlag, $veredelung_umschlag, $papier_umschlag_sammelform, $zusfarbwechsel, $zusdruckplatten, $zussorten_umschlag, $papier_inhalt_art_nr, $papier_umschlag_art_nr, $produktionszeit){
$price_inhalt = 9999999999;
$drucknutzen_inhalt = 9999999999;
$nettobg_inhalt = 9999999999;
$zuschuss_inhalt = 9999999999;
$druckbogen_hoehe_inhalt = 1000;
$druckbogen_breite_inhalt = 1000;
$ctp_inhalt = 999999999;
$druckmaschine_inhalt = 'man';
$anzahlFarbwechsel_inhalt = 999;
$druckzeitruesten1 = 999999;
$druckzeitfortdruck1 = 999;
$wtvgeschwindigkeit = 999;
$rabattierfaehigekosten = 0;
$GrundRuestZeit = 12;
$RuestZeitJePlatte = 3.1;
$WarteZeitUU = 0.15;
$kostenDruckplatte = 15;
$FarbwechselZeit = 35;
$Paufpreis_drucklack_matt_voll = 10;
$Paufpreis_drucklack_matt_partiell = 30;
$Paufpreis_drucklack_glzd_voll = 55;
$Paufpreis_drucklack_glzd_partiell = 95;
$DruckbogenRaender_horiz = 1.5; //über Formel in Schleife holen sinnvoll?
$DruckbogenRaender_vert = 2.3; //über Formel in Schleife holen sinnvoll?
// $weiterverarbeitung: 1=RDH, 2=PUR, 3=Wire-O, 4=HDCOVER, 5=HDCOVER LEINEN, 6=WAKAL, 7=FÄLZELBAND
// $ausfuehrung: 1=ohne Umschlag, 2=Umschlag 4 Seiten, 3=Front+Rückkarton, 4=Überzug auf Pappe, 5=Umschlag 6 Seiten, 6=Kapitalband, Leseband, Prägung, VNS
// Liste x,y,buchruecken ja/nein, BuBi-Pappe = ja/nein
$beschnittliste_hor_vert = array(array(0.6,0.2,FALSE,FALSE),array(0.6,0.6,TRUE,FALSE),array(0.1,0.1,TRUE,FALSE),array(0.6,0.6,TRUE,TRUE),array(0.6,0.6,TRUE,TRUE),array(0.2,0.2,TRUE,FALSE));
$beschnitt_horiz = $beschnittliste_hor_vert[$weiterverarbeitung-1][0];
$beschnitt_vert = $beschnittliste_hor_vert[$weiterverarbeitung-1][1];
if($beschnittliste_hor_vert[$weiterverarbeitung-1][3] == FALSE){
$bubipappe = 0;
}else{
$bubipappe = 0.4;
}
if($beschnittliste_hor_vert[$weiterverarbeitung-1][2] == FALSE){
$buchruecken = 0;
$heftdicke = ($papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000) * 1.1;
}else{
$buchruecken = $papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000 + $bubipappe;
$heftdicke = 0;
}
if(($weiterverarbeitung == 2) || ($weiterverarbeitung == 3) || ($weiterverarbeitung == 6)){
$SeitenJeFalzBg = 2;
}else{
$SeitenJeFalzBg = 4;
}
if (($weiterverarbeitung == 2) || ($weiterverarbeitung == 4)) {
$korrekturBeschnitt_Umschlag = 0;
}else{
$korrekturBeschnitt_Umschlag = -0.4;
}
$format_offen_breite = $breite_geschl * $SeitenJeFalzBg/2 + $beschnitt_horiz;
$format_offen_hoehe = $hoehe_geschl + $beschnitt_vert;
$format_offen_breite_umschlag = $breite_geschl * $seiten_umschlag / 2 + $beschnitt_horiz + $buchruecken + $korrekturBeschnitt_Umschlag;
if (($weiterverarbeitung == 3) || ($weiterverarbeitung == 6)) {
$zussorten_umschlag += 1;
$format_offen_breite_umschlag = $breite_geschl + $beschnitt_horiz + $buchruecken + $korrekturBeschnitt_Umschlag;
}
// Inhalt
$farbarray = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt);
$anzahlDruckfarben_inhalt = $farbarray[0];
$bedruckteSeiten_inhalt = $farbarray[1];
$anzahlFarbwechsel_inhalt = getAnzFarbwechselMAN($druckfarben_inhalt);
$anzahlDruckJeForm_inhalt = ceil(($anzahlDruckfarben_inhalt+$drucklack_inhalt)/5);
$druckgeschwindigkeit_inhalt = getMANSpeed($auflage, $papier_inhalt_grammatur);
// Test Inhalt
$formate=array();
if($papier_inhalt_papiertyp1) {
$formate[] = array('breite' => 88, 'hoehe' => 63);
}
if($papier_inhalt_papiertyp2) {
$formate[] = array('breite' => 100, 'hoehe' => 70);
}
if($papier_inhalt_papiertyp3) {
$formate[] = array('breite' => 70, 'hoehe' => 50);
}
if($papier_inhalt_papiertyp4) {
$formate[] = array('breite' => 61, 'hoehe' => 43);
}
if($papier_inhalt_papiertyp11) {
$formate[] = array('breite' => 92, 'hoehe' => 65);
}
if($papier_inhalt_papiertyp12) {
$formate[] = array('breite' => 64, 'hoehe' => 45);
}
if($papier_inhalt_papiertyp14) {
$formate[] = array('breite' => 102, 'hoehe' => 72);
}
foreach ($formate as $key => $format) {
$calc1 = floor(($format['breite'] - $DruckbogenRaender_horiz) / $format_offen_breite) * floor(($format['hoehe'] - $DruckbogenRaender_vert) / $format_offen_hoehe);
$calc2 = floor(($format['breite'] - $DruckbogenRaender_horiz) / $format_offen_hoehe) * floor(($format['hoehe'] - $DruckbogenRaender_vert) / $format_offen_breite);
if (($calc1 == 0) || ($calc2 == 0)) {
break;
}
if ($calc1 > $calc2) {
$NtzFaBgJeDruckBg = $calc1;
} else {
$NtzFaBgJeDruckBg = $calc2;
}
$stundensatz_druckmaschine1 = getMaschineKosten23($format, $anzahlFarbwechsel_inhalt);
$PapierkostenJeFalzbg = $format_offen_breite * $format_offen_hoehe * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000 * $auflage;
$RuestkostenJeDruckform = $anzahlDruckfarben_inhalt * ($kostenDruckplatte + ($stundensatz_druckmaschine1 * $RuestZeitJePlatte / 60));
$ctpString_SDWD = $ctpString_UU = '';
$NettoPapierkostenJeDruckbg = $auflage * $format['breite'] * $format['hoehe'] * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000;
$NettoPapierkostenZuschuss = $anzahlDruckfarben_inhalt * 75 * $format['breite'] * $format['hoehe'] * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000;
$nettobg_restBg_SDWD = $papieraufschlagfaktor_inhalt_SDWD = $nettobg_restBg_UU = $papieraufschlagfaktor_inhalt_UU = $ntzAufLetzterUmschlager = $leere_falzbg = 0;
// Ganze Bögen berechnen
$Anz_AlleFaBg = $seiten_inhalt / $SeitenJeFalzBg;
$Anz_ganzeBogen = floor($Anz_AlleFaBg / $NtzFaBgJeDruckBg);
$ctp_ganzeBogen = $bedruckteSeiten_inhalt * $anzahlDruckfarben_inhalt * $Anz_ganzeBogen;
if ($ctp_ganzeBogen > 0) {
$ctpString1 = $Anz_ganzeBogen . ' x ' . $auflage . ' Druckbogen SD/WD je ' . $NtzFaBgJeDruckBg . ' Falzbogen zu je 1 Nutzen';
} else {
$ctpString1 = '';
}
$nettobg_ganzeBogen = $auflage * $Anz_ganzeBogen;
// Restfalzbogen
$ctp_RestFaBg = $Kosten_SDWD = $Kosten_UU = $ctp_SDWD = $ctp_UU = $nettobg_restseiten = $druckzeitruesten_SDWD = $druckzeitfortdruck_SDWD = $druckzeitruesten_UU = $druckzeitfortdruck_UU = $papierkosten_inhalt_SDWD = $anz_UU = 0;
$restfalzbg = $Anz_AlleFaBg - ($Anz_ganzeBogen * $NtzFaBgJeDruckBg);
if ($restfalzbg != 0) {
// Restbogen als SD/WD berechnen
$ctp_SDWD = $anzahlDruckfarben_inhalt * $bedruckteSeiten_inhalt;
$NtzFaBg_SDWD = floor($NtzFaBgJeDruckBg / $restfalzbg);
$nettobg_restBg_SDWD = ceil($auflage / $NtzFaBg_SDWD);
$zuschuss_restBg_SDWD = ceil(max(150, 100 + ($ctp_SDWD * 75)));
$druckzeitruesten_SDWD = (($GrundRuestZeit * $anzahlDruckJeForm_inhalt) + ($ctp_SDWD * $RuestZeitJePlatte)) / 60;
$druckzeitfortdruck_SDWD = ($nettobg_restBg_SDWD + $zuschuss_restBg_SDWD) / $druckgeschwindigkeit_inhalt * $anzahlDruckJeForm_inhalt * $bedruckteSeiten_inhalt;
$papierkosten_inhalt_SDWD = $NettoPapierkostenJeDruckbg + $NettoPapierkostenZuschuss;
$papieraufschlagfaktor_inhalt_SDWD = 1.30 - (MIN(($papierkosten_inhalt_SDWD / $papier_inhalt_value * 100) / 5000, 0.2));
$papierkosten_inhalt_SDWD *= $papieraufschlagfaktor_inhalt_SDWD;
$Kosten_SDWD = $ctp_SDWD * $kostenDruckplatte + (($druckzeitruesten_SDWD + $druckzeitfortdruck_SDWD) * $stundensatz_druckmaschine1) + ($papierkosten_inhalt_SDWD);
if ($ctpString1 != '' && $ctpString_UU == '') {
$ctpString_SDWD = ' + ';
}
$ctpString_SDWD .= '1 Druckbogen SD/WD mit ' . $restfalzbg . ' Falzbg. je ' . $NtzFaBg_SDWD . ' Nutzen';
$restfalzbg_SDWD = 0;
$leere_falzbg_SDWD = ($NtzFaBgJeDruckBg - $NtzFaBg_SDWD * $restfalzbg);
// var_dump2('>>> Restbogen als SD/WD :' . $ctp_SDWD * $kostenDruckplatte .' | '. (($druckzeitruesten_SDWD + $druckzeitfortdruck_SDWD) * $stundensatz_druckmaschine1) .' | '. ($papierkosten_inhalt_SDWD));
// Nutzen UU = Dopelnutzen für UUs
// Array für Restbogen als Umschlager/Umstülper erstellen
$UUarray = [];
for ($f = 0; $f < 7; $f++) {
// Restbogen als (evtl. mehrfache) Umschlager/Umstülper berechnen
$ctp_UU = 0;
$restfalzbg_UU = $restfalzbg;
$nettobg_restBg_UU = 0;
$maxdurchlaeufe = 7;
$ctpString_UU = '';
$MglNtzJeUU = floor($NtzFaBgJeDruckBg / 2);
$KostenPapier_UU = $druckzeitfortdruck_UU = $Kosten_UU = 0;
while ($maxdurchlaeufe > 0) {
$NtzFaBg_UU = 0;
// echo('#'.$maxdurchlaeufe.': $restfalzbg_UU = '.$restfalzbg_UU.' | $MglNtzJeUU = '.$MglNtzJeUU.'| $f = '.$f."\n<br />");
// wie viele Falzbogen / Nutzen platzieren auf UU?
for ($r = $restfalzbg_UU; $r > 0; $r--) {
if ($MglNtzJeUU % $r == 0) {
// echo2 ('>>> 1 ohne leere Ntz.: $MglNtzJeUU % $r == 0 bei r ='.$r."\n<br />");
break;
} else if ($MglNtzJeUU % $r == $f && $r == $restfalzbg_UU) {
// echo2 ('>>> 2 mit '.$f.' leeren Ntz.: $MglNtzJeUU % $r == $f && $r == $restfalzbg_UU bei $r = '.$r.' | $f = '.$f."\n<br />");
break;
}
// echo2 ('nix... bei r = '.$r."\n<br />");
}
if ($r != 0) {
$PlatzierteFaBg_UU = $r;
$NtzFaBg_UU = floor($MglNtzJeUU / $r);
$restfalzbg_UU -= $PlatzierteFaBg_UU;
// var_dump2($r, $NtzFaBg_UU, $restfalzbg_UU);
if ($NtzFaBg_UU == 0) {
$NtzFaBg_UU = 0.01;
}
$ctp_UU += $anzahlDruckfarben_inhalt;
$nettobg_dieser_UU = ceil($auflage / $NtzFaBg_UU / 2);
$zuschuss_dieser_UU = ceil(max(150, 100 * $anzahlDruckfarben_inhalt));
$NtzText_UU = $NtzFaBg_UU * 2;
$nettobg_restBg_UU += $nettobg_dieser_UU;
$KostenPapier_UU += $nettobg_dieser_UU * $format['breite'] * $format['hoehe'] * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000 + $NettoPapierkostenZuschuss;
$druckzeitfortdruck_UU += ($nettobg_dieser_UU + $zuschuss_dieser_UU) / $druckgeschwindigkeit_inhalt * $anzahlDruckJeForm_inhalt * $bedruckteSeiten_inhalt + $WarteZeitUU;
if (!($ctpString_UU == '' && $ctpString_SDWD == '' && $ctpString1 == '')) {
$ctpString_UU .= ' + ';
}
$ctpString_UU .= $nettobg_dieser_UU . ' Druckbogen Umschlagen/Umstülpen mit ' . $PlatzierteFaBg_UU . ' Falzbg. je ' . $NtzText_UU . ' Nutzen';
}
$maxdurchlaeufe -= 1;
if ($restfalzbg_UU == 0) {
break;
}
}
$druckzeitruesten_UU = ($GrundRuestZeit * $anzahlDruckJeForm_inhalt + $ctp_UU * $RuestZeitJePlatte) / 60;
$papieraufschlagfaktor_inhalt_UU = 1.30 - (MIN(($KostenPapier_UU / $papier_inhalt_value * 100) / 5000, 0.2));
$KostenPapier_UU *= $papieraufschlagfaktor_inhalt_UU;
$Kosten_UU += ($ctp_UU * $kostenDruckplatte) + (($druckzeitruesten_UU + $druckzeitfortdruck_UU) * $stundensatz_druckmaschine1) + $KostenPapier_UU;
$UUarray[] = array('$ctpString_UU' => $ctpString_UU, '$Kosten_UU' => $Kosten_UU, '$KostenPapier_UU' => $KostenPapier_UU, '$nettobg_restBg_UU' => $nettobg_restBg_UU, '$restfalzbg_UU' => $restfalzbg_UU, '$f' => $f, '$maxdurchlaeufe' => $maxdurchlaeufe, '$r' => $r, '$NtzText_UU' => $NtzText_UU, '$druckzeitruesten_UU' => $druckzeitruesten_UU, '$druckzeitfortdruck_UU' => $druckzeitfortdruck_UU, '$ctp_UU' => $ctp_UU, '$anz_UU' => $ctp_UU / $anzahlDruckfarben_inhalt);
if ($restfalzbg_UU == 0 && $what == "debug2") {
echo ("Möglichkeit gefunden: " . "\n<br />");
echo('$f = '.$f.' #'.$maxdurchlaeufe.': $r = '.$r.' | '.$ctpString_UU.' $restfalzbg_UU = '.$restfalzbg_UU.' | $NtzFaBg_UU = '.$NtzFaBg_UU.' | $ctp_UU = '.$ctp_UU.' | $MglNtzJeUU = '.$MglNtzJeUU."\n<br />");
echo($format['breite'].'x'.$format['hoehe'].' mit '.$NtzFaBgJeDruckBg.' Nutzen je Falzbg.'."\n<br />");
//var_dump2($UUarray);
echo('>>> ------ '.number_format($Kosten_UU, 2 ,',','.').' € ------'."\n<br />");
}
}
// var_dump2('>>>>'.$Kosten_SDWD);
// günstigste UU Variante suchen
$Kosten_UU = 999999999;
foreach ($UUarray as $u) {
if ($u['$Kosten_UU'] < $Kosten_UU) {
$Kosten_UU = $u['$Kosten_UU'];
$ctpString_UU = $u['$ctpString_UU'];
$KostenPapier_UU = $u['$KostenPapier_UU'];
$nettobg_restBg_UU = $u['$nettobg_restBg_UU'];
$restfalzbg_UU = $u['$restfalzbg_UU'];
$ntzAufLetzterUmschlager = $u['$NtzText_UU'];
$druckzeitruesten_UU = $u['$druckzeitruesten_UU'];
$druckzeitfortdruck_UU = $u['$druckzeitfortdruck_UU'];
$ctp_UU = $u['$ctp_UU'];
$anz_UU = $u['$anz_UU'];
}
}
// Entscheidung zwischen UU und SD für Restseiten
if ($Kosten_SDWD >= $Kosten_UU && $restfalzbg_UU == 0) {
$ctpString1 .= $ctpString_UU;
$ctp_RestFaBg = $ctp_UU;
$nettobg_restseiten = $nettobg_restBg_UU;
$restfalzbg = $restfalzbg_UU;
// echo2 ("--- Restfalzbg. per UU ----\n");
} else {
$ctpString1 .= $ctpString_SDWD;
$ctp_RestFaBg = $ctp_SDWD;
$nettobg_restseiten = $nettobg_restBg_SDWD;
$restfalzbg = $restfalzbg_SDWD;
$ntzAufLetzterUmschlager = 0;
$leere_falzbg = $leere_falzbg_SDWD;
$anz_UU = 0;
// echo2 ("--- Restfalzbg. per SDWD ----\n");
}
}
if (mb_substr($ctpString1, 0, 3) == ' + ') {
$ctpString1 = substr($ctpString1, 3, strlen($ctpString1));
}
$nettobg_inhalt1 = $nettobg_ganzeBogen + $nettobg_restseiten;
$ctp_inhalt1 = $ctp_ganzeBogen + $ctp_RestFaBg;
$zuschuss_inhalt1 = ceil(max(150, 100 + (($ctp_inhalt1) * 75) + ($anzahlFarbwechsel_inhalt * 100) + ($Anz_AlleFaBg / $NtzFaBgJeDruckBg * $anzahlDruckJeForm_inhalt * $auflage * 0.03)));
$druckzeitruesten1 = (($GrundRuestZeit * $anzahlDruckJeForm_inhalt) + ($ctp_inhalt1 * $RuestZeitJePlatte) + ($anzahlFarbwechsel_inhalt * $FarbwechselZeit)) / 60;
$druckzeitfortdruck1 = ($zuschuss_inhalt1 + $nettobg_inhalt1) / $druckgeschwindigkeit_inhalt * $anzahlDruckJeForm_inhalt * $bedruckteSeiten_inhalt + ($WarteZeitUU * $anz_UU);
$papierkosten_inhalt1 = ($nettobg_inhalt1 + $zuschuss_inhalt1) * $format['hoehe'] * $format['breite'] * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000;
if ($restfalzbg != 0) {
if ($what = "debug") {
// echo2 ("\n" . 'FEHLER: noch offene Restseiten!' . "\n");
}
$ctp_ganzeBogen = 999;
$ctp_RestFaBg = 0;
}
if($inhaltidentisch == '0'){
$ctp_inhalt1 = $ctp_ganzeBogen + $ctp_RestFaBg + $drucklack_inhalt;
}else{
$ctp_inhalt1 = $bedruckteSeiten_inhalt*$anzahlDruckfarben_inhalt+$drucklack_inhalt;
}
// falls $ctp_RestFaBg > 0: prüfen, wie viele Nutzen auf Umschlager/Umstülper zusätzlich platziert werden könnten um ggf. rabattierf. Kosten zu berechnen
if(($ctp_RestFaBg>0 && $ntzAufLetzterUmschlager>=4) && (in_array($druckfarben_inhalt,array(1,2,3,18,19,7,8))) && ($papier_inhalt_sammelform != 1)) {
// ??? hier müsste man eigtl. die $leere_falzb multiplizieren, aktuell wird nur ein Falzbg. rabattiert
$leere_falzbg += 1;
if ($what == 'debug2') {
// echo2 ('>>> Bei: ' . $format['hoehe'] . 'x' . $format['breite'] . ' $leere_falzbg erhöht = ' . $leere_falzbg . "\n<br />");
}
}
// leere Bogenteile ggf. bewerten, Wert für Format/Sortenanz. muss negiert werden ?!
if((in_array($druckfarben_inhalt,array(1,2,3,18,19,7,8))) && ($papier_inhalt_sammelform != 1) && ($leere_falzbg > 0)){
$sammelarray = getSammelformWertePlanoFa23($auflage, $format_offen_hoehe, $format_offen_breite, $papier_inhalt_sammelform, $bedruckteSeiten_inhalt, $leere_falzbg, $druckmaschine_inhalt, $produktionszeit, 0);
$sammelfaktor_papier = $sammelarray[2];
$sammelwahrscheinlichkeit_menge = $sammelarray[1];
$sammelwahrscheinlichkeit_format_sorten = 1 - $sammelarray[0];
$sammelfaktor_druckmaschine = $sammelarray[3];
$sammelfaktor1 = $sammelfaktor_druckmaschine * ((($sammelwahrscheinlichkeit_format_sorten*75)*($sammelwahrscheinlichkeit_menge*25)/(75*25))*$sammelfaktor_papier);
$rabattierfaehigeKostenLeerFalzBogen1 = ($leere_falzbg * $PapierkostenJeFalzbg); // + ($kostenDruckplatte * $anzahlDruckfarben_inhalt); >>> führt zu evtl. zu zuviel Freiraum !
}else{
$rabattierfaehigeKostenLeerFalzBogen1 = 0;
$sammelfaktor1 = 0;
}
$price_inhalt_calc = (($kostenDruckplatte * $ctp_inhalt1) + $papierkosten_inhalt1 + ($druckzeitruesten1 + $druckzeitfortdruck1) * $stundensatz_druckmaschine1) - ($rabattierfaehigeKostenLeerFalzBogen1*$sammelfaktor1);
if($what=='debug2'){
echo("\n<br />".'------- Berechnung INH für '.$format['breite'].' x '.$format['hoehe'].' cm mit '.$ctp_inhalt1.' Druckplatten'." -------\n<br />");
echo('Papierk. je Falzbg: '.number_format($PapierkostenJeFalzbg, 2 , ',', '.').' € | Rüstk. je Form: '.number_format($RuestkostenJeDruckform, 2 , ',', '.')." € \n<br />");
echo($Anz_AlleFaBg.' benötigte Falzbogen'.' | Restfalzbogen: '.$restfalzbg.' | Leere Falzbg.: '.$leere_falzbg."\n<br />");
echo('Falzbogen je Druckoberfläche: '.($NtzFaBgJeDruckBg)."\n<br />");
echo ('Nettobg.: '.$nettobg_inhalt1.' + Zuschuss: '.$zuschuss_inhalt1."\n<br />");
echo('Rüstzeit: '.number_format($druckzeitruesten1, 2, ',', '.').' + Fortdruckzeit: '.number_format($druckzeitfortdruck1, 2, ',', '.').' = '.number_format($druckzeitruesten1+$druckzeitfortdruck1, 2, ',', '.')." h \n<br />");
echo('Kosten Druckmaschine: '.number_format(($druckzeitruesten1+$druckzeitfortdruck1) * $stundensatz_druckmaschine1, 2, ',', '.')." €\n<br />");
echo('Papierkosten: '.number_format($papierkosten_inhalt1, 2, ',', '.')." €\n<br />");
echo('Totalkosten: '.number_format($price_inhalt_calc, 2, ',', '.')." €\n<br />");
echo('abzgl. rabattierf. Kosten: '.number_format($rabattierfaehigeKostenLeerFalzBogen1, 2, ',', '.').' x '.number_format($sammelfaktor1, 2).' = '.number_format($rabattierfaehigeKostenLeerFalzBogen1*$sammelfaktor1, 2)." € \n<br />");
if ($rabattierfaehigeKostenLeerFalzBogen1 != 0) {
echo ('Sammelfaktor Papiersorte: ' . number_format($sammelfaktor_papier, 2, ',', '.') . "\n<br />");
echo ('Sammelwahrscheinlichkeit Format/Sorten: ' . number_format($sammelwahrscheinlichkeit_format_sorten, 2) . "\n<br />");
echo ('Sammelwahrscheinlichkeit Menge: ' . number_format($sammelwahrscheinlichkeit_menge, 2) . "\n<br />");
}
if ($ctp_RestFaBg > 0) {
echo ('Restbogenvergl.:' . "\n<br />");
echo ('Kosten SDWD: ' . round($Kosten_SDWD, 2) . ' = CTP ' . round($ctp_SDWD * $kostenDruckplatte, 2) . ' + MAN ' . round(($druckzeitruesten_SDWD + $druckzeitfortdruck_SDWD) * $stundensatz_druckmaschine1, 2) . ' + PA ' . round($papierkosten_inhalt_SDWD, 2) . "\n<br />");
echo ('Druckzeit SDWD: ' . round($druckzeitruesten_SDWD, 2) . ' + ' . round($druckzeitfortdruck_SDWD, 2) . ' = ' . round($druckzeitruesten_SDWD + $druckzeitfortdruck_SDWD, 2) . "\n<br />");
echo ('Papier SDWD: ' . $nettobg_restBg_SDWD . ' | PA-Aufschlag: ' . round($papieraufschlagfaktor_inhalt_SDWD, 2) . "\n<br />");
echo ('Kosten UU: ' . round($Kosten_UU, 2) . ' = CTP ' . round($ctp_UU * $kostenDruckplatte, 2) . ' + MAN ' . round(($druckzeitruesten_UU + $druckzeitfortdruck_UU) * $stundensatz_druckmaschine1, 2) . ' + PA ' . round($KostenPapier_UU, 2) . "\n<br />");
echo ('Druckzeit UU: ' . round($druckzeitruesten_UU, 2) . ' + ' . round($druckzeitfortdruck_UU, 2) . ' = ' . round($druckzeitruesten_UU + $druckzeitfortdruck_UU, 2) . "\n<br />");
echo ('Papier UU: ' . $nettobg_restBg_UU . ' | PA-Aufschlag: ' . round($papieraufschlagfaktor_inhalt_UU, 2) . "\n<br />");
}
echo('CTP Ganze Bogen: '.$ctp_ganzeBogen.' + CTP Restbogen '.$ctp_RestFaBg.' = '.($ctp_ganzeBogen+$ctp_RestFaBg)."\n<br />");
echo ('Ausgabetext: ' . $ctpString1 . "\n<br />");
}
if(($price_inhalt_calc < $price_inhalt) && ($NtzFaBgJeDruckBg > 0)) {
$price_inhalt = $price_inhalt_calc;
$drucknutzen_inhalt = $NtzFaBgJeDruckBg;
$ctp_inhalt = $ctp_inhalt1;
$zuschuss_inhalt = $zuschuss_inhalt1;
$nettobg_inhalt = $nettobg_inhalt1;
$druckbogen_hoehe_inhalt = $format['hoehe'];
$druckbogen_breite_inhalt = $format['breite'];
$druckzeitruesten_inhalt = $druckzeitruesten1;
$druckzeitfortdruck_inhalt = $druckzeitfortdruck1;
$druckzeittotal_inhalt = $druckzeitruesten_inhalt + $druckzeitfortdruck_inhalt;
$papierkosten_inhalt = $papierkosten_inhalt1;
$stundensatz_druckmaschine_inhalt = $stundensatz_druckmaschine1;
$druckmaschine_inhalt = "man";
$rabattierfaehigeKostenLeerFalzBogen = $rabattierfaehigeKostenLeerFalzBogen1;
$sammelfaktor = $sammelfaktor1;
$ctpString = $ctpString1;
}
}
$lackart_kosten_inhalt = 0;
if($drucklack_inhalt != '0'){
if($lackart_inhalt == '2'){
$lackart_kosten_inhalt = $Paufpreis_drucklack_matt_voll;
}
if($lackart_inhalt == '3'){
$lackart_kosten_inhalt = $Paufpreis_drucklack_matt_partiell;
}
if($lackart_inhalt == '4'){
$lackart_kosten_inhalt = $Paufpreis_drucklack_glzd_voll;
}
if($lackart_inhalt == '5'){
$lackart_kosten_inhalt = $Paufpreis_drucklack_glzd_partiell;
}
}
$papieraufschlagfaktor_inhalt = 1.30-(MIN(($papierkosten_inhalt/$papier_inhalt_value*100)/5000,0.2));
$price_inhalt -= $papierkosten_inhalt;
$papierkosten_inhalt *= $papieraufschlagfaktor_inhalt;
$price_inhalt += $papierkosten_inhalt;
$farbkosten_inhalt = FarbkostenBerechnen("kein debug", "BRO", $druckbogen_breite_inhalt, $druckbogen_hoehe_inhalt, $anzahlDruckfarben_inhalt, $drucklack_inhalt, $bedruckteSeiten_inhalt, $nettobg_inhalt, $zuschuss_inhalt, $anzahlFarbwechsel_inhalt, $druckfarben_inhalt);
$price_inhalt += $farbkosten_inhalt + $lackart_kosten_inhalt;
$eigenkosten_inhalt = $price_inhalt - $farbkosten_inhalt - $papierkosten_inhalt;
$fremdkosten_inhalt = $price_inhalt - $eigenkosten_inhalt;
$rabattierfaehigekosten_inhalt = $rabattierfaehigeKostenLeerFalzBogen * $sammelfaktor;
// Ende Inhalt
// Umschlag
if($veredelung_umschlag == 0 || $veredelung_umschlag == 6 || $veredelung_umschlag == 7){
$drucklack_umschlag = $lackart_umschlag = 0;
}else{
$drucklack_umschlag = 1;
$lackart_umschlag = $veredelung_umschlag;
}
// Zusatzdruckplatten + zus. Farbwechsel werden immer nur im Inhalt kalkuliert,
if($seiten_umschlag > 0){
$printarray_umschlag = getPrintPlanoFa23('allarray', $papier_umschlag_papiertyp1, $papier_umschlag_papiertyp2, $papier_umschlag_papiertyp3, $papier_umschlag_papiertyp4, $papier_umschlag_papiertyp5, $papier_umschlag_papiertyp6, $papier_umschlag_papiertyp7, $papier_umschlag_papiertyp8, $papier_umschlag_papiertyp9, $papier_umschlag_papiertyp10, $papier_umschlag_papiertyp11, $papier_umschlag_papiertyp12, $papier_umschlag_papiertyp13, $papier_umschlag_papiertyp14, $papier_umschlag_grammatur, $papier_umschlag_value, $auflage, $druckfarben_umschlag, $format_offen_breite_umschlag, $format_offen_hoehe - 0.4, $drucklack_umschlag, $papier_umschlag_vs_rs_unterschiedlich, $zussorten_umschlag+1, 1, 0, 0, $lackart_umschlag, $papier_umschlag_sammelform, $produktionszeit, 0);
} else {
$printarray_umschlag = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
}
if($zusdruckplatten > 0){
$zusdruckplatten_kosten = $zusdruckplatten * ($kostenDruckplatte + $stundensatz_druckmaschine_inhalt * $RuestZeitJePlatte / 60 + 20);
}else{$zusdruckplatten_kosten = 0;
}
if($zusfarbwechsel > 0){
$zusfarbwechsel_kosten = $zusfarbwechsel * (45 / 60 * $stundensatz_druckmaschine_inhalt);
}else{
$zusfarbwechsel_kosten = 0;
}
$eigenkosten_inhalt += $zusdruckplatten_kosten + $zusfarbwechsel_kosten;
$eigenkosten_umschlag = $printarray_umschlag[0];
$druckmaschine_umschlag = $printarray_umschlag[1];
$stundensatz_druckmaschine_umschlag = $printarray_umschlag[2];
$ctp_umschlag = $printarray_umschlag[3];
$anzahlFarbw_umschlag = $printarray_umschlag[4];
$druckgeschwindigkeit_umschlag = $printarray_umschlag[5];
$druckgaenge_umschlag = $printarray_umschlag[6];
$druckbogen_hoehe_umschlag = $printarray_umschlag[7];
$druckbogen_breite_umschlag = $printarray_umschlag[8];
$nutzen_umschlag = $printarray_umschlag[9];
$druckbogen_nettomenge_umschlag = $printarray_umschlag[10];
$druckbogen_zuschussmenge_umschlag = $printarray_umschlag[11];
$sortenaufschlag_umschlag = $printarray_umschlag[12];
$zuschussfaktor_umschlag = $printarray_umschlag[13];
$passtdrauf_umschlag = $printarray_umschlag[14];
$druckkosten_umschlag = $printarray_umschlag[15];
$papierkosten_umschlag = $printarray_umschlag[16];
$druckzeittotal_umschlag = $printarray_umschlag[17];
$druckzeitruesten_umschlag = $printarray_umschlag[18];
$druckzeitfortdruck_umschlag = $printarray_umschlag[19];
$farbkosten_umschlag = $printarray_umschlag[20];
$zusdruckplatten_kosten_umschlag = $printarray_umschlag[21]; // hinfällig, wird im INH addiert
$zusfarbwechsel_kosten_umschlag = $printarray_umschlag[22]; // hinfällig, wird im INH
$lackart_kosten_umschlag = $printarray_umschlag[23];
$fremdkosten_umschlag = $printarray_umschlag[24];
$rabattierfaehigekosten_umschlag = $printarray_umschlag[25];
$eigenkosten_umschlag += $sortenaufschlag_umschlag;
$eigenkosten = $eigenkosten_inhalt + $eigenkosten_umschlag;
$fremdkosten = $fremdkosten_inhalt + $fremdkosten_umschlag;
$rabattierfaehigekosten = $rabattierfaehigekosten_inhalt + $rabattierfaehigekosten_umschlag;
// Einzelwerte ausgeben
if($what=='debug'){
echo("\n<br />");
if ($seiten_umschlag != 0) {
echo ('-------------------- PRINT UMSCHLAG BRO --------------------' . "\n<br />");
echo ('UM: ' . $druckmaschine_umschlag . ' | CTP: ' . $ctp_umschlag . ' | Farbw.: ' . $anzahlFarbw_umschlag . ' | Geschw.: ' . number_format($druckgeschwindigkeit_umschlag, 0 , ',', '.') . " Bg/h\n<br />");
echo ('Druck: ' . number_format($druckzeitruesten_umschlag, 2 , ',', '.') . ' h + ' . number_format($druckzeitfortdruck_umschlag, 2 , ',', '.') .' h = ' . number_format($druckzeitfortdruck_umschlag+$druckzeitruesten_umschlag, 2 , ',', '.').' | '.number_format(($druckzeitruesten_umschlag+$druckzeitfortdruck_umschlag)*$stundensatz_druckmaschine_umschlag, 2 , ',', '.')." € \n<br />");
echo ('Farbe+Lack: ' . number_format($farbkosten_umschlag, 2 , ',', '.') . " € \n<br />");
if ($sortenaufschlag_umschlag != 0) {
echo ('Sortenaufschlag: ' . $sortenaufschlag_umschlag . " €\n<br />");
}
if ($lackart_kosten_umschlag != 0) {
echo('Lackart Kosten: ' . number_format($lackart_kosten_umschlag, 2 , ',', '.') . " €\n<br />");
}
echo('Format offen UM: '.$format_offen_breite_umschlag.' x '.$format_offen_hoehe." cm \n<br />");
echo ('EK: ' . round($eigenkosten_umschlag,2) . ' + FK ' . round($fremdkosten_umschlag,2) . ' = ' . round($eigenkosten_umschlag + $fremdkosten_umschlag, 2). " €\n<br />");
echo ($druckbogen_hoehe_umschlag . ' x ' . $druckbogen_breite_umschlag . ' cm mit ' . $nutzen_umschlag . ' Ntz. = ' . number_format($druckbogen_nettomenge_umschlag, 0, ',', '.') . ' + ' . number_format($druckbogen_zuschussmenge_umschlag, 0, ',', '.'). ' Bg. | ' . number_format($papierkosten_umschlag, 2 , ',', '.') . ' €' . "\n<br />");
}
echo('-------------------- PRINT INHALT BRO --------------------'."\n<br />");
echo('INH: '.$druckmaschine_inhalt.' | CTP: '.$ctp_inhalt.' | Farbw.: '.$anzahlFarbwechsel_inhalt.' | Geschw.: '.number_format($druckgeschwindigkeit_inhalt, 0 , ',', '.')." Bg/h\n<br />");
echo($ctpString."\n<br />");
echo('Druck: '.number_format($druckzeitruesten_inhalt, 2 , ',', '.').' h + '.number_format($druckzeitfortdruck_inhalt, 2 , ',', '.').' h = '.number_format($druckzeitfortdruck_inhalt+$druckzeitruesten_inhalt, 2 , ',', '.').' h | '.number_format(($druckzeitruesten_inhalt+$druckzeitfortdruck_inhalt)*$stundensatz_druckmaschine_inhalt, 2 , ',', '.')." € \n<br />");
echo('Farbe+Lack: '.number_format($farbkosten_inhalt, 2 , ',', '.'). " €\n<br />");
if ($lackart_kosten_inhalt != 0) {
echo ('+ Extra Kosten für Lackart: ' . number_format($lackart_kosten_inhalt, 2 , ',', '.') . " €\n<br /><br />");
}
echo ('EK: ' . number_format($eigenkosten_inhalt, 2, ',', '.') . ' + FK ' . number_format($fremdkosten_inhalt, 2, ',', '.') . ' = ' . number_format($eigenkosten_inhalt + $fremdkosten_inhalt, 2, ',', '.'). " €\n<br />");
echo($druckbogen_hoehe_inhalt.' x '.$druckbogen_breite_inhalt.' cm mit '. $drucknutzen_inhalt.' Ntz. = '.number_format($nettobg_inhalt, 0, ',', '.').' + '.number_format($zuschuss_inhalt, 0, ',', '.').' = '.number_format($nettobg_inhalt+$zuschuss_inhalt, 0, ',', '.').' Bg. | '.number_format($papierkosten_inhalt, 2 , ',', '.').' €'."\n<br />");
echo ('Papieraufschlag: '.number_format($papieraufschlagfaktor_inhalt, 2 , ',', '.')."\n<br />");
echo('-------------------- BRO PRINT --------------------'."\n<br />");
echo('Format offen INH: '.$format_offen_breite.' x '.$format_offen_hoehe." cm \n<br />");
if($bubipappe != 0 || $buchruecken !=0){
echo('Pappe: '.($bubipappe*10).' mm | Buchrücken ca. '.($buchruecken*10)." mm"."\n<br />");
}else{
echo ('Heftdicke ca. '.($heftdicke*10).' mm'."\n<br />");
}
echo('Rabattierf. Kosten: INH '.number_format($rabattierfaehigekosten_inhalt, 2 , ',', '.').' € + UM '.number_format($rabattierfaehigekosten_umschlag, 2 , ',', '.').' € = '.number_format($rabattierfaehigekosten, 2 , ',', '.')." €\n<br />");
echo('Eigenkosten: '.number_format($eigenkosten, 2 , ',', '.')." €\n<br />");
echo('Fremdkosten: '.number_format($fremdkosten, 2 , ',', '.')." € \n<br />");
echo('Gesamtkosten: '.number_format($fremdkosten+$eigenkosten, 2 , ',', '.')." € \n<br />");
}
return [$eigenkosten, $fremdkosten, $rabattierfaehigekosten, $format_offen_breite, $format_offen_hoehe, $bubipappe, $buchruecken, $druckmaschine_inhalt, $ctp_inhalt, $anzahlFarbwechsel_inhalt, $druckgeschwindigkeit_inhalt, $druckbogen_hoehe_inhalt, $druckbogen_breite_inhalt, $drucknutzen_inhalt, $nettobg_inhalt, $zuschuss_inhalt, $papierkosten_inhalt, $druckzeitruesten_inhalt, $druckzeitfortdruck_inhalt, $farbkosten_inhalt, $lackart_kosten_inhalt, $druckmaschine_umschlag, $ctp_umschlag, $anzahlFarbw_umschlag, $druckgeschwindigkeit_umschlag, $druckbogen_hoehe_umschlag, $druckbogen_breite_umschlag, $nutzen_umschlag, $druckbogen_nettomenge_umschlag, $druckbogen_zuschussmenge_umschlag, $papierkosten_umschlag, $druckzeitruesten_umschlag, $druckzeitfortdruck_umschlag, $farbkosten_umschlag, $lackart_kosten_umschlag, $rabattierfaehigekosten_inhalt, $rabattierfaehigekosten_umschlag, $heftdicke, $ctpString];
}
function getMaschineKosten23($format, $anzahlFarbwechsel_inhalt) {
// Stundensatz MAN / GTO
$maschine = getMaschine($format['breite'], $format['hoehe']);
if($maschine == 'man') {
return 175 + ($anzahlFarbwechsel_inhalt * 5);
}
return 40 + $anzahlFarbwechsel_inhalt * 5;
}
// Berechnet die MAN Druckgeschwindigkeit. Statt $auflage besser Druckbogenanzahl für PLANO-FA übergeben?
function getMANSpeed($auflage, $papier_inhalt_grammatur) {
$grammaturfaktor = max(0.3, (100 - sqrt((pow(150 - $papier_inhalt_grammatur, 2))) / 3.6) / 100);
$auflageWert = round(11525 - 5500 / (1 + 0.000155 * $auflage),2);
$druckspeed = $grammaturfaktor * $auflageWert;
//echo "Auflage: $auflage, Grammatur: $papier_inhalt_grammatur, GR-Faktor: $grammaturfaktor, A-Faktor: $auflageWert, MANSpeed: $druckspeed\n";
return $druckspeed;
}
function getWTVBRO23($what, $auflage, $breite_geschl, $hoehe_geschl, $format_offen_breite, $format_offen_hoehe, $bubipappe, $buchruecken, $weiterverarbeitung, $ausfuehrung, $klammerung, $papier_inhalt_grammatur, $papier_inhalt_value, $seiten_inhalt, $druckbogen_breite_inhalt, $druckbogen_hoehe_inhalt, $drucknutzen_inhalt, $drucknutzen_umschlag, $papier_umschlag_grammatur, $papier_umschlag_value, $seiten_umschlag, $druckbogen_breite_umschlag, $druckbogen_hoehe_umschlag, $buendeln, $perforation, $duftdruck, $praegung_umschlag, $beilage, $veredelung_umschlag, $registerstanzung, $einschweissen, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $blankomuster, $musterversand, $absender){
//Parameter
$Pplano_fa_mindpreis_kaschierung = 165;
$Pplano_fa_kaschierung_mk = 0.8;
$Pplano_fa_kaschierung_gl = 0.6;
$Pplano_fa_kaschierung_legl = 0.9;
$Pbeilage_einlegen_unbestimmte = 35;
$Pbeilage_einlegen_bestimmte = 45;
$Pplano_praegen_fix1 = 60;
$Pplano_praegen_fix2 = 110;
$Pplano_praegen_var1 = 25;
$Pplano_praegen_var2 = 45;
$Pplano_fa_tsdpreis_duftdruck = 20;
$Pplano_fa_fixpreis_duftdruck = 300;
$Pplano_fa_fixpreis_perforation = 35;
$Pplano_fa_tsdpreis_perforation = 35;
$Pplano_fa_fixpreis_buendeln = 15;
$Pbro_preis_je_buendel = 0.09;
$Pstundensatz_wtv_hand = 30;
$Pstundensatz_wtv_maschinen = 50;
$wtveigenkosten = 0;
$wtvfremdkosten = 0;
$wtvzuschusspapier_inhalt = 0;
$wtvzuschusspapier_umschlag = 0;
$wtvfrachtkosten = 0;
$wtvfrachtgewicht = $auflage * $hoehe_geschl * $breite_geschl * ($seiten_inhalt / 2 * $papier_inhalt_grammatur + $seiten_umschlag / 2 * $papier_umschlag_grammatur) / 10000 * 1.1;
$wtvfrachtpreis = 90 + $wtvfrachtgewicht / 400000 * 15;
$papierlogistikpauschale = $wtvfrachtgewicht / 100000 * 5;
$wtvfremdkosten += $papierlogistikpauschale;
if($drucknutzen_inhalt < 1){
$drucknutzen_inhalt = 1;
}
if($drucknutzen_umschlag < 1){
$drucknutzen_umschlag = 1;
}
$anzDruckbg_inhalt = ceil(($seiten_inhalt / 2) / $drucknutzen_inhalt);
$anzDruckbg_umschlag = 1 / $drucknutzen_umschlag;
// $weiterverarbeitung: 1=RDH, 2=PUR, 3=Wire-O, 4=HDCOVER, 5=HDCOVER LEINEN, 6=WAKAL
// $ausfuehrung: 1=ohne Umschlag, 2=Umschlag 4 Seiten, 3=Front+Rückkarton, 4=Überzug auf Pappe, 5=Umschlag 6 Seiten, 6=Kapitalband, Leseband, Prägung, VNS
// endschneiden + verpacken
$zeit_endschneiden_inhalt = $zeit_endschneiden_umschlag = 0;
$kosten_endschneiden_inhalt = $kosten_endschneiden_umschlag = $wtvkostenverpackung= 0;
if($weiterverarbeitung == '1' || $weiterverarbeitung == '3' || $weiterverarbeitung == '6'){
$zeit_endschneiden_inhalt = max(20,15 + $seiten_inhalt + $seiten_inhalt * $auflage / 1900) / 60;
if($seiten_umschlag > 0){
$zeit_endschneiden_umschlag = (15 + $anzDruckbg_umschlag * $auflage / 600)/60;
}
$kosten_endschneiden_inhalt = $zeit_endschneiden_inhalt * $Pstundensatz_wtv_maschinen;
$kosten_endschneiden_umschlag = $zeit_endschneiden_umschlag * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden_inhalt + $kosten_endschneiden_umschlag;
// Verpackungsmaterial
$wtvkostenverpackung = $wtvfrachtgewicht / 5000 * 0.6;
$wtvfremdkosten += $wtvkostenverpackung;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (20 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (20 + $auflage * 0.005);
}elseif($weiterverarbeitung == '2' || $weiterverarbeitung == '4'){
if($seiten_umschlag > 0){
$zeit_endschneiden_umschlag = (15 + $anzDruckbg_umschlag * $auflage / 600)/60;
}
$kosten_endschneiden_umschlag = $zeit_endschneiden_umschlag * $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_endschneiden_umschlag;
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (20 + $auflage * 0.005);
}
// RDH
$zeit_rdh = $kosten_rdh = 0;
if($weiterverarbeitung == '1'){
$heftdicke = ($papier_inhalt_grammatur * $seiten_inhalt / 2 / 10000 + $papier_umschlag_grammatur * $seiten_umschlag / 2 / 10000) * 1.1;
$wtvgeschwindigkeit_hfs = 2400-($seiten_inhalt+$seiten_umschlag)*10;
$geschw_faktor_rdh_hfs = max(1, $heftdicke/2 + 1);
$zeit_rdh_ruesten = 0.25 + ($seiten_inhalt + $seiten_umschlag) / 60 + ($heftdicke * 10 / 6);
if($seiten_umschlag > 4 || $breite_geschl > $hoehe_geschl){
$geschw_faktor_rdh_hfs *= 1.3;
}
// möglich > intern oder extern
if ($breite_geschl <= 30.5 && $hoehe_geschl <= 47.4 && ($heftdicke * 10 < 6)) {
if ($heftdicke * 10 < 4.5) {
if ($breite_geschl < 25 && $breite_geschl >= 9.0 && $hoehe_geschl >= 10.5 && ($seiten_inhalt + $seiten_umschlag) <= 96) {
if ($hoehe_geschl < 14.8) {
$geschw_faktor_rdh_hfs *= 1.3;
$zeit_rdh_ruesten += 0.5;
}
} else {
$geschw_faktor_rdh_hfs *= 1.6;
$zeit_rdh_ruesten += 2;
}
} else {
$zeit_rdh_ruesten = 3;
$geschw_faktor_rdh_hfs *= 1.9;
$wtvfrachtkosten += $wtvfrachtpreis;
}
}else{
$zeit_rdh_ruesten = 99999999;
$geschw_faktor_rdh_hfs = 999999;
}
$wtvgeschwindigkeit_hfs += $geschw_faktor_rdh_hfs;
$zeit_rdh = $zeit_rdh_ruesten + ($auflage / $wtvgeschwindigkeit_hfs);
$kosten_ringoesen = $klammerung * 60;
$kosten_umschlag_nuten = 0;
if(($papier_umschlag_grammatur >= 170 && $ausfuehrung != 1) || ($ausfuehrung == 1 && $papier_inhalt_grammatur >= 170)){
$kosten_umschlag_nuten = min(($auflage/3000+0.5)*$Pstundensatz_wtv_maschinen, $auflage/$drucknutzen_umschlag/1000*33+110);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (20 + $auflage * 0.0025);
}
$kosten_rdh = $zeit_rdh * $Pstundensatz_wtv_maschinen + $kosten_ringoesen + $kosten_umschlag_nuten;
$wtveigenkosten += $kosten_rdh;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (30 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.005);
}
// PUR (Einflussgrößen = Seitenanz. INH, Ntz. INH, Auflage, Format HF / QF)
$zeit_pur = $kosten_pur = 0;
if($weiterverarbeitung == '2'){
$pur_purarray = array(array(0,292,92),array(7,292,92),array(12,306,105),array(16,320,117),array(32,479,231)); // bis bogenteile, fixpur, varpur
$pur_seiten = ceil($seiten_inhalt / $drucknutzen_inhalt / 2);
foreach($pur_purarray as $n){
if($pur_seiten > $n[0]){
$pur_kosten_kleb = $n[1] + $auflage * $n[2] / 1000;
}
}
$pur_falzarray = array(array(4,11.15,7.25),array(6,16.65,8.45),array(8,16.65,8.65),array(12,22.15,9.95),array(16,34,9.75),array(24,44.3,11),array(32,55.3,12.2),array(48,110.5,13.3)); // bogenanz, fixfalz, varfalz
$pur_falzb = ceil($seiten_inhalt/$drucknutzen_inhalt/2);
foreach($pur_falzarray as $n){
if($drucknutzen_inhalt*2 >= $n[0]){
$pur_kosten_falzbg = $n[1] + $auflage * $n[2] * $pur_falzb / 1000;
}
}
if($breite_geschl < $hoehe_geschl){
$formatfaktor_pur = 1.0;
}else{
$formatfaktor_pur = 1.6;
}
if($seiten_umschlag > 4){
$umschlagfaktor_pur = 1.3;
}else{
$umschlagfaktor_pur = 1;
}
$kosten_pur = 85 + 1.3 * ($pur_kosten_kleb + $pur_kosten_falzbg ) * $formatfaktor_pur * $umschlagfaktor_pur;
$zeit_pur = 24 * 5;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.005);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $kosten_pur;
}
// Wire-O
$zeit_wireo = $kosten_wireo = 0;
if($weiterverarbeitung == '3'){
//analog Plano-FA loseblatt, zusammentragen von Sorten, in Abh. von Grammatur und Format > manuell oder HFS
if($hoehe_geschl < 14 || $hoehe_geschl < $breite_geschl || $seiten_umschlag > 4){
$wtvgeschwindigkeit_hfs = max(300, 1200-($seiten_inhalt+$seiten_umschlag)*10);
}else{
$wtvgeschwindigkeit_hfs = max(300, 2200-($seiten_inhalt+$seiten_umschlag)*15);
}
if($papier_inhalt_grammatur <= 300 && $papier_umschlag_grammatur <= 300 && $hoehe_geschl >= 14.8 && $breite_geschl >= 14.8 && $format_offen_breite <= 42 && $format_offen_hoehe <= 42){
$hfs_durchlaeufe = ceil(($seiten_inhalt+$seiten_umschlag)/23/2);
$hfs_ruestzeit = ceil(($seiten_inhalt+$seiten_umschlag)/2) * 2 / 60 + 0.5;
$hfs_zeit_zu = $auflage * $hfs_durchlaeufe / $wtvgeschwindigkeit_hfs;
$hfs_zeit_stapeln = 1 + $hfs_durchlaeufe * $auflage * 0.0013;
$hfs_zeit_loseblatt = $hfs_ruestzeit + $hfs_zeit_zu + $hfs_zeit_stapeln;
$hfs_kosten_loseblatt = $hfs_zeit_loseblatt * $Pstundensatz_wtv_maschinen;
}else{
$hfs_kosten_loseblatt = 999999999;
$hfs_zeit_loseblatt = 999999999;
}
$man_kosten_loseblatt = ceil(($seiten_inhalt+$seiten_umschlag)/2) * 5 + $auflage * 0.015;
$man_zeit_loseblatt = $man_kosten_loseblatt / $Pstundensatz_wtv_hand;
$kosten_loseblatt = min($hfs_kosten_loseblatt, $man_kosten_loseblatt);
if($kosten_loseblatt == $hfs_kosten_loseblatt){
$zeit_loseblatt = $hfs_zeit_loseblatt;
}else{
$zeit_loseblatt = $man_zeit_loseblatt;
}
$wtveigenkosten += $kosten_loseblatt;
//Wire-O stanzen + binden + Spirale
$fk_wireo_fix = 200;
$fk_wireo_spirale = 0.08 + ceil(max($hoehe_geschl,$breite_geschl)/15)*0.06;
$fk_wireo_sta = ceil($buchruecken/1.8)*0.15;
$fk_wireo_binden = 0.25;
$fk_wireo = ($fk_wireo_fix + $auflage * ($fk_wireo_spirale + $fk_wireo_sta + $fk_wireo_binden));
$kosten_wireo = $fk_wireo + $kosten_loseblatt;
$zeit_wireo = 24 * 5;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.005);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $fk_wireo;
}
// HDCOVER (Einflussgrößen = Seitenanz. INH, Ntz. INH, Auflage, Format HF / QF, Breite, Höhe)
$zeit_hdcover = $kosten_hdcover = 0;
if($weiterverarbeitung == '4'){
$kosten_hdcover = (((0.5+(1/pow(2,log10($auflage/20)))+($breite_geschl*$hoehe_geschl/10000)+($seiten_inhalt/$drucknutzen_inhalt/30))*$auflage)+800)*1.4;
$zeit_hdcover = 24 * 12;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.01);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.01);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $kosten_hdcover;
}
// HDCOVER Leinen
$zeit_hdcover_leinen = $kosten_hdcover_leinen = 0;
if ($weiterverarbeitung == '5') {
$kosten_hdcover_leinen_fix = 300;
$kosten_hdcover_leinen_var = (1/log(($auflage+650)/450)*4)+0.4+$seiten_inhalt/900;
$zeit_hdcover_leinen = 24 * 15;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.01);
$wtvfrachtkosten += $wtvfrachtpreis;
$kosten_hdcover_leinen = ($kosten_hdcover_leinen_fix + $auflage * $kosten_hdcover_leinen_var) * 1.35;
$wtvfremdkosten += $kosten_hdcover_leinen;
}
// WAKAL = Wandkalender
$zeit_wakal = $kosten_wkal = 0;
if($weiterverarbeitung == '6'){
if($breite_geschl < 12 || $breite_geschl > 43 || $hoehe_geschl < 12 || $hoehe_geschl > 43){
$wireo_faktor = 2;
}else{
$wireo_faktor = 1;
}
$ek_wireo_zu = $wireo_faktor * ((0.5+(ceil((($seiten_inhalt+$seiten_umschlag)/2)/23)* $auflage)/2000)*$Pstundensatz_wtv_maschinen)+(($seiten_inhalt*$auflage/600)/60*$Pstundensatz_wtv_maschinen);
$fk_wireo_sta_bind = ((1/pow(2,log10($auflage/20)))+((max([$breite_geschl,$hoehe_geschl])+15)/300)+0.03*(ceil(($buchruecken/0.4))-1))*($auflage)*1.4;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.005);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvfremdkosten += $fk_wireo_sta_bind;
$wtveigenkosten += $ek_wireo_zu;
$kosten_wakal = $fk_wireo_sta_bind + $ek_wireo_zu;
$zeit_wakal = 24 * 5;
}
// Registerstanzung
$kosten_registerstanzung = 0;
$zeit_registerstanzung = 0;
if($registerstanzung != '0'){
$kosten_registerstanzung = 250+((120+($registerstanzung*13))/1000*$auflage);
$zeit_registerstanzung = 4 * 24 + ceil($auflage/5000);
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (30 + $auflage * 0.005);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.005);
$wtvfremdkosten += $kosten_registerstanzung;
}
// einschweissen
$kosten_einschweissen = $einschweissen * 0.13 * $auflage;
$zeit_einschweissen = $kosten_einschweissen / $Pstundensatz_wtv_maschinen;
if($einschweissen != '0'){
$wtvfrachtkosten += $wtvfrachtpreis;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (10 + $auflage * 0.002);
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (10 + $auflage * 0.002);
$wtvfremdkosten += $kosten_einschweissen;
}
// Beilage
$kosten_beilage = 0;
if($beilage == 1){
$kosten_beilage = $Pbeilage_einlegen_unbestimmte*$auflage/1000;
}
if($beilage == 2){
$kosten_beilage = $Pbeilage_einlegen_bestimmte*$auflage/1000;
}
$zeit_beilage = $kosten_beilage / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_beilage;
//bündeln
$kosten_buendeln = 0;
if($buendeln != 0){
$kosten_buendeln = $Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pbro_preis_je_buendel;
}
$zeit_buendeln = $kosten_buendeln / $Pstundensatz_wtv_hand;
$wtveigenkosten += $kosten_buendeln;
//perforation BRO
$kosten_perforation = 0;
if($perforation != "0"){
$kosten_perforation = $Pplano_fa_fixpreis_perforation + $auflage/1000*$Pplano_fa_tsdpreis_perforation + $perforation*15;
$wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (10 + $auflage * 0.002);
}
$zeit_perforation = $kosten_perforation / $Pstundensatz_wtv_maschinen;
$wtveigenkosten += $kosten_perforation;
//praegung UM
$kosten_praegung = 0;
$zeit_praegung = 0;
$kosten_werkzeug_praegung = 0;
if($praegung_umschlag == 1 || $praegung_umschlag == 2){
$zeit_praegung = $auflage / 1000 + 1;
if($format_offen_breite > 23 || $format_offen_hoehe > 23){
$kosten_praegung = $Pplano_praegen_fix2 + $auflage * $Pplano_praegen_var2 / 1000;
}else{
$kosten_praegung = $Pplano_praegen_fix1 + $auflage * $Pplano_praegen_var1 / 1000;
}
if($praegung_umschlag == 2){
$kosten_werkzeug_praegung = sqrt($format_offen_hoehe*$format_offen_breite)*2+95;
}
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (100 + $auflage * 0.002);
}
if($praegung_umschlag == 3){
$zeit_praegung = 5 * 24;
$kosten_werkzeug_praegung = 135 + $format_offen_breite * $format_offen_hoehe / 2;
$kosten_praegung = 200 + 200 * $auflage / 1000;
}
$wtvfremdkosten += $kosten_praegung + $kosten_werkzeug_praegung;
//Verdelung Umschlag = folien kaschierung oder lack UM
$kosten_kaschierung = 0;
$zeit_kaschierung = 0;
$flaechekaschierung = ($format_offen_breite+2)*($format_offen_hoehe+2);
if($veredelung_umschlag == "6"){
$kosten_kaschierung = max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_mk*$flaechekaschierung/10000*$auflage);
}
if($veredelung_umschlag == "7"){
$kosten_kaschierung = max($Pplano_fa_mindpreis_kaschierung,$Pplano_fa_kaschierung_gl*$flaechekaschierung/10000*$auflage);
}
if($veredelung_umschlag != "0"){
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.002);
$zeit_kaschierung = 240;
$wtvfrachtkosten += 25;
$wtvfremdkosten += $kosten_kaschierung;
}
//duftdruck UM
$kosten_duftdruck = 0;
$zeit_duftdruck = 0;
if($duftdruck != "0"){
$kosten_duftdruck = $duftdruck*$Pplano_fa_tsdpreis_duftdruck*$auflage/1000+$Pplano_fa_fixpreis_duftdruck;
$zeit_duftdruck = 480;
$wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (100 + $auflage * 0.002);
$wtvfrachtkosten += $wtvfrachtpreis;
}
$wtvfremdkosten += $kosten_duftdruck;
// Blankomuster vorab
$kosten_blankomuster = 115 * $blankomuster;
$wtveigenkosten += $kosten_blankomuster;
//freie Positionen
$kosten_freipos10 = $frei10fixpreis + $frei10tsdpreis / 1000 * $auflage;
$kosten_freipos20 = $frei20fixpreis + $frei20tsdpreis / 1000 * $auflage;
$wtvfremdkosten += $kosten_freipos10 + $kosten_freipos20;
//Musterversand
$kosten_musterversand = $musterversand * 8;
$wtvfremdkosten += $kosten_musterversand;
//Neutralversand, Absender
$kosten_absender = $absender * 0;
$wtvfremdkosten += $kosten_absender;
//Endabrechnung
$wtvzuschusspapier_inhalt = ceil($wtvzuschusspapier_inhalt);
$wtvzuschusspapier_umschlag = ceil($wtvzuschusspapier_umschlag);
$wtvzuschusspapier_kosten_inhalt = ($druckbogen_breite_inhalt * $druckbogen_hoehe_inhalt * $papier_inhalt_grammatur * $papier_inhalt_value * $wtvzuschusspapier_inhalt) / 1000000000;
$wtvzuschusspapier_kosten_umschlag = ($druckbogen_breite_umschlag * $druckbogen_hoehe_umschlag * $papier_umschlag_grammatur * $papier_umschlag_value * $wtvzuschusspapier_umschlag) / 1000000000;
//Einzelwerte ausgeben
if($what=='debug'){
echo("\n<br />");
echo('-------------------- WTV BRO --------------------'."\n<br />");
echo('Endschneiden Inhalt: '.number_format($kosten_endschneiden_inhalt, 2 , ',', '.').' € | Zeit: '.number_format($zeit_endschneiden_inhalt, 2 , ',', '.')."\n<br />");
echo('Endschneiden Umschlag: '.number_format($kosten_endschneiden_umschlag, 2 , ',', '.').' € | Zeit: '.number_format($zeit_endschneiden_umschlag, 2 , ',', '.')."\n<br />");
if($kosten_rdh > 0){
echo('RDH: '.number_format($kosten_rdh-$kosten_umschlag_nuten, 2 , ',', '.').' € | Zeit RDH: '.number_format($zeit_rdh, 2 , ',', '.')."\n<br />");
if($kosten_umschlag_nuten>0){
echo('nuten Umschlag: '.number_format($kosten_umschlag_nuten, 2 , ',', '.')." €\n<br />");
}
echo('WTV Geschwindigkeit HFS: '.$wtvgeschwindigkeit_hfs."\n<br />");
}
if($kosten_pur > 0){
echo('PUR: '.number_format($kosten_pur, 2 , ',', '.')." €\n<br />");
echo('___$pur_kosten_kleb: '.$pur_kosten_kleb.' € | $pur_seiten: '.$pur_seiten."\n<br />");
echo('___$pur_falzbg: '.number_format($pur_falzb,3).' € | Falzmenge: '.$auflage * $pur_falzb."\n<br />");
echo('___$pur_kosten_falzbg: '.$pur_kosten_falzbg." €\n<br />");
}
if($kosten_wireo > 0){
echo('Wire-O: '.number_format($kosten_wireo, 2 , ',', '.')." €\n<br />");
echo('___$zeit_loseblatt: '.number_format($zeit_loseblatt, 2 , ',', '.').' | $fk_wireo_fix: '.number_format($fk_wireo_fix, 2 , ',', '.').' € | $fk_wireo_spirale: '.number_format($fk_wireo_spirale, 2 , ',', '.').' € | $fk_wireo_sta: '.number_format($fk_wireo_sta, 2 , ',', '.').' € | $fk_wireo_binden: '.number_format($fk_wireo_binden, 2 , ',', '.').' € | Buchrücken: '.$buchruecken."\n<br />");
}
if($kosten_hdcover > 0){
echo('HDCOVER: '.number_format($kosten_hdcover, 2 , ',', '.')." €\n<br />");
}
if($kosten_hdcover_leinen > 0){
echo('HDCOVER LEINEN: ('.$kosten_hdcover_leinen_fix.' + '.$auflage.' x '.number_format($kosten_hdcover_leinen_var, 2 , ',', '.').') x 1.2 = '.number_format($kosten_hdcover_leinen, 2 , ',', '.')."€ \n<br />");
}
if($kosten_registerstanzung > 0){echo('Registerstanzung: '.number_format($kosten_registerstanzung, 2 , ',', '.')."€ \n<br />");}
if($kosten_beilage > 0){echo('Beilage: '.number_format($kosten_beilage, 2 , ',', '.')." €\n<br />");}
if($kosten_einschweissen > 0){echo('einschweissen: '.number_format($kosten_einschweissen, 2 , ',', '.')." €\n<br />");}
if($kosten_buendeln > 0){echo('bündeln: '.number_format($kosten_buendeln, 2 , ',', '.').' € | '.'Zeit bündeln: '.number_format($zeit_buendeln, 2 , ',', '.')."\n<br />");}
if($kosten_praegung > 0){echo('Prägung: '.number_format($kosten_praegung, 2 , ',', '.').' € | Zeit praegung: '.number_format($zeit_praegung, 2 , ',', '.').' | anteilg. Werkzeug: '.number_format($kosten_werkzeug_praegung, 2 , ',', '.')." € \n<br />");}
if($kosten_duftdruck > 0){echo('Duftdruck: '.number_format($kosten_duftdruck, 2 , ',', '.')."€ \n<br />");}
if($kosten_kaschierung > 0){echo('Kaschierung: '.number_format($kosten_kaschierung, 2 , ',', '.')." € \n<br />");}
if($kosten_perforation > 0){echo('Perforation: '.number_format($kosten_perforation, 2 , ',', '.')." € \n<br />");}
if($kosten_blankomuster > 0){echo('Blankomuster: '.number_format($kosten_blankomuster, 2 , ',', '.')." € \n<br />");}
if($kosten_musterversand > 0){echo('Musterversand: '.number_format($kosten_musterversand, 2 , ',', '.')." € \n<br />");}
if($kosten_absender > 0){echo('Absender: '.number_format($kosten_absender, 2 , ',', '.')." €\n<br />");}
if($kosten_freipos10 > 0){echo('freipos10: '.number_format($kosten_freipos10, 2 , ',', '.')." €\n<br />");}
if($kosten_freipos20 > 0){echo('freipos20: '.number_format($kosten_freipos20, 2 , ',', '.')." €\n<br />");}
echo('Papierlogistikpauschale: '.number_format($papierlogistikpauschale, 2 , ',', '.')." €\n<br />");
echo('Verpackung: '.number_format($wtvkostenverpackung, 2 , ',', '.')." €\n<br />");
echo('----------------------------------------'."\n<br />");
echo('WTV Zuschuss Papier Inhalt: '.number_format($wtvzuschusspapier_kosten_inhalt, 2 , ',', '.').' € | '.number_format($wtvzuschusspapier_inhalt, 0 , ',', '.')." Bg. \n<br />");
echo('WTV Zuschuss Papier Umschlag: '.number_format($wtvzuschusspapier_kosten_umschlag, 2 , ',', '.').' € | '.number_format($wtvzuschusspapier_umschlag, 0 , ',', '.')." Bg. \n<br />");
echo('WTV Frachtkosten: '.number_format($wtvfrachtkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Eigenkosten: '.number_format($wtveigenkosten, 2 , ',', '.')." €\n<br />");
echo('WTV Fremdkosten: '.number_format($wtvfremdkosten, 2 , ',', '.')." € \n<br />");
}
return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten_inhalt, $wtvzuschusspapier_kosten_umschlag, $wtvfrachtgewicht];
}
function getZUABBRO23($what, $auflage, $rabattierfaehigekosten, $zuab_eigenkosten, $zuab_fremdkosten, $papiersorte_sammelform_inhalt, $druckfarben_inhalt, $druckmaschine_inhalt, $papiersorte_sammelform_umschlag, $druckfarben_umschlag, $druckmaschine_umschlag, $qualitaet, $produktionszeit, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $rabattierfaehigekosten_inhalt, $rabattierfaehigekosten_umschlag, $zussorten_umschlag, $seiten_inhalt, $seiten_umschlag, $drucknutzen_inhalt, $nutzen_umschlag, $papier_vs_rs_unterschiedlich_umschlag){
$preisaenderung = 0;
$sammelformreduktion_inhalt = $sammelformreduktion_umschlag = $sammelfaktor_papier = $sammelwahrscheinlichkeit_format_sorten = $sammelfaktor = $sammelwahrscheinlichkeit_menge = 0;
$zuab_gesamtkosten = $zuab_eigenkosten + $zuab_fremdkosten;
//Sammelform UM
if($seiten_umschlag != 0){
$bedruckteSeiten = getAnzDruckfarbenBedruckteSeiten21($druckfarben_umschlag)[1];
$sammelarray = getSammelformWertePlanoFa23($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform_umschlag, $bedruckteSeiten, $zussorten_umschlag+1, $druckmaschine_umschlag, $produktionszeit, $papier_vs_rs_unterschiedlich_umschlag);
$sammelfaktor_papier = $sammelarray[2];
$sammelwahrscheinlichkeit_menge = $sammelarray[1];
$sammelwahrscheinlichkeit_format_sorten = $sammelarray[0];
$sammelfaktor_druckmaschine = $sammelarray[3];
$sammelfaktor = (($sammelwahrscheinlichkeit_format_sorten*75)*($sammelwahrscheinlichkeit_menge*25)/(75*25))*$sammelfaktor_papier*$sammelfaktor_druckmaschine;
if((in_array($druckfarben_umschlag,array(1,2,3,18,19,7,8))) && ($papiersorte_sammelform_umschlag != 1)){
$sammelformreduktion_umschlag = $rabattierfaehigekosten_umschlag * $sammelfaktor * -1;
}
$preisaenderung += $sammelformreduktion_umschlag;
}
//Sammelform INH // 1 = ohne, 2 = happy, 3 = eq, 4 = sense, 5 = sky, 6 = glam, 7 = post
if((in_array($druckfarben_inhalt,array(1,2,3,18,19,7,8))) && ($papiersorte_sammelform_inhalt != 1)){
$papierliste_sammelf_inhalt = array(0,-90,-110,-60,-60,-85,-25);
$sammelformreduktion_inhalt = -1 * ((-1 * $papierliste_sammelf_inhalt[$papiersorte_sammelform_inhalt-1]) + $rabattierfaehigekosten_inhalt);
if(in_array($druckfarben_inhalt, array(7,8))){
$sammelformreduktion_inhalt /= 4;
}
$preisaenderung += $sammelformreduktion_inhalt;
}
$sammelformreduktion = $sammelformreduktion_inhalt + $sammelformreduktion_umschlag;
//Qualität 1 = easyValue, 2 = ISO-Std., 3 = MaxHighEnd, Pos. in Liste (0=Fixwert,1=Prozwert)
$qualitaetswerte = array(array(-25,-8),array(0,0),array(35,7));
$qualitaet_fix = $qualitaetswerte[$qualitaet-1][0];
$qualitaet_proz = $qualitaetswerte[$qualitaet-1][1];
if($qualitaet_proz <= 0){
$qualkost = $zuab_eigenkosten;
}else{
$qualkost = $zuab_gesamtkosten + $sammelformreduktion/2;
}
$qualitaet_zuab = $qualitaet_fix + ($qualkost/100*$qualitaet_proz);
$preisaenderung += $qualitaet_zuab;
//Produktionszeit 1 = relaX, 2 = normal, 3 = eXpress | Pos. in Liste (0=Fixwert,1=Prozwert)
$zeitwerte = array(array(-15,-11),array(0,0),array(35,9));
$zeitwert_fix = $zeitwerte[$produktionszeit-1][0];
$zeitwert_proz = $zeitwerte[$produktionszeit-1][1];
if($zeitwert_proz <= 0){
$zeitkosten = $zuab_eigenkosten;
}else{
$zeitkosten = $zuab_gesamtkosten + $sammelformreduktion/2;
}
$zeit_zuab = $zeitwert_fix + ($zeitkosten/100*$zeitwert_proz);
$preisaenderung += $zeit_zuab;
//Provision (1 = Prozentual, 5, 10, 15, 20%)
$provision_zuschlag = 0;
if($provisionsart == "1"){
$provision_zuschlag = ($zuab_gesamtkosten+$preisaenderung)/100*$provisionswert;
}
$preisaenderung += $provision_zuschlag;
//Einzelwerte ausgeben
if($what=='debug'){
echo("\n<br />".'-------------------- Zu-/Abschläge BRO --------------------'."\n<br />");
if ($seiten_umschlag != 0) {
echo ('UM Sammelfaktor Papiersorte: ' . number_format($sammelfaktor_papier, 2, ',', '.') . "\n<br />");
echo ('UM Sammelwahrscheinlichkeit Format/Sorten: ' . number_format($sammelwahrscheinlichkeit_format_sorten, 2) . "\n<br />");
echo ('UM Sammelwahrscheinlichkeit Menge: ' . number_format($sammelwahrscheinlichkeit_menge, ) . "\n<br />");
echo ('UM Sammelfaktor: ' . number_format($sammelfaktor, 2) . "\n<br />");
}
echo('Sammelformreduktion: INH '.number_format($sammelformreduktion_inhalt, 2 , ',', '.').' + UM '.number_format($sammelformreduktion_umschlag, 2 , ',', '.').' = '.number_format($sammelformreduktion, 2 , ',', '.')." €\n<br />");
echo("Qualität: ". $qualitaet_fix.' | '.$qualitaet_proz." = ".number_format($qualitaet_zuab, 2 , ',', '.')." € \n<br />");
echo("Produktionszeit: ".$zeitwert_fix.' | '.$zeitwert_proz." = ".number_format($zeit_zuab, 2 , ',', '.')." € \n<br />");
echo('Provision: '.number_format($provisionswert, 2 , ',', '.').' % | '.number_format($provision_zuschlag, 2 , ',', '.')." € \n<br />");
echo('Preisänderung total: '.number_format($preisaenderung, 2 , ',', '.')." €\n\n<br />");
}
return $preisaenderung;
}
// ####### ENDE KOPIERSEKTION PSC #######
}