Skyplanneri andmestruktuur #
Enne kui me sukeldume ajagraafikutesse, peame veidi rääkima Skyplanneri andmestruktuurist ja sellest, kuidas asjad kapoti all toimivad. Kõik see tuleb mängu hiljem.
Kui te integreerisite oma tellimuse/töötellimuse/töö andmed Skyplannerisse, kasutasite tõenäoliselt vähemalt neid API-punkte:
- phaser-orders
- phaser-Order-rows
- phaser-jobs
Tegelikkuses esitatakse nendesse lõpp-punktidesse sisestatud andmed Skyplanneri kasutajaliideses järgmiselt:
Pärast tellimuste sisestamist Skyplannerisse soovite need eksportida (seda saab teha kasutajaliidese või /phaser-orders/export-endpunkti kaudu) tootmise planeerimise moodulisse:
Tellimuste eksportimisel kopeerib Skyplanner tellimuse andmed ühest andmebaasi tabelist teise. Seega, kui te muudate midagi näiteks /phaser-orders -endpunkti kaudu, peate andmed uuesti eksportima, et neid tootmisplaani ajakohastada. See tähendab ka seda, et selleks, et pääseda ligi tellimustele, mida näete Production Schedulingi aknas, peate kasutama erinevaid API-pääsupunkte!
“Muudetud” lõpp-punktid on järgmised:
Seda on oluline teada, sest kui kasutate /timelogs -endpunkti oma tootmissündmuste jms logimiseks , peate kasutama seotud üksusi, mis leiate Production Scheduling -endpunktidest!
Näiteks vajate uue ajaplaani POSTI tegemiseks production_planning_job_id (kordan veel kord: production_planning_jobs on üksused, millele pääseb ligi /jobs -endpunktist):
Vajaliku production_planning_job_id leiate kas /phaser-jobs -endpunktist:
Või /job -endpunktist:
Ajakirjade loomine REST-API abil #
Skyplanneri ajagraafikute tegemine API kaudu kasutab samu reegleid ja süsteeme, mis on kasutajaliideses. Seega võib olla kasulik tutvuda sellega, kuidas süsteem töötab kasutajaliideses, enne kui proovite seda API kaudu kasutada.
Timelogi põhitõed #
Skyplanneril on neli ajaregistri sündmuse tüüpi:
- shift_begin
- pausis
- jätkub
- shift_end
Shift_begin-event saadetakse, kui tööd alustatakse esimest korda. Ärge kunagi saatke rohkem kui üks shift_begin sündmus iga töö kohta!
Paused-juhtum peatab töö.
Continued-event jätkab peatatud tööd.
Shift_end lõpetab töö. Ärge kunagi saatke rohkem kui üks shift_end sündmus iga töö kohta!
Ajakirjade jaoks nõutavad andmed:
- person_id
- Saab leida /people-endpunktist
- Ei ole sama mis user_id!
- planned_workstation_id
- Töökoht, kus tööd tehakse
- Võib leida /workstations-endpoint’ist
- date_time
- Sündmuse toimumise aeg
- Formaat: 2024-01-01 10:30:11
Selleks, et määrata, milline Skyplanneri ajaregister on seotud mis tahes välissüsteemi ajaregistriga, mida te kasutate, saate kasutada väljal external_id . Seejärel saate näiteks teha GET-päringuid, kasutades seda id-d, et leida Skyplannerist konkreetne timelog.
Töö alustamine #
Tööde käivitamiseks saate saata API-le POST-küsitluse järgmiselt:
POST andmete seadmisel ajaregistrite jaoks seadke workshift_id väärtuseks 0 ja timelog_finalized väärtuseks true.
Töö peatamine #
Peatage tööd, saates POST-päringu järgmiselt:
Paused-tüüpi ajalogides saate määrata summa ja vigase_määra. Pange tähele ka timelogi tüüpi ja date_time.
Töö jätkamine #
Nii jätkate peatatud ajaregistrit:
Pange tähele, et kui püüate jätkata tööd, mis on lõpetatud shift_end sündmuse tõttu, saate veateate.
Töö lõpetamine #
Siin on kirjeldatud, kuidas lõpetada töö shift_end timelogi abil:
Shift_end-eventides saate anda summa ja faulty_amount väärtused nagu paused-eventides. Pange tähele, et kui proovite teha shift_end-event’i tööga, mis ei ole töös, saate veateateate.
Ajakirjade ajakohastamine #
Saate uuendada ajalogi andmeid, saates PUT-päringuid /timelogs-endpoint’ile, näiteks nii:
Pange tähele, et teil peavad olema määratud nii beginTimelogi kui ka endTimelogi andmed, et teha uuendusi. Skyplanneris salvestatakse ajalogisid järgmiselt: iga “täielik” (ajalogi, millel on nii algus kui ka lõpp (nt shift_begin/continued & paused/shift_end) ajalogi jaoks on eraldi üksus alguse ja lõpu jaoks.
Need on paaritatud endlogis leitud begin_id väärtuse järgi. Ülaltoodud näites on beginTimelogi id-väärtus 1 ja seega on selle endTimelogi begin_id väärtus 1.
Samuti peate andma person_id ja endTimelogi väärtused iga kord, kui teete uuendustaotluse, isegi kui te neid ei muuda.
Alternatiivsed viisid ajagraafikute tegemiseks #
Siin on mõned alternatiivsed viisid, kuidas saate API abil oma töökohtadesse sisse logida.
Logfull #
Kui soovite saata nii algus- kui ka lõpp-ajakirjad ühe taotlusega, võite kasutada /timelogs/log-full -endpoint, näiteks nii:
Pange tähele, kuidas summad siin saadetakse: esimene “summa” väärtus tähistab vigast summat ja teine summat. See taotlus loob beginlog ja endlog üksused ühe taotlusega.
Quicklog #
“Quicklogging” tööle lõpetab selle ühe taotlusega, seab lõpetatud toodete koguse vastavaks tellimuse elemendis määratud väärtusele. Quicklogimine toimub /timelogs/quick-log -endpunkti abil:
Pange tähele, et siin on vaja anda ainult production_planning_job_id, planned_workstation_id ja person_id. Aja ja summa väärtused täidetakse automaatselt. Pange tähele ka seda, et quicklogitud tööd lõpetatakse alati shift_end-eventiga, nii et pärast quicklogi ei ole edasine logimine võimalik!