calc/tests/Customer/V/formels.txt
2023-01-18 15:40:32 +01:00

2685 lines
132 KiB
Plaintext

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 #######
}