Algoritmul de Evaluare

Evaluarea unei proceduri WLP (pornita pentru un Proiect sau o Comanda de lucru) se executa printr-o secventa de pasi, implementata in WlpServiceImpl (metoda orchestrator generareEvaluareWlp(), apelata automat la inserarea procedurii WLP).

Pasii algoritmului

Pas

Denumire

Ce face

1

Extragere taskuri

Citeste taskurile de manopera relevante din Proiect (OPERTEHNO) sau Comanda de lucru (TEHCMDLUCRU), dupa sursa evaluarii, si creeaza cate o inregistrare WLP_CA pentru fiecare.

2

Expandare resurse

Pentru fiecare task specificat generic (meserie sau formatie), determina lista persoanelor eligibile; pentru taskurile deja specificate pe o persoana, expandarea este directa.

3

Generare calendar zilnic

Pentru fiecare persoana rezultata si fiecare zi din perioada taskului ei, creeaza/actualizeaza randul din WLP_CALENDAR, determinand daca ziua este lucratoare (weekend, sarbatori legale, concediu).

4

Creare structuri de planificare

Creeaza randurile initiale (goale) in WLP_CA_PLANIFICARI, ca legatura intre fiecare persoana (WLP_CA_DETALIU) si fiecare zi a ei din calendar (WLP_CALENDAR).

5

Completare capacitate conform program

Actualizeaza WLP_CALENDAR.Q_CAPACITATE si IS_WORKING_DAY conform programului de lucru efectiv al fiecarei persoane.

6

Calcul disponibil

Calculeaza Q_CAPACITATE, Q_ALOCAT, Q_OFERTE, Q_EVALUARI si Q_DISPONIBIL, atat pe WLP_CA_DETALIU cat si agregat pe WLP_CA.

7

Verificare disponibil

Pentru taskurile/persoanele fara capacitate suficienta, se inregistreaza o eroare blocanta in WLP_CA_LOG.

8

Alocare capacitate

Distribuie Q_NECESAR de la nivelul taskului catre persoanele din WLP_CA_DETALIU, in ordinea descrescatoare a capacitatii disponibile a fiecareia, populand WLP_CA_PLANIFICARI. Urmeaza resincronizarea cantitatilor agregate pe WLP_CA_DETALIU si WLP_CA. Acest pas este sarit pentru taskurile cu eroare blocanta detectata la Pasul 7 — pentru acestea, planificarea se genereaza ulterior, doar daca se foloseste actiunea Acceptare diferente.

9

Setare stare taskuri

Actualizeaza WLP_CA.STARE: VALIDATA pentru taskurile fara erori blocante, respectiv EROARE pentru cele cu deficit de capacitate.

11

Detectare conflicte intra-proiect

Identifica taskuri din aceeasi evaluare care solicita aceeasi persoana in perioade suprapuse, si inregistreaza conflictul.

12

Detectare avertismente resurse concurente

Verifica daca resursele taskului sunt solicitate concurent de alte evaluari WLP inca neconfirmate, si inregistreaza un avertisment in WLP_CA_LOG daca este cazul.

Notă

Pasul 10 (confirmare alocari) nu are o implementare separata — este acoperit implicit de Pasii 4 si 8 (crearea structurilor de planificare, respectiv popularea lor efectiva).

Rezultatul evaluarii

La finalul acestei secvente, fiecare task (WLP_CA) se afla intr-una din cele doua stari vizibile utilizatorului in ecranul Planificare Capacitati:

Recalcularea unui singur task

Actiunea Refacere evaluare reia Pasii 6-9 doar pentru taskul selectat (nu intreaga evaluare WLP), util dupa modificarea resurselor lui (de exemplu adaugarea unei resurse alternative).