nesting_jobs, nesting_parts ve nesting_remnants alanları, uçları, malzeme akışları, maliyetlendirme ve artık yaşam döngüsü başvurusu.
Bu sayfa nesting modülünün üç kayıt türünün alanlarını, uçlarını ve kurallarını listeler: nesting_jobs/ içindeki işler, nesting_parts/ içindeki parçalar ve nesting_remnants/ içindeki artıklar; hepsi src/cluster_erp/modules/nesting/ altındadır. Yerleşimlerin dışa ve içe aktarımı ile KPI raporu entegrasyon ve KPI sayfasındadır. Tam hat şemasıyla modül genel görünümü nesting modülü sayfasındadır.
Parçalar /api/v1/nesting/nesting-parts altında listeleme, okuma, oluşturma, güncelleme, silme ve toplu silme uçlarıyla bulunur (src/cluster_erp/modules/nesting/nesting_parts/routes.py:25-113). Artıklar /api/v1/nesting/nesting-remnants altında listeleme, GET /available, okuma, güncelleme ve POST /{remnant_id}/scrap uçlarıyla bulunur (src/cluster_erp/modules/nesting/nesting_remnants/routes.py:27-123).
Parçalar yalnızca iş queued veya failed durumundayken eklenebilir, değiştirilebilir veya kaldırılabilir (src/cluster_erp/modules/nesting/nesting_parts/services.py:76, src/cluster_erp/modules/nesting/nesting_parts/services.py:137, src/cluster_erp/modules/nesting/nesting_parts/services.py:185).
Bir ürün iş başına bir kez yer alabilir; ikinci bir satır RESOURCE_CONFLICT yanıtı verir (src/cluster_erp/modules/nesting/nesting_parts/services.py:82-93).
Sınır kutusu kullanılabilir levhaya, düz veya 90 derece döndürülmüş olarak sığmayan bir parça NESTING_PART_TOO_LARGE ile reddedilir (src/cluster_erp/modules/nesting/nesting_parts/services.py:95-104).
Siparişlerden Parça Çek, bağlı her üretim veya satış siparişini EventBus üzerinden okur, malzeme kalitesi veya kalınlığı işinkinden farklı olan bir siparişi reddeder ve ölçüsü bilinen her sipariş bileşeni için bir parça ekler; aynı siparişten zaten çekilmiş bileşenleri atlar (src/cluster_erp/modules/nesting/nesting_jobs/services.py:676-802).
Ayırma; queued veya failed durumunda bir iş, önceden yapılmış bir ayırma olmaması, bir levha malzemesi, bir depo ve tam kırılım ister; modül ReserveStock çağırır (src/cluster_erp/modules/nesting/nesting_jobs/services.py:394-468).
Tüketim, malzeme ayrılmış ve henüz tüketilmemişse onay sırasında çalışır; ConsumeReservation ve PostGoodsIssue çağırır ve ikisinden birinin başarısızlığını günlüğe yazar (src/cluster_erp/modules/nesting/nesting_jobs/services.py:361-362, src/cluster_erp/modules/nesting/nesting_jobs/services.py:470-553).
calculate_costscompleted durumda bir iş ve birim alan maliyeti ister (src/cluster_erp/modules/nesting/nesting_jobs/services.py:555-592). Bu oranla aşağıdakileri hesaplar ve her para sonucunu ROUND_HALF_EVEN ile dört basamağa yuvarlar (src/cluster_erp/modules/nesting/nesting_jobs/services.py:594-633):
Sonuç
Formül
Kaynak
material_cost
levha alanı çarpı kullanılan levha sayısı çarpı oran
Yalnızca completed durumda ve henüz onaylanmamış bir iş onaylanabilir; düşük kullanım onay ister (src/cluster_erp/modules/nesting/nesting_jobs/services.py:311-342).
Onay, içe aktarılan her artan dikdörtgen için available durumda bir artık oluşturur ve iş bir depoya ve levha malzemesi kırılımına sahipse her birini PostGoodsReceipt ile stoka kaydeder (src/cluster_erp/modules/nesting/nesting_jobs/services.py:364-375, src/cluster_erp/modules/nesting/nesting_remnants/services.py:125-176, src/cluster_erp/modules/nesting/nesting_remnants/services.py:282-341).
Bir artık available veya reserved durumundayken hurdaya ayrılabilir (src/cluster_erp/modules/nesting/nesting_remnants/services.py:246-262). Tüketim available ister (src/cluster_erp/modules/nesting/nesting_remnants/services.py:178-194); consume_remnant için yapılan grep bu commit'te hiçbir uç veya başka çağıran bulmaz.
GetAvailableRemnants, bir malzeme kalitesi ve kalınlığındaki kullanılabilir artıkları, isteğe bağlı en küçük genişlik ve yükseklikle listeler (src/cluster_erp/modules/nesting/nesting_remnants/services.py:71-98, src/cluster_erp/modules/nesting/module.py:111-140).