Fix Validation
This commit is contained in:
parent
83cd932a89
commit
68dcc64dfd
@ -3,11 +3,14 @@ namespace PSC\Library\Calc\Calc;
|
||||
|
||||
use PSC\Library\Calc\Article;
|
||||
use PSC\Library\Calc\Engine;
|
||||
use PSC\Library\Calc\Error\Validation\Input\Max;
|
||||
use PSC\Library\Calc\Error\Validation\Input\Min;
|
||||
use PSC\Library\Calc\General\Type\Edge;
|
||||
use PSC\Library\Calc\General\Type\EdgeCollection;
|
||||
use PSC\Library\Calc\General\Type\EdgeCollectionContainer;
|
||||
use PSC\Library\Calc\Option\Type\Base;
|
||||
use PSC\Library\Calc\Option\Type\Checkbox;
|
||||
use PSC\Library\Calc\Option\Type\Input;
|
||||
use PSC\Library\Calc\Option\Type\Select;
|
||||
|
||||
class Valid
|
||||
@ -37,7 +40,18 @@ class Valid
|
||||
|
||||
/** @var Base $option */
|
||||
foreach($this->article->getOptions() as $option) {
|
||||
|
||||
if($option instanceof Input) {
|
||||
if($option->getMaxValue() && $option->getMaxValue() <= $option->getRawValue()) {
|
||||
$option->setIsValid(false);
|
||||
$option->addValidationError(new Max($option->getRawValue(), $option->getMaxValue()));
|
||||
continue;
|
||||
}
|
||||
if($option->getMinValue() && $option->getMinValue() >= $option->getRawValue()) {
|
||||
$option->setIsValid(false);
|
||||
$option->addValidationError(new Min($option->getRawValue(), $option->getMinValue()));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if($option instanceof Select|| $option instanceof Checkbox) {
|
||||
|
||||
$valid = false;
|
||||
|
||||
11
src/Error/Validation/Base.php
Normal file
11
src/Error/Validation/Base.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace PSC\Library\Calc\Error\Validation;
|
||||
|
||||
interface Base {
|
||||
|
||||
public function getType(): string;
|
||||
|
||||
public function getMessage(): string;
|
||||
|
||||
}
|
||||
30
src/Error/Validation/Input/Max.php
Normal file
30
src/Error/Validation/Input/Max.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace PSC\Library\Calc\Error\Validation\Input;
|
||||
|
||||
use PSC\Library\Calc\Error\Validation\Base;
|
||||
|
||||
class Max implements Base {
|
||||
|
||||
protected int $currentValue = 0;
|
||||
|
||||
protected int $maxValue = 0;
|
||||
|
||||
private string $TYPE = "input::validation::max";
|
||||
|
||||
public function getType(): string
|
||||
{
|
||||
return $this->TYPE;
|
||||
}
|
||||
|
||||
public function __construct(int $currentValue, int $maxValue)
|
||||
{
|
||||
$this->currentValue = $currentValue;
|
||||
$this->maxValue = $maxValue;
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return "value must be lower then " . $this->maxValue;
|
||||
}
|
||||
}
|
||||
30
src/Error/Validation/Input/Min.php
Normal file
30
src/Error/Validation/Input/Min.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace PSC\Library\Calc\Error\Validation\Input;
|
||||
|
||||
use PSC\Library\Calc\Error\Validation\Base;
|
||||
|
||||
class Min implements Base {
|
||||
|
||||
protected int $currentValue = 0;
|
||||
|
||||
protected int $minValue = 0;
|
||||
|
||||
private string $TYPE = "input::validation::min";
|
||||
|
||||
public function getType(): string
|
||||
{
|
||||
return $this->TYPE;
|
||||
}
|
||||
|
||||
public function __construct(int $currentValue, int $minValue)
|
||||
{
|
||||
$this->minValue = $minValue;
|
||||
$this->currentValue = $currentValue;
|
||||
}
|
||||
|
||||
public function getMessage(): string
|
||||
{
|
||||
return "value must be greater then " . $this->minValue;
|
||||
}
|
||||
}
|
||||
46
src/Error/Validation/Set.php
Normal file
46
src/Error/Validation/Set.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace PSC\Library\Calc\Error\Validation;
|
||||
|
||||
use ArrayIterator;
|
||||
use Countable;
|
||||
use IteratorAggregate;
|
||||
use Traversable;
|
||||
|
||||
class Set implements Countable, IteratorAggregate {
|
||||
|
||||
private array $values = [];
|
||||
|
||||
public function count(): int
|
||||
{
|
||||
return count($this->values);
|
||||
}
|
||||
|
||||
public function getIterator(): Traversable
|
||||
{
|
||||
return new ArrayIterator($this->values);
|
||||
}
|
||||
|
||||
public function add(Base $base): Set
|
||||
{
|
||||
if($this->has($base)) {
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->values[] = $base;
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function has(Base $base): bool
|
||||
{
|
||||
return array_search($base, $this->values) !== false;
|
||||
}
|
||||
|
||||
public function first(): ?Base
|
||||
{
|
||||
if($this->count() === 0) {
|
||||
return null;
|
||||
}
|
||||
return array_values($this->values)[0];
|
||||
}
|
||||
}
|
||||
@ -48,4 +48,4 @@ class Base
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,22 +2,30 @@
|
||||
namespace PSC\Library\Calc\Option\Parser;
|
||||
|
||||
use PSC\Library\Calc\General\Parser\EdgeCollectionContainer;
|
||||
use PSC\Library\Calc\Option\Type\Input as PSCInput;
|
||||
use SimpleXMLElement;
|
||||
|
||||
class Input extends Base
|
||||
{
|
||||
|
||||
protected $element;
|
||||
|
||||
public function __construct(\SimpleXMLElement $node)
|
||||
{
|
||||
$this->element = new \PSC\Library\Calc\Option\Type\Input();
|
||||
parent::__construct($node);
|
||||
}
|
||||
|
||||
public function parse()
|
||||
public function parse(): PSCInput
|
||||
{
|
||||
parent::parse();
|
||||
|
||||
if(isset($this->node['min'])) {
|
||||
$this->element->setMinValue((int)$this->node['min']);
|
||||
}
|
||||
|
||||
if(isset($this->node['max'])) {
|
||||
$this->element->setMaxValue((int)$this->node['max']);
|
||||
}
|
||||
|
||||
if($this->node->children()) {
|
||||
$edgeCollectionContainerParser = new EdgeCollectionContainer($this->node);
|
||||
$this->element->setEdgesCollectionContainer($edgeCollectionContainerParser->parse());
|
||||
@ -26,4 +34,4 @@ class Input extends Base
|
||||
return $this->element;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<?php
|
||||
namespace PSC\Library\Calc\Option\Type;
|
||||
|
||||
use PSC\Library\Calc\Error\Validation\Base as PSCBase;
|
||||
use PSC\Library\Calc\Error\Validation\Set;
|
||||
use PSC\Library\Calc\General\Type\EdgeCollectionContainer;
|
||||
|
||||
class Base
|
||||
@ -44,9 +46,22 @@ class Base
|
||||
protected $savedCalcValues = [];
|
||||
private $amount = true;
|
||||
|
||||
protected Set $validationErrors;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->edgesCollectionContainer = new EdgeCollectionContainer();
|
||||
$this->validationErrors = new Set();
|
||||
}
|
||||
|
||||
public function addValidationError(PSCBase $error)
|
||||
{
|
||||
$this->validationErrors->add($error);
|
||||
}
|
||||
|
||||
public function getValidationErrors(): Set
|
||||
{
|
||||
return $this->validationErrors;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -294,4 +309,4 @@ class Base
|
||||
'valid' => $this->isValid()
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,29 @@ namespace PSC\Library\Calc\Option\Type;
|
||||
|
||||
class Input extends Base
|
||||
{
|
||||
private ?int $minValue = null;
|
||||
|
||||
private ?int $maxValue = null;
|
||||
|
||||
public $type = 'input';
|
||||
|
||||
}
|
||||
public function setMinValue(?int $min): void
|
||||
{
|
||||
$this->minValue = $min;
|
||||
}
|
||||
|
||||
public function getMinValue(): ?int
|
||||
{
|
||||
return $this->minValue;
|
||||
}
|
||||
|
||||
public function setMaxValue(?int $max): void
|
||||
{
|
||||
$this->maxValue = $max;
|
||||
}
|
||||
|
||||
public function getMaxValue(): ?int
|
||||
{
|
||||
return $this->maxValue;
|
||||
}
|
||||
}
|
||||
|
||||
73
tests/Customer/P/CalcTest.php
Normal file
73
tests/Customer/P/CalcTest.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
namespace PSC\Library\Calc\Tests\Customer\P;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use PSC\Library\Calc\Article;
|
||||
use PSC\Library\Calc\Engine;
|
||||
use PSC\Library\Calc\Error\Validation\Input\Max;
|
||||
use PSC\Library\Calc\Error\Validation\Input\Min;
|
||||
use PSC\Library\Calc\Option\Type\Select;
|
||||
use PSC\Library\Calc\PaperContainer;
|
||||
use PSC\Library\Calc\PreCalc\PreCalc;
|
||||
use PSC\Library\Calc\Tests\Mock\PaperRepostory;
|
||||
|
||||
class CalcTest extends TestCase
|
||||
{
|
||||
|
||||
protected ?Engine $engine;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$repository = new PaperRepostory();
|
||||
|
||||
$paperContainer = new PaperContainer();
|
||||
$paperContainer->parse(simplexml_load_string(file_get_contents(__DIR__ . '/papierContainer.xml')));
|
||||
|
||||
$this->engine = new Engine();
|
||||
$this->engine->setPaperContainer($paperContainer);
|
||||
$this->engine->setPaperRepository($repository);
|
||||
$this->engine->setFormulas(file_get_contents(__DIR__ . '/formels.txt'));
|
||||
$this->engine->setParameters(file_get_contents(__DIR__ . '/parameters.txt'));
|
||||
$this->engine->setTemplates(file_get_contents(__DIR__ . '/calcTemplates.xml'));
|
||||
|
||||
$this->engine->loadString(file_get_contents(__DIR__ . '/calc.xml'));
|
||||
|
||||
}
|
||||
|
||||
public function tearDown(): void
|
||||
{
|
||||
$this->engine = null;
|
||||
}
|
||||
|
||||
public function testCalcPrice(): void
|
||||
{
|
||||
$article = $this->engine->getArticle();
|
||||
|
||||
$this->assertSame(92.16, $this->engine->getPrice());
|
||||
|
||||
}
|
||||
|
||||
public function testMaxBreite(): void
|
||||
{
|
||||
$article = $this->engine->getArticle();
|
||||
|
||||
$this->engine->setVariable('breite_frei', 600);
|
||||
$this->engine->calc();
|
||||
$this->assertFalse($article->getOptionById('breite_frei')->isValid());
|
||||
$this->assertEquals(1, count($article->getOptionById('breite_frei')->getValidationErrors()));
|
||||
$this->assertInstanceOf(Max::class, $article->getOptionById('breite_frei')->getValidationErrors()->first());
|
||||
}
|
||||
|
||||
public function testMinBreite(): void
|
||||
{
|
||||
$article = $this->engine->getArticle();
|
||||
|
||||
$this->engine->setVariable('breite_frei', 10);
|
||||
$this->engine->calc();
|
||||
$this->assertFalse($article->getOptionById('breite_frei')->isValid());
|
||||
$this->assertEquals(1, count($article->getOptionById('breite_frei')->getValidationErrors()));
|
||||
$this->assertInstanceOf(Min::class, $article->getOptionById('breite_frei')->getValidationErrors()->first());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
483
tests/Customer/P/calc.xml
Normal file
483
tests/Customer/P/calc.xml
Normal file
@ -0,0 +1,483 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<kalkulation>
|
||||
<artikel>
|
||||
<name>Aufkleber Proppe</name>
|
||||
<kommentar>Freies Format</kommentar>
|
||||
|
||||
<uploads>
|
||||
<upload id="neutral" name="Druckdaten" description="Bitte laden sie eine PDF für den Druck hoch"/>
|
||||
</uploads>
|
||||
|
||||
<!-- Beginn der Eingabemaske -->
|
||||
|
||||
<option id="auflage" name="Auflage" type="Select" default="250" helplink="/cms/auflage?show=2&help=1">
|
||||
<opt id="250" name="250 Exemplare"></opt>
|
||||
<opt id="500" name="500 Exemplare"></opt>
|
||||
<opt id="700" name="750 Exemplare"></opt>
|
||||
<opt id="1000" name="1.000 Exemplare"></opt>
|
||||
<opt id="1500" name="1.500 Exemplare"></opt>
|
||||
<opt id="2000" name="2.000 Exemplare"></opt>
|
||||
<opt id="2500" name="2.500 Exemplare"></opt>
|
||||
<opt id="3000" name="3.000 Exemplare"></opt>
|
||||
<opt id="3500" name="3.500 Exemplare"></opt>
|
||||
<opt id="4000" name="4.000 Exemplare"></opt>
|
||||
<opt id="4500" name="4.500 Exemplare"></opt>
|
||||
<opt id="5000" name="5.000 Exemplare"></opt>
|
||||
<opt id="6000" name="6.000 Exemplare"></opt>
|
||||
<opt id="7000" name="7.000 Exemplare"></opt>
|
||||
<opt id="8000" name="8.000 Exemplare"></opt>
|
||||
<opt id="9000" name="9.000 Exemplare"></opt>
|
||||
<opt id="10000" name="10.000 Exemplare"></opt>
|
||||
<opt id="12500" name="12.500 Exemplare"></opt>
|
||||
<opt id="15000" name="15.000 Exemplare"></opt>
|
||||
<opt id="20000" name="20.000 Exemplare"></opt>
|
||||
<opt id="25000" name="25.000 Exemplare"></opt>
|
||||
<opt id="30000" name="30.000 Exemplare"></opt>
|
||||
<opt id="35000" name="35.000 Exemplare"></opt>
|
||||
<opt id="40000" name="40.000 Exemplare"></opt>
|
||||
<opt id="45000" name="45.000 Exemplare"></opt>
|
||||
<opt id="50000" name="50.000 Exemplare"></opt>
|
||||
<opt id="75000" name="75.000 Exemplare"></opt>
|
||||
<opt id="100000" name="100.000 Exemplare"></opt>
|
||||
</option>
|
||||
|
||||
<option id="format1" name="Format" type="Hidden" default="9">
|
||||
<opt id="1" name="100 x 100 mm"></opt>
|
||||
<opt id="3" name="35 x 300 mm"></opt>
|
||||
<opt id="4" name="40 x 320 mm"></opt>
|
||||
<opt id="5" name="45 x 350 mm"></opt>
|
||||
<opt id="6" name="50 x 400 mm"></opt>
|
||||
<opt id="7" name="55 x 450 mm"></opt>
|
||||
<opt id="8" name="60 x 460 mm"></opt>
|
||||
<opt id="9" name="Freies Format"></opt>
|
||||
</option>
|
||||
|
||||
<option id="breite_frei" name="Breite (in mm)" type="Input" default="100" min="30" max="480" helplink="/cms/breitaufkl?show=2&help=1">
|
||||
<format1>
|
||||
<grenze>9</grenze>
|
||||
</format1>
|
||||
</option>
|
||||
|
||||
<option id="hoehe_frei" name="Höhe (in mm)" type="Input" default="100" min="30" max="325" helplink="/cms/höhe?show=2&help=1">
|
||||
<format1>
|
||||
<grenze>9</grenze>
|
||||
</format1>
|
||||
</option>
|
||||
|
||||
<option id="papier" name="Material" type="Select" mode="papierdb" container="aufkleber_proppe" default="931001" helplink="/cms/mataufkl?show=2&help=1"/>
|
||||
|
||||
<option id="seitenzahl" name="Seitenzahl" type="Hidden" default="2">
|
||||
<opt id="2" name="2 Seiten"></opt>
|
||||
</option>
|
||||
|
||||
<option id="druckfarben_inhalt" name="Farbigkeit" type="Select" default="4" helplink="/cms/farbigkeit?show=2&help=1">
|
||||
<opt id="4" name="4/0 ISO (Euro) Skala (einseitig)"/>
|
||||
<!-- <opt id="2" name="4/4 Euroskala (beidseitig)"/> -->
|
||||
</option>
|
||||
|
||||
<option id="accordion_start" name="accordion_start" default="Weitere Parameter" type="Hidden"></option>
|
||||
|
||||
<option id="ecken" name="Ecken abrunden" type="Select" default="0" helplink="/cms/ecken-runden?show=2&help=1">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="4 Ecken abrunden, 3mm"></opt>
|
||||
<opt id="2" name="4 Ecken abrunden, 6mm"></opt>
|
||||
</option>
|
||||
|
||||
<option id="druckdaten" name="Druckdaten" type="Select" default="pdf" help="In welchem Dateiformat liefern Sie uns Ihre druckfertigen Daten?" helplink="/cms/druckdaten?show=2&help=1">
|
||||
<opt id="pdf" name="druckfähige PDF-Datei">
|
||||
<auflage>
|
||||
<grenze pauschale="0">1-</grenze>
|
||||
</auflage>
|
||||
</opt>
|
||||
<opt id="jpg" name="JPG, tiff, ai, id, psd (+ 10,00 €)">
|
||||
<auflage>
|
||||
<grenze pauschale="10">1-</grenze>
|
||||
</auflage>
|
||||
</opt>
|
||||
</option>
|
||||
|
||||
<option id="belegexemplare" name="Belegexemplare" type="Select" default="nein" help="Möchten Sie bei abweichender Lieferadresse Belegexemplare zugesendet haben?" helplink="/cms/belegexemplare?show=2&help=1">
|
||||
<opt id="nein" name="nein">
|
||||
<auflage>
|
||||
<grenze pauschale="0">1-</grenze>
|
||||
</auflage>
|
||||
</opt>
|
||||
<opt id="ja" name="ja (+ 10,00 €)">
|
||||
<auflage>
|
||||
<grenze pauschale="10">1-</grenze>
|
||||
</auflage>
|
||||
</opt>
|
||||
</option>
|
||||
|
||||
<option id="absender" name="Absendeadresse" type="Select" default="1" helplink="/cms/absendeadresse?show=2&help=1">
|
||||
<opt id="1" name="Etiketten Hero"></opt>
|
||||
<opt id="2" name="Neutral"></opt>
|
||||
</option>
|
||||
|
||||
<option id="accordion_stop" name="accordion_stop" type="Hidden"></option>
|
||||
|
||||
<!--
|
||||
<option id="oesen" name="Etiketten ösen" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
|
||||
</option>
|
||||
|
||||
<option id="lochung" name="Etiketten lochen" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
</option>
|
||||
|
||||
<option id="stanzung" name="Etiketten stanzen" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
</option>
|
||||
|
||||
<option id="blindpraegung" name="Blindprägung" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
</option>
|
||||
|
||||
<option id="heissfolie" name="Heißfolienprägung" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
</option>
|
||||
|
||||
<option id="falzen" name="Etiketten falzen" type="Select" default="0">
|
||||
<opt id="0" name="Nein"></opt>
|
||||
<opt id="1" name="Ja"></opt>
|
||||
</option>
|
||||
-->
|
||||
|
||||
<!-- Ende der Eingabemaske -->
|
||||
|
||||
<!-- Nutzenberechnung -->
|
||||
|
||||
<option id="breite_inkl_beschnitt" name="breite_inkl_beschnitt" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="($Vbreite_frei$V+(2*$Pbeschnitt_proppe$P))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<option id="hoehe_inkl_beschnitt" name="hoehe_inkl_beschnitt" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="($Vhoehe_frei$V+(2*$Pbeschnitt_proppe$P))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<option id="nutzen" name="Nutzen" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="(max((floor($Pdruckbogen_hoehe_proppe$P/($CVbreite_inkl_beschnitt_auflage$CV)))*(floor($Pdruckbogen_breite_proppe$P/$CVhoehe_inkl_beschnitt_auflage$CV)),(floor($Pdruckbogen_breite_proppe$P/($CVbreite_inkl_beschnitt_auflage$CV)))*(floor($Pdruckbogen_hoehe_proppe$P/$CVhoehe_inkl_beschnitt_auflage$CV))))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<!--
|
||||
<option id="nutzen_check" name="Nutzen" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(max((floor(325/($CVbreite_inkl_beschnitt_auflage$CV)))*(floor(490/$CVhoehe_inkl_beschnitt_auflage$CV)),(floor(490/($CVbreite_inkl_beschnitt_auflage$CV)))*(floor(325/$CVhoehe_inkl_beschnitt_auflage$CV))))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
-->
|
||||
|
||||
// Gesamtfläche mm² Formel
|
||||
<option id="gesamtflaeche" name="gesamtflaeche" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="($Pdruckbogen_breite_proppe$P*$Pdruckbogen_hoehe_proppe$P)/1000000">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Kosten Datencheck
|
||||
<option id="kosten_datencheck" name="jobflaeche_prozent" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($Pstundensatz_datencheck_proppe$P/$CVnutzen_auflage$CV)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Kosten Druckplatten
|
||||
<option id="kosten_druckplatten" name="kosten_druckplatten" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(($Pplattenpreis_proppe$P*$Vdruckfarben_inhalt$V)/($CVnutzen_auflage$CV))*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Fixkosten Druck
|
||||
<option id="kosten_druck_fix" name="kosten_druck_fix" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(($Pstundensatz_druck_proppe$P*$Peinrichtezeit_druck_proppe$P)/($CVnutzen_auflage$CV))*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// variable Kosten Druck
|
||||
<option id="kosten_druck_var" name="kosten_druck_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="((($Vauflage$V*$Pzuschussfaktor_proppe$P)+($Pmaterial_fix_propppe$P))/($Pmaschinenleistung_druck_proppe$P))*(($Pstundensatz_druck_proppe$P)/($CVnutzen_auflage$CV))*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Fixkosten Material
|
||||
<option id="kosten_material_fix" name="kosten_material_fix" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($Pmaterial_fix_propppe$P*$Vpapier_value$V/2/1000)/($CVnutzen_auflage$CV)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// variable Kosten Material
|
||||
<option id="kosten_material_var" name="kosten_material_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($Vauflage$V*$Pzuschussfaktor_proppe$P)*($Vpapier_value$V/2/1000)/($CVnutzen_auflage$CV)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// variable Kosten Farbe
|
||||
<option id="kosten_farbe_var" name="kosten_farbe_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(((($Vauflage$V)*($Pzuschussfaktor_proppe$P)+$Pmaterial_fix_propppe$P)*($CVgesamtflaeche_auflage$CV))*($Pfarbe_kg_propppe$P)/1000)/($CVnutzen_auflage$CV)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Anzahl Schnitte
|
||||
<option id="anzahl_schnitte" name="anzahl_schnitte" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="($CVnutzen_auflage$CV)+4">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Fixkosten Schneiden
|
||||
<option id="kosten_schneiden_fix" name="kosten_schneiden_fix" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($Pstundensatz_schneiden_proppe$P/60)*($Pschneiden_ruesten_proppe$P)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// variable Kosten Schneiden
|
||||
<!--
|
||||
<option id="kosten_schneiden_var" name="kosten_schneiden_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(ceil((($Vauflage$V*$Pzuschussfaktor_proppe$P+$Pmaterial_fix_propppe$P)*$Vpapier_grammatur$V/1000)/$Phubhoehe_schneiden_proppe$P)*(12+2)*$Pzeit_je_schnitt_proppe$P)/($CVnutzen_auflage$CV)*$Pstundensatz_schneiden_proppe$P/60">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
-->
|
||||
<!--
|
||||
<option id="kosten_schneiden_var_neu" name="kosten_schneiden_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(($Vauflage$V*$Pzuschussfaktor_proppe$P+$Pmaterial_fix_propppe$P)*$Vpapier_grammatur$V/1000)/$Phubhoehe_schneiden_proppe$P*($CVanzahl_schnitte_auflage$CV)*$Pzeit_je_schnitt_proppe$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// =((D5*1,01+F16)*C3/1000)/C1*(12+2)*0,6
|
||||
-->
|
||||
|
||||
<option id="kosten_schneiden_var_ganz_neu" name="kosten_schneiden_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="(((($Vauflage$V*$Pzuschussfaktor_proppe$P+$Pmaterial_fix_propppe$P)*$Vpapier_grammatur$V/1000)/$Phubhoehe_schneiden_proppe$P)*4*$Pzeit_je_schnitt_proppe$P*$Pstundensatz_schneiden_proppe$P/60)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// =(Auflage*Zuschuß+MatFix)*Mat Stärke/Schneidehöhe*4 (Schnitte)*Zeit je Schnitt*Std Satz
|
||||
|
||||
// Fixkosten Ecken runden
|
||||
<option id="kosten_runden_fix" name="kosten_runden_fix" type="Hidden" default="1">
|
||||
<ecken>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Pecken_runden_ruesten_proppe$P)*$Pstundensatz_ecken_runden_proppe$P/60)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</ecken>
|
||||
</option>
|
||||
|
||||
// variable Kosten Ecken runden
|
||||
<option id="kosten_runden_var" name="kosten_runden_var" type="Hidden" default="1">
|
||||
<ecken>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="($Vauflage$V*$Pzuschussfaktor_proppe$P*$Vpapier_grammatur$V/1000/$Phubhoehe_ecken_proppe$P*4*$Pecken_runden_zeit_pro_hub$P*$Pstundensatz_ecken_runden_proppe$P/3600)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</ecken>
|
||||
</option>
|
||||
|
||||
// Fixkosten Ösen
|
||||
<option id="kosten_oesen_fix" name="kosten_oesen_fix" type="Hidden" default="1">
|
||||
<oesen>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Voesen$V*$Poesen_ruesten_proppe$P)*$Pstundensatz_oesen_proppe$P/60)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</oesen>
|
||||
</option>
|
||||
|
||||
// variable Kosten ösen
|
||||
<option id="kosten_oesen_var" name="kosten_oesen_var" type="Hidden" default="1">
|
||||
<oesen>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Vauflage$V*$Pzuschussfaktor_proppe$P/1000)*$Pstundensatz_oesen_proppe$P+($Vauflage$V*$Pzuschussfaktor_proppe$P*$Pmaterial_oesen_proppe$P))*$Voesen$V">1-4</grenze>
|
||||
</oesen>
|
||||
</option>
|
||||
|
||||
// Fixkosten lochen
|
||||
<option id="kosten_lochen_fix" name="kosten_lochen_fix" type="Hidden" default="1">
|
||||
<lochung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Vlochung$V*$Plochen_ruesten_proppe$P)*$Pstundensatz_lochen_proppe$P/60)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</lochung>
|
||||
</option>
|
||||
|
||||
// variable Kosten Lochung
|
||||
<option id="kosten_lochung_var" name="kosten_lochung_var" type="Hidden" default="1">
|
||||
<lochung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Vauflage$V*$Pzuschussfaktor_proppe$P*$Vpapier_grammatur$V/1000)/$Phubhoehe_lochen_proppe$P*$Plochen_zeit_pro_hub$P*($Pstundensatz_lochen_proppe$P/3600)*$Vlochung$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</lochung>
|
||||
</option>
|
||||
|
||||
// Fixkosten Stanzung
|
||||
<option id="kosten_stanzen_fix" name="kosten_stanzen_fix" type="Hidden" default="1">
|
||||
<stanzung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="($Vstanzung$V*$Pstanzen_ruesten_proppe$P*$Pstundensatz_stanzen_proppe$P/60)+($Vstanzung$V*$Pstanzen_werkzeug_proppe$P)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</stanzung>
|
||||
</option>
|
||||
|
||||
// variable Kosten Stanzung
|
||||
<option id="kosten_stanzung_var" name="kosten_stanzung_var" type="Hidden" default="1">
|
||||
<stanzung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(($Vauflage$V*$Pzuschussfaktor_proppe$P/1000)*$Pstanzen_zeit_pro_1000_proppe$P*1.09*$Vstanzung$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</stanzung>
|
||||
</option>
|
||||
|
||||
// Fixkosten Prägung (Nutzen geteilt durch 2???)
|
||||
<option id="kosten_praegen_fix" name="kosten_praegen_fix" type="Hidden" default="1">
|
||||
<blindpraegung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(((($Pstundensatz_praegen_proppe$P*$Vblindpraegung$V)/(($CVnutzen_auflage$CV/2)*($Vblindpraegung$V)))+$Ppraegestempel_proppe$P)*$Vblindpraegung$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</blindpraegung>
|
||||
</option>
|
||||
|
||||
// variable Kosten Prägung
|
||||
<option id="kosten_praegung_var" name="kosten_praegung_var" type="Hidden" default="1">
|
||||
<blindpraegung>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="((((($Vauflage$V*$Pzuschussfaktor_proppe$P+$Pmaterial_fix_propppe$P)/$Ppraegen_pro_h_proppe$P))*($Pstundensatz_praegen_proppe$P/($CVnutzen_auflage$CV/2)))*$Vblindpraegung$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</blindpraegung>
|
||||
</option>
|
||||
|
||||
// Fixkosten Heissfolie (Nutzen geteilt durch 2???)
|
||||
<option id="kosten_praegen_fix" name="kosten_praegen_fix" type="Hidden" default="1">
|
||||
<heissfolie>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="(((($Pstundensatz_heissfolie_proppe$P*1.25)/(($CVnutzen_auflage$CV/2)*($Vheissfolie$V)))+$Pheissfoliestempel_proppe$P)*$Vheissfolie$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</heissfolie>
|
||||
</option>
|
||||
|
||||
// variable Kosten Heissfolie
|
||||
<option id="kosten_heissfolie_var" name="kosten_heissfolie_var" type="Hidden" default="1">
|
||||
<heissfolie>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="((((($Vauflage$V*$Pzuschussfaktor_proppe$P+$Pmaterial_fix_propppe$P)/$Pheissfolie_pro_h_proppe$P))*($Pstundensatz_heissfolie_proppe$P/($CVnutzen_auflage$CV/2)))*$Vheissfolie$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</heissfolie>
|
||||
</option>
|
||||
|
||||
// Fixkosten Falzen
|
||||
<option id="kosten_falzen_fix" name="kosten_falzen_fix" type="Hidden" default="1">
|
||||
<falzen>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="($Pfalzen_ruesten_proppe$P/60*$Pstundensatz_falzen_proppe$P*$Vfalzen$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</falzen>
|
||||
</option>
|
||||
|
||||
// variable Kosten Falzen
|
||||
<option id="kosten_falzen_var" name="kosten_falzen_var" type="Hidden" default="1">
|
||||
<falzen>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="($Vauflage$V*$Pzuschussfaktor_proppe$P/$Pfalzen_pro_h_proppe$P*$Pstundensatz_falzen_proppe$P*$Vfalzen$V)*$Pgewinnzuschlag$P">1-4</grenze>
|
||||
</falzen>
|
||||
</option>
|
||||
|
||||
|
||||
// variable Kosten bündlen
|
||||
<option id="kosten_buendeln_var" name="kosten_buendeln_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="($Vauflage$V/$Pbuendeln_pro_h_proppe$P*$Pstundensatz_buendeln_proppe$P)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// variable Kosten verpacken (Anzahl Ex pro Karton)
|
||||
<option id="anzahl_ex_karton" name="kosten_verpacken_material_var" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="0">0</grenze>
|
||||
<grenze calc_value="floor(($Pverpackung_breite_mm_proppe$P*$Pverpackung_laenge_mm_proppe$P)/($Vbreite_frei$V*$Vhoehe_frei$V))*floor($Pverpackung_hoehe_mm_proppe$P/($Vpapier_grammatur$V/1000))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Kosten Kartons
|
||||
<option id="kosten_kartons" name="kosten_kartons" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="((ceil($Vauflage$V/($CVanzahl_ex_karton_auflage$CV)))*$Pverpackung_material_proppe$P)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<option id="kosten_kartons_umverpackung" name="kosten_kartons_umverpackung" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="0">0</grenze>
|
||||
<grenze formel="((ceil($Vauflage$V/($CVanzahl_ex_karton_auflage$CV)))*$Pverpackung_material_umverp_proppe$P)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Gewicht Produkte
|
||||
<option id="gewicht_produkte" name="gewicht_produkte" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="$Vbreite_frei$V*$Vhoehe_frei$V/1000000*$Vauflage$V*$Vpapier_grammatur$V">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Gewicht Kartons
|
||||
<option id="gewicht_karton" name="gewicht_karton" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="(ceil($Vauflage$V/($CVanzahl_ex_karton_auflage$CV)))*$Pkarton_gewicht_proppe$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
// Gewicht Umkartons
|
||||
<option id="gewicht_umkarton" name="gewicht_umkarton" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="(ceil($Vauflage$V/($CVanzahl_ex_karton_auflage$CV))/2)*$Pumkarton_gewicht_proppe$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<option id="gesamtgewicht" name="gesamtgewicht" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze calc_value="(($CVgewicht_produkte_auflage$CV)+($CVgewicht_karton_auflage$CV)+($CVgewicht_umkarton_auflage$CV))">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
<option id="versandkosten" name="versandkosten" type="Hidden" default="1">
|
||||
<gesamtgewicht formel="$CVgesamtgewicht_auflage$CV">
|
||||
<grenze formel="($Pversandkosten_proppe_bis_05000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">1-5000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_10000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">5001-10000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_20000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">10001-20000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_30000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">20001-30000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_35000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">30001-35000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_40000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">34001-40000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_50000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">40001-50000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_60000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">50001-60000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_65000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">60001-65000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_70000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">65001-70000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_80000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">70001-80000</grenze>
|
||||
<grenze formel="($Pversandkosten_proppe_bis_90000g$P+$Pzuschlag_versand_proppe$P)*$Pgewinnzuschlag$P">80001-90000</grenze>
|
||||
<grenze formel="300">90001-</grenze>
|
||||
</gesamtgewicht>
|
||||
</option>
|
||||
|
||||
<option id="auftragspauschale" name="auftragspauschale" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($Pauftragspauschale_proppe$P)*$Pgewinnzuschlag$P">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
|
||||
|
||||
// Gesamtgewicht für Produktkalkulation
|
||||
<option id="weight" name="weight" type="Hidden" default="1">
|
||||
<auflage>
|
||||
<grenze formel="($CVgewicht_produkte_auflage$CV)+($CVgewicht_karton_auflage$CV)+($CVgewicht_umkarton_auflage$CV)">1-</grenze>
|
||||
</auflage>
|
||||
</option>
|
||||
|
||||
</artikel>
|
||||
</kalkulation>
|
||||
2
tests/Customer/P/calcTemplates.xml
Normal file
2
tests/Customer/P/calcTemplates.xml
Normal file
@ -0,0 +1,2 @@
|
||||
<root>
|
||||
</root>
|
||||
127
tests/Customer/P/formels.txt
Normal file
127
tests/Customer/P/formels.txt
Normal file
@ -0,0 +1,127 @@
|
||||
//Flyer
|
||||
$flyer40='($Pflyerklick$P*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$flyer44='($Pflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$fflyer44='($Pfflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
|
||||
// Karten
|
||||
$weihnachtskarte2s='((0.5*$Vauflage$V)+(5))/1.19';
|
||||
$weihnachtskarte4s='((1.5*$Vauflage$V)+(5))/1.19';
|
||||
$karte40='($Pkarteklick$P*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$karte44='($Pkarteklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$faltkarte44='($Pfkarteklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$einleger='($Pflyerklick$P*2*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$planonut='$pnuten+($Vauflage$V*$pnut$P)';
|
||||
$geschlossennut='$pnuten+($Vauflage$V*$pnutgeschlossen$P)';
|
||||
|
||||
//kalender
|
||||
$kalendera5='($Vauflage$V*$Vseiten$V*.3)+($Vauflage$V*6.96)+5';
|
||||
$kalendera4='($Vauflage$V*$Vseiten$V*.5)+($Vauflage$V*7.96)+5';
|
||||
$kalendera3='($Vauflage$V*$Vseiten$V*.75)+($Vauflage$V*9.2)+5';
|
||||
|
||||
//Bogen
|
||||
$bogen40='($Pfarbdruck1$P*$Vauflage$V*$Vsorten$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
$bogen44='($Pflyerklick$P*2*$Vauflage$V*$Vsorten$V)+($Vpapier_value$V*$Vauflage$V)';
|
||||
// Visitenkarte einseitig doppelseitigKlappvisitenkarten
|
||||
$vk40='$Pvkpauschale$P+($Pvisitenkarte$P*$Vauflage$V/10)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||
$vk44='$Pvkpauschale$P+($Pvisitenkarte$P*$Vauflage$V*2/10)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||
$vkk44='20+($Pvisitenkartek$P*$Vauflage$V)*4+$Pvkpauschale$P+($Vpapier_value$V/10*$Vauflage$V)+($Pnut$P*$Vauflage$V)+(($Vpapier_value$V*$Vauflage$V)/20)';
|
||||
|
||||
// Poster
|
||||
$rahmen='((((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V))/10000)*30.5)+($Vauflage$V*15)';
|
||||
$poster='2.5+(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pposterqm1$P)/10000)';
|
||||
$postera1='(($Pposterqm1$P/2)*$Vauflage$V)+$Pposterpauschale$P';
|
||||
$fhhpostera1='(($Pposterqm1$P/2)*$Vmenge$V)';
|
||||
$postera0='(($Pposterqm1$P/1)*$Vauflage$V)+$Pposterpauschale$P';
|
||||
|
||||
//plakat
|
||||
$plakata3='(0.25*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V)+19.8';
|
||||
$plakata4='(0.15*$Vauflage$V)+($Vpapier_value$V*$Vauflage$V/2)+19.9';
|
||||
$plakat160='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat160qm1$P)/10000)+$Pplakatpauschale$P';
|
||||
$plakat140='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat140qm1$P)/10000)';
|
||||
$plakat80='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplakat80qm1$P)/10000)';
|
||||
|
||||
|
||||
//Leinwand
|
||||
$leinwand='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*70)/10000)';
|
||||
$leisten='((tonumber($Vkurz$V)+tonumber($Vlang$V)*$Vauflage$V)*2)*5.5/100';
|
||||
$aufziehen='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*40)/10000)+(5*$Vauflage$V)';
|
||||
|
||||
//Banner
|
||||
$banner='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pbannerqm$P)/10000)';
|
||||
$mesh='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pmeshqm$P)/10000)';
|
||||
$blockout='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pblockoutqm$P)/10000)';
|
||||
$pp='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pppqm$P)/10000)';
|
||||
$lamprotect='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*30)/10000)';
|
||||
$solprotect='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*12)/10000)';
|
||||
$solprotectmm='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*12)/1000000)';
|
||||
$oesen='((tonumber($Vkurz$V)+tonumber($Vlang$V)*$Vauflage$V)*2)/50';
|
||||
|
||||
// Tapete
|
||||
$tapete='(((tonumber($Vkurz$V)*tonumber($Vlang$V))*$Vauflage$V)*(44.5)/10000)';
|
||||
|
||||
//Klebefolie
|
||||
|
||||
$cutfolie='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Pcutfolieqm$P)/10000)+$Pcutfoliepausch$P';
|
||||
$cuttransfer='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Pcuttransferqm$P)/10000)';
|
||||
$aufkleber='(((tonumber($Vkurz$V+1)*tonumber($Vlang$V+1)*$Vauflage$V)*$Paufkleberqm$P)/1000000)+25';
|
||||
$klebefolie='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pklebefolieqm$P)/10000)';
|
||||
$diafilm='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*(70))/10000)';
|
||||
|
||||
//Plotten
|
||||
$pltfarbe='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotfarbe$P)/1000000)';
|
||||
$pltsw='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotsw$P)/1000000)';
|
||||
$pltfarbefl='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pplotfarbefl$P)/1000000)';
|
||||
//Laminieren
|
||||
$laminierenposter='(((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Plaminieren$P)/10000)';
|
||||
//Kaschieren
|
||||
$kaschieren3hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk3hs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren5hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5hs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren5fsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren5hsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren10fsposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pk10fs$P)/10000+$Pruestkosten$P';
|
||||
$kaschierenaluposter='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkalu$P)/10000+$Pruestkosten$P';
|
||||
$kaschierenalufolie='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkalu$P)/11000';
|
||||
|
||||
$kaschieren3hs='((tonumber($Vkurz$V)*tonumber($Vlang$V)*$Vauflage$V)*$Pkaschieren3hs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren5hs='(($Vauflage$V)*$Pk5hs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren10hs='(($Vauflage$V)*$Pk10hs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren5fs='(($Vauflage$V)*$Pk5fs$P)/10000+$Pruestkosten$P';
|
||||
$kaschieren10fs='(($Vauflage$V)*$Pk10fs$P)/10000+$Pruestkosten$P';
|
||||
$kaschierenalu='(($Vauflage$V)*$Pkalu$P)/10000+$Pruestkosten$P';
|
||||
|
||||
//RollUpbasic
|
||||
$rollbasic='(144.35/1.19*$Vauflage$V)';
|
||||
|
||||
// Cellophanieren
|
||||
$cello='10+$Pcello$P*$Vauflage$V';
|
||||
$cellodps='10+$Pcello$P*2*$Vauflage$V';
|
||||
$formelvkcello='5+($Pcello$P*$Vauflage$V/20)';
|
||||
|
||||
//Taschenlaminat
|
||||
$formeltl='$Ptaschenlaminieren3$P*$Vauflage$V';
|
||||
|
||||
//eckenrunden
|
||||
$formel7='$Peckenrundeneinrichten$P+($Peckenrunden$P*$Vauflage$V)';
|
||||
//Falten
|
||||
$falten='$Pfalte$P*$Vauflage$V';
|
||||
//nuten
|
||||
$nutplano='$Pnuten$P+($Pnut$P*$Vauflage$V)';
|
||||
// nuten für kombiartikel
|
||||
$nutplan='($Pnut$P*$Vauflage$V)';
|
||||
$nutzu='$Pnuten$P+($Pnutgeschlossen$P*$Vauflage$V)';
|
||||
//heften
|
||||
$heften='10+(0.15*$Vauflage$V)';
|
||||
|
||||
//Briefpapier
|
||||
$briefpapier='($Vauflage$V*0.10)+25+($Vpapier_value$V/2*$Vauflage$V)';
|
||||
|
||||
// Zeitungen
|
||||
// abizeitung
|
||||
$abi_a4_sw='($Vauflage$V*$Vswseiten$V)*0.025)+($Vauflage$V*.08)';
|
||||
//Schuelerzeitung
|
||||
$sza5fc='($Vauflage$V*0.6)+10+(($Vauflage$V*$Vswswseiten$V)*0.015)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||
$sza4fc='($Vauflage$V*0.6)+10+(($Vauflage$V*$Vswswseiten$V)*0.025)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||
$sza5='10+(($Vauflage$V*$Vswswseiten$V)*0.015)+($Vauflage$V*0.15)+($Vpapier_value$V/4*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/4*$Vumschlag_value$V)';
|
||||
$sza4='10+(($Vauflage$V*$Vswswseiten$V)*0.025)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||
$sz4ca5='10+(($Vauflage$V*$Vswswseiten$V)*0.15)+($Vauflage$V*0.15)+($Vpapier_value$V/4*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/4*$Vumschlag_value$V)';
|
||||
$sz4ca4='10+(($Vauflage$V*$Vswswseiten$V)*0.25)+($Vauflage$V*0.15)+($Vpapier_value$V/2*$Vauflage$V*$Vswswseiten$V)+($Vauflage$V/2*$Vumschlag_value$V)';
|
||||
330
tests/Customer/P/papierContainer.xml
Normal file
330
tests/Customer/P/papierContainer.xml
Normal file
@ -0,0 +1,330 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<container>
|
||||
|
||||
|
||||
//Proppe
|
||||
<papiercontainer id="aufkleber_proppe">
|
||||
<papier id="931001"/>
|
||||
</papiercontainer>
|
||||
|
||||
<papiercontainer id="umweltfreundliche Aufkleber">
|
||||
<papier id="931006"/>
|
||||
<papier id="931007"/>
|
||||
</papiercontainer>
|
||||
|
||||
<papiercontainer id="anhängeetiketten">
|
||||
<papier id="931017">
|
||||
<grenzen>
|
||||
<seitenzahl>
|
||||
<grenze>2</grenze>
|
||||
</seitenzahl>
|
||||
</grenzen>
|
||||
</papier>
|
||||
<papier id="931018">
|
||||
<grenzen>
|
||||
<seitenzahl>
|
||||
<grenze>2</grenze>
|
||||
</seitenzahl>
|
||||
</grenzen>
|
||||
</papier>
|
||||
<papier id="931019">
|
||||
<grenzen>
|
||||
<seitenzahl>
|
||||
<grenze>2</grenze>
|
||||
</seitenzahl>
|
||||
</grenzen>
|
||||
</papier>
|
||||
<papier id="931020">
|
||||
<grenzen>
|
||||
<seitenzahl>
|
||||
<grenze>2</grenze>
|
||||
</seitenzahl>
|
||||
</grenzen>
|
||||
</papier>
|
||||
<papier id="931021">
|
||||
<grenzen>
|
||||
<seitenzahl>
|
||||
<grenze>2</grenze>
|
||||
</seitenzahl>
|
||||
</grenzen>
|
||||
</papier>
|
||||
</papiercontainer>
|
||||
|
||||
<papier id="931023"/> Diese 2 Zeilen standen vorher innerhalb des Papiercontainers an letzter Stelle. Wenn 4-seitige Anhägeeti in Klak aktiv, dann wieder einfügen
|
||||
<papier id="931024"/>
|
||||
|
||||
|
||||
<papiercontainer id="naßleimetiketten">
|
||||
<papier id="931011"/>
|
||||
<papier id="931012"/>
|
||||
<papier id="931013"/>
|
||||
<papier id="931014"/>
|
||||
<papier id="931015"/>
|
||||
<papier id="931016"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="trockengummiert">
|
||||
<papier id="931022"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="einleger">
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="trans"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="biotop80"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="fanbuch">
|
||||
<papier id="kp80"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
<papier id="kar"/>
|
||||
<papier id="lin"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="brosch_sw_innen">
|
||||
<papier id="kp80"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="abi_sw_innen">
|
||||
<papier id="kp80"/>
|
||||
<papier id="recy80"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="abi_farb_innen">
|
||||
<papier id="c100"/>
|
||||
<papier id="recy80"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="inkjet">
|
||||
<papier id="kp80"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="swpapier">
|
||||
<papier id="kp80"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken80"/>
|
||||
<papier id="farb80"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="briefpapier">
|
||||
<papier id="kp80"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken80"/>
|
||||
<papier id="c100"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="brosch_sw_umschlag">
|
||||
<papier id="biotop160"/>
|
||||
<papier id="recy160"/>
|
||||
<papier id="k160"/>
|
||||
<papier id="k160f"/>
|
||||
<papier id="kp80"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="brosch_farb_umschlag">
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="biotop160"/>
|
||||
<papier id="c200"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="brosch_farb_innen">
|
||||
<papier id="c100"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="titeldruck">
|
||||
<papier id="c200"/>
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="katalog_umschlag">
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="katalog_innen">
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="flyer">
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
|
||||
</papiercontainer>
|
||||
|
||||
<papiercontainer id="flyerkarte">
|
||||
<papier id="kp80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="c120"/>
|
||||
<papier id="c200"/>
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="cro270"/>
|
||||
<papier id="munken240"/>
|
||||
<papier id="recy240"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="1">
|
||||
<papier id="c100"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="4cpapier">
|
||||
<papier id="c100_incl"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="biotop80"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="stro">
|
||||
<papier id="c100_incl"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="faltflyer">
|
||||
<papier id="c100"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
</papiercontainer>
|
||||
|
||||
<papiercontainer id="karte">
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdg350"/>
|
||||
<papier id="cro270"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="postkarte">
|
||||
<papier id="c300"/>
|
||||
<papier id="recy240"/>
|
||||
<papier id="munken240"/>
|
||||
<papier id="cro270"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="vk">
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdg350"/>
|
||||
<papier id="visit"/>
|
||||
<papier id="cro270"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="2">
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdg350"/>
|
||||
<papier id="rtemotion"/>
|
||||
<papier id="cro270"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="fk">
|
||||
<papier id="c200"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="munken240"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="faltkartekoffset">
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="3">
|
||||
<papier id="cc100"/>
|
||||
<papier id="cc120"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
<papier id="cc300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdm350"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdg350"/>
|
||||
<papier id="rtemotion"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="4">
|
||||
<papier id="bkls"/>
|
||||
<papier id="bklg"/>
|
||||
<papier id="bklr"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="01">
|
||||
<papier id="kp80"/>
|
||||
<papier id="k160"/>
|
||||
<papier id="k160f"/>
|
||||
</papiercontainer>
|
||||
|
||||
<papiercontainer id="cd">
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="biotop160"/>
|
||||
<papier id="recy160"/>
|
||||
<papier id="c200"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="bdm135"/>
|
||||
<papier id="bdg135"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="zertifikat">
|
||||
<papier id="bdm170"/>
|
||||
<papier id="bdg170"/>
|
||||
<papier id="biotop160"/>
|
||||
<papier id="recy160"/>
|
||||
<papier id="c200"/>
|
||||
<papier id="c300"/>
|
||||
<papier id="bdm250"/>
|
||||
<papier id="bdg250"/>
|
||||
<papier id="bdg350"/>
|
||||
<papier id="visit"/>
|
||||
<papier id="cro270"/>
|
||||
<papier id="munken240"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="serienbrief">
|
||||
<papier id="kp80"/>
|
||||
<papier id="c100"/>
|
||||
<papier id="recy80"/>
|
||||
<papier id="munken90"/>
|
||||
<papier id="angel"/>
|
||||
</papiercontainer>
|
||||
<papiercontainer id="plakat">
|
||||
<papier id="160mt"/>
|
||||
<papier id="80mt"/>
|
||||
</papiercontainer>
|
||||
</container>
|
||||
192
tests/Customer/P/parameters.txt
Normal file
192
tests/Customer/P/parameters.txt
Normal file
@ -0,0 +1,192 @@
|
||||
//Proppe
|
||||
$gewinnzuschlag=1.1;
|
||||
$druckbogen_breite_proppe=490;
|
||||
$druckbogen_hoehe_proppe=325;
|
||||
$stundensatz_datencheck_proppe=68;
|
||||
$beschnitt_proppe=1.5;
|
||||
$plattenpreis_proppe=13;
|
||||
$stundensatz_druck_proppe=135;
|
||||
$einrichtezeit_druck_proppe=0.6;
|
||||
$zuschussfaktor_proppe=1.01;
|
||||
$maschinenleistung_druck_proppe=6000;
|
||||
|
||||
$material_fix_propppe=220;
|
||||
$farbe_kg_propppe=16.5;
|
||||
|
||||
$stundensatz_schneiden_proppe=61;
|
||||
$hubhoehe_schneiden_proppe=75;
|
||||
$zeit_je_schnitt_proppe=0.3;
|
||||
$schneiden_ruesten_proppe=9;
|
||||
|
||||
$ecken_runden_ruesten_proppe=6;
|
||||
$ecken_runden_zeit_pro_hub=25;
|
||||
$hubhoehe_ecken_proppe=30;
|
||||
$stundensatz_ecken_runden_proppe=45;
|
||||
|
||||
$oesen_ruesten_proppe=6;
|
||||
$oesen_anzahl_pro_h=1000;
|
||||
$stundensatz_oesen_proppe=45;
|
||||
$material_oesen_proppe=0.016;
|
||||
|
||||
$lochen_ruesten_proppe=6;
|
||||
$lochen_zeit_pro_hub=90;
|
||||
$hubhoehe_lochen_proppe=50;
|
||||
$stundensatz_lochen_proppe=45;
|
||||
|
||||
$stanzen_ruesten_proppe=15;
|
||||
$stanzen_zeit_pro_1000_proppe=5;
|
||||
$stanzen_werkzeug_proppe=650;
|
||||
$stundensatz_stanzen_proppe=65;
|
||||
|
||||
$praegen_pro_h_proppe=2250;
|
||||
$praegestempel_proppe=85;
|
||||
$stundensatz_praegen_proppe=70;
|
||||
|
||||
$heissfolie_pro_h_proppe=1900;
|
||||
$heissfoliestempel_proppe=65;
|
||||
$stundensatz_heissfolie_proppe=135;
|
||||
|
||||
$falzen_ruesten_proppe=20.4;
|
||||
$falzen_pro_h_proppe=4000;
|
||||
$stundensatz_falzen_proppe=45;
|
||||
|
||||
$buendeln_pro_h_proppe=80000;
|
||||
$stundensatz_buendeln_proppe=40;
|
||||
|
||||
$verpackung_breite_mm_proppe=214;
|
||||
$verpackung_laenge_mm_proppe=302;
|
||||
$verpackung_hoehe_mm_proppe=100;
|
||||
$verpackung_material_proppe=0.32;
|
||||
$verpackung_material_umverp_proppe=1.8;
|
||||
$karton_gewicht_proppe=200;
|
||||
$umkarton_gewicht_proppe=300;
|
||||
$zuschlag_versand_proppe=3;
|
||||
|
||||
$versandkosten_proppe_bis_05000g=9.2;
|
||||
$versandkosten_proppe_bis_10000g=10.2;
|
||||
$versandkosten_proppe_bis_20000g=11.2;
|
||||
$versandkosten_proppe_bis_30000g=17.2;
|
||||
$versandkosten_proppe_bis_35000g=26.3;
|
||||
$versandkosten_proppe_bis_40000g=27.3;
|
||||
$versandkosten_proppe_bis_50000g=28.3;
|
||||
$versandkosten_proppe_bis_60000g=34.3;
|
||||
$versandkosten_proppe_bis_65000g=43.4;
|
||||
$versandkosten_proppe_bis_70000g=44.4;
|
||||
$versandkosten_proppe_bis_80000g=45.4;
|
||||
$versandkosten_proppe_bis_90000g=51.4;
|
||||
|
||||
$auftragspauschale_proppe=35;
|
||||
|
||||
|
||||
|
||||
//express
|
||||
$exp1=0.1;
|
||||
$exp2=1.2;
|
||||
|
||||
|
||||
// copyshop
|
||||
$swst1=0.08/1.07;
|
||||
$swst2=0.065/1.07;
|
||||
$swst3=0.055/1.07;
|
||||
$swst4=0.05/1.07;
|
||||
$swst5=0.045/1.07;
|
||||
$swst6=0.035/1.07;
|
||||
$titeldruck=0.6/1.07;
|
||||
$fst1=0.9/1.07;
|
||||
$fst2=0.75/1.07;
|
||||
$fst3=0.55/1.07;
|
||||
$fst4=0.45/1.07;
|
||||
$fst5=0.4/1.07;
|
||||
$fst6=0.25/1.07;
|
||||
$fswst1=0.2/1.07;
|
||||
$fswst2=0.11/1.07;
|
||||
$fswst3=0.10/1.07;
|
||||
$fswst4=0.09/1.07;
|
||||
$fswst5=0.08/1.07;
|
||||
$fswst6=0.06/1.07;
|
||||
$b100=3.3/1.07;
|
||||
$b150=3.7/1.07;
|
||||
$b200=4.3/1.07;
|
||||
$b300=5.3/1.07;
|
||||
$b300plus=6.3/1.07;
|
||||
//shopende
|
||||
//farbdrucke
|
||||
$farbdruck1=0.80;
|
||||
$farbdruck2=0.80*0.85;
|
||||
$farbdruck3=0.80*0.75;
|
||||
$farbdruck4=0.80*0.65;
|
||||
$farbdruck5=0.80*0.55;
|
||||
$farbdruck6=0.80*0.45;
|
||||
$farbdruck7=0.80*0.37;
|
||||
$farbdruck8=0.80*0.31;
|
||||
$pauschale=30;
|
||||
$posterpauschale=0;
|
||||
$posterqm1=39.85/1.19;
|
||||
$plakatpauschale=10;
|
||||
$plakat140qm1=25;
|
||||
$plakat160qm1=20;
|
||||
$plakat80qm1=15;
|
||||
$plakatA3=10;
|
||||
$plakataffichenqm1=17.5;
|
||||
|
||||
$aufkleberqm=45;
|
||||
$klebefolieqm=45;
|
||||
$cutfolieqm=45;
|
||||
$cuttransferqm=15;
|
||||
$cutfoliepausch=25;
|
||||
$solprotectqm=15;
|
||||
$wallmountqm=60;
|
||||
//banner
|
||||
$bannerqm=40;
|
||||
$meshqm=40;
|
||||
$ppqm=40;
|
||||
$blockoutqm=40;
|
||||
|
||||
$vkpauschale=17.5;
|
||||
$laminieren=30;
|
||||
|
||||
//Flyer
|
||||
$flyerschneiden=7.5;
|
||||
$fflyerschneiden=8;
|
||||
$flyer=20;
|
||||
$fflyer=30;
|
||||
$karten=20;
|
||||
//$karten=35;
|
||||
$fkarten=25;
|
||||
$flyerklick=0.3;
|
||||
$fflyerklick=0.3;
|
||||
$fflyerfalten=0.01;
|
||||
$fkarteklick=0.310;
|
||||
$karteklick=0.25;
|
||||
// Weihnachtskarten
|
||||
|
||||
$klick=0.5;
|
||||
$visitenkarte=0.60;
|
||||
$k3hs=50;
|
||||
$k5hs=55;
|
||||
$k10hs=65;
|
||||
$k5fs=55;
|
||||
$k10fs=59.9;
|
||||
$kalu=89.99;
|
||||
$cello=0.1;
|
||||
$taschenlaminierena4=0.8;
|
||||
$taschenlaminierena3=1.25;
|
||||
$eckenrunden=0.01;
|
||||
$eckenrundeneinrichten=5;
|
||||
$nuten=12;
|
||||
$nut=.12;
|
||||
$nutgeschlossen=.18;
|
||||
$schneiden=2.5;
|
||||
$falten=0.01;
|
||||
$MiniRolli3=21.99;
|
||||
$MiniRolli4=16.99;
|
||||
$ruestkosten=0;
|
||||
$tbk=.60;
|
||||
$tbkpauschale=30;
|
||||
//plotten
|
||||
$plotsw=3.95;
|
||||
$plotfarbe=9.95;
|
||||
$plotfarbefl=14.95;
|
||||
|
||||
//aufschlag
|
||||
$aufschlag=1.5;
|
||||
@ -263,6 +263,16 @@ class PaperRepostory implements ObjectRepository
|
||||
$papier['sm150g']->setPapierTyp11(1);
|
||||
$papier['sm150g']->setPapierTyp14(1);
|
||||
|
||||
$papier['931001'] = new Paper();
|
||||
$papier['931001']->setArtNr('931001');
|
||||
$papier['931001']->setGrammatur('200');
|
||||
$papier['931001']->setPreis('300');
|
||||
$papier['931001']->setVolume(1);
|
||||
$papier['931001']->setPapierTyp3(1);
|
||||
$papier['931001']->setDescription1('Haftpapier hochglänzend weiß, permanent 80g');
|
||||
$papier['931001']->setDescription2('Michaelis - High Gloss White permanent geschlitzt');
|
||||
|
||||
|
||||
return $papier[$criteria['artNr']];
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user