# Työmäärä-työtila-komponentti

## Yleiskatsaus

Työmäärätietojen hallinta ja kapasiteetin seuranta.

**Sijainti:** `form/nc/nc-work-center/`

**Reitti:** `/work-center`

**Valikkokuvake:** `user-hard-hat`

**Käyttöoikeusryhmät:** `user`, `work-center`

## Tiedostorakenne

```text
form/nc/nc-work-center/
├── init.json                    # Komponenttimääritys
├── nc-work-center.json          # Asettelumääritys
├── rec.json                     # Tietuearvot
├── arr.json                     # Taulukot (pudotusvalikot, välilehdet)
├── grid.json                    # Ruudukon määritykset
├── hdr.json                     # Otsikot/käännökset
├── nc-work-center.css           # Komponentin tyylit
├── nc-work-center.js            # Komponentin logiikka
├── nc-work-center-util.js       # Apufunktiot
├── change-data.js               # Tietojen muutosten käsittely
├── nc-calc-server-work-center.lua      # Palvelimen tapahtumien käsittely
├── nc-calc-server-work-center-event.lua # Tapahtumien käsittely
└── documentation/               # Dokumentaatio
    ├── work-center-overview-fi.md
    ├── work-center-states-user.md
    └── dev/
        ├── work-center-states-developer.md
        └── incremental-update.md
```

## Ominaisuudet

### Työpaikan Hallinta

- Luo ja määrittele työpaikkoja
- Määrittele työpaikan tyypit
- Assign työntekijöitä työpaikoille
- Aseta kapasiteetti- ja tehokkuustavoitteet

### Reaaliaikainen Seuranta

- Nykyisen tilan seuranta (käytettävissä, käynnissä, huolto, asennus)
- Kapasiteetin käyttöaste prosenttiosina
- Tehokkuusmittarit
- Aktiivisen tuotannon seuranta

### Ajoitus

- Työaikataulunäkymä
- Tuotantoaikataulut
- Vuorosuunnittelu
- Kapasiteettisuunnittelu

### Raportointi

- Suorituskykytilastot
- Käyttöaste raportit
- Tehokkuusanalyysi
- Käyttökatkojen seuranta

## Tila

### Työpaikan Tilat

```mermaid
stateDiagram-v2
    [*] --> käytössä
    käytössä --> asennus: käynnistä
    asennus --> käynnissä: valmis
    käynnissä --> käytössä: valmis
    käynnissä --> huolto: vika
    huolto --> käytössä: korjaa
    käytössä --> huolto: vika
```

### Tilat Kuvattuna

| Tila | Kuvaus | Väri |
|------|--------|------|
| `idle` | Käytettävissä | Vihreä |
| `setup` | Asennus | Keltainen |
| `running` | Käynnissä | Sininen |
| `maintenance` | Huolto | Punainen |

## Tietorakenne

### rec (Tietuearvot)

```javascript
state.rec = {
  // Työpaikka
  work_center_id: '',
  work_center_name: '',
  work_center_type: '',

  // Kapasiteetti
  capacity_percent: 0,
  efficiency_percent: 0,
  utilization_percent: 0,

  // Nykyinen tila
  current_state: '',
  current_product_id: '',
  current_quantity: 0,

  // Päivämäärät
  start_date: null,
  end_date: null,

  // Tilastot
  total_orders: 0,
  completed_orders: 0,
  in_progress_orders: 0
}
```

### arr (Taulukot)

```javascript
state.arr = {
  work_center: [],
  work_center_type: [],
  state: [
    { value: 'idle', show: 'Käytettävissä' },
    { value: 'running', show: 'Käynnissä' },
    { value: 'maintenance', show: 'Huolto' },
    { value: 'setup', show: 'Asennus' }
  ],
  product: [],
  employee: []
}
```

## Käyttöliittymä

### Ruudukonäkymä

Työpaikkalistaus ruudukossa näyttää:

- Työpaikan nimi
- Tyyppi
- Nykyinen tila
- Kapasiteetti %
- Tehokkuus %

### Aikataulunäkymä

Gantt-kaavio näyttää:

- Tuotantotilaukset
- Aloitusaika
- Lopetusaika
- Määrä
- Tuote

## Liittyvät Komponentit

- `nc-production` - Tuotantotilaukset
- `nc-load` - Kuormitus visualisointi
- `nc-stock` - Materiaalin saatavuus
- `task` - Tehtävien hallinta

## API

### Palvelinkutsut

```lua
-- Työpaikka haku
GET /rest/nc/work-center/query

-- Työpaikka tallennus
POST /rest/nc/work-center/save

-- Tilan muutos
POST /rest/nc/work-center/state/change

-- Kapasiteetin päivitys
POST /rest/nc/work-center/capacity/update
```

## Käyttöoikeudet

Käyttöoikeus ryhmille:

- `user` - Kaikki käyttäjät (vain luku)
- `work-center` - Työpaikan käyttäjät (täydet oikeudet)

## Lisätietoja

Katso kehittäjän ohjeet:

- `work-center-states-developer.md` - Tilajärjestelmän kehittäjäopas
- `incremental-update.md` - Inkrementaalinen päivitysmekanismi

## Aiheeseen Liittyvä

- Backend-komponenttijärjestelmän dokumentaatio
- nc-calc-server -lisäosan dokumentaatio
