Mailinglisten-Archive |
Zur kleinen Entspannung vor den Feiertagen habe ich
hier das TollCollect Prinzip noch einmal schnell in PHP
formuliert!
Gruss,
Andreas
www.andreas-demmer.de | www.mediadb.net
<?php
class tollCollect {
/**
* @var int
* @desc verfügb. Betrag in EUR für Onboard Units
*/
var $finanzielleMittelOnboardUnits = 0;
/**
* @var int
* @desc verfügb. Betrag in EUR für Stationary Units
*/
var $finanzielleMittelStationaryUnits = 0;
/**
* @var int
* @desc Anzahl Onboard Units
*/
var $OnboardUnits = 0;
/**
* @var int
* @desc Stationary Units
*/
var $StationaryUnits = 0;
/**
* @var int
* @desc Zeitpunkt der Fertigstellung als UNIX Timestamp
*/
var $deadline = 0;
/**
* @access public
* @return void
* @param geldVomStaat int
* @param deadline int
* @desc Konstruktor, nimmt Auftrag entgegen und
beginnt die Umsetzung
*/
function tollCollect($geldVomStaat, $deadline) {
$this->finanzielleMittelOnboardUnits = $geldVomStaat / 2;
$this->finanzielleMittelStationaryUnits = $geldVomStaat / 2;
// 90 Tage Überziehung fest einplanen
$this->deadline = $deadline + 60*60*24*90;
$this->assembleOnboardUnits();
$this->assembleStationaryUnits();
}
/**
* @access private
* @return BOOL
* @desc fertigt die Onboard-Units
*/
function assembleOnboardUnits() {
while($this->finanzielleMittelOnboardUnits > 0) {
$this->finanzielleMittelOnboardUnits--;
$this->OnboardUnits++;
}
}
/**
* @access private
* @return BOOL
* @desc fertigt die Stationary-Units
*/
function assembleStationaryUnits() {
while($this->finanzielleMittelStationaryUnits > 0) {
$this->finanzielleMittelStationaryUnits--;
$this->StationaryUnits++;
}
}
/**
* @access public
* @return BOOL
* @desc hmmm, irgendwie klappt das nicht
*/
function testSystem() {
return FALSE;
}
/**
* @access public
* @return BOOL
* @desc liefert ein verbindliches Datum der Fertigstellung
*/
function estimateNewCompletionDate() {
return time() + 60*60*24*90;
}
/**
* @access public
* @param fee int
* @return BOOL
* @desc verweigert die Zahlung einer Konventionalstrafe
*/
function payPunishmentFee($sum) {
return 0;
}
}
$staatskasse = 600000000*12;
$tollCollect = new tollCollect($staatskasse, mktime(0,0,0,12,14,2003));
$staatskasse = 0;
while(!$test = $tollCollect->testSystem) {
$i++;
if($i > 100) die('Vertragsbruch!');
echo 'Fertigstellung am ', date('d.m.Y', $tollCollect->estimateNewCompletionDate()), "<br>\n";
$staatskasse += $tollCollect->payPunishmentFee(1.3*1000000000);
echo 'Staatskasse in EUR: ', $staatskasse;
flush();
}
?>
php::bar PHP Wiki - Listenarchive