if(!function_exists('getSammelformMengenAbschlagPlano')) { function getSammelformMengenAbschlagPlano($menge) { return 1; } // ####### Beginn Kopiersektion PSC ####### // DIGITALDRUCK function getPrePressDIGIPlanoFa22($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $loseblatt, $personalisierung){ //Parameter $Pstundensatz_vorstufe = 70; $Pplano_fa_aufpreis_anderes_dateiformat = 25; $Pumweltzeichen_fsc = 15; $Pumweltzeichen_blauerengel = 335; $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_kosten = $Pplano_fa_aufpreis_anderes_dateiformat; } $korrekturabzug_kosten = 0; if($korrekturabzug == 2){ $korrekturabzug_kosten = max($Pplano_digitalproof_minimal, (($breite_offen*$hoehe_offen)/62*$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('-------------------- Digitaldruck PrePress Plano-Fa --------------------'."\n"); echo('$datenuebernahme_kosten: '.round($datenuebernahme_kosten,2)."\n"); echo('$dateiformat_kosten: '.$dateiformat_kosten."\n"); echo('$umweltzeichen_kosten: '.$umweltzeichen_kosten."\n"); echo('$korrekturabzug_kosten: '.round($korrekturabzug_kosten,2)."\n\n"); } return $eigenkosten; } function getDruckNutzenDIGI($breite_offen, $hoehe_offen){ $Druckbogenbreite = 45; $Druckbogenhoehe = 32; $DruckbgRaender = 1; $drucknutzen = max( (floor(($Druckbogenbreite-$DruckbgRaender)/$breite_offen))*(floor(($Druckbogenhoehe-$DruckbgRaender)/$hoehe_offen)), (floor(($Druckbogenhoehe-$DruckbgRaender)/$breite_offen))*(floor(($Druckbogenbreite-$DruckbgRaender)/$hoehe_offen)) ); return [$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender]; } function getPrintDIGIPlanoFa22($what, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $sortenzahl, $papiersorte_sammelform, $anzblattjeblock, $wtvzuschusspapier){ $KlickKostenA4SW = 0.042 * 9.2 ; //= EK Dewart 4/2022 x Faktor $KlickKostenA4Farbe = 0.012 * 5.5; //= EK Dewart 4/2022 x Faktor [$anzahlDruckfarben, $bedruckteSeiten] = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt); [$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender] = getDruckNutzenDIGI($breite_offen, $hoehe_offen); $zuschuss_digitaldruck = 10 * $bedruckteSeiten + ($sortenzahl * 5); $nettobg = ceil(($auflage/$drucknutzen)); $bruttobg = 1.05 * $nettobg + $wtvzuschusspapier + $zuschuss_digitaldruck; $papierkosten = ($Druckbogenbreite * $Druckbogenhoehe * $papiersorte_grammatur * $papiersorte_value / 1000000000 * $bruttobg) * 1.3; $mengenabschlagDruck = 1 - log10($auflage*$auflage)/50/$drucknutzen*$bedruckteSeiten; if($druckfarben_inhalt == 1 || $druckfarben_inhalt == 3){ $klickkosten = $KlickKostenA4Farbe; }else{ $klickkosten = $KlickKostenA4SW; } $druckkosten = $bruttobg * $klickkosten * $bedruckteSeiten * $mengenabschlagDruck; if($papiersorte_sammelform == 0){ $ruestkosten = 20 + $sortenzahl * 3; }else{ $ruestkosten = 10 + $sortenzahl * 3; } $eigenkosten = $ruestkosten + $druckkosten; $fremdkosten = $papierkosten; // Einzelwerte ausgeben if($what=='debug'){ echo('-----> '.$auflage.' x '.$breite_offen.' x '.$hoehe_offen); echo(' ----- Digitaldruck PRINT Plano-Fa --------------------'."\n"); echo('Papier: '.$Druckbogenbreite.' x '.$Druckbogenhoehe.' mit 1.05 x '.$nettobg.' Nettobg. + '.$zuschuss_digitaldruck.' ZU Druck + '.$wtvzuschusspapier.' ZU WTV = '.$bruttobg.' zu '.$drucknutzen.' Nutzen | '); echo('Rüstkosten: '.round($ruestkosten,2)." Euro\n"); echo('Druckkosten: '.(round($druckkosten,2))." Euro\n"); echo('Papier: '.round($papierkosten,2)." Euro\n"); echo('Klickkosten ohne Abschlag: '.$klickkosten.' mit Mengenabschlag Druck: '.$mengenabschlagDruck."\n"); echo('Gesamte Eigenkosten Print: '.round($eigenkosten,2)."\n"); echo('Gesamte Fremdkosten Print: '.round($fremdkosten,2)."\n"); echo('Gesamtkosten Print: '.(round($eigenkosten+$fremdkosten,2))." Euro\n\n"); } return [$eigenkosten, $fremdkosten, $drucknutzen, $nettobg, $zuschuss_digitaldruck, $wtvzuschusspapier, $papierkosten]; } function getWTVDIGIPlanoFa22($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, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender){ //Parameter Digitaldruck $Druckbogenbreite = 45; $Druckbogenhoehe = 32; $Pstundensatz_wtv = 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/ 10000000 * 1.1; $wtvfrachtpreis = 50 + $wtvfrachtgewicht/500*15; $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 = 15; $Pklebepunkte_lose_pro_tausend = 12; $Pklebepunkte_vorkonf_fix = 15; $Pklebepunkte_vorkonf_pro_tausend = 47; $Phaftstreifen_lose_fix = 15; $Phaftstreifen_lose_pro_tausend = 7; $Phaftstreifen_vorkonf_fix = 45; $Phaftstreifen_vorkonf_pro_tausend = 77; $haftstreifen_material_pro_cm = 0.002; $Pplano_stanzen_fix1 = 35; $Pplano_stanzen_fix2 = 97.5; $Pplano_stanzen_var1 = 14; $Pplano_stanzen_var2 = 37.5; $Poesen_fixpreis= 45; $Poesen_stkpreis = 0.20; $Pplano_fa_fixpreis_bohren = 25; $Pplano_fa_tsdpreis_bohren = 5; $Pplano_fa_fixpreis_ecken_runden = 15; $Pplano_fa_tsdpreis_ecken_runden = 16; $Pplano_fa_fixpreis_buendeln = 15; $Pplano_fa_preis_je_buendel = 0.09; //endschneiden + verpacken Digitaldruck $zeit_endschneiden = (20+5*$sortenzahl+(sqrt($auflage/5)))/60; $kosten_endschneiden = $zeit_endschneiden*$Pstundensatz_wtv; $wtveigenkosten += $kosten_endschneiden; $wtvzuschusspapier += (10 + $auflage * 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(!($falzung == 1 && $papiersorte_grammatur > 169)){ //wenn nur Morgana nötig ist $wtvfrachtkosten += $wtvfrachtpreis; } } 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 * 30) / $drucknutzen; if($falzung == 1 && $papiersorte_grammatur > 169){ //wenn nur Morgana nötig ist $zeit_falzung = 0; } } $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 = $loseblatt * 20; //ecken runden Digitaldruck $kosten_eckenrunden = 0; if($ecken_runden != 0){ $kosten_eckenrunden = 1/$grammaturfaktor_geschw_wtv * $auflage*$Pplano_fa_tsdpreis_ecken_runden/1000+$Pplano_fa_fixpreis_ecken_runden; } $zeit_eckenrunden = $kosten_eckenrunden / $Pstundensatz_wtv; $wtveigenkosten += $kosten_eckenrunden; //bohren, lochen Digitaldruck $kosten_bohren_lochen = 0; if($bohren_lochen != 0){ $bohrformatliste = array(array(0.1,2),array(5,1.5),array(10,1.2),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){ $bohraufschlag *= 2; } if(($bohren_lochen == 2) && ($bohraufschlag == 1)){$bohren_lochen = 1;} //für DIN A4 2-fach Sonderpreis $kosten_bohren_lochen = $bohraufschlag * ($Pplano_fa_fixpreis_bohren + 1/$grammaturfaktor_geschw_wtv * $auflage/1000*$bohren_lochen*$Pplano_fa_tsdpreis_bohren); } $zeit_bohren_lochen = $kosten_bohren_lochen / $Pstundensatz_wtv; $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 = 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 = 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 / 1000); $wtvzuschusspapier += ($auflage * 0.01 + 50) / $drucknutzen; } $wtvfremdkosten += $kosten_personalisierung; //oesen Digitaldruck $kosten_oesen = 0; if($oesen != 0){ $kosten_oesen = $Poesen_fixpreis + $auflage * $Poesen_stkpreis; $wtvzuschusspapier += ($auflage * 0.005 + 30) / $drucknutzen; } $wtveigenkosten += $kosten_oesen; //stanzung Digitaldruck $kosten_stanzung = 0; $kosten_werkzeug_stanzung_1N = 0; $kosten_werkzeug_stanzung = 0; $nutzen_stanzung = 1; $stanzmaschine = 'keine'; if($stanzung != 0 && $stanzung != 99){ $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 $wtvzuschusspapier += ($auflage * 0.01 + 50) / $drucknutzen; $kosten_werkzeug_stanzung_1N = sqrt($breite_offen*$hoehe_offen)*2+85; if(($breite_offen > 33 || $hoehe_offen > 33) || ($breite_offen > 23 && $hoehe_offen > 23)){ $kosten_stanzung = $Pplano_stanzen_fix2 + $auflage * $Pplano_stanzen_var2 / 1000; $stanzmaschine = "zylinder"; if($stanzung == 2){ $kosten_stanzung += $kosten_werkzeug_stanzung_1N; } }else{ $kosten_stanzung = $Pplano_stanzen_fix1 + $auflage * $Pplano_stanzen_var1 / 1000; $stanzmaschine = "tiegel"; if($stanzung == 2){ $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; } } } //Sonderfall Banderolen korrigieren if($stanzmaschine = 'zylinder' && $stanzung == 1 && ($nutzen_stanzung * $breite_offen < 20 || $nutzen_stanzung * $hoehe_offen < 20)){ $kosten_stanzung += 35; } $wtvfremdkosten += $kosten_stanzung; //bündeln Digitaldruck $kosten_buendeln = 0; $buendelfaktor = 1; if($hoehe_geschl > 29.7 || $breite_geschl > 29.7 || $hoehe_offen > 29.7 || $breite_offen > 29.7){ $buendelfaktor = 2; } if($falzung == 'nein' || $falzung == 0){ $buendelfaktor *= 2; } if($buendeln != 0){ $kosten_buendeln = $Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pplano_fa_preis_je_buendel * $buendelfaktor; } $wtveigenkosten += $kosten_buendeln; //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; //Werte ausgeben if($what=='debug'){ echo('-------------------- Digitaldruck WTV Plano-Fa --------------------'."\n"); echo('$kosten_endschneiden: '.round($kosten_endschneiden,2).' | $zeit_endschneiden: '.round($zeit_endschneiden,2)."\n"); if($kosten_falzung != 0){echo('$kosten_falzung: '.round($kosten_falzung,2).' | $zeit_falzung: '.round($zeit_falzung,2)."\n"); echo('$fakt_falzung: '.$fakt_falzung."\n"); } if($kosten_nuten != 0){echo('$kosten_nuten: '.round($kosten_nuten,2).' | '.'$zeit_nuten: '.round($zeit_nuten,2)."\n");} if($kosten_personalisierung != 0){echo('$kosten_personalisierung: '.round($kosten_personalisierung,2)."\n");} if($kosten_eckenrunden != 0){echo('$kosten_eckenrunden: '.round($kosten_eckenrunden,2).' | '.'$zeit_eckenrunden: '.round($zeit_eckenrunden,2)."\n");} if($kosten_bohren_lochen != 0){echo('$kosten_bohren_lochen: '.round($kosten_bohren_lochen,2).' | '.'$zeit_bohren_lochen: '.round($zeit_bohren_lochen,2)."\n");} if($kosten_loseblatt != 0){echo('$kosten_loseblatt: '.round($kosten_loseblatt,2).' | '.'$zeit_loseblatt: '."\n");} echo('$wtvzuschusspapier_kosten: '.round($wtvzuschusspapier_kosten,2).' | $wtvzuschusspapier: '.round($wtvzuschusspapier,2)."\n"); echo('----------------------------------------'."\n"); echo('$wtvfrachtkosten: '.round($wtvfrachtkosten,2)."\n"); echo('$wtveigenkosten: '.round($wtveigenkosten,2)."\n"); echo('$wtvfremdkosten: '.round($wtvfremdkosten,2)."\n\n"); } return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung]; } function getZUABPlanoDigiFA22($what, $auflage, $eigenkosten_total, $fremdkosten_total, $papiersorte_sammelform, $druckfarben_inhalt, $produktionszeit, $qualitaet, $sortenzahl, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $aktionsrabatt, $kundengruppenrabatt, $onlinerabatt){ $preisaend = 0; $provisions_betrag = 0; $aktionsrabatt_betrag = 0; $onlinerabatt_betrag = 0; $kundengruppenrabatt_betrag = 0; $produktionszeit_betrag = 0; $qualitaet_betrag = 0; if($onlinerabatt == 1){$onlinerabatt_betrag = -10;} if($kundengruppenrabatt == 1){$kundengruppenrabatt_betrag = $eigenkosten_total* -0.03;} if($aktionsrabatt == 1){$aktionsrabatt_betrag = $eigenkosten_total * 0.04;} if($papiersorte_sammelform == 1){$preisaend += -10;} if($provisionsart == 1){$provisions_betrag = $provisionswert / 100 * ($eigenkosten_total+$fremdkosten_total);} if($produktionszeit == 1){} if($produktionszeit == 2){} if($produktionszeit == 3){} if($qualitaet == 1){} if($qualitaet == 2){} if($qualitaet == 3){} $preisaend = $onlinerabatt_betrag + $aktionsrabatt_betrag + $kundengruppenrabatt_betrag + $provisions_betrag + $produktionszeit_betrag + $qualitaet_betrag; return [$preisaend, $onlinerabatt_betrag, $aktionsrabatt_betrag, $kundengruppenrabatt_betrag, $provisions_betrag, $produktionszeit_betrag, $qualitaet_betrag]; } function getPrintDIGIBRO22(){ return 0; } function getDigitALLPlanoFa22($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, $aktionsrabatt, $kundengruppenrabatt, $onlinerabatt){ $eigenkosten_prepress = getPrePressDIGIPlanoFa22($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $loseblatt, $personalisierung); [$drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender] = getDruckNutzenDIGI($breite_offen, $hoehe_offen); [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung] = getWTVDIGIPlanoFa22($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, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender); [$eigenkosten_digitaldruck, $fremdkosten_digitaldruck, $drucknutzen, $nettobg, $zuschuss_digitaldruck, $wtvzuschusspapier, $papierkosten] = getPrintDIGIPlanoFa22($what, $papiersorte_grammatur, $papiersorte_value, $auflage, $druckfarben_inhalt, $breite_offen, $hoehe_offen, $sortenzahl, $papiersorte_sammelform, $anzblattjeblock, $wtvzuschusspapier); [$preisaend, $onlinerabatt_betrag, $aktionsrabatt_betrag, $kundengruppenrabatt_betrag, $provisions_betrag, $produktionszeit_betrag, $qualitaet_betrag] = getZUABPlanoDigiFA22($what, $auflage, $eigenkosten_digitaldruck+$eigenkosten_prepress+$wtveigenkosten, $fremdkosten_digitaldruck+$wtvfremdkosten, $papiersorte_sammelform, $druckfarben_inhalt, $produktionszeit, $qualitaet, $sortenzahl, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $aktionsrabatt, $kundengruppenrabatt, $onlinerabatt); $endpreisnetto = $eigenkosten_prepress + $eigenkosten_digitaldruck + $papierkosten + $fremdkosten_digitaldruck + $wtveigenkosten + $wtvfremdkosten + $wtvfrachtkosten; $versandgewicht = 1.1 * $breite_offen * $hoehe_offen / 10000 * $auflage * $papiersorte_grammatur; return [$endpreisnetto, $onlinerabatt_betrag, $kundengruppenrabatt_betrag, $aktionsrabatt_betrag, $versandgewicht, $nettobg, $zuschuss_digitaldruck, $drucknutzen, $Druckbogenbreite, $Druckbogenhoehe, $DruckbgRaender, $preisaend, $provisions_betrag, $produktionszeit_betrag, $qualitaet_betrag]; } 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 getPrePressPlanoFa21($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $sortenzahl, $druckfarben_inhalt, $breite_offen, $hoehe_offen) { //Parameter $Pstundensatz_vorstufe = 70; $Pplano_fa_aufpreis_anderes_dateiformat = 25; $Pumweltzeichen_fsc = 15; $Pumweltzeichen_blauerengel = 335; $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_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)); } $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"); echo('$datenuebernahme_kosten: '.round($datenuebernahme_kosten,2)."\n"); echo('$dateiformat_kosten: '.$dateiformat_kosten."\n"); echo('$umweltzeichen_kosten: '.$umweltzeichen_kosten."\n"); echo('$korrekturabzug_kosten: '.round($korrekturabzug_kosten,2)."\n\n"); } return $eigenkosten; } function getPrintPlanoFa21($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) { 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; $Druckfarbenpreis = 1.2; // Preisfaktor für Fremdkosten $rabattierfaehigekosten = 0; // war + 0.4 - evtl. nur +0.3 für nicht gestanzt/perf./ ... sonst +1.2 ??? !!! $hoehe_offen += 0.3; $breite_offen += 0.3; $kostenDruckplatte = 18; $Paufpreis_drucklack_matt_voll = 10; $Paufpreis_drucklack_matt_partiell = 30; $Paufpreis_drucklack_glzd_voll = 55; $Paufpreis_drucklack_glzd_partiell = 95; $farbarray = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt); $anzahlDruckfarben = $farbarray[0]; $bedruckteSeiten = $farbarray[1]; $sammelarray = getSammelformWertePlanoFa21($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $bedruckteSeiten, $sortenzahl); $sammelfaktor_papier = $sammelarray[2]; $sammelwahrscheinlichkeit_menge = $sammelarray[1]; $sammelwahrscheinlichkeit_format_sorten = $sammelarray[0]; $formate=array(); if($papierType1) { $formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 0); } if($papierType1 && $papier_vs_rs_unterschiedlich == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $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 == 0) { $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 1); } foreach($formate as $key => $format) { $greiferRand = getGreiferRand($format); $bogenRaender = getBogenRaender($format); 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)))) ); }else{ $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); } if($nutzen_calc < 1){ $nutzen_calc = 0.001; // 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']); if($maschine1 == "gto") { $druckgaenge1 = $bedruckteSeiten*($anzahlDruckfarben+$drucklack); $fortdruckmaschine1 = 0; $anzahlFarbw1 = getAnzFarbwechselGTO($druckfarben_inhalt); $stundensatz1 = 40 + $anzahlFarbw1*5; $grundzuschuss = 50; $sammelfaktor_druckmaschine = 0.3; if($papiersorte_grammatur > 300){$stundensatz1 *= 4;} }else{ $druckgaenge1 = ceil(($anzahlDruckfarben+$drucklack)/5)*$bedruckteSeiten; $fortdruckmaschine1 = 2500; $anzahlFarbw1 = getAnzFarbwechselMAN($druckfarben_inhalt); $stundensatz1 = getMaschineKosten21($format, $anzahlFarbw1); $grundzuschuss = 100; $sammelfaktor_druckmaschine = 1.0; } if($nutzen_calc/$sortenzahl < $bedruckteSeiten) { $passtdrauf1 = FALSE; $sortenaufschlag1 = ($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; $sortenaufschlag1 = ($sortenzahl-1)*(10+$breite_offen*$hoehe_offen/30); $zuschussfaktor1 = 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)); $wtvgeschwindigkeit1 = (log10($auflage*$auflage)*900)*(100-sqrt((150-$papiersorte_grammatur)*(150-$papiersorte_grammatur))/3.6)/100; $druckgeschwindigkeit1 = $wtvgeschwindigkeit1 + $fortdruckmaschine1; $nettobg1 = ceil($auflage/$nutzen_calc); $druckzeit_farbw1 = ($anzahlFarbw1*45/60); $druckzeitruesten1 = (20*$druckgaenge1/60)+($ctp1*5/60)+$druckzeit_farbw1; $druckzeitfortdruck1 = (($zuschuss1+$nettobg1)/$druckgeschwindigkeit1*$druckgaenge1); $druckzeittotal1 = $druckzeitruesten1 + $druckzeitfortdruck1; $druckkosten1 = $druckzeittotal1 * $stundensatz1; $papierwert1 = ($format['hoehe'] * $format['breite'] * $papiersorte_grammatur * $papiersorte_value / 1000000000); $nettobgkosten1 = $papierwert1 * $nettobg1; $zuschusskosten1 = $papierwert1 * $zuschuss1; $papierkosten1 = $nettobgkosten1 + $zuschusskosten1; if((in_array($druckfarben_inhalt,array(1,2,3,18,19))) && ($papiersorte_sammelform != 1)){ $sammelfaktor = (($sammelwahrscheinlichkeit_format_sorten*75)*($sammelwahrscheinlichkeit_menge*25)/(75*25))*$sammelfaktor_papier*$sammelfaktor_druckmaschine; $rabattierfaehigekosten1 = ($sammelfaktor) * (($ctp1 * $kostenDruckplatte) + (($druckzeitruesten1 - $druckzeit_farbw1 * 0.75) * $stundensatz1)); }else{ $sammelfaktor = 0; $rabattierfaehigekosten1 = 0; } $price_calc = ($papierkosten1)+($kostenDruckplatte*$ctp1)+($druckkosten1)+($sortenaufschlag1); if($what=='debug'){ echo('Umschlagen: '.$format['umschlagen'].' | '); echo($format['hoehe'].' x '.$format['breite'].' >>> '.round($price_calc,2).' - '.round($rabattierfaehigekosten1,2).' = '.round(($price_calc-$rabattierfaehigekosten1),2)."\n"); echo(' mit Nettobg.: '.$nettobg1.' = ('.round($nettobgkosten1,2).' €) + Zuschuss: '.$zuschuss1.' = ('.round($zuschusskosten1,2)." €)\n"); echo(' mit CTP: '.$ctp1.' | Ntz: '.$nutzen_calc.' | Sammelfak.: '.round($sammelfaktor,2)."\n"); if(($price_calc - $rabattierfaehigekosten1) < ($price - $rabattierfaehigekosten) && $nettobg1 != 0){ echo(' >>> günstiger als Vorgänger'."\n\n"); } } if(($price_calc - $rabattierfaehigekosten1) < ($price - $rabattierfaehigekosten) && $nettobg1 != 0) { $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; } } // zurückkorrigieren für ZUAB-Formel $rabattierfaehigekosten = ($ctp * $kostenDruckplatte) + (($druckzeitruesten - $druckzeit_farbw * 0.75) * $stundensatz) + ($zuschuss * $bogen_hoehe * $bogen_breite * $papiersorte_grammatur * $papiersorte_value / 1000000000); $lackart_kosten = 0; if($drucklack != '0'){ if($lackart == '2'){ $lackart_kosten = $Paufpreis_drucklack_matt_voll; } if($lackart == '3'){ $lackart_kosten = $Paufpreis_drucklack_matt_partiell; } if($lackart == '4'){ $lackart_kosten = $Paufpreis_drucklack_glzd_voll; } if($lackart == '5'){ $lackart_kosten = $Paufpreis_drucklack_glzd_partiell; } } $zusdruckplatten_kosten = $zusdruckplatten*($stundensatz/60*5+$kostenDruckplatte+20); $papieraufschlagfaktor = 1.35-(MIN(($papierkosten/$papiersorte_value*100)/5000,0.2)); $price -= $papierkosten; $papierkosten *= $papieraufschlagfaktor; $price += $papierkosten; $farbkosten = ($nettobg + $zuschuss) * ($anzahlDruckfarben+$drucklack*6+$anzahlFarbw) * $Druckfarbenpreis * $bedruckteSeiten / 1000; $zusfarbwechsel_kosten = $zusfarbwechsel*45*$stundensatz/60; $price += $farbkosten + $lackart_kosten + $zusfarbwechsel_kosten + $zusdruckplatten_kosten; $eigenkosten = $price - $farbkosten - $papierkosten; $fremdkosten = $price - $eigenkosten; // Einzelwerte ausgeben if($what=='debug'){ echo('-------------------- PRINT Plano-Fa --------------------'."\n"); echo($maschine.' = '.$stundensatz.' Euro Std.Satz'."\n"); echo('Papier: '.$bogen_hoehe.' x '.$bogen_breite.' mit '.$nettobg.' + '.$zuschuss.' = '.($zuschuss+$nettobg).' in '.$nutzen.' Nutzen | '); echo("Umschlagen: ".($format['umschlagen'])."\n"); echo('Geschw.: '.round($druckgeschwindigkeit,2).' | Druckgänge: '.$druckgaenge.' | CTP: '.$ctp.' | Farbw.: '.$anzahlFarbw.' '."\n"); echo('Druckzeit rüsten: '.round($druckzeitruesten,1).' | Druckzeit Fortdruck: '.round($druckzeitfortdruck,1)."\n"); if($sortenzahl > 1){echo('Sorten: '.$sortenzahl.' | Sortenaufschlag: '.(round($sortenaufschlag,2)).' | Passt drauf: '); echo (int)$passtdrauf; echo("\n");}; if($zusdruckplatten_kosten != 0){echo('$zusdruckplatten_kosten: '.$zusdruckplatten_kosten."\n");} if($zusfarbwechsel_kosten != 0){echo('$zusfarbwechsel_kosten: '.$zusfarbwechsel_kosten."\n");} if($lackart_kosten != 0){echo('$lackart_kosten: '.$lackart_kosten."\n");} echo('Kosten CTP: '.$ctp*$kostenDruckplatte."\n"); echo('Druck: '.(round($druckkosten,2))." Euro\n"); echo('Papier: '.round($papierkosten,2).' Euro | PapierFaktor: '.round($papieraufschlagfaktor,2)."\n"); echo('$farbkosten: '.round($farbkosten,2)." Euro\n"); echo('$rabattierfaehigekosten: '.round($rabattierfaehigekosten,2)."\n"); echo('Gesamte Eigenkosten Print: '.round($eigenkosten,2)."\n"); echo('Gesamte Fremdkosten Print: '.round($fremdkosten,2)."\n"); echo('Gesamtkosten Print: '.(round($price,2))." Euro\n\n"); } if($what == 'allarray' || $what == 'debug') { 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]; } return FALSE; } function getWTVPlanoFa21($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, $cito_anstanzung, $verschluss, $durchmesser_klebepkt, $beilage, $nummerierung, $laserstanzung, $ecken_runden, $bohren_lochen, $kaschierung, $kaschierung_anzahl, $frei10fixpreis, $frei10tsdpreis, $frei20fixpreis, $frei20tsdpreis, $musterversand, $absender) { //Parameter $Pplano_fa_mindpreis_kaschierung = 135; $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_fixpreis_ecken_runden = 15; $Pplano_fa_tsdpreis_ecken_runden = 16; $Pplano_fa_tsdpreis_ecken_runden_nassleimetik = 1.50; $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 = 15; $Pklebepunkte_lose_pro_tausend = 12; $Pklebepunkte_vorkonf_fix = 15; $Pklebepunkte_vorkonf_pro_tausend = 47; $Phaftstreifen_lose_fix = 15; $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_stanzen_fix1 = 35; $Pplano_stanzen_fix2 = 97.5; $Pplano_stanzen_var1 = 14; $Pplano_stanzen_var2 = 37.5; $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 = 30; $Pstundensatz_wtv_maschinen = 50; $Pfaktor_klein_gross_falzung = 2.1; $Paufpreis_falzen_altarfalz = 50; $Pfalzbruch_ruesten = 10; $wtveigenkosten = 0; $wtvfremdkosten = 0; $rabattierkosten = 0; $wtvzuschusspapier = 0; $wtvfrachtkosten = 0; $wtvfrachtgewicht = $auflage * $papiersorte_grammatur * $hoehe_offen * $breite_offen / 10000000 * 1.1; $wtvfrachtpreis = 50 + $wtvfrachtgewicht/500*15; $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; if($anzblattjeblock == 0){ $anzblattjeblock = 1; $leimung = 0; } if($anzblattjeblock != 1){ $leimung = 1; } //endschneiden + verpacken $zeit_endschneiden = (15+(sqrt($auflage*$anzblattjeblock/2)))/60; if(($buendeln != 0) && ($falzung == 'nein' || $falzung == 0)){ $absteckenaufschlag = ceil($auflage / $buendeln) * 0.001; $zeit_endschneiden += $absteckenaufschlag; } $kosten_endschneiden = $zeit_endschneiden*$Pstundensatz_wtv; $wtveigenkosten += $kosten_endschneiden; $wtvzuschusspapier += (10 + $auflage * 0.002) / $drucknutzen; //falzung $zeit_falzung = 0; $falz_komplex = 1; $fakt_falzung = 1; if(!($falzung == 'nein' || $falzung == 0)){ if($falzung > 4 || $stanzung != 0){ $falz_komplex = 1.5; } $zeit_falzung = (15+$falzung*$falz_komplex*$Pfalzbruch_ruesten)/60+($auflage/$wtvgeschwindigkeit); 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; }else{ $fakt_falzung = $Pfaktor_klein_gross_falzung; if($falzung > 5){ $fakt_falzung *= 1.5; } if($falzung > 6){ $fakt_falzung *= 1.9; } if($falzung > 1 && $papiersorte_grammatur > 169){ //wenn Fischer nötig ist $wtvfrachtkosten += $wtvfrachtpreis; } } 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 * 30) / $drucknutzen; if($falzung == 1 && $papiersorte_grammatur > 169){ //wenn nur Morgana nötig ist $zeit_falzung = 0; } } $kosten_falzung = $zeit_falzung * $fakt_falzung * $Pstundensatz_wtv_maschinen; $wtveigenkosten += $kosten_falzung; //nuten $zeit_nuten = 0; if($papiersorte_grammatur > 169 && (!($falzung == 'nein' || $falzung == 0))){ $zeit_nuten = ( $auflage / 3000 + 0.5 ); $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) / $drucknutzen; } $zeit_leimen = $kosten_leimen / $Pstundensatz_wtv; $wtveigenkosten += $kosten_leimen; //bündeln $kosten_buendeln = 0; $buendelfaktor = 1; if($hoehe_geschl > 29.7 || $breite_geschl > 29.7 || $hoehe_offen > 29.7 || $breite_offen > 29.7){ $buendelfaktor = 2; } if($falzung == 'nein' || $falzung == 0){ $buendelfaktor *= 2; } if($buendeln != 0){ $kosten_buendeln = $Pplano_fa_fixpreis_buendeln + $auflage / $buendeln * $Pplano_fa_preis_je_buendel * $buendelfaktor; } $zeit_buendeln = $kosten_buendeln / $Pstundensatz_wtv; $wtveigenkosten += $kosten_buendeln; //perforation $kosten_perforation = 0; $zeit_perforation = 0; $kosten_werkzeug_perforation_1N = 15; $kosten_werkzeug_perforation = 0; $nutzen_perforation = 0; $perfmaschine = 'keine'; if($perforation != 0){ $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 $wtvzuschusspapier += ($auflage * 0.01 + 50) / $drucknutzen; if(($breite_offen > 33 || $hoehe_offen > 33) || ($breite_offen > 23 && $hoehe_offen > 23)){ $kosten_perforation = $Pplano_stanzen_fix2 + $auflage * $Pplano_stanzen_var2 / 1000; $perfmaschine = "zylinder"; }else{ $kosten_perforation = $Pplano_stanzen_fix1 + $auflage * $Pplano_stanzen_var1 / 1000; $perfmaschine = "tiegel"; } $kosten_perforieren_fix = $Pplano_stanzen_fix2; $kosten_perforieren_var = $Pplano_stanzen_var2; $perfmaschine_temp = "zylinder"; for ($ntz = 1; $ntz <= $maxnutzenanzZylinder; $ntz++){ $kosten_perf_temp = $kosten_perforieren_fix + $auflage * $kosten_perforieren_var / 1000 / $ntz + $kosten_werkzeug_perforation_1N * $ntz; if($kosten_perf_temp < $kosten_perforation){ $kosten_perforation = $kosten_perf_temp; $nutzen_perforation = $ntz; $kosten_werkzeug_perforation = $kosten_werkzeug_perforation_1N * $ntz; $perfmaschine = $perfmaschine_temp; } } $kosten_perforieren_fix = $Pplano_stanzen_fix1; $kosten_perforieren_var = $Pplano_stanzen_var1; $perfmaschine_temp = "tiegel"; for ($ntz = 1; $ntz <= $maxnutzenanzTiegel; $ntz++){ $kosten_perf_temp = $kosten_perforieren_fix + $auflage * $kosten_perforieren_var / 1000 / $ntz + $kosten_werkzeug_perforation_1N * $ntz; if($kosten_perf_temp < $kosten_perforation){ $kosten_perforation = $kosten_perf_temp; $nutzen_perforation = $ntz; $kosten_werkzeug_perforation = $kosten_werkzeug_perforation_1N * $ntz; $perfmaschine = $perfmaschine_temp; } } } $zeit_perforation = $kosten_perforation / $Pstundensatz_wtv_maschinen; $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 $kosten_stanzung = 0; $zeit_stanzung = 0; $kosten_werkzeug_stanzung_1N = 0; $kosten_werkzeug_stanzung = 0; $nutzen_stanzung = 1; $stanzmaschine = 'keine'; if($stanzung != 0 && $stanzung != 99){ $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 $wtvzuschusspapier += ($auflage * 0.01 + 50) / $drucknutzen; $kosten_werkzeug_stanzung_1N = sqrt($breite_offen*$hoehe_offen)*2+85; if(($breite_offen > 33 || $hoehe_offen > 33) || ($breite_offen > 23 && $hoehe_offen > 23)){ $kosten_stanzung = $Pplano_stanzen_fix2 + $auflage * $Pplano_stanzen_var2 / 1000; $stanzmaschine = "zylinder"; if($stanzung == 2){ $kosten_stanzung += $kosten_werkzeug_stanzung_1N; } }else{ $kosten_stanzung = $Pplano_stanzen_fix1 + $auflage * $Pplano_stanzen_var1 / 1000; $stanzmaschine = "tiegel"; if($stanzung == 2){ $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; } } } //Sonderfall Banderolen korrigieren if($stanzmaschine = 'zylinder' && $stanzung == 1 && ($nutzen_stanzung * $breite_offen < 20 || $nutzen_stanzung * $hoehe_offen < 20)){ $kosten_stanzung += 35; } $zeit_stanzung = $kosten_stanzung / $Pstundensatz_wtv_maschinen; $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 $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 = 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 = 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; $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 $kosten_eckenrunden = 0; if($ecken_runden == 3 || $ecken_runden == 5){ $kosten_eckenrunden = 1/$grammaturfaktor_geschw_wtv * $auflage*$anzblattjeblock*$Pplano_fa_tsdpreis_ecken_runden/1000+$Pplano_fa_fixpreis_ecken_runden; } if($ecken_runden == 99){ $kosten_eckenrunden = 1/$grammaturfaktor_geschw_wtv * $auflage*$Pplano_fa_tsdpreis_ecken_runden_nassleimetik/1000+$Pplano_fa_fixpreis_ecken_runden; } $zeit_eckenrunden = $kosten_eckenrunden / $Pstundensatz_wtv; $wtveigenkosten += $kosten_eckenrunden; //bohren, lochen $kosten_bohren_lochen = 0; if($bohren_lochen != 0){ $bohrformatliste = array(array(0.1,2),array(5,1.5),array(10,1.2),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 *= 2; } if(!($falzung == 'nein' || $falzung == 0)){ $bohraufschlag *= 2; } if(($bohren_lochen == 2) && ($bohraufschlag == 1)){$bohren_lochen = 1;} //für DIN A4 2-fach Sonderpreis $kosten_bohren_lochen = $bohraufschlag * ($Pplano_fa_fixpreis_bohren + 1/$grammaturfaktor_geschw_wtv * $auflage*$anzblattjeblock/1000*$bohren_lochen*$Pplano_fa_tsdpreis_bohren); } $zeit_bohren_lochen = $kosten_bohren_lochen / $Pstundensatz_wtv; $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($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 = $hfs_durchlaeufe * 2; $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; $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; } $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"); echo('$kosten_endschneiden: '.round($kosten_endschneiden,2).' | $zeit_endschneiden: '.round($zeit_endschneiden,2)."\n"); if($kosten_falzung != 0){echo('$kosten_falzung: '.round($kosten_falzung,2).' | $zeit_falzung: '.round($zeit_falzung,2)."\n"); echo('$fakt_falzung: '.$fakt_falzung.' | $falz_komplex : '.$falz_komplex ."\n"); } if($kosten_nuten != 0){echo('$kosten_nuten: '.round($kosten_nuten,2).' | '.'$zeit_nuten: '.round($zeit_nuten,2)."\n");} if($kosten_leimen != 0){echo('$kosten_leimen: '.round($kosten_leimen,2).' | '.'$zeit_leimen: '.round($zeit_leimen,2)."\n");} if($kosten_buendeln != 0){echo('$kosten_bündeln: '.round($kosten_buendeln,2).' | '.'$zeit_bündeln: '.round($zeit_buendeln,2)."\n");} if($kosten_perforation != 0){echo('$kosten_perforation: '.round($kosten_perforation,2).' | '.'$zeit_perforation: '.round($zeit_perforation,2)."\n".'$kosten_werkzeug_perfo: '.round($kosten_werkzeug_perforation,2)."\n".'Nutzen Perfo: '.round($nutzen_perforation,2).' | '.'$zeit_perfo: '.round($zeit_perforation,2).' | '.'Perfo.maschine: '.$perfmaschine."\n");} if($kosten_duftdruck != 0){echo('$kosten_duftdruck: '.round($kosten_duftdruck,2).' | '.'$zeit_duftdruck: '.round($zeit_duftdruck,2)."\n");} if($kosten_oesen != 0){echo('$kosten_oesen: '.round($kosten_oesen,2).' | '.'$zeit_oesen: '.round($zeit_oesen,2)."\n");} if($kosten_praegung != 0){echo('$kosten_praegung: '.round($kosten_praegung,2).' | '.'$kosten_werkzeug_praegung: '.round($kosten_werkzeug_praegung,2).' | '.'Gesamtosten_praegung: '.round(($kosten_praegung+$kosten_werkzeug_praegung),2).' | '.'$zeit_praegung: '.round($zeit_praegung,2)."\n");} if($kosten_stanzung != 0){echo('$kosten_stanzung (ggf. inkl. Werkzeug): '.round($kosten_stanzung,2).' | '.'$kosten_werkzeug_stanzung: '.round($kosten_werkzeug_stanzung,2)."\n".'Nutzen Stanzung: '.round($nutzen_stanzung,2).' | '.'$zeit_stanzung: '.round($zeit_stanzung,2).' | '.'Stanzmaschine: '.$stanzmaschine."\n");} if($kosten_cito != 0){echo('$kosten_cito: '.round($kosten_cito,2).' | '.'$zeit_cito: '.round($zeit_cito,2).' | '.'$ntz_cito: '.round($ntz_cito,2)."\n");} if($kosten_verschluss != 0){echo('$kosten_verschluss: '.round($kosten_verschluss,2).' | '.'$zeit_verschluss: '.round($zeit_verschluss,2)."\n");} if($kosten_beilage != 0){echo('$kosten_beilage: '.round($kosten_beilage,2).' | '.'$zeit_beilage: '.round($zeit_beilage,2)."\n");} if($kosten_nummerierung != 0){echo('$kosten_nummerierung: '.round($kosten_nummerierung,2).' | '.'$zeit_nummerierung: '.round($zeit_nummerierung,2)."\n");} if($kosten_laserstanzung != 0){echo('$kosten_laserstanzung: '.round($kosten_laserstanzung,2).' | '.'$zeit_laserstanzung: '.round($zeit_laserstanzung,2)."\n");} if($kosten_eckenrunden != 0){echo('$kosten_eckenrunden: '.round($kosten_eckenrunden,2).' | '.'$zeit_eckenrunden: '.round($zeit_eckenrunden,2)."\n");} if($kosten_bohren_lochen != 0){echo('$kosten_bohren_lochen: '.round($kosten_bohren_lochen,2).' | '.'$zeit_bohren_lochen: '.round($zeit_bohren_lochen,2).' | $bohraufschlag: '.$bohraufschlag."\n");} if($kosten_kaschierung != 0){echo('$kosten_kaschierung: '.round($kosten_kaschierung,2).' | '.'$zeit_kaschierung: '.round($zeit_kaschierung,2)."\n");} if($kosten_loseblatt != 0){echo('$kosten_loseblatt: '.round($kosten_loseblatt,2).' | '.'$zeit_loseblatt: '.round($zeit_loseblatt,2)."\n");} echo('$wtvzuschusspapier_kosten: '.round($wtvzuschusspapier_kosten,2).' | $wtvzuschusspapier: '.round($wtvzuschusspapier,2)."\n"); echo('----------------------------------------'."\n"); echo('$wtvfrachtkosten: '.round($wtvfrachtkosten,2)."\n"); echo('$wtveigenkosten: '.round($wtveigenkosten,2)."\n"); echo('$wtvfremdkosten: '.round($wtvfremdkosten,2)."\n\n"); } if($what == 'allarray' || $what == 'debug') { return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten, $wtvzuschusspapier, $nutzen_stanzung]; } return FALSE; } function getZUABPlanoFa21($what, $auflage, $rabattierfaehigekosten, $zuab_eigenkosten, $zuab_fremdkosten, $papiersorte_sammelform, $druckfarben_inhalt, $druckmaschine, $qualitaet, $produktionszeit, $sortenzahl, $breite_offen, $hoehe_offen, $provisionsart, $provisionswert, $anzblattjeblock) { if($anzblattjeblock == 0){ $anzblattjeblock=1; } $auflage *= $anzblattjeblock; //Sammelform $bedruckteSeiten = getAnzDruckfarbenBedruckteSeiten21($druckfarben_inhalt)[1]; $zuab_gesamtkosten = $zuab_eigenkosten + $zuab_fremdkosten; $sammelarray = getSammelformWertePlanoFa21($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $bedruckteSeiten, $sortenzahl); $sammelfaktor_papier = $sammelarray[2]; $sammelwahrscheinlichkeit_menge = $sammelarray[1]; $sammelwahrscheinlichkeit_format_sorten = $sammelarray[0]; if(strtolower($druckmaschine) == 'gto'){ $sammelfaktor_druckmaschine = 0.5; }else{ $sammelfaktor_druckmaschine = 1.0; } if($produktionszeit == 3){ $sammelfaktor_druckmaschine *= 0.8; } $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))) && ($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 if($zuab_gesamtkosten+$preisaenderung < 65){ $preisaenderung = (-1 * $zuab_gesamtkosten) + 65 + ($preisaenderung / 100); } //Provision (1 = Prozentual, 5, 10, 15, 20%) $provision_zuschlag = 0; if($provisionsart != 0){ $provision_zuschlag = ($zuab_gesamtkosten+$preisaenderung)/100*$provisionswert; } $preisaenderung += $provision_zuschlag; // Einzelwerte ausgeben if($what=='debug'){ echo('-------------------- Zu-/Abschläge Plano-Fa --------------------'."\n"); echo('$zuab_gesamtkosten: '.round($zuab_gesamtkosten,2)."\n"); echo('$rabattierfaehigekosten:. '.round($rabattierfaehigekosten,2)."\n"); echo('$sammelfaktor_papier: '.round($sammelfaktor_papier,2)."\n"); echo('$sammelwahrscheinlichkeit_format_sorten: '.round($sammelwahrscheinlichkeit_format_sorten,4)."\n"); echo('$sammelwahrscheinlichkeit_menge: '.round($sammelwahrscheinlichkeit_menge,4)."\n"); echo('$sammelfaktor: '.round($sammelfaktor,4)."\n"); echo('$sammelformreduktion: '.round($sammelformreduktion,2)."\n"); echo("Qualität: ". $qualitaet_fix.' | '.$qualitaet_proz." = ".round($qualitaet_zuab,2)."\n"); echo("Produktionszeit: ".$zeitwert_fix.' | '.$zeitwert_proz." = ".round($zeit_zuab,2)."\n"); echo('Provision: '.round($provisionswert,2).' | '.round($provision_zuschlag,2)."\n"); echo('Gesamtpreis: '.round($zuab_gesamtkosten+$preisaenderung,2)."\n"); echo('$preisaenderung total: '.round($preisaenderung,2)."\n\n"); } return $preisaenderung; } function getSammelformWertePlanoFa21($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform, $anzahlSeiten, $sortenzahl){ // (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,50,50); $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(500,98),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)); foreach($mengenliste as $n){ if($auflage >= $n[0]){ $sammelwahrscheinlichkeit_menge = $n[1]/100; } } // bis 14.10.22 $formatliste = array(array(1,99),array(155,97),array(310,95),array(623,90),array(900,80),array(1247,75),array(1400,65),array(1600,60),array(1800,55),array(2494,50),array(3100,35),array(3300,27),array(3600,20),array(4989,10),array(5100,0)); $formatliste = array(array(1,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,0)); foreach($formatliste as $n){ if($anzahlSeiten*$sortenzahl*$breite_offen*$hoehe_offen >= $n[0]){ $sammelwahrscheinlichkeit_format_sorten = $n[1]/100; } } return [$sammelwahrscheinlichkeit_format_sorten, $sammelwahrscheinlichkeit_menge, $sammelfaktor_papier]; } function getPrePressBRO21($what, $dateiformat_geliefert, $korrekturabzug, $umweltzeichen, $seiten_inhalt, $druckfarben_inhalt, $seiten_umschlag, $druckfarben_umschlag, $breite_offen, $hoehe_offen) { //Parameter $Pstundensatz_vorstufe = 70; $Pbro_aufpreis_anderes_dateiformat = 30; $Pumweltzeichen_fsc = 15; $Pumweltzeichen_blauerengel = 335; $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_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)); } $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"); echo('$datenuebernahme_kosten: '.round($datenuebernahme_kosten,2)."\n"); echo('$dateiformat_kosten: '.round($dateiformat_kosten,2)."\n"); echo('$umweltzeichen_kosten: '.round($umweltzeichen_kosten,2)."\n"); echo('$korrekturabzug_kosten: '.round($korrekturabzug_kosten,2)."\n\n"); } return $eigenkosten; } function getPrintBRO21($what, $auflage, $breite_geschlossen, $hoehe_geschlossen, $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) $price_inhalt = 9999999999; $nutzen_inhalt = 9999999999; $nettobg_inhalt = 9999999999; $zuschuss_inhalt = 9999999999; $druckbogen_hoehe_inhalt = 1000; $druckbogen_breite_inhalt = 1000; $ctp_inhalt = 999999999; $stundensatz = 99999999; $maschine = 'man'; $anzahlFarbw = 999; $passtdrauf = 0; $sortenaufschlag = 999999; $zuschussfaktor = 9; $druckkosten = 999999; $papierkosten = 999999; $druckzeittotal = 999999; $druckzeitruesten = 999999; $druckzeitfortdruck = 999; $wtvgeschwindigkeit = 999; $Druckfarbenpreis = 1.2; // Preisfaktor für Fremdkosten $rabattierfaehigekosten = 0; $kostenDruckplatte = 18; $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 // $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(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)); $beschnitt_horiz = $beschnittliste_hor_vert[$weiterverarbeitung-1][0]; $beschnitt_vert = $beschnittliste_hor_vert[$weiterverarbeitung-1][1]; $format_offen_breite = $breite_geschlossen * 2 + $beschnitt_horiz; $format_offen_hoehe = $hoehe_geschlossen + $beschnitt_vert; if($beschnittliste_hor_vert[$weiterverarbeitung-1][3] == FALSE){ $bubipappe = 0; }else{ $bubipappe = 0.4; } 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; } /* // Test ob UM = INH 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; } */ // 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 = (2500+(log10($auflage*$auflage)*900)*(100-sqrt((150-$papier_inhalt_grammatur)*(150-$papier_inhalt_grammatur))/3.6)/100); $formate=array(); if($papier_inhalt_papiertyp1) { $formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'seiten' => 4); } if($papier_inhalt_papiertyp1 && ($weiterverarbeitung == 2 || $weiterverarbeitung == 3 || $weiterverarbeitung == 6)) { $formate[] = array('type' => 2, 'breite' => 88, 'hoehe' => 63, 'seiten' => 2); } if($papier_inhalt_papiertyp2) { $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'seiten' => 4); } if($papier_inhalt_papiertyp2 && ($weiterverarbeitung == 2 || $weiterverarbeitung == 3 || $weiterverarbeitung == 6)) { $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'seiten' => 2); } if($papier_inhalt_papiertyp3) { $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'seiten' => 4); } if($papier_inhalt_papiertyp3 && ($weiterverarbeitung == 2 || $weiterverarbeitung == 3 || $weiterverarbeitung == 6)) { $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'seiten' => 2); } if($papier_inhalt_papiertyp4) { $formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'seiten' => 4); } if($papier_inhalt_papiertyp4 && ($weiterverarbeitung == 2 || $weiterverarbeitung == 3 || $weiterverarbeitung == 6)) { $formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'seiten' => 2); } if($papier_inhalt_papiertyp14) { $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'seiten' => 4); } if($papier_inhalt_papiertyp14 && ($weiterverarbeitung == 2 || $weiterverarbeitung == 3 || $weiterverarbeitung == 6)) { $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'seiten' => 2); } foreach($formate as $key => $format) { if($format['seiten'] == 4) { $calc1=floor(($format['breite']-$DruckbogenRaender_horiz)/$format_offen_breite)*floor(($format['hoehe']-$DruckbogenRaender_vert)/$format_offen_hoehe)*2; $calc2=floor(($format['breite']-$DruckbogenRaender_horiz)/$format_offen_hoehe)*floor(($format['hoehe']-$DruckbogenRaender_vert)/$format_offen_breite)*2; }else{ $calc1=floor((($format['breite']-$DruckbogenRaender_horiz)/($format_offen_breite/2)))*floor((($format['hoehe']-$DruckbogenRaender_vert))/$format_offen_hoehe); $calc2=floor((($format['breite']-$DruckbogenRaender_horiz)/($format_offen_hoehe/2)))*floor((($format['hoehe']-$DruckbogenRaender_vert))/$format_offen_breite); } $stundensatz_druckmaschine1 = getMaschineKosten21($format, $anzahlFarbwechsel_inhalt); $nutzen_inhalt_calc = ($calc1 > $calc2)? $calc1: $calc2; $PapierkostenJeFalzbg = $format_offen_breite * $format_offen_hoehe * $papier_inhalt_grammatur * $papier_inhalt_value / 1000000000 * $auflage; $RuestkostenJeDruckform = $anzahlDruckfarben_inhalt * ($kostenDruckplatte + ($stundensatz_druckmaschine1 * 4.5 / 60)); $PapierkostenZuschuss = $anzahlDruckfarben_inhalt * (80 * $format['hoehe']*$format['breite']*$papier_inhalt_grammatur*$papier_inhalt_value/1000000000); if($inhaltidentisch == '0'){ if($what=='debug'){ echo('Berechnung CTP für '.$format['breite'].' x '.$format['hoehe'].": \n"); echo('PapierkostenJeFalzbg: '.round($PapierkostenJeFalzbg,2).' | RüstkostenJeDruckform: '.round($RuestkostenJeDruckform,2).' | PapierkostenZuschuss: '.round($PapierkostenZuschuss,2)."\n"); echo('Nutzen_Inhalt/2 = Falzbg. je Druckoberfläche: '.($nutzen_inhalt_calc/2)."\n"); } $ctparray1 = getCTPBRO21($what, $nutzen_inhalt_calc/2, $seiten_inhalt/$format['seiten'], $bedruckteSeiten_inhalt, $PapierkostenJeFalzbg, $RuestkostenJeDruckform, $PapierkostenZuschuss); $ctp_inhalt1 = ($ctparray1[0]+$ctparray1[1])*$anzahlDruckfarben_inhalt+$drucklack_inhalt; }else{ $ctp_inhalt1 = $bedruckteSeiten_inhalt*$anzahlDruckfarben_inhalt+$drucklack_inhalt; } $rabattierfaehigeKostenLeerFalzBogen1 = $ctparray1[3] * $PapierkostenJeFalzbg; $zuschuss_inhalt1 = max(200,100+($ctp_inhalt1*80)+($anzahlFarbwechsel_inhalt*100)+(($seiten_inhalt/($nutzen_inhalt_calc*2)*$anzahlDruckJeForm_inhalt)*$auflage*0.03)); $nettobg_inhalt1 = ($seiten_inhalt + $ctparray1[3]*4) / $nutzen_inhalt_calc * $auflage/2; $druckzeitruesten1 = ((30*$anzahlDruckJeForm_inhalt)+($ctp_inhalt1*4.5)+($anzahlFarbwechsel_inhalt*45))/60; $druckzeitfortdruck1 = ($zuschuss_inhalt1+$nettobg_inhalt1)/$druckgeschwindigkeit_inhalt*$anzahlDruckJeForm_inhalt*$bedruckteSeiten_inhalt + $ctparray1[1]*0.15; $papierkosten_inhalt1 = (($nettobg_inhalt1+$zuschuss_inhalt1)*$format['hoehe']*$format['breite']*$papier_inhalt_grammatur*$papier_inhalt_value/1000000000); $price_inhalt_calc = ($kostenDruckplatte*$ctp_inhalt1) + $papierkosten_inhalt1 + ($druckzeitruesten1+$druckzeitfortdruck1) * $stundensatz_druckmaschine1; if($price_inhalt_calc < $price_inhalt && $nutzen_inhalt > 0) { $price_inhalt = $price_inhalt_calc; $nutzen_inhalt = $nutzen_inhalt_calc; $ctp_inhalt = $ctp_inhalt1; $zuschuss_inhalt = ceil($zuschuss_inhalt1); $nettobg_inhalt = ceil($nettobg_inhalt1); $druckbogen_hoehe_inhalt = $format['hoehe']; $druckbogen_breite_inhalt = $format['breite']; $druckzeitruesten_inhalt = $druckzeitruesten1; $druckzeitfortdruck_inhalt = $druckzeitfortdruck1; $druckzeittotal_inhalt = $druckzeitruesten + $druckzeitfortdruck; $papierkosten_inhalt = $papierkosten_inhalt1; $stundensatz_druckmaschine_inhalt = $stundensatz_druckmaschine1; $maschine_inhalt = "man"; $rabattierfaehigeKostenLeerFalzBogen = $rabattierfaehigeKostenLeerFalzBogen1; } } $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.35-(MIN(($papierkosten_inhalt/$papier_inhalt_value*100)/5000,0.2)); $price_inhalt -= $papierkosten_inhalt; $papierkosten_inhalt *= $papieraufschlagfaktor_inhalt; $price_inhalt += $papierkosten_inhalt; $farbkosten_inhalt = ($nettobg_inhalt + $zuschuss_inhalt) * ($anzahlDruckfarben_inhalt+$drucklack_inhalt*6+$anzahlFarbwechsel_inhalt) * $Druckfarbenpreis * $bedruckteSeiten_inhalt / 1000; $price_inhalt += $farbkosten_inhalt + $lackart_kosten_inhalt; $eigenkosten_inhalt = $price_inhalt - $farbkosten_inhalt - $papierkosten_inhalt; $fremdkosten_inhalt = $price_inhalt - $eigenkosten_inhalt; $rabattierfaehigekosten_inhalt = $rabattierfaehigeKostenLeerFalzBogen; // ??? Besser mit Restbogenwerten + Zuschpapierkosten? // Einzelwerte ausgeben if($what=='debug'){ echo('-------------------- PRINT BRO INHALT --------------------'."\n"); echo('Papier: '.$druckbogen_hoehe_inhalt.' x '.$druckbogen_breite_inhalt.' mit '.$nettobg_inhalt.' + '.$zuschuss_inhalt.' = '.($zuschuss_inhalt+$nettobg_inhalt).' Bogen zu '.$nutzen_inhalt." Nutzen \n"); echo('offenes Format: '.round($format_offen_breite,2).' x '.round($format_offen_hoehe,2)." cm \n"); echo('Geschw.: '.round($druckgeschwindigkeit_inhalt,0).' | Druckgänge: '.$anzahlDruckJeForm_inhalt.' | CTP: '.$ctp_inhalt.' | Farbw.: '.$anzahlFarbwechsel_inhalt.' '."\n"); echo('Zeit Rüsten: '.round($druckzeitruesten_inhalt,1).' | Fortdruck: '.round($druckzeitfortdruck_inhalt,1)."\n"); echo('$lackart_kosten: '.round($lackart_kosten_inhalt,2)."\n"); echo('Papier: '.round($papierkosten_inhalt,2).' Euro | PapierFaktor: '.round($papieraufschlagfaktor_inhalt,2)."\n"); echo('$farbkosten: '.round($farbkosten_inhalt,2)." Euro\n"); echo('$rabattierfaehigekosten_inhalt: '.round($rabattierfaehigekosten_inhalt,2)."\n"); echo('$rabattierfaehigeKostenLeerFalzBogen: '.round($rabattierfaehigeKostenLeerFalzBogen,2)."\n"); echo('Eigenkosten: '.round($eigenkosten_inhalt,2)."\n"); echo('Fremdkosten: '.round($fremdkosten_inhalt,2)."\n\n"); } // Umschlag if($veredelung_umschlag == 0 || $veredelung_umschlag == 6 || $veredelung_umschlag == 7){ $drucklack_umschlag = $lackart_umschlag = 0; }else{ $drucklack_umschlag = 1; $lackart_umschlag = $veredelung_umschlag; } if($seiten_umschlag > 0){ $printarray_umschlag = getPrintPlanoFa21('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 + $buchruecken - 0.4, $format_offen_hoehe - 0.4, $drucklack_umschlag, $papier_umschlag_vs_rs_unterschiedlich, $zussorten_umschlag+1, 1, $zusdruckplatten, $zusfarbwechsel, $lackart_umschlag, $papier_umschlag_sammelform); $eigenkosten_umschlag = $printarray_umschlag[0]; $maschine_umschlag = $printarray_umschlag[1]; $stundensatz_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]; $zusfarbwechsel_kosten_umschlag = $printarray_umschlag[22]; $lackart_kosten_umschlag = $printarray_umschlag[23]; $fremdkosten_umschlag = $printarray_umschlag[24]; $rabattierfaehigekosten_umschlag = $printarray_umschlag[25]; // Einzelwerte ausgeben if($what=='debug'){ echo('-------------------- PRINT BRO Umschlag --------------------'."\n"); echo('Papier: '.$druckbogen_hoehe_umschlag.' x '.$druckbogen_breite_umschlag.' mit '.$druckbogen_nettomenge_umschlag.' + '.$druckbogen_zuschussmenge_umschlag.' = '.($druckbogen_zuschussmenge_umschlag+$druckbogen_nettomenge_umschlag).' Bogen zu '.$nutzen_umschlag." Nutzen \n"); echo('offenes Format: '.round($format_offen_breite+$buchruecken,2).' x '.round($format_offen_hoehe,2)."\n"); echo('Geschw.: '.round($druckgeschwindigkeit_umschlag,0).' | CTP: '.$ctp_umschlag.' | Farbw.: '.$anzahlFarbw_umschlag.' '."\n"); echo('Zeit Rüsten: '.round($druckzeitruesten_umschlag,1).' | Fortdruck: '.round($druckzeitfortdruck_umschlag,1)."\n"); echo('Druckmaschine Umschlag: '.$maschine_umschlag."\n"); echo('$lackart_kosten: '.round($lackart_kosten_umschlag,2)."\n"); echo('Papier: '.round($papierkosten_umschlag,2)." Euro\n"); echo('$farbkosten_umschlag: '.round($farbkosten_umschlag,2)." Euro\n"); echo('$rabattierfaehigekosten_umschlag: '.round($rabattierfaehigekosten_umschlag,2)."\n"); echo('Eigenkosten: '.round($eigenkosten_umschlag,2)."\n"); echo('Fremdkosten: '.round($fremdkosten_umschlag,2)."\n\n"); } }else{ $eigenkosten_umschlag = $fremdkosten_umschlag = $rabattierfaehigekosten_umschlag = $maschine_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 = 0; } $eigenkosten = $eigenkosten_inhalt + $eigenkosten_umschlag; $fremdkosten = $fremdkosten_inhalt + $fremdkosten_umschlag; $rabattierfaehigekosten = $rabattierfaehigekosten_inhalt + $rabattierfaehigekosten_umschlag; // Einzelwerte ausgeben if($what=='debug'){ echo("\n".'-------------------- BRO PRINT Returnwerte --------------------'."\n"); echo('EK: '.round($eigenkosten,2)."\n"); echo('FK: '.round($fremdkosten, 2)."\n"); echo('Rabattierf. Kosten: '.round($rabattierfaehigekosten_inhalt,2).'+'.round($rabattierfaehigekosten_umschlag,2).'='.round($rabattierfaehigekosten,2)."\n"); echo('Format offen: '.$format_offen_breite.' x '.$format_offen_hoehe."\n"); echo('Pappe: '.$bubipappe.' mm | Buchrücken: '.$buchruecken." mm"."\n\n"); echo('-------------------- BRO PRINT INHALT Returnwerte --------------------'."\n"); echo('INH: '.$maschine_inhalt.' | CTP: '.$ctp_inhalt.' | Farbw.: '.$anzahlFarbwechsel_inhalt.' | Geschw.: '.round($druckgeschwindigkeit_inhalt,2)."\n"); echo($druckbogen_hoehe_inhalt.' x '.$druckbogen_breite_inhalt.' mit '.$nutzen_inhalt.' Ntz. = '.$nettobg_inhalt.' + '.$zuschuss_inhalt.' | '.round($papierkosten_inhalt,2).' €'."\n"); echo('Druckzeit: Rüsten = '.round($druckzeitruesten_inhalt,2).' | Fortdruck = '.round($druckzeitfortdruck_inhalt,2)."\n"); echo('Kosten Farbe+Lack '.round($farbkosten_inhalt,2). ' + Extra Kosten für Lackart '.round($lackart_kosten_inhalt,2)."\n\n"); echo('-------------------- BRO PRINT UMSCHLAG Returnwerte --------------------'."\n"); echo('UM: '.$maschine_umschlag.' | CTP: '.$ctp_umschlag.' | Farbw.: '.$anzahlFarbw_umschlag. ' | Geschw.:'.round($druckgeschwindigkeit_umschlag,2)."\n"); echo($druckbogen_hoehe_umschlag.' x '.$druckbogen_breite_umschlag.' mit '.$nutzen_umschlag.' Ntz. = '.$druckbogen_nettomenge_umschlag.' + '.$druckbogen_zuschussmenge_umschlag.' | '.round($papierkosten_umschlag,2).' €'."\n"); echo('Druckzeit: Rüsten = '.round($druckzeitruesten_umschlag,2).' | Fortdruck: '.round($druckzeitfortdruck_umschlag,2)."\n"); echo('Kosten Farbe+Lack: '.round($farbkosten_umschlag,2).' + Extra Kosten für Lackart: '.round($lackart_kosten_umschlag,2)."\n\n"); } if($what == 'allarray' || $what == 'debug') { return [$eigenkosten, $fremdkosten, $rabattierfaehigekosten, $format_offen_breite, $format_offen_hoehe, $bubipappe, $buchruecken, $maschine_inhalt, $ctp_inhalt, $anzahlFarbwechsel_inhalt, $druckgeschwindigkeit_inhalt, $druckbogen_hoehe_inhalt, $druckbogen_breite_inhalt, $nutzen_inhalt, $nettobg_inhalt, $zuschuss_inhalt, $papierkosten_inhalt, $druckzeitruesten_inhalt, $druckzeitfortdruck_inhalt, $farbkosten_inhalt, $lackart_kosten_inhalt, $maschine_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]; } return FALSE; } // Eingabewerte beziehen sich hier immer auf Anz. Falzbogen je Druckoberfläche, nicht auf Seiten o.a.! function getCTPBRO21($what, $NtzAufDruckbg, $FalzbgAnz, $bedruckteSeiten, $PapierkostenJeFalzbg, $RuestkostenJeDruckform, $PapierkostenZuschuss) { $ctp_ganzeBogen = 2*floor(($FalzbgAnz*$bedruckteSeiten/2)/($NtzAufDruckbg)); $restfalzbg = $FalzbgAnz - ($ctp_ganzeBogen/2*$NtzAufDruckbg); $leere_falzbg = 0; $ctp_restseiten = 0; $maxdurchlaeufe = 5; // Prüfen ob Freifläche mit Umschlagen/Umstülpen günstiger wäre if(($restfalzbg > 0) && ((floor($NtzAufDruckbg/2) - $restfalzbg) * $PapierkostenJeFalzbg < ($RuestkostenJeDruckform+$PapierkostenZuschuss)) && ($NtzAufDruckbg > $restfalzbg*2) && (floor($NtzAufDruckbg/2) % ($restfalzbg*2) != 0)){ if($what == 'debug'){ echo('>>> Freifläche für '.$restfalzbg.' Restfalzbg. als Umschlager/Umstülper günstiger. Papierrest: '.round((floor($NtzAufDruckbg/2) - $restfalzbg) * $PapierkostenJeFalzbg,2)." €\n"); } $leere_falzbg = (floor($NtzAufDruckbg/2) - $restfalzbg); $restfalzbg = 0; $ctp_restseiten = 1; } // Prüfen ob Freifläche bei SD+WD günstiger wäre if(($restfalzbg > 0) && (($NtzAufDruckbg - $restfalzbg) * $PapierkostenJeFalzbg < ($RuestkostenJeDruckform+$PapierkostenZuschuss)) && ($NtzAufDruckbg > $restfalzbg) && ($NtzAufDruckbg % ($restfalzbg*2) != 0)){ if($what == 'debug'){ echo('>>> Freifläche für '.$restfalzbg.' Restfalzbg. im SD+WD günstiger. Papierrest: '.round(($NtzAufDruckbg - $restfalzbg) * $PapierkostenJeFalzbg,2)." €\n"); } $leere_falzbg = $NtzAufDruckbg - $restfalzbg; $restfalzbg = 0; $ctp_ganzeBogen += 2; $ctp_restseiten = 0; } while(($restfalzbg > 0) && ($maxdurchlaeufe > 0)){ for($n=$restfalzbg; $n>0; $n--){ //echo('Schleife: '.$n.' mit '.$restfalzbg.' Restfalzbg.'."\n"); /*if($NtzAufDruckbg >= $n*2){ // prüfen ob Freifläche günstiger als weitere Druckform Umschlager / Umstülper wäre if(($n - $restfalzbg) * $PapierkostenJeFalzbg < $RuestkostenJeDruckform){ if($what == 'debug'){ echo($maxdurchlaeufe.' | '.$n.' >>> Leerlassen von '.$restfalzbg.' Falzbg. ist günstiger als neue Druckform für Umschlager/Umstülper: '.$restfalzbg * $PapierkostenJeFalzbg." €\n"); } $ctp_restseiten += 1; $leere_falzbg = $n - $restfalzbg; $restfalzbg -= $n; break 2; }elseif*/ if($NtzAufDruckbg % $n == 0){ // prüfen, ob Umschlager möglich $ctp_restseiten += 1; $restfalzbg -= $n; if($what == 'debug'){ echo($maxdurchlaeufe.' | '.$n.' : Umschlager/Umstülper gefunden: Rest-CTP = '.$ctp_restseiten.' mit '.$n.' Falzgb. | Noch '.$restfalzbg." Restfalzbg.\n"); } break; }elseif(($NtzAufDruckbg % 3 == 0) && ($NtzAufDruckbg % $n == 0)){ // prüfen ob SD+WD möglich $ctp_restseiten += $bedruckteSeiten; $restfalzbg -= $n; if($what == 'debug'){ echo($maxdurchlaeufe.' | '.$n.': SD/WD gefunden: Rest-CTP = '.$ctp_restseiten.' bei '.$n.' | Noch '.$restfalzbg." Restfalzbg.\n"); } break; } } $maxdurchlaeufe--; if(($maxdurchlaeufe == 0) && ($restfalzbg > 0) && ($what == 'debug')){ echo("\n".'OOOoops: noch '.$ctp_restseiten.' offene Restseiten!'."\n"); $ctp_restseiten = 999; } } if($what == 'debug'){ echo('Eingabewerte: '.$NtzAufDruckbg.' Falzbogen auf Druckbogen und '.$FalzbgAnz.' benötigte Falzbogen'."\n"); echo('Restfalzbogen: '.$restfalzbg."\n"); echo('Leere Falzbg.: '.$leere_falzbg."\n"); echo('CTP Ganze Bogen: '.$ctp_ganzeBogen.' + CTP Restbogen = '.$ctp_restseiten."\n".'CTP Summe = '.($ctp_ganzeBogen+$ctp_restseiten)."\n\n"); } return [$ctp_ganzeBogen, $ctp_restseiten, $restfalzbg, $leere_falzbg]; } function getMaschineKosten21($format, $anzahlFarbwechsel_inhalt) { $maschine = getMaschine($format['breite'], $format['hoehe']); if($maschine == 'man') { return 165 + ($anzahlFarbwechsel_inhalt * 20); } return 40; } function getWTVBRO21($what, $auflage, $breite_geschlossen, $hoehe_geschlossen, $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 = 135; $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 = 30; $Pstundensatz_wtv_maschinen = 50; $wtveigenkosten = 0; $wtvfremdkosten = 0; $rabattierkosten = 0; $wtvzuschusspapier_inhalt = 0; $wtvzuschusspapier_umschlag = 0; $wtvfrachtkosten = 0; $wtvfrachtgewicht = $auflage * $hoehe_geschlossen * $breite_geschlossen * ($seiten_inhalt / 2 * $papier_inhalt_grammatur + $seiten_umschlag / 2 * $papier_umschlag_grammatur) / 10000000 * 1.1; $wtvfrachtpreis = 50 + $wtvfrachtgewicht/500*15; if($hoehe_geschlossen < 14 || $hoehe_geschlossen < $breite_geschlossen || $seiten_umschlag > 4){ $wtvgeschwindigkeit_hfs = 1200; }else{ $wtvgeschwindigkeit_hfs = 2200-($seiten_inhalt+$seiten_umschlag)*15; } if($drucknutzen_inhalt < 1){ $drucknutzen_inhalt = 1; } if($drucknutzen_umschlag < 1){ $drucknutzen_umschlag = 1; } $anzDruckbg_inhalt = ceil(($seiten_inhalt / 2) / $drucknutzen_inhalt); $anzDruckbg_umschlag = ceil(($seiten_umschlag / 2) / $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 = 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; $wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (30 + $auflage * 0.005); $wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $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 * (30 + $auflage * 0.005); } // RDH $zeit_rdh = $kosten_rdh = 0; if($weiterverarbeitung == '1'){ if($breite_geschlossen < 25 && $breite_geschlossen >= 9.0 && $hoehe_geschlossen >= 10.5){ $zeit_rdh = 0.25 + ($seiten_inhalt + $seiten_umschlag)/60 + ($auflage/$wtvgeschwindigkeit_hfs); }else{ $zeit_rdh = (2 + ($seiten_inhalt + $seiten_umschlag)/60 + ($auflage/$wtvgeschwindigkeit_hfs)) * 1.7; $wtvfrachtkosten += $wtvfrachtpreis; } $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 * (30 + $auflage * 0.02); $wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.02); } // PUR (Einflussgrößen = Seitenanz. INH, Ntz. INH, Auflage, Format HF / QF) $zeit_pur = $kosten_pur = 0; if($weiterverarbeitung == '2'){ $pur_purarray = array(array(1,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_geschlossen < $hoehe_geschlossen){ $formatfaktor_pur = 1.0; }else{ $formatfaktor_pur = 1.6; } $kosten_pur = 1.3 * ($pur_kosten_kleb + $pur_kosten_falzbg ) * $formatfaktor_pur; $zeit_pur = 24 * 5; $wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.02); $wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.02); $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($papier_inhalt_grammatur <= 300 && $papier_umschlag_grammatur <= 300 && $hoehe_geschlossen >= 14.8 && $breite_geschlossen >= 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 = $hfs_durchlaeufe * 2; $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; $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 = 150; $fk_wireo_spirale = 0.05 + ceil($hoehe_geschlossen/15)*0.06; $fk_wireo_sta = ceil($buchruecken/1.8)*0.15; $fk_wireo_binden = 0.20; $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.02); $wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (50 + $auflage * 0.02); $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_geschlossen*$hoehe_geschlossen/10000)+($seiten_inhalt/$drucknutzen_inhalt/30))*$auflage)+800)*1.4; $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 $zeit_hdcover_leinen = $kosten_hdcover_leinen = 0; if($weiterverarbeitung == '5'){ $kosten_hdcover_leinen_fix = 0; $kosten_hdcover_leinen_var = (1/log(($auflage+650)/450)*4)+0.4; $zeit_hdcover_leinen = 24 * 15; $wtvzuschusspapier_inhalt += $anzDruckbg_inhalt * (50 + $auflage * 0.02); $wtvfrachtkosten += $wtvfrachtpreis; $kosten_hdcover_leinen = ($kosten_hdcover_leinen_fix + $auflage * $kosten_hdcover_leinen_var) * 1.2; $wtvfremdkosten += $kosten_hdcover_leinen; } // WAKAL = Wandkalender $zeit_wakal = $kosten_wkal = 0; if($weiterverarbeitung == '6'){ if($breite_geschlossen < 12 || $breite_geschlossen > 43 || $hoehe_geschlossen < 12 || $hoehe_geschlossen > 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_geschlossen,$hoehe_geschlossen])+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; } // 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.02); $wtvzuschusspapier_umschlag += $anzDruckbg_umschlag * (30 + $auflage * 0.02); $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; $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; $wtveigenkosten += $kosten_buendeln; //perforation $kosten_perforation = 0; if($perforation != 0){ $kosten_perforation = $Pplano_fa_fixpreis_perforation + $auflage/1000*$Pplano_fa_tsdpreis_perforation + $perforation*15; $wtvzuschusspapier_inhalt += ($auflage * 0.005 + 30) / $drucknutzen_inhalt; } $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 += ($auflage * 0.01 + 150) / $drucknutzen_umschlag; } if($praegung_umschlag == 3){ $zeit_praegung = 5 * 24; $kosten_werkzeug_praegung = 135 + $format_offen_breite * $format_offen_hoehe / 2; $kosten_praegung = 380 + 45 * $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 +=($auflage * 0.005 + 30) / $drucknutzen_umschlag; $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 += ($auflage * 0.01 + 100) / $drucknutzen_umschlag; $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('-------------------- WTV BRO --------------------'."\n"); echo('$kosten_endschneiden_inhalt: '.round($kosten_endschneiden_inhalt,2).' | $zeit_endschneiden: '.round($zeit_endschneiden_inhalt,2)."\n"); echo('$kosten_endschneiden_umschlag: '.round($kosten_endschneiden_umschlag,2).' | $zeit_endschneiden: '.round($zeit_endschneiden_umschlag,2)."\n"); if($kosten_rdh > 0){ echo('$kosten_rdh (ggf. inkl nuten Umschlag): '.round($kosten_rdh,2).' | $zeit_rdh: '.round($zeit_rdh,2)."\n"); echo('$wtvgeschwindigkeit_hfs: '.$wtvgeschwindigkeit_hfs."\n"); } if($kosten_pur > 0){ echo('$kosten_pur: '.round($kosten_pur,2)."\n"); echo('$pur_kosten_kleb: '.$pur_kosten_kleb.' | $pur_seiten: '.$pur_seiten."\n"); echo('$pur_falzbg: '.round($pur_falzb,3).' | Falzmenge: '.$auflage * $pur_falzb."\n"); echo('$pur_kosten_falzbg: '.$pur_kosten_falzbg."\n"); } if($kosten_wireo > 0){ echo('$kosten_wireo: '.round($kosten_wireo,2)."\n"); echo('$zeit_loseblatt: '.round($zeit_loseblatt,2).' | $fk_wireo_fix: '.round($fk_wireo_fix,2).' | $fk_wireo_spirale: '.round($fk_wireo_spirale,2).' | $fk_wireo_sta: '.round($fk_wireo_sta,2).' | $fk_wireo_binden: '.round($fk_wireo_binden,2).' | Buchrücken: '.$buchruecken."\n"); } if($kosten_hdcover > 0){ echo('$kosten_hdcover: '.round($kosten_hdcover,2)."\n"); } if($kosten_hdcover_leinen > 0){ echo('LEINEN: ('.$kosten_hdcover_leinen_fix.' + '.$auflage.' x '.round($kosten_hdcover_leinen_var,2).') x 1.2 = '.round($kosten_hdcover_leinen,2)."\n"); } echo("\n"); if($kosten_registerstanzung > 0){echo('$kosten_registerstanzung: '.round($kosten_registerstanzung,2)."\n");} if($kosten_beilage > 0){echo('$kosten_beilage: '.round($kosten_beilage,2)."\n");} if($kosten_einschweissen > 0){echo('$kosten_einschweissen: '.round($kosten_einschweissen,2)."\n");} if($kosten_buendeln > 0){echo('$kosten_bündeln: '.round($kosten_buendeln,2).' | '.'$zeit_bündeln: '.round($zeit_buendeln,2)."\n");} if($kosten_praegung > 0){echo('$kosten_praegung: '.round($kosten_praegung,2).' | $zeit_praegung: '.round($zeit_praegung,2).' | anteilg. Werkzeug: '.round($kosten_werkzeug_praegung,2)."\n");} if($kosten_duftdruck > 0){echo('$kosten_duftdruck: '.round($kosten_duftdruck,2)."\n");} if($kosten_kaschierung > 0){echo('$kosten_kaschierung: '.round($kosten_kaschierung,2)."\n");} if($kosten_perforation > 0){echo('$kosten_perforation: '.round($kosten_perforation,2)."\n");} if($kosten_blankomuster > 0){echo('$kosten_blankomuster: '.round($kosten_blankomuster,2)."\n");} if($kosten_musterversand > 0){echo('$kosten_musterversand: '.round($kosten_musterversand,2)."\n");} if($kosten_absender > 0){echo('$kosten_absender: '.round($kosten_absender,2)."\n");} if($kosten_freipos10 > 0){echo('$kosten_freipos10: '.round($kosten_freipos10,2)."\n");} if($kosten_freipos20 > 0){echo('$kosten_freipos20: '.round($kosten_freipos20,2)."\n");} echo('$wtvzuschusspapier_kosten_inhalt: '.round($wtvzuschusspapier_kosten_inhalt,2).' | $wtvzuschusspapier_inh: '.round($wtvzuschusspapier_inhalt,2)."\n"); echo('$wtvzuschusspapier_kosten_umschlag: '.round($wtvzuschusspapier_kosten_umschlag,2).' | $wtvzuschusspapier_um: '.round($wtvzuschusspapier_umschlag,2)."\n"); echo('----------------------------------------'."\n"); echo('$wtvfrachtkosten: '.round($wtvfrachtkosten,2)."\n"); echo('$wtveigenkosten: '.round($wtveigenkosten,2)."\n"); echo('$wtvfremdkosten: '.round($wtvfremdkosten,2)."\n"); } return [$wtveigenkosten, $wtvfremdkosten, $wtvfrachtkosten, $wtvzuschusspapier_kosten_inhalt, $wtvzuschusspapier_kosten_umschlag]; } function getZUABBRO21($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, $nutzen_inhalt, $nutzen_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 = getSammelformWertePlanoFa21($auflage, $hoehe_offen, $breite_offen, $papiersorte_sammelform_umschlag, $bedruckteSeiten, $zussorten_umschlag+1); $sammelfaktor_papier = $sammelarray[2]; $sammelwahrscheinlichkeit_menge = $sammelarray[1]; $sammelwahrscheinlichkeit_format_sorten = $sammelarray[0]; if(strtolower($druckmaschine_umschlag) == 'gto'){ $sammelfaktor_druckmaschine = 0.5; }else{ $sammelfaktor_druckmaschine = 1.0; } if($produktionszeit == 3){ $sammelfaktor_druckmaschine *= 0.8; } $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))) && ($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))) && ($papiersorte_sammelform_inhalt != 1)){ $papierliste_sammelf_inhalt = array(0,-90,-120,-60,-60,-25,-25); $sammelformreduktion_inhalt = $papierliste_sammelf_inhalt[$papiersorte_sammelform_inhalt-1]; // + $rabattierfaehigekosten_inhalt; (NICHT verwenden, teils fehlerhafter Abschlag!!!) $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(-20,-14),array(0,0),array(35,11)); // bis 6.7.2022 relax (-20,-11) danach geändert !!!??? $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 != '0'){ $provision_zuschlag = ($zuab_gesamtkosten+$preisaenderung)/100*$provisionswert; } $preisaenderung += $provision_zuschlag; //Einzelwerte ausgeben if($what=='debug'){ echo("\n".'-------------------- ZUAB BRO --------------------'."\n"); echo('Eingangswert EK+FK: '.round($zuab_gesamtkosten,2)."\n"); echo('$sammelfaktor_papier: '.round($sammelfaktor_papier,2)."\n"); echo('$sammelwahrscheinlichkeit_format_sorten: '.round($sammelwahrscheinlichkeit_format_sorten,4)."\n"); echo('$sammelwahrscheinlichkeit_menge: '.round($sammelwahrscheinlichkeit_menge,4)."\n"); echo('$sammelfaktor: '.round($sammelfaktor,4)."\n"); echo('$sammelformreduktion: '.round($sammelformreduktion_inhalt,2).' + '.round($sammelformreduktion_umschlag,2).' = '.round($sammelformreduktion,2)."\n"); echo("Qualität: ". $qualitaet_fix.' | '.$qualitaet_proz." = ".round($qualitaet_zuab,2)."\n"); echo("Produktionszeit: ".$zeitwert_fix.' | '.$zeitwert_proz." = ".round($zeit_zuab,2)."\n"); echo('Provision: '.round($provisionswert,2).' | '.round($provision_zuschlag,2)."\n"); echo('$preisaenderung total: '.round($preisaenderung,2)."\n\n"); } return $preisaenderung; } // ####### ENDE KOPIERSEKTION PSC ####### }