TBeCbPCData
TBeCbPCData
Die Klasse TBeCbPCData stellt Daten zur Verfügung, die üblicherweise für eine Ressourcen-Planung / Planungs-Simulation o.ä. benötigt werden.
In der aktuellen Ausbaustufe werden Ressourcen-Daten und darüber ressourcenspezifische Anwesenheiten zur Verfügung gestellt.
Funktionen und Methoden:
Funktion | Beschreibung |
---|---|
ReInit() | Datenhaltung (re-)initialisieren. |
LoadTestData() | Testdaten laden. (steht nicht im beas zur verfügung) |
LoadDataBaseData() | Daten aus der Datenbank in den Speicher von TBeCbPCData laden. |
GetAddingErrors() | Alle protokollierten Fehler in der Bearbeitung auslesen |
TBeCbPCParams
TBeCbPCResourceList
TBeCbPCResource
Übersicht:
Beispiel
CODE
| m_oCbPcData, m_oResourceList, m_dPlanningStart:DT |
//******************************************************************************
function ResourceTypToString(nResourceTyp)
case nResourceTyp
of cbrtPerson :: Result := 'Person',
of cbrtMaschine :: Result := 'Maschine',
endcase,
end,
//******************************************************************************
// Infos über alle Ressourcen in der Liste ausgeben
//******************************************************************************
function PrintResourceList(oResourceList) // Klasse = TBeCbPCResourceList
| i, m_oCurResource, m_oCurTimeLine, m_dtStartAvail:DT, m_dtEndAvail:DT,
m_drCompOperationTime:DR, cResDesc, cAvailText |
for i := 0 to oResourceList.Count - 1 do
m_oCurResource := oResourceList.GetResourceByIndex(i), // Klasse = TBeCbPCResource
// TimeLine der Ressourcen holen
m_oCurTimeLine := m_oCurResource.OperationTimeLine,
cResDesc := Str(i) + '. Ressource ' + crlf + crlf +
' Bezeichnung : ' + m_oCurResource.Description + crlf +
' Res.Typ : ' + ResourceTypToString(m_oCurResource.ResType) + crlf +
' Res.Id : ' + Str(m_oCurResource.ResID ),
// Information über die Anwesenheit der Ressource zusammenstellen
if m_oCurTimeLine.HasAvailabilityData then
m_dtStartAvail := m_oCurTimeLine.BeginOfFirstAvailability,
m_dtEndAvail := m_oCurTimeLine.EndOfLastAvailability,
m_drCompOperationTime := m_oCurTimeLine.OperationDurationBetween(m_dtStartAvail, m_dtEndAvail),
cAvailText := ' Verfügbarkeit : ' + m_dtStartAvail.AsString + ' bis ' + m_dtEndAvail.AsString + crlf +
' Operationszeit: Insgesamt ' + m_drCompOperationTime.AsString,
else
cAvailText := crlf + ' Keine Verfügbarkeitsdaten vorhanden !',
endif,
Writeln( cResDesc + crlf + cAvailText + crlf ),
next,
end,
// Datenhaltung erzeugen
m_oCbPcData := CreateObject('TBeCbPCData'),
startseq,
m_oCbPcData.ReInit(),
// Planungs-Start = Monats-Beginn, 14 Tage Dauer
// => die Angaben sind relevant für das Laden der Planungs-Daten
m_dPlanningStart.Precision := precMinutes,
m_dPlanningStart.DateTime := BoM(Date()),
m_oCbPcData.Params.PlanningStart := m_dPlanningStart,
m_oCbPcData.Params.PlanningDays := 2,
// Alternative 1: Test-Daten laden
m_oCbPcData.LoadTestData(),
// Alternative 2: DB-Daten laden
// m_oCbPcData.LoadDataBaseData(),
// Infos über Ressourcen ausgeben
PrintResourceList(m_oCbPcData.ResourceList),
always,
DestroyObject(m_oCbPcData),
stopseq,