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

Modül

Design engineering modülü (design_engineering)

Tasarımları inceleme ve onay akışıyla ve yeni tasarım versiyonları oluşturan mühendislik değişiklik notlarını tutan design_engineering sayfası.

src/cluster_erp/modules/design_engineering/ içindeki design_engineering modülü tasarımları ve mühendislik değişiklik notlarını (ECN) tutar. Bir tasarım bir projeye aittir, tanımladığı parçayı belirtebilir, çizim, 3B model ve DXF belgelerini bağlar ve inceleme ile onaydan geçer. Onaylanmış bir tasarım kilitlidir; bir değişiklik bir ECN ile yapılır, bu da sonraki tasarım versiyonunu oluşturur ve eskisinin yerine geçirir. Parçası olan bir tasarımı onaylamak bom modülünün bir ürün ağacı kartı oluşturmasını sağlar.

Bir bakışta

Öğe Değer Kaynak
Paket src/cluster_erp/modules/design_engineering/ klasör
Modül sınıfı Module src/cluster_erp/modules/design_engineering/module.py:15
name / version design_engineering / 0.1.0 src/cluster_erp/modules/design_engineering/module.py:16-22
API öneki /api/v1/design_engineering (ModuleBase.api_prefix) src/cluster_erp/core/module_base.py:37-38
Alt modüller 2: designs, ecns klasör listesi
Tablolar 2: design_engineering_designs, design_engineering_ecns src/cluster_erp/modules/design_engineering/designs/models.py:18, src/cluster_erp/modules/design_engineering/ecns/models.py:18
Metadata'daki varlıklar 2: design, ecn src/cluster_erp/modules/design_engineering/module.py:146-149
Uçlar Pakette 20 uç dekoratörü @router. için grep
Web uygulamasında yeri Katalog uygulaması design-engineering src/cluster_erp/modules/app_store/catalog.json (design-engineering girdisi)
Masaüstünde yeri Yalnızca genel bileşenler; src/cluster_erp/desktop/modules/ içinde klasör yok klasör

Modül ne yapar

  • concept, detail veya manufacturing türünde tasarımları kaydeder; her birinin numarası, projesi, isteğe bağlı parçası, versiyon numarası, CAD dosya girdileri, belge bağlantıları, şartnameleri ve açıklaması vardır (src/cluster_erp/modules/design_engineering/designs/models.py:17-78, src/cluster_erp/modules/design_engineering/designs/schemas.py:9).
  • Bir tasarımı inceleme ve onaydan geçirir (src/cluster_erp/modules/design_engineering/designs/services.py:37-41).
  • Onaylanmış tasarımlara karşı değişiklik notları kaydeder ve bunları yeni tasarım versiyonları olarak uygular (src/cluster_erp/modules/design_engineering/ecns/services.py:94-111, src/cluster_erp/modules/design_engineering/ecns/services.py:252-314).
  • Diğer modüllerin bir tasarım hakkındaki sorularını yanıtlar (src/cluster_erp/modules/design_engineering/module.py:49-92).

Alt modüller

Alt modül Amaç Ana varlıklar Yönlendirici Kaynak
designs Tasarımlar ve yaşam döngüleri Design /api/v1/design_engineering/designs src/cluster_erp/modules/design_engineering/designs/routes.py:31
ecns Mühendislik değişiklik notları Ecn /api/v1/design_engineering/ecns src/cluster_erp/modules/design_engineering/ecns/routes.py:30

Veri modeli

Varlık Tablo Anahtar alanlar Notlar Kaynak
Design design_engineering_designs design_no, project_id, part_id, type, status, parent_design_id, version_no, created_by_user_id, reviewed_by, approved_by, approved_at, cad_files, drawing_pdf_doc_id, model_3d_doc_id, dxf_doc_id, specs, description, extra design_no benzersiz; parent_design_id önceki versiyonu gösterir src/cluster_erp/modules/design_engineering/designs/models.py:17-78
Ecn design_engineering_ecns ecn_no, design_id, reason, impact, status, proposed_by, approved_by, approved_at, rejected_by, rejected_at, implemented_by, implemented_at, new_design_id, extra ecn_no benzersiz src/cluster_erp/modules/design_engineering/ecns/models.py:17-57

project_id ve part_id düz UUID sütunlarıdır. Modül bunlar hakkında başka hiçbir modüle sormaz; pakette oluşturulan sorgu sözleşmeleri için yapılan grep hiçbir şey bulmaz.

Ekranlar ve metadata

get_metadata, iki listeli bir Tasarım & Mühendislik (İngilizce Design & Engineering) kenar çubuğu grubu bildirir: Tasarımlar ve Değişiklik Notları (src/cluster_erp/modules/design_engineering/module.py:109-150). İki varlık da extra içinde kiracı tanımlı alanları kabul eder (src/cluster_erp/modules/design_engineering/designs/models.py:19-22, src/cluster_erp/modules/design_engineering/ecns/models.py:19-22).

Durumlar ve aksiyonlar

Tasarım durumları draft, in_review, approved ve superseded olur (src/cluster_erp/modules/design_engineering/designs/schemas.py:10). ECN durumları proposed, approved, rejected ve implemented olur (src/cluster_erp/modules/design_engineering/ecns/schemas.py:9).

Aksiyon Etiket Koşul Uç İzin Kaynak
tasarım submit_review İncelemeye Gönder status değeri draft POST /designs/{id}/submit-review design.create src/cluster_erp/modules/design_engineering/designs/metadata.py:52-62, src/cluster_erp/modules/design_engineering/designs/routes.py:144-153
tasarım approve Onayla status değeri in_review POST /designs/{id}/approve design.approve src/cluster_erp/modules/design_engineering/designs/metadata.py:63-73, src/cluster_erp/modules/design_engineering/designs/routes.py:156-165
tasarım reject Reddet status değeri in_review POST /designs/{id}/reject design.approve src/cluster_erp/modules/design_engineering/designs/metadata.py:74-84, src/cluster_erp/modules/design_engineering/designs/routes.py:168-177
ECN approve Onayla status değeri proposed POST /ecns/{id}/approve ecn.approve src/cluster_erp/modules/design_engineering/ecns/metadata.py:52-62, src/cluster_erp/modules/design_engineering/ecns/routes.py:141-150
ECN reject Reddet status değeri proposed POST /ecns/{id}/reject ecn.approve src/cluster_erp/modules/design_engineering/ecns/metadata.py:63-73, src/cluster_erp/modules/design_engineering/ecns/routes.py:153-162
ECN implement Uygula status değeri approved POST /ecns/{id}/implement ecn.approve src/cluster_erp/modules/design_engineering/ecns/metadata.py:74-84, src/cluster_erp/modules/design_engineering/ecns/routes.py:165-174

Şema iki yaşam döngüsünü de gösterir.

stateDiagram-v2
 state Design {
 [*] --> draft
 draft --> in_review: submit_review
 in_review --> approved: approve
 in_review --> draft: reject
 approved --> superseded: ECN implement
 }
 state ECN {
 [*] --> proposed
 proposed --> approved_ecn: approve
 proposed --> rejected: reject
 approved_ecn --> implemented: implement
 }

Düz anlatımla: bir tasarım draft olarak başlar, in_review durumuna gönderilir ve sonra onaylanır veya draft durumuna geri gönderilir (src/cluster_erp/modules/design_engineering/designs/services.py:37-41). Onaylanmış bir tasarım yalnızca ona karşı bir ECN uygulandığında superseded olur. Bir ECN proposed olarak başlar ve onaylanır veya reddedilir; onaylanmış bir ECN uygulanabilir (src/cluster_erp/modules/design_engineering/ecns/services.py:29-32). Şemada approved_ecn, ECN'nin approved durumunu temsil eder.

İş kuralları

  • concept türündeki bir tasarım onaylanamaz; yanıt DESIGN_CONCEPT_NO_APPROVAL olur (src/cluster_erp/modules/design_engineering/designs/services.py:282-287).
  • Onay, DesignApproved yayılmadan önce işlemi kaydeder; böylece abonenin oluşturduğu ürün ağacı saklanmış bir onaya dayanır; kod yorumu bu nedeni belirtir (src/cluster_erp/modules/design_engineering/designs/services.py:298-315).
  • Onaylanmış veya yerini almış bir tasarım düzenlenemez (src/cluster_erp/modules/design_engineering/designs/services.py:189-199); yalnızca taslak bir tasarım silinebilir (src/cluster_erp/modules/design_engineering/designs/services.py:229-233).
  • Bir ECN yalnızca onaylanmış bir tasarım için oluşturulabilir (src/cluster_erp/modules/design_engineering/ecns/services.py:94-111); yalnızca önerilmiş bir ECN düzenlenebilir veya silinebilir (src/cluster_erp/modules/design_engineering/ecns/services.py:150-153, src/cluster_erp/modules/design_engineering/ecns/services.py:184-187).
  • Bir ECN'yi uygulamak; sonraki versiyon numarasıyla, aynı proje, parça, tür, dosyalar ve şartnamelerle ve eski tasarımı üst olarak alan yeni bir taslak tasarım oluşturur; eski tasarım superseded olur; ECN yeni tasarımın kimliğini saklar (src/cluster_erp/modules/design_engineering/ecns/services.py:252-314).
  • design_no ve ecn_no değerleri design ve ecn yıllık dizilerinden gelir (src/cluster_erp/modules/design_engineering/designs/services.py:144, src/cluster_erp/modules/design_engineering/ecns/services.py:112).
  • GET /designs/{id}/files CAD dosya listesini ve üç belge kimliğini döndürür (src/cluster_erp/modules/design_engineering/designs/services.py:108-117).

Olaylar ve sorgular

Modül 2 sözleşme tüketir ve 6 sözleşme üretir; sayım parties modülü sayfasındaki gibi yapıldı.

Yön Sözleşme sınıfı İşleyici veya yayan Kaynak
yayar DesignCreated DesignService.create src/cluster_erp/modules/design_engineering/designs/services.py:167-175
yayar DesignApproved DesignService.approve src/cluster_erp/modules/design_engineering/designs/services.py:307-315
yayar DesignSuperseded DesignService.supersede src/cluster_erp/modules/design_engineering/designs/services.py:348-355
yayar EcnProposed, EcnApproved, EcnImplemented EcnService.create, .approve, .implement src/cluster_erp/modules/design_engineering/ecns/services.py:128, src/cluster_erp/modules/design_engineering/ecns/services.py:227-236, src/cluster_erp/modules/design_engineering/ecns/services.py:304-312
sorguyu yanıtlar GetDesignById _handle_get_design src/cluster_erp/modules/design_engineering/module.py:53, src/cluster_erp/modules/design_engineering/module.py:56-77
sorguyu yanıtlar IsDesignApproved _handle_is_design_approved src/cluster_erp/modules/design_engineering/module.py:54, src/cluster_erp/modules/design_engineering/module.py:79-92

DesignApproved olayını, tasarımın parçası için bir ürün ağacı kartı oluşturan bom modülü tüketir; bkz. BOM modülü. Sözleşmeler başvurusu bu commit'te diğer beş olay için bir tüketici bulmaz.

Yetkiler

İzin anahtarı Kullanan Kaynak
design.read tasarım okumaları, dosya listesi, tasarım başına ECN listesi, ECN okumaları src/cluster_erp/modules/design_engineering/designs/routes.py:52-196, src/cluster_erp/modules/design_engineering/ecns/routes.py:50-79
design.create tasarım oluşturma, güncelleme, silme, toplu silme, incelemeye gönderme src/cluster_erp/modules/design_engineering/designs/routes.py:96-147
design.approve tasarım onaylama ve reddetme src/cluster_erp/modules/design_engineering/designs/routes.py:159-171
ecn.propose ECN oluşturma, güncelleme, silme, toplu silme src/cluster_erp/modules/design_engineering/ecns/routes.py:93-132
ecn.approve ECN onaylama, reddetme, uygulama src/cluster_erp/modules/design_engineering/ecns/routes.py:144-168

Gizlilik, saklama ve geçmiş

Modül yazarların ve onaylayanların kullanıcı kimliklerini saklar, ama kendine ait kişisel alanı yoktur ve privacy_handlers.py dosyası yoktur. Değişiklikler değişiklik geçmişi tarafından kaydedilir.

Analitik olguları

Bu modülün analytics_facts.py dosyası yoktur.

Ayarlar ve başvuru verileri

Modülün ayarlar bölümü yoktur ve hiçbir şey tohumlamaz (src/cluster_erp/modules/design_engineering/module.py:28-30). Tasarım türleri ve durumları şemalarda sabit literal değerlerdir (src/cluster_erp/modules/design_engineering/designs/schemas.py:9-10).

Testler

tests/ ve web-client/ içinde design_engineering için grep ile bulundu.

Tür Dosya Kapsam
e2e web-client/_e2e_deseng_currencies.mjs web uygulamasında tasarım mühendisliği uygulaması ve aksiyonları
e2e web-client/_e2e_tenant_fields_phase4b.mjs, web-client/_e2e_tenant_fields_phase4c.mjs tasarım kayıtlarında kiracı tanımlı alanlar

Hiçbir pytest dosyası modülü içe aktarmaz.

Tutarsızlıklar

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
design Design Bir proje içinde bir parçanın sürümlü mühendislik tasarımı. Tasarım src/cluster_erp/modules/design_engineering/designs/models.py:17
engineering change note Ecn Onaylanmış bir tasarıma kaydedilen, uygulandığında sonraki versiyonunu oluşturan değişiklik. Değişiklik notu src/cluster_erp/modules/design_engineering/ecns/models.py:17
design type type concept, detail veya manufacturing; kavram tasarımları onaylanamaz. Tasarım türü src/cluster_erp/modules/design_engineering/designs/schemas.py:9

İlgili sayfalar


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

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