Skyplanner veri yapısı #
Zaman çizelgelerine geçmeden önce, Skyplanner’daki veri yapısı ve kaputun altında işlerin nasıl yürüdüğü hakkında biraz tartışmamız gerekiyor. Tüm bunlar daha sonra devreye girecek.
Sipariş/iş emri/iş verilerinizi Skyplanner’a entegre ettiyseniz, büyük olasılıkla en azından bu API uç noktalarını kullandınız:
- phaser-orders
- phaser-Order-rows
- phaser-jobs
Etkili bir şekilde, bu uç noktalara eklenen veriler Skyplanner kullanıcı arayüzünde şu şekilde gösterilir:
Siparişlerinizi Skyplanner’a girdikten sonra, bunları Üretim Planlama modülüne aktarmak isteyeceksiniz (bu, kullanıcı arayüzü veya /phaser-orders/export-endpoint aracılığıyla yapılabilir):
Skyplanner siparişleri dışa aktarırken sipariş verilerini bir veritabanı tablosundan diğerine etkili bir şekilde kopyalar. Dolayısıyla, örneğin /phaser-orders -uç noktası aracılığıyla bir şeyi değiştirirseniz, Üretim Planlama’da güncellemek için verileri tekrar dışa aktarmanız gerekir. Bu aynı zamanda Üretim Planlama penceresinde gördüğünüz siparişlere erişmek için farklı API uç noktaları kullanmanız gerektiği anlamına gelir!
“Değiştirilen” uç noktalar şu şekildedir:
Bunu bilmek önemlidir, çünkü üretim olaylarınızı vb. günlüğe kaydetmek için /timelogs uç noktasını kullanırken Üretim Planlama uç noktalarında bulunan ilgili varlıkları kullanmanız gerekir!
Örneğin, yeni bir zaman günlüğü POST etmek için production_planning_job_id (tekrarlamak gerekirse: production_planning_jobs, /jobs -uç noktasından erişilen varlıklardır) bilgisine ihtiyacınız vardır:
İhtiyacınız olan production_planning_job_id’yi /phaser-jobs -uç noktasından bulabilirsiniz:
Veya /job -uç noktasından:
REST-API kullanarak zaman çizelgeleri oluşturma #
API aracılığıyla Skyplanner’da zaman çizelgeleri oluşturmak, kullanıcı arayüzündeki aynı kuralları ve sistemleri kullanır. Bu nedenle, API üzerinden kullanmaya başlamadan önce sistemin kullanıcı arayüzünde nasıl çalıştığını öğrenmeniz faydalı olabilir.
Timelog temelleri #
Skyplanner dört zaman günlüğü olay türüne sahiptir:
- shift_begin
- duraklatılmış
- devam etti
- shift_end
Shift_begin-event, iş ilk kez başlatıldığında gönderilir. Her iş için asla birden fazla shift_begin olayı göndermeyin!
Duraklatıldı-olay işi duraklatır.
Devam eden olay duraklatılmış bir işi devam ettirir.
Shift_end işi tamamlar. Her iş için asla birden fazla shift_end olayı göndermeyin!
Zaman çizelgeleri için gerekli veriler:
- kişi_id
- people-uç noktasından bulunabilir
- user_id ile aynı değildir!
- planned_workstation_id
- İşin yapıldığı iş istasyonu
- workstations-endpoint adresinden bulunabilir
- tarih_zaman
- Etkinliğin yapıldığı zaman noktası
- Format: 2024-01-01 10:30:11
Hangi Skyplanner zaman günlüğünün kullandığınız harici sistemdeki zaman günlüğüne bağlı olduğunu belirtmek için external_id alanını kullanabilirsiniz. Daha sonra, örneğin Skyplanner’dan belirli bir zaman günlüğünü bulmak için bu kimliği kullanarak GET istekleri yapabilirsiniz.
Bir işe başlamak #
API’ye bu şekilde POST isteği göndererek işleri başlatabilirsiniz:
Zaman günlükleri için POST verilerini ayarlarken workshift_id değerini 0 ve timelog_finalized değerini true olarak ayarlayın
Bir işi duraklatma #
Bunun gibi bir POST isteği göndererek işleri duraklatın:
Duraklatılmış tip zaman günlüklerinde miktarı ve faulty_amount değerini ayarlayabilirsiniz. Zaman günlüğü türüne ve tarih_saatine de dikkat edin.
Bir işe devam etmek #
Duraklatılmış bir zaman günlüğünü şu şekilde devam ettirebilirsiniz:
shift_end olayı tarafından sonlandırılan bir işi devam ettirmeye çalışırsanız bir hata alacağınızı unutmayın.
Bir işi sonlandırmak #
shift_end zaman günlüğü ile bir işi nasıl sonlandıracağınız aşağıda açıklanmıştır:
shift_end-events içinde tıpkı paused-events içinde olduğu gibi amount ve faulty_amount değerlerini verebilirsiniz. Çalışmayan bir işe shift_end-event yapmaya çalışırsanız hata alacağınızı unutmayın.
Zaman çizelgelerini güncelleme #
timelogs-endpoint’e PUT istekleri göndererek timelog verilerini şu şekilde güncelleyebilirsiniz:
Güncelleme yapmak için hem beginTimelog hem de endTimelog veri setine sahip olmanız gerektiğini unutmayın. Skyplanner’daki zaman günlükleri şu şekilde saklanır: her bir “tam” (hem başlangıcı hem de sonu olan zaman günlüğü (örn. shift_begin/continued & paused/shift_end) zaman günlüğünün başlangıç ve bitiş için ayrı bir varlığı vardır.
Bunlar endlog’da bulunan begin_id değeri ile eşleştirilir. Yukarıdaki örnekte beginTimelog 1 id değerine sahiptir ve dolayısıyla endTimelog da 1 begin_id değerine sahiptir.
Ayrıca, değiştirmeseniz bile her güncelleme isteğinde person_id ve endTimelog değerlerini vermeniz gerekir.
Zaman çizelgeleri oluşturmanın alternatif yolları #
API kullanarak işlerinize giriş yapmanın bazı alternatif yollarını aşağıda bulabilirsiniz.
Logfull #
Hem başlangıç hem de bitiş zaman günlüklerini tek bir istekte göndermek istiyorsanız /timelogs/log-full -endpoint’i aşağıdaki gibi kullanabilirsiniz:
Burada miktarların nasıl gönderildiğine dikkat edin: ilk ” miktar” değeri hatalı miktarı, ikincisi ise tutarı gösterir. Bu istek, beginlog ve endlog varlıklarını tek bir istekte oluşturur.
Hızlı Günlük #
Bir işe “Quicklogging” yapmak işi tek bir istekte tamamlar, tamamlanan ürün miktarını sipariş öğesinde ayarlanan değerle eşleşecek şekilde ayarlar. Quicklogging /timelogs/quick-log -endpoint kullanılarak yapılır:
Burada sadece production_planning_job_id, planned_workstation_id ve person_id değerlerini vermeniz gerektiğini unutmayın. Zaman ve miktar değerleri otomatik olarak doldurulur. Ayrıca, hızlı günlüğe kaydedilen işlerin her zaman shift_end-event ile tamamlandığını unutmayın, bu nedenle hızlı günlüğe kaydetmeden sonra başka günlüğe kaydetme mümkün değildir!