--- /dev/null
+<?php
+
+// Die Schiffsbesatzung
+class CompanyEmployee extends SimulatorPersonell {
+ // Employeee list
+ private $employeeList = null;
+
+ // Constructor
+ private function __construct () {
+ // Call parent constructor
+ parent::constructor(__CLASS__);
+
+ // Debug message
+ if ((((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) {
+ $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.<br />\n",
+ __CLASS__,
+ __LINE__
+ ));
+ }
+
+ // Beschreibung setzen
+ $this->setPartDescr("Firmenangestellte(r)");
+
+ // Create unique ID
+ $this->createUniqueID();
+
+ // Clean up a little
+ $this->removeSystemArray();
+ }
+
+ // Generate a specified amount of personell
+ public static function createCompanyEmployee ($surname, $family, $gender, $year, $month, $day, $married, $salary) {
+ // Get instance
+ $personellInstance = new CompanyEmployee();
+
+ // Debug message
+ if (((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) {
+ $personellInstance->getDebugInstance()->output(sprintf("[%s:%d] Der/Die Angestellte <strong>%s %s</strong> wird angelegt.<br />\n",
+ __CLASS__,
+ __LINE__,
+ $surname,
+ $family
+ ));
+ }
+
+ // Ist the given birthday valid?
+ if ($personellInstance->isDateValid($year, $month, $day)) {
+ // Set birthday
+ $personellInstance->setBirthday($year, $month, $day);
+ } else {
+ // Something is wrong ...
+ throw new BirthdayInvalidException(array($year, $month, $day), self::EXCEPTION_BIRTH_DATE_IS_INVALID);
+ }
+
+ // Set as employed/marrital status
+ $personellInstance->setEmployed(true);
+ $personellInstance->setMarried($married);
+
+ // Set surname/family/gender
+ $personellInstance->setSurname($surname);
+ $personellInstance->setFamily($family);
+ $personellInstance->setGender($gender);
+
+ // Set salary
+ $personellInstance->increaseSalary($salary);
+
+ // Tidy up a little
+ $personellInstance->removeEmployeeList();
+ $personellInstance->removeMinMaxAge();
+
+ // Return prepared instance
+ return $personellInstance;
+ }
+
+ // Remove the employee list
+ private function removeEmployeeList () {
+ if (((defined('DEBUG_COMPANY_EMPLOYEE')) && (defined('DEBUG_PERSONELL'))) || (defined('DEBUG_ALL'))) {
+ $this->getDebugInstance()->output(sprintf("[%s:%d] Angestellten-List entfernt.<br />\n",
+ __CLASS__,
+ __LINE__
+ ));
+ }
+ unset($this->employeeList);
+ }
+
+ /**
+ * Call parent method
+ */
+ public function saveObjectToDatabase () {
+ parent::saveObjectToDatabase();
+ }
+
+ /**
+ * Limits this object with an ObjectLimits instance
+ */
+ public function limitObject (ObjectLimits $limitInstance) {
+ parent::limitObject($limitInstance);
+ }
+}
+
+// [EOF]
+?>