Baza de Date

Modelul de date al functiei Evaluare Capacitati (WLP) este construit pornind de la task (nu pornind de la resursa), pentru a evita generarea unor volume uriase de date pre-calculate: se evalueaza „de la caz la caz”, per Proiect/Comanda de lucru, si se pastreaza o granularitate zilnica doar acolo unde este necesara — la nivelul calendarului de disponibilitate al fiecarei persoane implicate.

Toate tabelele sunt in schema TOTAL si folosesc conventia EMSYS de cheie compusa (ID_FIRMA, ID).

WLP — procedura master de evaluare

Cate o inregistrare per sesiune de evaluare, pentru un Proiect sau o Comanda de lucru.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

SURSA

NUMBER(1)

1 = evaluare pornita dintr-un Proiect, 2 = evaluare pornita dintr-o Comanda de lucru.

ID_PROIECT

NUMBER

Completat cand SURSA = 1 — FK catre PROIECTE.

NRCMD

VARCHAR2

Completat cand SURSA = 2 — FK catre CMDLUCRU.

COD, DENUMIRE

VARCHAR2

Codul si denumirea evaluarii (preluate de la sursa: proiect sau comanda).

STARE

NUMBER(1)

Starea generala a evaluarii: 0 = EVALUARE (planificare in curs), 1 = OFERTA, 2 = PLANIFICATA.

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

WLP_CA — task de manopera

Cate o inregistrare per task de manopera din Proiect/Comanda de lucru, la nivel generic (meserie/formatie) sau deja detaliat pe o persoana anume.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_WLP

NUMBER

FK catre WLP (procedura master).

ID_DICMES

NUMBER

Specificatie generica pe meserie (daca task-ul nu cere o persoana anume).

ID_FORMATIE

NUMBER

Specificatie generica pe formatie de lucru.

ID_MARCA

NUMBER

Specificatie detaliata, pe o persoana anume.

DATAINC, DATASF

DATE

Perioada taskului.

NR_MUNCITORI

NUMBER(5)

Numarul de persoane necesare pentru acoperirea taskului.

ID_UM

NUMBER

Unitatea de masura a necesarului (implicit ORA).

Q_NECESAR

NUMBER(18,2)

Ore necesare pentru task.

Q_CAPACITATE

NUMBER(18,2)

Capacitatea totala disponibila din sursa de resurse, in perioada taskului.

Q_ALOCAT

NUMBER(18,2)

Ore efectiv alocate (rezultat al agregarii din WLP_CA_DETALIU).

Q_OFERTE / Q_EVALUARI

NUMBER(18,2)

Ore consumate de acelasi tip de resursa in alte evaluari WLP aflate in starea OFERTA, respectiv EVALUARE (informativ).

Q_DISPONIBIL

NUMBER(18,2)

Cantitatea efectiv acoperita din necesar; Q_DISPONIBIL < Q_NECESAR marcheaza un task neacoperit.

STARE

NUMBER(1)

Stare evaluare task: 1 = VALIDATA (acoperit sau acceptat explicit), 9 = EROARE (neacoperit). Alte valori sunt folosite intern pe parcursul etapelor algoritmului.

COD_TASK, DENUMIRE_TASK

VARCHAR2

Identificarea taskului sursa (operatie tehnologica din Proiect/Comanda de lucru).

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

WLP_CA_DETALIU — expandare pe persoana

Expandeaza un WLP_CA generic (meserie/formatie) la cate o inregistrare per persoana individuala eligibila; pentru taskurile deja specificate pe o persoana, expandarea este 1-la-1.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_WLP, ID_WLP_CA

NUMBER

FK catre procedura master, respectiv taskul parinte.

ID_MARCA

NUMBER

Persoana individuala.

DATAINC, DATASF

DATE

Perioada (mostenita din WLP_CA).

Q_NECESAR

NUMBER(18,2)

Cota individuala de ore necesare (Q_NECESAR de pe task / NR_MUNCITORI).

Q_CAPACITATE / Q_ALOCAT / Q_OFERTE / Q_EVALUARI / Q_DISPONIBIL

NUMBER(18,2)

Aceleasi semnificatii ca pe WLP_CA, calculate la nivel de persoana.

ALOCAT

NUMBER(1)

1 daca persoana a primit efectiv cel putin o ora alocata (Q_ALOCAT > 0) sau a fost planificata explicit prin Planificare resursa.

Q_OVERTIME

NUMBER(20,2)

Suma orelor suplimentare din calendarul persoanei pe perioada taskului (agregat recalculat automat dupa actiunea Ore suplimentare).

OVERTIME_WEEKEND1 / OVERTIME_WEEKEND2 / OVERTIME_HOLIDAY

NUMBER(1)

Marcaje (0/1) cu decizia de a lucra sambata / duminica / de sarbatoare pentru persoana curenta, pe perioada taskului.

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

WLP_CALENDAR — disponibilitate zilnica per persoana

Cate o inregistrare per zi per persoana, independenta de task, reprezentand disponibilitatea reala conform programului de lucru si eventualelor absente.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_MARCA

NUMBER

Persoana.

DATA

DATE

Ziua calendaristica.

IS_WORKING_DAY

NUMBER(1)

Decizia finala daca ziua este lucratoare pentru persoana (dupa aplicarea tuturor regulilor: weekend, sarbatori, concedii, ore suplimentare).

Q_CAPACITATE

NUMBER(20,2)

Ore disponibile in ziua respectiva, dupa aplicarea tuturor regulilor. Formula: ore din programul de lucru (daca ziua e lucratoare) + Q_OVERTIME.

Q_OVERTIME

NUMBER(20,2)

Ore suplimentare adaugate zilei — singura componenta care se aduna la capacitate peste programul normal. Alimentata de actiunea Ore suplimentare.

IS_WEEKEND1 / IS_WEEKEND2

NUMBER(1)

Marcaje ca ziua este sambata, respectiv duminica.

WORKS_ON_WEEKEND1 / WORKS_ON_WEEKEND2

NUMBER(1)

Forteaza sambata/duminica drept zi lucratoare (din programul de lucru sau setate de optiunile Lucru sambata/duminica ale actiunii Ore suplimentare).

OVERTIME_WEEKEND1 / OVERTIME_WEEKEND2

NUMBER(1)

Orele suplimentare stabilite pentru sambata/duminica respectiva (informativ, pentru raportare; in capacitate intra prin Q_OVERTIME).

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

WLP_CA_PLANIFICARI — alocarea finala pe zi si persoana

Singura legatura dintre detalierea taskului (WLP_CA_DETALIU) si calendarul de disponibilitate (WLP_CALENDAR): cate o inregistrare per zi alocata efectiv unei persoane, pe un task.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_WLP, ID_WLP_CA

NUMBER

FK catre procedura master, respectiv taskul evaluat.

ID_WLP_CA_DETALIU

NUMBER

FK catre expandarea pe persoana a taskului.

ID_MARCA

NUMBER

Persoana alocata.

ID_WLP_CALENDAR

NUMBER

FK catre ziua din calendarul persoanei.

Q_ALOCAT

NUMBER(20,2)

Ore alocate in ziua respectiva.

ALOCAT

NUMBER(1)

1 daca randul reprezinta o alocare efectiva (Q_ALOCAT > 0).

STARE

NUMBER(1)

0 = alocare normala rezultata din evaluare; 3 = ora de suprasolicitare (overload), generata de Acceptare diferente (pe tot taskul) sau de Planificare resursa cu overload (pe o singura persoana) — vezi Algoritmul de Distribuire a Suprasolicitarii.

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

Important

Orele normale si orele de suprasolicitare pentru aceeasi zi si aceeasi persoana sunt intotdeauna randuri separate in WLP_CA_PLANIFICARI (diferentiate prin STARE), niciodata insumate intr-un singur rand. Aceasta permite raportarea distincta a incarcarii normale fata de suprasolicitare.

WLP_CA_LOG — jurnal de evaluare

Jurnalul erorilor si avertismentelor generate de motorul de evaluare pentru un task, si al aprobarilor acordate ulterior (de exemplu prin Acceptare diferente).

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_WLP_CA

NUMBER

Taskul la care se refera evenimentul.

TIP_LOG

VARCHAR2

Categoria evenimentului (eroare de disponibilitate, avertisment resurse concurente, informativ).

APROBAT

NUMBER(1)

0 = neaprobat, 1 = aprobat.

ID_USER_APR, DATAAPR

NUMBER, DATE

Utilizatorul si data aprobarii (completate la Acceptare diferente).

ID_USER, DATAACT

NUMBER, DATE

Audit standard (creare eveniment).

WLP_CA_ALTERN — resurse alternative

Persoanele adaugate ca resurse alternative pentru un task, prin actiunea Resurse alternative.

Coloana

Tip

Descriere

ID_FIRMA, ID

NUMBER

Cheie primara.

ID_WLP, ID_WLP_CA

NUMBER

FK catre procedura master, respectiv taskul pentru care se adauga resursa alternativa.

ID_MARCA

NUMBER

Persoana adaugata ca resursa alternativa.

ID_USER, DATAACT

NUMBER, DATE

Audit standard.

Notă

Ecranul Resurse alternative afiseaza in antet, alaturi de aceasta lista, si campurile STARE, Q_NECESAR si Q_DISPONIBIL preluate direct din WLP_CA, printr-o alaturare (join) intre cele doua tabele — nu sunt coloane proprii ale WLP_CA_ALTERN.

Relatii intre tabele (rezumat)

Relatie

Sens

WLPWLP_CA (1:N)

O evaluare are mai multe taskuri.

WLP_CAWLP_CA_DETALIU (1:N)

Un task se expandeaza pe una sau mai multe persoane.

WLP_CAWLP_CA_ALTERN (1:N)

Un task poate avea mai multe resurse alternative adaugate manual.

WLP_CAWLP_CA_LOG (1:N)

Un task poate avea mai multe evenimente de log.

WLP_CA_DETALIUWLP_CA_PLANIFICARI (1:N)

O persoana din detalierea taskului poate avea mai multe zile alocate.

WLP_CALENDARWLP_CA_PLANIFICARI (1:N)

O zi din calendarul unei persoane poate fi folosita de o singura alocare pe un task.