Application/Api/Education/Certificate/Generator/Repository/ESS/EssGsJTwo.php
<?php
namespace SPHERE\Application\Api\Education\Certificate\Generator\Repository\ESS;
use SPHERE\Application\Api\Education\Certificate\Generator\Certificate;
use SPHERE\Application\Education\Certificate\Generator\Repository\Element;
use SPHERE\Application\Education\Certificate\Generator\Repository\Page;
use SPHERE\Application\Education\Certificate\Generator\Repository\Section;
use SPHERE\Application\Education\Certificate\Generator\Repository\Slice;
use SPHERE\Application\People\Person\Service\Entity\TblPerson;
/**
* Class EssGsJTwo
*
* @package SPHERE\Application\Api\Education\Certificate\Generator\Repository
*/
class EssGsJTwo extends Certificate
{
const TEXT_SIZE_BIG = '18pt';
const TEXT_SIZE = '12pt';
const TEXT_SIZE_SMALL = '8pt';
const TEXT_FAMILY = 'MyriadPro';
const TEXT_SIZE_RATING = '10pt';
const LINE_HEIGHT_RATING = '85%';
/**
* @return array
*/
public function selectValuesTransfer()
{
return array(
1 => "wird nach Klasse 3 versetzt",
2 => "wiederholt freiwillig die Klassenstufe 2"
);
}
/**
* @param TblPerson|null $tblPerson
*
* @return Page
*/
public function buildPages(TblPerson $tblPerson = null)
{
$personId = $tblPerson ? $tblPerson->getId() : 0;
if ($this->isSample()) {
$Header = (new Slice())
->addSection((new Section())
->addElementColumn((new Element())
, '25%')
->addElementColumn((new Element\Sample())
->styleTextSize('30px')
->styleHeight('1px')
)
->addElementColumn((new Element())
, '25%')
);
} else {
$Header = (new Slice());
}
return (new Page())
->addSlice($Header)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent(' ')
->styleHeight('110px')
)
->addElementColumn((new Element\Image('/Common/Style/Resource/Logo/ESS_Grundschule_Head.jpg', '700px')))
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent(' ')
, '25%'
)
->addElementColumn((new Element())
->setContent('JAHRESZEUGNIS')
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleTextSize(self::TEXT_SIZE_BIG)
->styleMarginTop('25px')
, '75%'
)
)
)
->addSlice((new Slice())
->addElement((new Element())
->setContent(' ')
->stylePaddingTop('8px')
)
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Klasse {{ Content.P' . $personId . '.Division.Data.Level.Name }}')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleTextBold()
, '100%'
)
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('2. Schulhalbjahr')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleTextBold()
, '25%')
->addElementColumn((new Element())
->setContent('{{ Content.P' . $personId . '.Person.Data.Name.First }}
{{ Content.P' . $personId . '.Person.Data.Name.Last }}')
->styleTextSize(self::TEXT_SIZE_BIG)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '50%')
->addElementColumn((new Element())
->setContent('Schuljahr {{ Content.P' . $personId . '.Division.Data.Year }}')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleTextBold()
->styleAlignRight()
, '25%')
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Allgemeine <br/> Einschätzung:')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleMarginTop('25px')
->styleTextBold()
, '25%'
)
->addElementColumn((new Element())
->setContent('{% if(Content.P'.$personId.'.Input.Rating is not empty) %}
{{ Content.P'.$personId.'.Input.Rating|nl2br }}
{% else %}
{% endif %}')
->styleTextSize(self::TEXT_SIZE_RATING)
->styleLineHeight(self::LINE_HEIGHT_RATING)
->styleFontFamily(self::TEXT_FAMILY)
->styleAlignJustify()
->styleMarginTop('25px')
->styleHeight('205px')
, '75%'
)
)
)
->addSlice((new Slice())
->addElement((new Element\Image('/Common/Style/Resource/Logo/ESS_Grundschule_down.jpg', '700px'))
->styleAlignCenter()
->stylePaddingTop('2px')
->stylePaddingBottom('27px')
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Fachliche <br/> Einschätzung:')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleTextBold()
, '25%'
)
->addElementColumn((new Element())
->setContent('{% if(Content.P'.$personId.'.Input.TechnicalRating is not empty) %}
{{ Content.P'.$personId.'.Input.TechnicalRating|nl2br }}
{% else %}
{% endif %}')
->styleTextSize(self::TEXT_SIZE_RATING)
->styleLineHeight(self::LINE_HEIGHT_RATING)
->styleFontFamily(self::TEXT_FAMILY)
->styleAlignJustify()
->styleHeight('235px')
, '75%'
)
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Versetzungsvermerk')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '25%'
)
->addElementColumn((new Element())
->setContent('{% if(Content.P' . $personId . '.Input.Transfer) %}
{{ Content.P' . $personId . '.Input.Transfer }}
{% else %}
{% endif %}')
->styleTextSize(self::TEXT_SIZE_RATING)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '75%'
)
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Datum:
{% if(Content.P' . $personId . '.Input.Date is not empty) %}
{{ Content.P' . $personId . '.Input.Date }}
{% else %}
{% endif %}')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->stylePaddingBottom('20px')
->stylePaddingTop('20px')
, '100%'
)
)
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
, '25%')
->addElementColumn((new Element())
->setContent('
{% if(Content.P' . $personId . '.Headmaster.Description is not empty) %}
{{ Content.P' . $personId . '.Headmaster.Description }}
{% else %}
Schulleiter(in)
{% endif %}
')
->styleTextSize(self::TEXT_SIZE_SMALL)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '25%')
->addElementColumn((new Element())
->setContent('
{% if(Content.P' . $personId . '.DivisionTeacher.Description is not empty) %}
{{ Content.P' . $personId . '.DivisionTeacher.Description }}
{% else %}
Klassenlehrer(in)
{% endif %}
')
->styleTextSize(self::TEXT_SIZE_SMALL)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '25%')
->addElementColumn((new Element())
->setContent('Dienstsiegel')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '25%')
)
->stylePaddingBottom('35px')
)
->addSlice((new Slice())
->addSection((new Section())
->addElementColumn((new Element())
->setContent('Zur Kenntnis genommen:')
->styleTextSize(self::TEXT_SIZE)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
, '25%')
->addElementColumn((new Element())
->setContent(' ')
->styleBorderBottom('1px', '#000', 'dotted')
, '45%')
->addElementColumn((new Element())
, '30%')
)
->addSection((new Section())
->addElementColumn((new Element())
, '25%')
->addElementColumn((new Element())
->setContent('Eltern')
->styleAlignCenter()
->styleTextSize(self::TEXT_SIZE_SMALL)
->styleLineHeight('105%')
->styleFontFamily(self::TEXT_FAMILY)
->styleHeight('1px')
, '45%')
->addElementColumn((new Element())
, '30%')
)
->styleMarginTop('5px')
);
}
}