diff --git a/.phpunit.result.cache b/.phpunit.result.cache index 94367f2..472c357 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":3,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":4,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":4,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":4,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":4,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":4},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.002,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.008,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.008,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.008,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.008,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.006,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.006,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.004,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.006,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.006,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.006,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.091,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.093,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.165,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.044,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.026,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.156,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.029,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.008,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.027,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.204,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.202,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.199,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.088,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.174,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.026,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.198,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.199,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.196,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.013,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.005,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.006,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.004,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.004,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.007,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.007,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.007,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.003,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.004,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.002,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.002,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.009,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.009}} \ No newline at end of file +{"version":1,"defects":{"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":3,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":4,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":4,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":4,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":3,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":4,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":4,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":4,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":3,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":4,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":4,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":4,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":4,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":4,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":4,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":4,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":4,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":4,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":4,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":4,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":4,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":4},"times":{"PSC\\Library\\Calc\\Tests\\testTest::testOk":0.001,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testIfArticleCountInXmlCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetArticleByName":0.006,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionById":0.005,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetPrintableValuesFromSavedParamsWithCleaning":0.011,"PSC\\Library\\Calc\\Tests\\Article\\CalendarXmlTest::testGetOptionsForArticle":0.005,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfParserGetArticleCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcArticleCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPrice":0.004,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcReturnsPriceWithEdge":0.003,"PSC\\Library\\Calc\\Tests\\Article\\Complete1Test::testIfCalcCompletePrice":0.004,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testIfArticleCountInXmlCorrectWith2Article":0.002,"PSC\\Library\\Calc\\Tests\\Article\\SimpleXmlTest::testGetArticleByName":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfParserGetArticleCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\OptionsRemoveTest::testIfOptionsNotValid":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\PreisPauschaleTest::testPreisPauschaleCalc":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfParserGetMinPrice":0.004,"PSC\\Library\\Calc\\Tests\\Calc\\PriceMinTest::testIfCalcReturnsGrenzeWithFormular":0.003,"PSC\\Library\\Calc\\Tests\\CalcValue\\AddCalcValuesTest::testIfParseValue":0.003,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfParseValue":0.066,"PSC\\Library\\Calc\\Tests\\CalcValue\\ComplexTest::testIfPaperGrammaturValue":0.069,"PSC\\Library\\Calc\\Tests\\CalcValue\\SimpleTest::testIfParseValue":0.003,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\FirstTest::testIfDefaultPriceIsOk":0.114,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfArticleCountIsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\FiveTest::testIfDefaultPriceIsOk":0.027,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\FourTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\PaperSavedTest::testIfDefaultPriceIsOk":0.113,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\SecondTest::testIfDefaultPriceIsOk":0.017,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfSelectedOptionsCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\SixTest::testIfCalcCorrect":0.005,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfArticleCountIsCorrect":0.004,"PSC\\Library\\Calc\\Tests\\Complex\\ThirdTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testIfDefaultPriceIsOk":0.128,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant1":0.129,"PSC\\Library\\Calc\\Tests\\Customer\\A\\CalcTest::testVariant2":0.125,"PSC\\Library\\Calc\\Tests\\Customer\\B\\CalcTest::testIfDefaultPriceIsOk":0.06,"PSC\\Library\\Calc\\Tests\\Customer\\C\\CalcTest::testIfDefaultPriceIsOk":0.123,"PSC\\Library\\Calc\\Tests\\Customer\\D\\CalcTest::testIfDefaultPriceIsOk":0.016,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfDefaultPriceIsOk":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\E\\CalcTest::testIfAnwender2PriceIsOk":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfDefaultPriceIsOk":0.028,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPriceIsOk":0.027,"PSC\\Library\\Calc\\Tests\\Customer\\F\\CalcTest::testIfOtherPrice2IsOk":0.028,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDefaultPriceIsOk":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfDisplayValues":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\G\\CalcTest::testIfAjaxValues":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDefaultPriceIsOk":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfDisplayValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\H\\CalcTest::testIfAjaxValues":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDefaultPriceIsOk":0.123,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIf6000PriceIsOk":0.121,"PSC\\Library\\Calc\\Tests\\Customer\\I\\CalcTest::testIfDruckfarbenPriceIsOk":0.123,"PSC\\Library\\Calc\\Tests\\Customer\\J\\CalcTest::testIfDefaultPriceIsOk":0.003,"PSC\\Library\\Calc\\Tests\\Customer\\K\\CalcTest::testCalcPlan":0.007,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcPlan":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\L\\CalcTest::testCalcVarPlan":0.003,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testDefaultOption":0.003,"PSC\\Library\\Calc\\Tests\\Customer\\M\\CalcTest::testCalcValues":0.003,"PSC\\Library\\Calc\\Tests\\Customer\\N\\CalcTest::testPreCalcOption":0.004,"PSC\\Library\\Calc\\Tests\\Customer\\O\\CalcTest::testPreCalcOption":0.003,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testSimpleLoadXmlFromString":0.002,"PSC\\Library\\Calc\\Tests\\General\\LoadTest::testWrongEval":0.003,"PSC\\Library\\Calc\\Tests\\Article\\papierDbWithFormelTest::testSelectWithGrenzen":0.004,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzen":0.004,"PSC\\Library\\Calc\\Tests\\Article\\selectWithGrenzenTest::testSelectWithGrenzenParams":0.004,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\ContainerTest::testIfLoadsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfOneValue":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFrom":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfRegionFromTo":0.002,"PSC\\Library\\Calc\\Tests\\Parse\\Edge\\SimpleTest::testIfCommaSeperated":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\CheckboxTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\InputTest::testIfCorrectAttributes":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\RadioboxTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfCorrectAttributes":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfPaperContainerReturnsCorrectItems":0.001,"PSC\\Library\\Calc\\Tests\\Option\\Type\\SelectTest::testIfSelectWithPaperContainerModeReturnsCorrectOpt":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextTest::testIfCorrectAttributes":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\Option\\Type\\TextareaTest::testIfCorrectAttributes":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseGroupTest::testIfCountCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCorrectType":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseTest::testIfCountIsCorrect":0.002,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfCorrectType":0.001,"PSC\\Library\\Calc\\Tests\\PreCalc\\ParseVariantTest::testIfNameIsCorrect":0.001,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorrectType":0.001,"PSC\\Library\\Calc\\Tests\\PreCalc\\ValueTest::testIfCorret":0.001,"PSC\\Library\\Calc\\Tests\\Recursiv\\SecondTest::testIfArticleCountIsCorrect":0.007,"PSC\\Library\\Calc\\Tests\\testTest::testNotOk":0.001,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfWeightIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfSingleWeightIsCorrect":0.006,"PSC\\Library\\Calc\\Tests\\Complex\\EightTest::testIfDefaultPriceIsOk":0.006,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testCalcPrice":0.021,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testHelpTextAndLink":0.022,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMaxBreite":0.038,"PSC\\Library\\Calc\\Tests\\Customer\\P\\CalcTest::testMinBreite":0.038,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPrice":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChange":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\Q\\CalcTest::testCalcPriceDefaultChangeSecound":0.012,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testDefaultPrice":0.322,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAuflage500":0.324,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt2":0.324,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcComplexTest::testAndereProduktArt3":0.326,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl330":0.04,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionAuswahl331":0.039,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCheckbox":0.041,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionDefaultCheckbox":0.073,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CalcTest::testOptionCalcCheckbox":0.072,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcDefault":0.01,"PSC\\Library\\Calc\\Tests\\Customer\\R\\CheckboxTest::testCalcOnly2":0.009,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcDefault":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\R\\RadioboxTest::testCalcOnly2":0.008,"PSC\\Library\\Calc\\Tests\\Customer\\S\\CalcTest::testCalcPrice":0.004,"PSC\\Library\\Calc\\Tests\\General\\DisplayGroupTest::testDisplayGroup":0.004,"PSC\\Library\\Calc\\Tests\\Recursiv\\FirstTest::testIfArticleCountIsCorrect":0.003,"PSC\\Library\\Calc\\Tests\\Customer\\T\\CalcTest::testIfDefaultPriceIsOk":0.008}} \ No newline at end of file diff --git a/src/Calc/Calc.php b/src/Calc/Calc.php index 02df7a1..0a9016f 100644 --- a/src/Calc/Calc.php +++ b/src/Calc/Calc.php @@ -83,6 +83,7 @@ class Calc /** @var EdgeCollection $collection */ foreach($container as $collection) { + $var = 'XXXXXXXXXXXX'; if($collection->getName() == "opt") continue; if($collection->getFormel() != "") { $formel = $this->formelCalc->parse($collection->getFormel()); @@ -92,9 +93,7 @@ class Calc eval('$var = ' . $formel . ';'); } }else{ - if(!isset($this->engine->getVariables()[$collection->getName()])) { - $var = 'XXXXXXXXXXXX'; - }else{ + if(isset($this->engine->getVariables()[$collection->getName()])) { $var = $this->engine->getVariables()[$collection->getName()]; } } @@ -102,7 +101,7 @@ class Calc /** @var Edge $edge */ foreach($collection as $edge) { - if($edge->isValid($var)) { + if($var !== "XXXXXXXXXXXX" && $edge->isValid($var)) { if($edge->getPauschale() != 0) { eval('$gesamt += ' . $edge->getPauschale() . ';'); @@ -150,9 +149,14 @@ class Calc if ($formel != "" && !in_array($option->getId(), ['weight', 'weight_single']) && $option->isAjaxExport() && !$option->isDisplayOnly() && $option->isAmount()) { $p = 0; $formel = str_replace("tonumber", '$this->toNumber', $formel); - eval('@$p = ' . $formel . ';'); + try { + eval('@$p = ' . $formel . ';'); - $this->engine->addAjaxVariable($option->getId(), $p); + $this->engine->addAjaxVariable($option->getId(), $p); + }catch (\Throwable $e) { + $this->engine->addDebugCalcFormel($edge->getFormel(), $formel . ' = error'); + $p = 0; + } } if ($formel != "" && !in_array($option->getId(), ['weight', 'weight_single']) && !$option->isAjaxExport() && $option->isDisplayOnly() && $option->isAmount()) { $p = 0; diff --git a/src/Calc/CalcValues.php b/src/Calc/CalcValues.php index 22d3dd7..fe93d32 100644 --- a/src/Calc/CalcValues.php +++ b/src/Calc/CalcValues.php @@ -92,6 +92,7 @@ class CalcValues /** @var EdgeCollection $collection */ foreach ($container as $collection) { + $var = 'XXXXXXXX'; if ($collection->getName() == "opt") continue; if ($collection->getFormel() != "") { $formel = $this->formelCalc->parse($collection->getFormel()); @@ -101,9 +102,7 @@ class CalcValues eval('$var = ' . $formel . ';'); } } else { - if (!isset($this->engine->getVariables()[$collection->getName()])) { - $var = 'XXXXXXXX'; - } else { + if (isset($this->engine->getVariables()[$collection->getName()])) { $var = $this->engine->getVariables()[$collection->getName()]; } } @@ -111,7 +110,7 @@ class CalcValues /** @var Edge $edge */ foreach ($collection as $edge) { - if ($edge->isValid($var)) { + if ($var !== 'XXXXXXXX' && $edge->isValid($var)) { if ($edge->getCalcValue() != "") { $cv = $this->formelCalc->parse($edge->getCalcValue()); diff --git a/src/Engine.php b/src/Engine.php index c57109c..c918751 100644 --- a/src/Engine.php +++ b/src/Engine.php @@ -247,7 +247,9 @@ class Engine $tmp = []; foreach ($this->variables as $key => $variable) { if(!is_array($variable)) { - $tmp[$key] = str_replace(",", ".", $variable); + if($variable !== null) { + $tmp[$key] = str_replace(",", ".", $variable); + } }else{ $tmp[$key] = $variable; } diff --git a/tests/Complex/ThirdTest.php b/tests/Complex/ThirdTest.php index a032cf5..d7c9016 100644 --- a/tests/Complex/ThirdTest.php +++ b/tests/Complex/ThirdTest.php @@ -45,5 +45,6 @@ class ThirdTest extends TestCase $this->engine->setVariable('auflage', 1500); $this->engine->setVariable('druckfarben_inhalt', 2); $this->assertEquals(152.00 , $this->engine->getPrice()); + } } diff --git a/tests/Customer/R/CalcComplexTest.php b/tests/Customer/R/CalcComplexTest.php index 92bab85..48def01 100644 --- a/tests/Customer/R/CalcComplexTest.php +++ b/tests/Customer/R/CalcComplexTest.php @@ -48,6 +48,7 @@ class CalcComplexTest extends TestCase public function testAuflage500(): void { $this->engine->setVariable('auflage', 500); + $this->engine->calc(); $this->assertSame(94.68, $this->engine->getPrice()); } diff --git a/tests/Customer/R/calc_complex.xml b/tests/Customer/R/calc_complex.xml index 7ca6ccb..6e1cdc7 100644 --- a/tests/Customer/R/calc_complex.xml +++ b/tests/Customer/R/calc_complex.xml @@ -321,8 +321,8 @@ - diff --git a/tests/Customer/T/CalcTest.php b/tests/Customer/T/CalcTest.php new file mode 100644 index 0000000..347559e --- /dev/null +++ b/tests/Customer/T/CalcTest.php @@ -0,0 +1,45 @@ +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 testIfDefaultPriceIsOk(): void + { + $this->engine->calc(); + $this->assertEquals(0 , $this->engine->getPrice()); + + } +} diff --git a/tests/Customer/T/calc.xml b/tests/Customer/T/calc.xml new file mode 100644 index 0000000..ccc419e --- /dev/null +++ b/tests/Customer/T/calc.xml @@ -0,0 +1,25 @@ + + + + + Banderolen + + + + + + + + + \ No newline at end of file diff --git a/tests/Customer/T/calcTemplates.xml b/tests/Customer/T/calcTemplates.xml new file mode 100644 index 0000000..7b1cdd7 --- /dev/null +++ b/tests/Customer/T/calcTemplates.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Customer/T/formels.txt b/tests/Customer/T/formels.txt new file mode 100644 index 0000000..04d87b1 --- /dev/null +++ b/tests/Customer/T/formels.txt @@ -0,0 +1,733 @@ +$hilfsvalue_abschlag_sammelform_plano = '((($CVhilfsvalue_sammelform_format_auflage$CV/100*75)+($CVhilfsvalue_sammelform_menge_auflage$CV/100*25))/(75+25)*100)'; + +$hilfsvalue_sammelform_format_plano = '(max(0,getSammelformFormatPlano($Vsortenzahl$V*$CVformat_offen_breite_auflage$CV*$CVformat_offen_hoehe_auflage$CV)-(5*abs(1.408-max($CVformat_offen_breite_auflage$CV,$CVformat_offen_hoehe_auflage$CV)/min($CVformat_offen_breite_auflage$CV,$CVformat_offen_hoehe_auflage$CV)))))'; + +if(!function_exists('getSammelformMengenAbschlagPlano')) { + + function getSammelformMengenAbschlagPlano($menge) { + + if($menge < 2500) return 100; + if($menge < 7500) return 90; + if($menge < 10000) return 80; + if($menge < 15000) return 70; + if($menge < 20000) return 60; + if($menge < 35000) return 50; + if($menge < 50000) return 25; + return 1; + } + + function getSammelformFormatPlano($value) { + if($value < 56) return 150; + if($value < 63) return 130; + if($value < 649) return 100; + if($value < 1299) return 90; + if($value < 1999) return 80; + if($value < 2499) return 60; + return 0; + } + + + function getCalcTableValue($what, $papierType1,$papierType2,$papierType3,$papierType4,$papierType5,$papierType6,$papierType7,$papierType8,$papierType9,$papierType10,$papierType11,$papierType12,$papierType13,$papierType14, $kostenDruckplatte, $druckplatteOption, $gammatur, $papierKosten, $weiterVerarbeitung, $seiten, $auflage, $anzahlDruckfarben, $anzahlFarbwechsel, $anzahlDruckJeForm, $format_offen_breite, $format_offen_hoehe, $geiferRand, $bogenRaender) { + + $price = 9999999999; + $nutzen = 9999999999; + $nettobg = 9999999999; + $zuschuss = 9999999999; + $bogen_hoehe = 1000; + $bogen_breite = 1000; + $ctp = 999999999; + + $formate=array(); + if($papierType1) { + $formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'seiten' => 4); + } + if($papierType1 && ($weiterVerarbeitung == 3)) { + $formate[] = array('type' => 2, 'breite' => 88, 'hoehe' => 63, 'seiten' => 2); + } + + if($papierType2) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'seiten' => 4); + } + if($papierType2 && ($weiterVerarbeitung == 3)) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'seiten' => 2); + } + + if($papierType3) { + //$formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'seiten' => 4); + } + if($papierType3 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'seiten' => 2); + } + + if($papierType4) { + //$formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'seiten' => 4); + } + if($papierType4 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'seiten' => 2); + } + + if($papierType5) { + //$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 11.4, 'seiten' => 4); + } + if($papierType5 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 11.4, 'seiten' => 2); + } + + if($papierType6) { + //$formate[] = array('type' => 7, 'breite' => 32.4, 'hoehe' => 22.9, 'seiten' => 4); + } + if($papierType6 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 32.4, 'hoehe' => 22.9, 'seiten' => 2); + } + + if($papierType7) { + //$formate[] = array('type' => 7, 'breite' => 35.3, 'hoehe' => 25, 'seiten' => 4); + } + if($papierType7 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 35.3, 'hoehe' => 25, 'seiten' => 2); + } + + if($papierType8) { + //$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 16.2, 'seiten' => 4); + } + if($papierType8 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 22.9, 'hoehe' => 16.2, 'seiten' => 2); + } + + if($papierType9) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'seiten' => 4); + } + if($papierType9 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'seiten' => 2); + } + + if($papierType10) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'seiten' => 4); + } + if($papierType10 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'seiten' => 2); + } + + if($papierType11) { + $formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'seiten' => 4); + } + if($papierType11 && ($weiterVerarbeitung == 3)) { + $formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'seiten' => 2); + } + + if($papierType12) { + //$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'seiten' => 4); + } + if($papierType12 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'seiten' => 2); + } + + if($papierType13) { + //$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'seiten' => 4); + } + if($papierType13 && ($weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'seiten' => 2); + } + if($papierType14) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'seiten' => 4); + } + if($papierType14 && ($weiterVerarbeitung == 3)) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'seiten' => 2); + } + + //echo "

"; + + foreach($formate as $key => $format) { + + if($format['seiten'] == 4) { + $calc1=floor((($format['breite']-$bogenRaender)/($format_offen_breite)))*floor((($format['hoehe']-$geiferRand))/$format_offen_hoehe)*2; + $calc2=floor((($format['hoehe']-$bogenRaender)/($format_offen_breite)))*floor((($format['breite']-$geiferRand))/$format_offen_hoehe)*2; + }else{ + $calc1=floor((($format['breite']-$bogenRaender)/($format_offen_breite/2)))*floor((($format['hoehe']-$geiferRand))/$format_offen_hoehe); + $calc2=floor((($format['hoehe']-$bogenRaender)/($format_offen_breite/2)))*floor((($format['breite']-$geiferRand))/$format_offen_hoehe); + } + + $nutzen_calc = ($calc1 > $calc2)? $calc1: $calc2; + + $calc1 = 200; + + $calc2 = ($anzahlDruckJeForm*$anzahlDruckfarben*100*ceil($seiten/($nutzen_calc*2))+($anzahlFarbwechsel*100)+($seiten/($nutzen_calc*2)*$auflage*0.02)); + + $zuschussCalc = ($calc1 > $calc2)? $calc1 : $calc2; + + $nettoBedruckGesamt = $seiten/$nutzen_calc*$auflage/2; + $ctp1 = ceil($seiten/$nutzen_calc)*($anzahlDruckfarben)+$druckplatteOption; + $price_calc = ((($nettoBedruckGesamt+$zuschussCalc)*$format['hoehe']*$format['breite']*$gammatur*$papierKosten/1000000000))+($kostenDruckplatte*$ctp1); + //var_dump($nutzen_calc); + //var_dump($format['hoehe'].'-'.$format['breite'].'-'.$ctp1.'-'.$nettoBedruckGesamt.'-'.$price_calc.'-'.$price); + //echo "
"; + + if($price_calc < $price && $nutzen > 0) { + $price = $price_calc; + $nutzen = $nutzen_calc; + $ctp = $ctp1; + $zuschuss = $zuschussCalc; + $nettobg = $nettoBedruckGesamt; + $bogen_hoehe = $format['hoehe']; + $bogen_breite = $format['breite']; + } + } + + + + + if($what == 'nutzen') { + if($seiten < $nutzen) { + return $seiten; + } + return $nutzen; + } + if($what == 'nettobg') { + return $nettobg; + } + if($what == 'zuschuss') { + return $zuschuss; + } + + if($what == 'bogen_hoehe') { + return $bogen_hoehe; + } + + if($what == 'ctp') { + return $ctp; + } + + if($what == 'bogen_breite') { + return $bogen_breite; + } + return $price; + + } + + + function getCalcTableValueUmschlag($what, $papierType1,$papierType2,$papierType3,$papierType4,$papierType5,$papierType6,$papierType7,$papierType8,$papierType9,$papierType10,$papierType11,$papierType12,$papierType13,$papierType14, $kostenDruckplatte, $druckplatteOption, $gammatur, $papierKosten, $umschlagen, $seiten, $auflage, $anzahlDruckfarben, $anzahlFarbwechsel, $anzahlDruckJeForm, $format_offen_breite, $format_offen_hoehe, $geiferRand, $bogenRaender, $umschlag_seiten_bedruckt) { + + $price = 9999999999; + $nutzen = 9999999999; + $nettobg = 9999999999; + $zuschuss = 9999999999; + $bogen_hoehe = 1000; + $bogen_breite = 1000; + + $formate=array(); + if($papierType1) { + $formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 0); + } + if($papierType1 && $umschlagen == 1) { + $formate[] = array('type' => 2, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 1); + } + + if($papierType2) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 0); + } + if($papierType2 && $umschlagen == 1) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 1); + } + + if($papierType3) { + $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 0); + } + if($papierType3 && $umschlagen == 1) { + $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 1); + } + + if($papierType4) { + //$formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'umschlagen' => 0); + } + if($papierType4 && $umschlagen == 1) { + //$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 && $umschlagen == 1) { + //$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 && $umschlagen == 1) { + //$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 && $umschlagen == 1) { + //$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 && $umschlagen == 1) { + //$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 && $umschlagen == 1) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'umschlagen' => 1); + } + + if($papierType10) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 0); + } + if($papierType10 && $umschlagen == 1) { + //$formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 1); + } + + if($papierType11) { + //$formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 0); + } + if($papierType11 && $umschlagen == 1) { + //$formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 1); + } + + if($papierType12) { + //$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 0); + } + if($papierType12 && $umschlagen == 1) { + //$formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 1); + } + + if($papierType13) { + //$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 0); + } + if($papierType13 && ($weiterVerarbeitung == 2 || $weiterVerarbeitung == 3)) { + //$formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 1); + } + if($papierType14) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 0); + } + if($papierType14 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 1); + } + + //echo "

"; + + foreach($formate as $key => $format) { + + + if($format['umschlagen'] == 0) { + $calc1=floor((($format['breite']-$bogenRaender)/($format_offen_breite)))*floor((($format['hoehe']-$geiferRand))/$format_offen_hoehe); + $calc2=floor((($format['hoehe']-$bogenRaender)/($format_offen_breite)))*floor((($format['breite']-$geiferRand))/$format_offen_hoehe); + + $ctp1 = $umschlag_seiten_bedruckt*$anzahlDruckfarben+$druckplatteOption; + + }else{ + $calc1=floor((($format['breite']-$bogenRaender)/($format_offen_breite)))*floor((($format['hoehe']-$geiferRand))/$format_offen_hoehe); + $calc2=floor((($format['hoehe']-$bogenRaender)/($format_offen_breite)))*floor((($format['breite']-$geiferRand))/$format_offen_hoehe); + + $ctp1 = $anzahlDruckfarben+$druckplatteOption; + } + + $nutzen_calc = ($calc1 > $calc2)? $calc1: $calc2; + + if($format['umschlagen'] == 1) { + $nutzen_calc = floor($nutzen_calc/2)*2; + } + + if($nutzen_calc == 0) { + continue; + } + + $calc1 = 150; + + $calc2 = ($anzahlDruckJeForm*$anzahlDruckfarben*100)+($auflage/$nutzen_calc*0.02); + + $zuschussCalc = ($calc1 > $calc2)? $calc1 : $calc2; + + //var_dump($nutzen_calc); + + $nettoBedruckGesamt = $auflage/$nutzen_calc; + + $gramGesch = (100-sqrt((150-$gammatur)*(150-$gammatur))/5)/100; + + $fortdruckGeschwindigkeit = 2500+$gramGesch*(log10($auflage*$auflage)*700); + + $kba1 = 140*($zuschussCalc+$nettoBedruckGesamt)/$fortdruckGeschwindigkeit*$umschlag_seiten_bedruckt*(ceil($anzahlDruckfarben/5)); + //var_dump($zuschussCalc.' - '.$nettoBedruckGesamt.' - '.$fortdruckGeschwindigkeit.' - '.$umschlag_seiten_bedruckt.' - '.$anzahlDruckfarben); + $price_calc = ($format['hoehe']*$format['breite']*($nettoBedruckGesamt+$zuschussCalc)*$gammatur*$papierKosten/1000000000)+($kostenDruckplatte*$ctp1)+$kba1; + + //var_dump($format['hoehe'].' - '.$format['breite'].' - '.$ctp1.' - '.$kba1.' - '.$price_calc.' - '.$price); + //echo "
"; + + + if($price_calc < $price) { + $price = $price_calc; + $nutzen = $nutzen_calc; + $zuschuss = $zuschussCalc; + $nettobg = $nettoBedruckGesamt; + $bogen_hoehe = $format['hoehe']; + $bogen_breite = $format['breite']; + } + } + + + + + if($what == 'nutzen') { + return $nutzen; + } + if($what == 'nettobg') { + return $nettobg; + } + if($what == 'zuschuss') { + return $zuschuss; + } + + if($what == 'bogen_hoehe') { + return $bogen_hoehe; + } + + if($what == 'bogen_breite') { + return $bogen_breite; + } + return $price; + + } + + function getPurHelpKlebe($what, $var) { + + $fix = 222; + $per = 89; + + if($var > 7) { + $fix = 233; + $per = 102; + } + if($var > 12) { + $fix = 244; + $per = 114; + } + if($var > 16) { + $fix = 366; + $per = 228; + } + + if($what=='fix') { + return $fix; + } + return $per; + } + + function getPurHelpFalz($what, $var) { + + $fix = 10.30; + $per = 7.05; + + if($var == 6) { + $fix = 15.40; + $per = 8.20; + } + if($var == 8) { + $fix = 15.40; + $per = 8.40; + } + if($var == 12) { + $fix = 20.50; + $per = 9.70; + } + if($var == 16) { + $fix = 31.50; + $per = 9.50; + } + if($var == 24) { + $fix = 41.00; + $per = 10.70; + } + if($var == 32) { + $fix = 51.20; + $per = 11.90; + } + if($var == 48) { + $fix = 102.30; + $per = 12.90; + } + + if($what=='fix') { + return $fix; + } + return $per; + } + + + function getCalcTableValueOffsetPlano($what, $papierType1,$papierType2,$papierType3,$papierType4,$papierType5,$papierType6,$papierType7,$papierType8,$papierType9,$papierType10,$papierType11,$papierType12,$papierType13,$papierType14, $kostenDruckplatte, $druckplatteOption, $gammatur, $papierKosten, $umschlagen, $seiten, $auflage, $anzahlDruckfarben, $anzahlFarbwechsel, $anzahlSeiten, $format_offen_breite, $format_offen_hoehe, $drucklack, $papier_vs_rs_unterschiedlich) { + //var_dump( func_get_args()); + $price = 9999999999; + $nutzen = 9999999999; + $nettobg = 9999999999; + $zuschuss = 9999999999; + $bogen_hoehe = 1000; + $bogen_breite = 1000; + $ctp = 999999999; + $druckgaenge = 99999999; + $fortdruckmaschine = 0; + $stundensatz = 99999999; + $maschine = 'kba'; + + $formate=array(); + if($papierType1) { + $formate[] = array('type' => 1, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 0); + } + if($papierType1 && $umschlagen == 1) { + $formate[] = array('type' => 2, 'breite' => 88, 'hoehe' => 63, 'umschlagen' => 1); + } + + if($papierType2) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 0); + } + if($papierType2 && $umschlagen == 1) { + $formate[] = array('type' => 5, 'breite' => 100, 'hoehe' => 70, 'umschlagen' => 1); + } + + if($papierType3) { + $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 0); + } + if($papierType3 && $umschlagen == 1) { + $formate[] = array('type' => 3, 'breite' => 70, 'hoehe' => 50, 'umschlagen' => 1); + } + + if($papierType4) { + $formate[] = array('type' => 7, 'breite' => 61, 'hoehe' => 43, 'umschlagen' => 0); + } + if($papierType4 && $umschlagen == 1) { + $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 && $umschlagen == 1) { + $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 && $umschlagen == 1) { + $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 && $umschlagen == 1) { + $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 && $umschlagen == 1) { + $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 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 11, 'umschlagen' => 1); + } + + if($papierType10) { + $formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 0); + } + if($papierType10 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 22, 'hoehe' => 22, 'umschlagen' => 1); + } + + if($papierType11) { + $formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 0); + } + if($papierType11 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 92, 'hoehe' => 65, 'umschlagen' => 1); + } + + if($papierType12) { + $formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 0); + } + if($papierType12 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 64, 'hoehe' => 45, 'umschlagen' => 1); + } + + if($papierType13) { + $formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 0); + } + if($papierType13 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 44, 'hoehe' => 31.5, 'umschlagen' => 1); + } + + if($papierType14) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 0); + } + if($papierType14 && $umschlagen == 1) { + $formate[] = array('type' => 7, 'breite' => 102, 'hoehe' => 72, 'umschlagen' => 1); + } + + //echo "

"; + + foreach($formate as $key => $format) { + + $geiferRand = getGeiferRand($format); + $bogenRaender = getBogenRaender($format); + + + if($format['umschlagen'] == 0) { + + $nutzen_calc = max( + ((floor(($format['breite']-$bogenRaender)/$format_offen_breite))*(floor(($format['hoehe']-$geiferRand)/$format_offen_hoehe))), + ((floor(($format['breite']-$bogenRaender)/$format_offen_hoehe)*(floor(($format['hoehe']-$geiferRand)/$format_offen_breite)))) + ); + + }else{ + $nutzen_calc= 2*floor((max( + ((floor(($format['breite']-$bogenRaender)/$format_offen_breite))*(floor(($format['hoehe']-$geiferRand)/$format_offen_hoehe))), + ((floor(($format['breite']-$bogenRaender)/$format_offen_hoehe)*(floor(($format['hoehe']-$geiferRand)/$format_offen_breite)))) + ))/2); + + + } + + + if($anzahlSeiten==2 && $papier_vs_rs_unterschiedlich==0 && $nutzen_calc > 1 && $format['umschlagen'] == 1) { + $ctp1 = ($anzahlDruckfarben+$drucklack)*$anzahlSeiten/2; + }else{ + $ctp1 = ($anzahlDruckfarben+$drucklack)*$anzahlSeiten; + } + + $maschine1 = getMaschine($format['breite'], $format['hoehe']); + + if(getMaschine($format['breite'], $format['hoehe']) == "gto") { + $druckgaenge1 = $anzahlSeiten*($anzahlDruckfarben+$drucklack); + $fortdruckmaschine1 = 0; + $stundensatz1 = 40; + $anzahlFarb1 = max($anzahlFarbwechsel, $anzahlDruckfarben-1); + }else{ + $druckgaenge1 = ceil(($anzahlDruckfarben+$drucklack)/5)*$anzahlSeiten; + $fortdruckmaschine1 = 4500; + $stundensatz1 = 140; + $anzahlFarb1 = $anzahlFarbwechsel; + } + + $zuschussCalc = intval(max(200,floor(($anzahlDruckfarben*100)+($auflage/$nutzen_calc*0.02)))); + + $fortdruckGeschwindigkeit = (log10($auflage*$auflage)*900)*(100-sqrt((150-$gammatur)*(150-$gammatur))/5)/100; + + $nettoBedruckGesamt = (round($auflage/$nutzen_calc,0)); + $druckkosten = $stundensatz1*((($zuschussCalc+$nettoBedruckGesamt)/$fortdruckGeschwindigkeit*$druckgaenge1)+($ctp1*7/60)+($anzahlFarb1*45/60)); + + //var_dump($maschine1.'-'.$stundensatz1.'-'.$zuschussCalc.'-'.$nettoBedruckGesamt.'-'.$fortdruckGeschwindigkeit.'-'.$druckgaenge1.'-'.$ctp1.'-'.$anzahlFarb1); + //echo "
"; + + $price_calc = (($nettoBedruckGesamt+$zuschussCalc)*($format['hoehe']*$format['breite']*$gammatur*$papierKosten/1000000000)+($kostenDruckplatte*$ctp1))+$druckkosten; + + if($price_calc < $price && $nettoBedruckGesamt != 0) { + $price = $price_calc; + $nutzen = $nutzen_calc; + $ctp = $ctp1; + $zuschuss = $zuschussCalc; + $nettobg = $nettoBedruckGesamt; + $bogen_hoehe = $format['hoehe']; + $bogen_breite = $format['breite']; + $druckgaenge = $druckgaenge1; + $fortdruckmaschine = $fortdruckmaschine1; + $stundensatz = $stundensatz1; + $maschine = $maschine1; + } + //var_dump($format['hoehe'].'-'.$format['breite'].'-'.$ctp1.'-'.($zuschussCalc+$nettoBedruckGesamt).'-'.$druckkosten.'-'.$price_calc.'-'.$price); + //echo "
"; + } + + + + + if($what == 'nutzen') { + return $nutzen; + } + if($what == 'nettobg') { + return $nettobg; + } + if($what == 'maschine') { + return $maschine; + } + if($what == 'zuschuss') { + return $zuschuss; + } + if($what == 'fortdruckmaschine') { + return $fortdruckmaschine; + } + + if($what == 'maschine_stundensatz') { + return $stundensatz; + } + + if($what == 'bogen_hoehe') { + return $bogen_hoehe; + } + + if($what == 'ctp') { + return $ctp; + } + + if($what == 'druckgaenge') { + return $druckgaenge; + } + + if($what == 'bogen_breite') { + return $bogen_breite; + } + return $price; + + } + + function getMaschine($breite, $hoehe) { + if($breite > 49 || $hoehe > 49) { + + return 'kba'; + } + + return 'gto'; + } + + function getGeiferRand($format) { + $maschine = getMaschine($format['breite'], $format['hoehe']); + + if($maschine == 'kba') { + return 2.3; + } + + return 1.4; + } + + function getBogenRaender($format) { + $maschine = getMaschine($format['breite'], $format['hoehe']); + + if($maschine == 'kba') { + return 1.5; + } + + return 0.8; + } + + function getMaschineKosten($format) { + $maschine = getMaschine($format['breite'], $format['hoehe']); + + if($maschine == 'kba') { + return 140; + } + + return 40; + } + + +} \ No newline at end of file diff --git a/tests/Customer/T/papierContainer.xml b/tests/Customer/T/papierContainer.xml new file mode 100644 index 0000000..ba0a21e --- /dev/null +++ b/tests/Customer/T/papierContainer.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/tests/Customer/T/parameters.txt b/tests/Customer/T/parameters.txt new file mode 100644 index 0000000..7a68095 --- /dev/null +++ b/tests/Customer/T/parameters.txt @@ -0,0 +1,210 @@ +$onlinerabatt_flaschenanhaenger_p = 0; +$onlinerabatt_flaschenanhaenger_f = 10; + +$onlinerabatt_digitalplot_p = 0; +$onlinerabatt_digitalplot_f = 5; + +$onlinerabatt_ausdruck_p = 0; +$onlinerabatt_ausdruck_f = 10; + +$onlinerabatt_digitalproof_p = 0; +$onlinerabatt_digitalproof_f = 0; +$medienkeil_aufpreis_f = 8; + +$onlinerabatt_farbscan_p = 0; +$onlinerabatt_farbscan_f = 5; + +$onlinerabatt_strichscan_p = 0; +$onlinerabatt_strichscan_f = 5; + +$hour_druckvorstufe = 60; +$geiferRand = 2.3; +$bogenRaender = 1.5; + +$onlinerabatt_broschuere_p = 0; +$onlinerabatt_broschuere_f = 30; +$aktionsrabatt_broschuere_p = 12; +$aktionsrabatt_broschuere_f = 0; + +$onlinerabatt_plano_p = 0; +$onlinerabatt_plano_f = 10; + +$onlinerabatt_privatdrucksachen_p = 0; +$onlinerabatt_privatdrucksachen_f = 5; + +$aktionsrabatt_plano_p = 12; +$aktionsrabatt_plano_p_vk = 6; +$aktionsrabatt_plano_f = 0; +$aktionsrabatt_plano_f_vk = 0; + +$papierzuschlag_broschuere = 1.3; +$papierzuschlag_plano = 1.3; + +$onlinerabatt_20 = -20; +$onlinerabatt_10 = -10; + +$onlinerabatt_etikett = -10; + +$kostenProDruckplatte = 15; +$stundenSatzDruck = 140; +$stundenSatzDruckGTO = 40; +$ruestZeitJeDruckplatte = 5; +$ruestZeitJeDruckplatteGTO = 15; +$kostenProZusatzdruckplatteGTO = 35; + +$farbwechselZeit = 45; +$farbwechselZeitGTO = 20; + +$stundensatz_wtv_maschinen = 50; +$stundensatz_wtv = 30; +$stundensatz_vorstufe = 60; +$stundensatz_vorstufe_daten_huellen = 60; +$vorstufe_fixkosten = 20; + +$papieraufschlag_huellen = 1.3; + +$durckfarbe_preis_je_bogen = 1; + +$aufpreis_drucklack_matt_voll = 10; +$aufpreis_drucklack_matt_partiell = 30; +$aufpreis_drucklack_glzd_voll = 55; +$aufpreis_drucklack_glzd_partiell = 95; + + +$buchrueckenstaerke = 0.36; + +// WTV +$ringoesen = 60; +$oesen_stkpreis = 0.20; +$oesen_fixpreis = 45; +$beilage_einlegen_bestimmte = 45; +$beilage_einlegen_unbestimmte = 35; +$buendeln = 0.15; +$perforation = 25; +$laserstanzung = 0.50; +$folieeinschweissen = 0.13; + +$ruestkosten_perforation = 35; +$ruestkosten_lochung = 15; +$ruestkosten_umlaufender_karton = 35; + +$fixkosten_nummerierung = 15; +$fixkosten_blockleimung = 25; +$fixkosten_umlaufender_karton = 0.6; + +$umschlag_kaschierung_mk = 0.8; +$umschlag_kaschierung_gl = 0.6; + +$faktor_klein_gross_falzung = 3; +$aufpreis_falzen_altarfalz = 50; +$falzbruch_ruesten = 10; + +$plano_fa_aufpreis_anderes_dateiformat = 25; +$plano_fa_fixpreis_buendeln = 15; +$plano_fa_preis_je_buendel = 0.15; +$plano_fa_fixpreis_perforation = 35; +$plano_fa_tsdpreis_perforation = 35; +$plano_fa_tsdpreis_ecken_runden = 16; +$plano_fa_tsdpreis_ecken_runden_nassleimetik = 1.50; +$plano_fa_fixpreis_ecken_runden = 15; +$plano_fa_fixpreis_bohren = 25; +$plano_fa_tsdpreis_bohren = 5; +$plano_fa_stckpreis_laserstanzung = 0.50; +$plano_fa_fixpreis_laserstanzung = 150; +$plano_fa_fixpreis_cito = 260; +$plano_fa_tsdpreis_cito = 35; +$plano_fa_fixpreis_cito_nassleimetik = 80; +$plano_fa_tsdpreis_cito_nassleimetik = 2; + +// Sammelform +$sammelform_brosch_inhalt_happy = -60; +$sammelform_brosch_inhalt_eq = -45; +$sammelform_brosch_inhalt_sense = -45; +$sammelform_brosch_inhalt_sky = -30; +$sammelform_brosch_inhalt_glam = -60; +$sammelform_brosch_inhalt_post = 0; + +$sammelform_brosch_umschlag_happy = -60; +$sammelform_brosch_umschlag_eq = -40; +$sammelform_brosch_umschlag_sense = -20; +$sammelform_brosch_umschlag_sky = -10; +$sammelform_brosch_umschlag_glam = -40; +$sammelform_brosch_umschlag_post = 0; + +$sammelform_plano_fa_happy = -180; +$sammelform_plano_fa_eq = -160; +$sammelform_plano_fa_sense = -130; +$sammelform_plano_fa_sky = -125; +$sammelform_plano_fa_glam = -60; +$sammelform_plano_fa_post = -90; +$sammelform_plano_fa_happy_rapetik = - 280; +$sammelform_plano_fa_happy_aufkleber = - 280; +$sammelform_plano_fa_eq_aufkleber = - 250; +$sammelform_plano_fa_stdformatabschlag = 30; + +// Banderolen Verschluss +$klebepunkte_lose_fix = 15; +$klebepunkte_lose_pro_tausend = 12; +$klebepunkte_vorkonf_fix = 15; +$klebepunkte_vorkonf_pro_tausend = 47; +$haftstreifen_lose_fix = 15; +$haftstreifen_lose_pro_tausend = 15; +$haftstreifen_vorkonf_fix = 45; +$haftstreifen_vorkonf_pro_tausend = 85; + +// Digitaldruck +$standard_bogenbreite = 45; +$standard_bogenhoehe = 32; +$stundensatz_vorstufe_digitaldruck = 90; +$stundensatz_nuten_digitaldruck = 15; +$stundensatz_klebebinder = 200; +$papierzuschlag_digitaldruck = 1.3; +$klick_digitaldruck_a4fbg = 0.17; +$klick_digitaldruck_a4sw = 0.07; + + +$plano_fa_maxabschlag_proz_ek = 90; +$plano_fa_maxabschlag_abs = 7; + +$plano_stanzen_fix1 = 35; +$plano_stanzen_fix1_vkru7 = 15; +$plano_stanzen_fix2 = 85; +$plano_stanzen_fix3_mappen = 260; + +$plano_stanzen_var1 = 13; +$plano_stanzen_var2 = 33; +$plano_stanzen_var3_mappen = 40; + + +$plano_praegen_fix1 = 60; +$plano_praegen_fix2 = 110; +$plano_praegen_var1 = 25; +$plano_praegen_var2 = 45; + +$plano_digitalproof_minimal = 15; + + +$plano_express_f = 45; +$plano_express_p = 13; +$plano_relax_f = 0; +$plano_relax_p = 15; +$plano_max_highend_f = 0; +$plano_max_highend_p = 10; +$plano_easy_value_f = 0; +$plano_easy_value_p = 10; + +$rdh_aufschlag_sonderformate = 1.7; +$bro_aufschlag_pur = 1.22; +$bro_aufschlag_wire_o = 1.40; +$bro_aufschlag_hdcover = 1.20; + +$bro_weight_faktor = 1.05; + +$brosch_express_f = 45; +$brosch_express_p = 13; +$brosch_relax_f = 0; +$brosch_relax_p = 8; +$brosch_max_highend_f = 60; +$brosch_max_highend_p = 10; +$brosch_easy_value_f = 0; +$brosch_easy_value_p = 10; \ No newline at end of file