Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

Yerleşim işleri, parçalar ve artıklar

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.

Kapsam ve kaynak

  • Tanımlandığı yer: nesting_jobs, nesting_parts ve nesting_remnants klasörlerinin models.py, schemas.py, services.py, routes.py ve metadata.py dosyaları.
  • Sayım: 3 tablo; 15 iş ucu, 6 parça ucu ve 5 artık ucu (her routes.py içindeki @router. dekoratörleri, KPI ucu hariç).

İş alanları

Grup Alanlar Kaynak
Kimlik ve durum code, name, status (varsayılan queued), notes src/cluster_erp/modules/nesting/nesting_jobs/models.py:25-36, src/cluster_erp/modules/nesting/nesting_jobs/models.py:154
Levha sheet_length_mm, sheet_width_mm, thickness_mm, material_grade, surface_coating, max_sheets src/cluster_erp/modules/nesting/nesting_jobs/models.py:38-55, src/cluster_erp/modules/nesting/nesting_jobs/models.py:180
Süreç kerf_width_mm, part_gap_mm, edge_margin_mm, allow_mirror, allowed_rotations, machine_profile, algorithm src/cluster_erp/modules/nesting/nesting_jobs/models.py:56-80, src/cluster_erp/modules/nesting/nesting_jobs/models.py:188-198
Sonuç result_source, external_software, layout_placements, remnants, layout_svg, sheets_used, total_parts, placed_parts, utilization_pct, sheet_area_mm2, used_area_mm2, waste_area_mm2, run_started_at, run_completed_at, run_duration_seconds src/cluster_erp/modules/nesting/nesting_jobs/models.py:87-135, src/cluster_erp/modules/nesting/nesting_jobs/models.py:145-187, src/cluster_erp/modules/nesting/nesting_jobs/models.py:215-224
Onay low_utilization_acknowledged, approved_by, approved_at src/cluster_erp/modules/nesting/nesting_jobs/models.py:116-144
Malzeme sheet_material_id, sheet_material_model_id, sheet_material_version_id, warehouse_id, material_reserved, material_consumed, reservation_id, planned_sheets, actual_sheets, planned_material_qty, actual_material_qty src/cluster_erp/modules/nesting/nesting_jobs/models.py:199-264
Maliyet cost_per_unit_area, material_cost, scrap_cost, remnant_credit, net_material_cost, currency_code src/cluster_erp/modules/nesting/nesting_jobs/models.py:265-290
Kaynak siparişler source_orders (sipariş başvurularının JSON listesi) src/cluster_erp/modules/nesting/nesting_jobs/models.py:149

Parça alanları

Ad Anlam Kaynak
nesting_job_id, part_id İş ve ürün; iş ve ürün başına bir canlı satır src/cluster_erp/modules/nesting/nesting_parts/models.py:15-35
qty_requested, qty_placed İstenen ve yerleştirilen adetler src/cluster_erp/modules/nesting/nesting_parts/models.py:37-47
part_length_mm, part_width_mm, part_area_mm2 Sınır ölçüsü ve alan src/cluster_erp/modules/nesting/nesting_parts/models.py:54-66
geometry_polygon, dxf_parsed, dxf_attachment_id Koordinat listesi olarak gerçek dış hat ve kaynağı src/cluster_erp/modules/nesting/nesting_parts/models.py:49-53, src/cluster_erp/modules/nesting/nesting_parts/models.py:98-108
placed_x, placed_y, rotation_deg, mirror, in_layout, sheet_index Parçanın yerleşimdeki ilk konumu src/cluster_erp/modules/nesting/nesting_parts/models.py:67-114
priority Dışa aktarımlarda ve özetlerde yüksek olan önce gelir src/cluster_erp/modules/nesting/nesting_parts/models.py:92-97, src/cluster_erp/modules/nesting/integration/services.py:121-128
source_order_id, source_order_type, allocated_material_cost Kaynak sipariş ve net malzeme maliyetinden pay src/cluster_erp/modules/nesting/nesting_parts/models.py:117-130

Artık alanları

Ad Anlam Kaynak
code nesting_remnant dizisinden iş anahtarı src/cluster_erp/modules/nesting/nesting_remnants/models.py:17-21, src/cluster_erp/modules/nesting/nesting_remnants/services.py:135
nesting_job_id, sheet_index, x, y, width, height, area_mm2 Kaynak levhadaki konum ve ölçü src/cluster_erp/modules/nesting/nesting_remnants/models.py:22-55
material_grade, thickness_mm, surface_coating İşten kopyalanır src/cluster_erp/modules/nesting/nesting_remnants/models.py:56-65, src/cluster_erp/modules/nesting/nesting_remnants/services.py:148-150
status Oluşturmada available src/cluster_erp/modules/nesting/nesting_remnants/models.py:66-71
warehouse_id, batch_id, inventory_movement_id Stok başvuruları src/cluster_erp/modules/nesting/nesting_remnants/models.py:73-85
consumed_by_job_id, consumed_at, scrapped_at, scrap_reason Yaşam döngüsü damgaları src/cluster_erp/modules/nesting/nesting_remnants/models.py:86-98

İş uçları

Tüm yollar /api/v1/nesting/nesting-jobs altındadır.

Yöntem ve yol Amaç İzin Kaynak
GET /, GET /{job_id} Listeleme ve okuma nesting_job.read src/cluster_erp/modules/nesting/nesting_jobs/routes.py:121-158
POST /, PUT /{job_id} Oluşturma ve güncelleme nesting_job.create, nesting_job.update src/cluster_erp/modules/nesting/nesting_jobs/routes.py:161-185
DELETE /{job_id}, POST /bulk-delete Geçici silme nesting_job.delete, nesting_job.bulk_delete src/cluster_erp/modules/nesting/nesting_jobs/routes.py:188-210
POST /{job_id}/approve Onay nesting_job.approve src/cluster_erp/modules/nesting/nesting_jobs/routes.py:213-224
POST /{job_id}/calculate-costs Malzemeyi maliyetlendirme nesting_job.update src/cluster_erp/modules/nesting/nesting_jobs/routes.py:227-236
POST /{job_id}/reserve-material Levha stoku ayırma nesting_job.update src/cluster_erp/modules/nesting/nesting_jobs/routes.py:239-248
POST /{job_id}/export, POST /{job_id}/import-result Harici bir araçla alışveriş nesting_job.read, nesting_job.run src/cluster_erp/modules/nesting/nesting_jobs/routes.py:251-281
POST /{job_id}/pull-parts Bağlı siparişlerden parça ekleme nesting_job.update src/cluster_erp/modules/nesting/nesting_jobs/routes.py:284-293
GET /{job_id}/summary, GET /{job_id}/svg, GET /{job_id}/dxf Özet ve çizimler nesting_job.read src/cluster_erp/modules/nesting/nesting_jobs/routes.py:296-396

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).

Kısıtlar ve doğrulama

Parçalar

  • 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).

Malzeme

  • 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).

Maliyetler

calculate_costs completed 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 src/cluster_erp/modules/nesting/nesting_jobs/services.py:598-602
remnant_credit toplam artık alanı çarpı oran src/cluster_erp/modules/nesting/nesting_jobs/services.py:604-612
scrap_cost (fire alanı eksi artık alanı, sıfırın altına inmeden) çarpı oran src/cluster_erp/modules/nesting/nesting_jobs/services.py:614-624
net_material_cost malzeme maliyeti eksi artık alacağı src/cluster_erp/modules/nesting/nesting_jobs/services.py:626-628
parça başına allocated_material_cost parçanın sınır alanı çarpı yerleştirilen adet, tüm yerleştirilen alanın payı olarak, çarpı net maliyet src/cluster_erp/modules/nesting/nesting_jobs/services.py:635-652

Onay ve artıklar

  • 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).

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
nesting part NestingPart Bir işte ölçüsü ve dış hattıyla yerleştirilecek bir ürün. Yerleşim parçası src/cluster_erp/modules/nesting/nesting_parts/models.py:13
remnant credit remnant_credit Malzeme maliyetinden düşülen yeniden kullanılabilir artanların değeri. Artık alacağı src/cluster_erp/modules/nesting/nesting_jobs/models.py:278
net material cost net_material_cost Malzeme maliyeti eksi artık alacağı. Net malzeme maliyeti src/cluster_erp/modules/nesting/nesting_jobs/models.py:282

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13