sozsoft-platform/configs/seeds/docs/modules/App.Maintenance.md
2026-10-19 00:22:40 +03:00

49 KiB
Raw Blame History

Bakım (App.Maintenance)

Menünün altındaki her dal bu dosyada bir bölümdür (module-doc:section); dosya ve bölümler ilk deploy'da otomatik açılır. module-doc:todo işaretli alt bölümleri modülü üreten kişi ya da AI doldurur (lowcode.instructions.md §0.13); MCP ile üretimde talep bu bölümler doldurulmadan Testing'e alınamaz. "Ek — Ekran envanteri" bölümü wizard dosyalarından üretilir, elle düzenlenmez.

Tanımlamalar (App.Maintenance.Definitions)

1. Amaç ve kapsam

Bakım modülünün (KADİFETEKS Odoo Bakım modülünden taşınan) tanım listeleri: ekipman kategorileri, bakım ekipleri, bakım tipleri, hizmet tipleri, arıza tipleri ve red nedenleri. Kullanıcılar bakım ve bilgi işlem yöneticileridir. Bakım/hizmet iş emirleri, bakım talimatları ve hizmet talepleri bu bölümün kapsamında değildir; bu ekranlar onların lookup kaynağıdır.

2. Analiz ve kararlar

  • Modül kodu Mm, tablo öneki Mm_T_, ekran kökü App.Maintenance (kullanıcı onayı).
  • Sorumlu, Ekip Yöneticisi ve Ekip Üyeleri AbpUsers'tan seçilir (kullanıcı onayı); Ekip Üyeleri çoklu seçimdir (dxTagBox, | ile ayrılmış Id'ler).
  • Şube bilgisi BranchId'dir (Ekipman Kategorileri ve Bakım Ekipleri); demo satırlar Branch1'e yazıldı (kullanıcı onayı).
  • Hizmet Tipleri tablosundaki "Bakım Tipi" başlıklı kolon hizmetin adıdır → Name / "Hizmet Tipi"; Bakım Tipleri'ne lookup yoktur (kullanıcı onayı).
  • Odoo'daki "Satış Ekip Üyeleri" etiketi hatalıdır; alan "Ekip Üyeleri" olarak açıldı.
  • Red Nedenleri, Satınalma'daki App.Prc.RejectReason ile birleştirilmedi; Bakım'a ait kodlu ayrı liste.
  • Ürün kartına ekipman işareti/kategorisi eklenmesi bu bölümün kapsamında değildir; kategori sonradan Envanter › Ürünler › Ekipman sekmesine bağlandı (App.Inventory.md §2).
  • Masraf Merkezleri (2026-10-18, görselden: analitik hesaplar listesi): ağaç yapısı üst masraf merkeziyle kurulur, ad listede ve seçimlerde "Üst / Ad" olarak görünür; Firma şubedir. Planla, Borç, Alacak ve Bakiye sütunları alınmadı (kullanıcı kararı; muhasebe hareketi tutan tablo yok). Görselde okunan 15 satır ve üstleri "Doğal Kaynak Tüketimi" ilk şubeye (Branch1) demo veri olarak yazıldı.

3. Menü ve ekranlar

Bakım (App.Maintenance) › Tanımlamalar (App.Maintenance.Definitions):

Ekran Kod Not
Ekipman Kategorileri App.Maintenance.EquipmentCategory şube kapsamlı, 84 demo satır
Bakım Ekipleri App.Maintenance.Team şube kapsamlı, 5 demo satır; Bakım/Hizmet Tipleri'nin lookup kaynağı
Bakım Tipleri App.Maintenance.MaintenanceType 11 demo satır
Hizmet Tipleri App.Maintenance.ServiceType 79 demo satır (ST01–ST79)
Arıza Tipleri App.Maintenance.FailureType 8 demo satır
Red Nedenleri App.Maintenance.RejectReason 8 demo satır
Masraf Merkezleri App.Maintenance.CostCenter şube kapsamlı, ağaç (üst masraf merkezi), 16 demo satır; Ürünler › Ekipman sekmesinin masraf merkezi kaynağı

4. Veri modeli

Tüm tablolar kiracı (TenantId) + tam audit + soft delete taşır.

  • Mm_T_EquipmentCategory (BranchId, Name, ResponsibleUserId → AbpUsers, IsActive)
  • Mm_T_Team (BranchId, Name, ManagerUserId → AbpUsers, MemberUserIds nvarchar(MAX) | listesi, IsActive)
  • Mm_T_MaintenanceType (Code null olabilir, Name, TeamIds nvarchar(MAX) | listesi → Mm_T_Team, Description, SortOrder, IsActive)
  • Mm_T_ServiceType (SortOrder, Code, Name, TeamIds, Description, IsActive) — UQ (TenantId, Code)
  • Mm_T_FailureType (Code, Name, Description, SortOrder, IsActive) — UQ (TenantId, Code)
  • Mm_T_RejectReason (Code, Name, Description, SortOrder, IsActive) — UQ (TenantId, Code)
  • Mm_T_CostCenter (BranchId, ParentId → kendisi, Name, Code (Referans), DepartmentId → Hr_T_Department, CustomerId → Adm_T_Contact, IsActive)

5. İş kuralları ve hesaplar

  • Lookup'lar yalnızca silinmemiş kayıtları, ekip lookup'ı ayrıca yalnız aktif ekipleri listeler; kullanılmış tanım silinmez, pasife alınır.
  • Bakım Tipleri, Hizmet Tipleri, Arıza Tipleri ve Red Nedenleri SortOrder'a göre artan sıralı açılır.
  • Hizmet/Arıza/Red kodu kiracı içinde benzersizdir (soft delete edilmiş kayıt da kodu tutar).
  • Hesaplanan alan yoktur.

6. Yetki ve görünürlük

Yetki ağacı: App.Maintenance › App.Maintenance.Definitions › her ekran (+ Create/Update/Delete/Export/Import/Note). Ekipman Kategorileri ve Bakım Ekipleri şube kapsamlıdır (IsBranch), diğerleri yalnız kiracı kapsamlıdır. Widget'lar: her ekranda Toplam · Aktif · Pasif.

7. Entegrasyonlar

Ekipman Kategorileri, Envanter › Ürünler › Ekipman sekmesinin kategori seçeneğidir (Inv_T_Product.EquipmentCategoryId); kullanılmış kategori silinmez, pasife alınır. Kullanıcı lookup'ları AbpUsers'tan, şube lookup'ı kullanıcıya atanmış aktif şubelerdir (Sas_T_Branch ⋈ Sas_T_BranchUsers, kiracıya süzülü; LookupQueryValues.UserBranchValues), yeni kayıt ilk şubeyle açılır (UserDefaultBranchValue).

8. Akış örneği

  1. Bakım › Tanımlamalar › Bakım Ekipleri'nde "elektrik bakım" ekibi açılır; Ekip Yöneticisi ve Ekip Üyeleri kullanıcılardan seçilir.
  2. Bakım Tipleri'nde "ELEKTRİK & ELEKTRONİK BAKIMLAR" düzenlenir, Bakım Ekipleri'ne "elektrik bakım" eklenir.
  3. Hizmet Tipleri'nde ST07 "Elektrik Arızası ( Tesisat )" satırına aynı ekip eklenir; hizmet talebinde bu tip seçildiğinde ilgili ekip önerilir.

9. Sık sorulanlar

  • Ekipman kategorisi neden başka şubede görünmüyor? Liste seçili şubeye süzülür; kategori kaydedildiği şubeye aittir.
  • Bakım tiplerinin demo verisinde ekipler neden boş? Demo ekiplerin Id'si migrate'te üretildiği için bağlantılar ekrandan elle kurulur.
  • ST02 ile ST06 aynı ad mı? Evet, talepteki veri böyle; kodları farklıdır.

10. Dosyalar ve geri alma

  • Tablolar: sql/object/Mm_T_EquipmentCategory.sql, Mm_T_Team.sql, Mm_T_MaintenanceType.sql, Mm_T_ServiceType.sql, Mm_T_FailureType.sql, Mm_T_RejectReason.sql.
  • Wizard'lar: Mm_EquipmentCategory.json, Mm_Team.json, Mm_MaintenanceType.json, Mm_ServiceType.json, Mm_FailureType.json, Mm_RejectReason.json.
  • Demo veri: data/App.Maintenance.{EquipmentCategory,Team,MaintenanceType,ServiceType,FailureType,RejectReason}.json.
  • Geri alma: ekranlar delete_wizard ile silinir (önce Bakım/Hizmet Tipleri, sonra Bakım Ekipleri); tablolar yalnızca açık onayla dropTables: true ile düşürülür.

Bakım (App.Maintenance.Operations)

1. Amaç ve kapsam

Ekipmanların periyodik bakım planı: hangi ekipmana, hangi ekiple, hangi malzeme, kontrol listesi ve dokümanlarla, ne sıklıkta bakım yapılacağı. Plan departman onayından geçer; sonraki bakım tarihini zamanlanmış iş her gece hesaplar. Bakım iş emirleri talimatın her vadesinde otomatik ya da elle açılır; malzeme, personel süresi, duruş ve not kaydı tutar, malzemeyi ekipmanın departmanının depolarındaki stoktan (ürün + lot/seri) seçer ve departman onayıyla Bakım Sarf Tüketimi teslimatı açar. Kullanıcılar bakım planlamacıları, bakım teknisyenleri ve ekipmanın departman onaycılarıdır.

2. Analiz ve kararlar

Onaylanan tarif (2026-10-18, görsellerden: talimat formu, Kontrol Listesi ve Dokümanlar sekmeleri):

  • Menü Bakım › Bakım (yeni dal App.Maintenance.Operations, sıra 2) › Bakım Talimatları.
  • Ekipman ayrı bir tablo değildir; Ekipman Kategorisi dolu olan üründür (Inv_T_Product, Ürünler › Ekipman sekmesi). Diğer ürünler ekipman listesinde görünmez (kullanıcı kararı). Seçenek "Ad [İç Referans]/Seri No" olarak gösterilir.
  • Periyot "Her N Gün / Hafta / Ay / Yıl" (kullanıcı kararı).
  • Zamanlanmış iş ilk sürümde yalnızca sonraki bakım tarihini hesaplıyordu (kullanıcı kararı); iş emri ekranıyla birlikte vadede iş emri de açar (aşağıda).
  • Onaycı departman onaycısıdır (kullanıcı kararı): Onaycılar ekranında ekipmanın departmanı (EquipmentDepartmentId) için yeni Bakım onay yeri (Maintenance). Red nedeni Bakım › Red Nedenleri'nden seçilir.
  • Genel sekmesi yalnız zengin metin bakım talimatıdır (kullanıcı kararı). Onay Bilgileri sekmesi akışın dört alanını ve departman onaycılarını salt okunur gösterir.
  • Bakım Kodu otomatik (Mm.MaintenanceInstruction numaratörü, BKM00001). Talimat işlem kaydıdır: BranchId taşır ve şube kapsamlıdır (IsBranch). Sekme tabloları şube kolonu taşımaz; şubeyi bağlı oldukları talimattan alırlar (kullanıcı kararı).
  • Doküman Tipi sabit liste: Kullanım Kılavuzu, Prosedür, Teknik Çizim, Sertifika, Diğer. Dosya kayıtta base64 saklanır.

Üretimde verilen ek kararlar:

  • Kayıt sonrası komutlar yordam çağırmaz, iki sağlayıcıda da çalışan tek bir UPDATE'tir; ekran komutu sağlayıcıya göre çevrilmediği için EXEC kullanılmadı. Tarih aritmetiği sağlayıcıya göre değiştiğinden periyot hesabı yalnız zamanlanmış işin yordamındadır (sql/ + postgres/ eşi).

  • Sonraki bakım tarihi onay durumundan bağımsız hesaplanır; onay şartı iş emri açılırken uygulanacaktır. Onaylanan tarif — Bakım İş Emirleri (2026-10-18, görsellerden: iş emri formu ve Çalışma Süreleri sekmesi):

  • Menü Bakım › Bakım › Bakım İş Emirleri (sıra 2). Firma şubedir (BranchId, IsBranch).

  • Durum Taslak › Onaylandı › İşlemde / Beklemede › Onarıldı / Hurda (Status: Draft, Approved, InProgress, OnHold, Repaired, Scrapped). Taslak › Onaylandı geçişini departman onay akışı verir (kullanıcı kararı); onaylanmadan seçilen durum kayıtta Taslak'a döner, sonraki durumları kullanıcı seçer. Akış dört iş akışı kolonunu kullanır; Status onay durumu değil işin yaşam döngüsüdür, kullanıcı istediği için ayrı kolondur.

  • Zamanlanmış iş onaylı ve aktif talimatın her vadesinde Taslak, Otomatik iş emri açar; önceki emir kapanmamış olsa da yenisi açılır (kullanıcı kararı). Aynı vade için ikinci emir açılmaz.

  • Malzemeler (kullanıcı kararı, 2026-10-19; önceki "İç transfer + sarf" ve kullanıcı departmanı kurallarının yerine): önce ekipmanın departmanına bağlı iç konum, sonra o konumdaki stok satırı (ürün + lot/seri, eldeki miktarıyla) seçilir; iç transfer yoktur. İş emri departman onayını alınca Envanter › Teslimatlar'da Bakım Sarf Tüketimi taslak teslimatı seçilen lotlarla açılır.

  • Kontrol Listesi ve Dokümanlar yalnız talimat ekranının sekmeleridir; iş emri ekranından kaldırıldı (kullanıcı kararı, 2026-10-18).

  • Görseldeki Sonuç & Geri Bildirim, Maliyetler sekmeleri ve Parçayı Sök düğmesi kapsam dışıdır (kullanıcı kararı). Üretim Emri alanı yoktur: üretim emri tablosu yoktur.

  • Stoktan düşme: iç transfer dış konuma gidemez, aynı konuma giden belge stoğa dokunmaz. Bu yüzden Bakım Sarf Tüketimi işlem türü Teslimat türünde ve dış "Bakım Sarf" konumuna gidecek şekilde kurulur (demo seed'i buna çevrildi).

  • İş emri ekranının kayıt sonrası komutları Envanter ekranları gibi EXEC ile yordam çağırır; yordamların postgres/ eşi vardır. Form içi hesaplar EditorScript'tedir, kayıt sonrası SQL ile yapılmaz (kullanıcı kararı): Çalışma Süreleri ve Duruşlar'ın süreleri, iş emrinin gerçek başlangıç/bitişi. Yordamda yalnız onaycı listesi, onaysız emri Taslak'ta tutma ve sarf belgesi kalır; bunlar akıştan ve zamanlanmış işten de çalışır.

Üretimde verilen ek kararlar (iş emri):

  • Sarf teslimatı taslak açılır; depo Hazırla › Doğrula ile işler. Belgesi açılmış malzeme satırı değiştirilemez ve silinemez.
  • Otomatik emrin kullanım konumu ekipman departmanının koda göre ilk iç konumudur; ekip talimatın ilk ekibidir.
  • Güncelleme varsayılanlarına Id = @ID yazılmaz: yazılırsa anahtar tek değer olarak gider ve güncelleme sonrası komuttaki "Id" IN @Id geçersiz SQL olur (Onayla düğmesinde "Incorrect syntax near @Id" hatası). Satır yoksa platform anahtarı liste olarak ekler.

3. Menü ve ekranlar

Bakım (App.Maintenance) › Bakım (App.Maintenance.Operations) › Bakım Talimatları (App.Maintenance.MaintenanceInstruction).

Sekmeler (menüsüz alt formlar), sırasıyla: Kullanılacak Malzemeler, Kontrol Listesi, Dokümanlar (listeler; ilişki Id → MaintenanceInstructionId), Genel, Onay Bilgileri (talimat satırının kendisi, Id → Id).

Bakım (App.Maintenance.Operations) › Bakım İş Emirleri (App.Maintenance.WorkOrder). Sekmeler: Malzemeler, Çalışma Süreleri, Duruşlar (listeler; Id → WorkOrderId), Notlar (iş emri satırı, Id → Id).

4. Veri modeli

Tüm tablolar kiracı + tam audit + soft delete taşır; IsActive tanım tablolarında, talimatta ve iş emrinde vardır, iş emrinin malzeme, çalışma süresi ve duruş tabloları taşımaz (kullanıcı kararı, 2026-10-19); şube (BranchId) yalnız talimat tablosundadır.

  • Mm_T_MaintenanceInstruction (Code, Name, MaintenanceTypeId → Mm_T_MaintenanceType, EquipmentId → Inv_T_Product, TeamIds | listesi → Mm_T_Team, PeriodValue int, PeriodUnit Day/Week/Month/Year, StartDate, EndDate, NextDueDate, InstructionText, DeptApproverUserNames, iş akışının dört kolonu)
  • Mm_T_MaintenanceInstructionMaterial (MaintenanceInstructionId, ProductId → Inv_T_Product, Quantity, UomId → Adm_T_Uom, Description)
  • Mm_T_MaintenanceInstructionCheck (MaintenanceInstructionId, Name, Description, IsRequired)
  • Mm_T_MaintenanceInstructionDocument (MaintenanceInstructionId, Name, DocumentType, FileContent, Version)
  • Mm_T_WorkOrder (BranchId, WorkOrderNo, Name, EquipmentId, RequestDate, MaintenanceKind Corrective/Preventive/Predictive, ResourceType Internal/External, MaintenanceTypeId, TeamId → Mm_T_Team, Source Manual/Automatic, MaintenanceInstructionId, ResponsibleUserId, PlannedStart/End, ActualStart/End, Priority 0–3, Status, Notes, DeptApproverUserNames, iş akışının dört kolonu)
  • Mm_T_WorkOrderMaterial (WorkOrderId, LocationId konum, StockId → Inv_T_Stock seçilen stok satırı, ProductId, LotNo, Quantity, UomId, ConsumptionTransferId → Inv_T_Transfer, Description). Tablo eski sürümde kurulduysa script StockId ve LotNo kolonlarını ekler; kullanılmayan TransferSourceLocationId ve TransferId kolonları düşürülmez.
  • Mm_T_WorkOrderLabor (WorkOrderId, UserId → AbpUsers, StartTime, EndTime, DurationMinutes, RegularMinutes, OvertimeMinutes, Description)
  • Mm_T_WorkOrderDowntime (WorkOrderId, StartTime, EndTime, DurationMinutes, FailureTypeId → Mm_T_FailureType, Description)

5. İş kuralları ve hesaplar

  • Sonraki bakım: Başlangıç + k × periyot dizisinde bugüne eşit ya da sonraki ilk tarih. Hafta 7 gün, yıl 12 aydır; ay eklemede ay sonu korunur (31 Ocak › 28 Şubat). Bitiş Tarihi'ni aşan tarih boş kalır. Pasif ya da silinmiş talimatta tarih boştur.
  • Hesaplama zamanı: Maintenance Instruction Schedule işi (her gece 01:00, Mm_S_MaintenanceInstructionSchedule). Kayıtta yalnız Başlangıç Tarihi bugün ya da ileride ise sonraki bakım hemen Başlangıç Tarihi olur; geçmiş başlangıç ve periyot değişikliği gece işlenir.
  • Departman onaycıları: her kayıtta ve akış adımında yeniden yazılır: ekipmanın departmanı için aktif Bakım onaycılarının aktif kullanıcı adları, | ile.
  • Bakım Ekipleri seçili şubenin aktif ekiplerini listeler; şube değişince temizlenir. Malzeme seçilince birim üründen dolar.
  • Varsayılanlar: yeni talimat ilk şube, bugün, Her 1 Ay ve Aktif ile; malzeme 1 Adet; doküman tipi Diğer ile açılır.
  • Otomatik iş emri: gece işi, sonraki bakımı bugün ya da geçmiş olan onaylı ve aktif talimattan o vade için iş emri açar (numara Mm.WorkOrder, WO/2026/00001, yıllık sıfırlanır; konu "Talimat - Ekipman"; Önleyici, İç Bakım; planlanan tarih vade 08:00), malzemeleri kopyalar, sonra sonraki bakımı ilerletir.
  • İş emri durumu: onay akışı tamamlanmadan durum Taslak'tır, onayla Onaylandı olur. Onaylı emirde Durum formda İşlemde seçilince gerçek başlangıç, Onarıldı ya da Hurda seçilince gerçek bitiş boşsa anında doldurulur (Durum alanının EditorScript'i).
  • Malzeme: Konum listesi ekipmanın departmanının aktif iç konumlarıdır. Ürün - Lot/Seri listesi seçilen konumdaki stoğu sıfırdan büyük stok satırlarıdır ([Referans] Ürün - Lot (miktar birim)); seçilince malzeme, lot/seri no ve birim stok satırından dolar (EditorScript, üçü salt okunur). Ürün - Lot/Seri listede gizlidir (Malzeme ve Lot/Seri No aynı bilgiyi gösterir), formda durur. Görünüm modunda ve satırsız yüklemede cascade ebeveyni boş gelir; iki lookup bu durumda malzeme satırlarının kullandığı konum ve stok satırlarını döner, böylece kayıtlı değer onaydan ve stok tükendikten sonra da görünür. Kayıtta Mm_P_WorkOrderMaterialAfterSave doğrular ve ürün/lot/birimi stoktan yeniden yazar: konum ekipmanın departmanında değilse 50409, stok satırı seçilen konumda değilse 50410, miktar eldeki miktarı aşarsa 50411. İş emri onaylıysa satır hemen sarfa eklenir.
  • Sarf: iş emri departman onayını alınca (hurdaya ayrılmamışsa) sarfı açılmamış satırlar konuma göre gruplanır, konumun deposundaki Bakım Sarf Tüketimi türünde (numaratörü .MaintenanceConsumption ile biter, tür Teslimat) taslak teslimat açılır; aynı emrin aynı konumdaki taslağı varsa satırlar ona eklenir. Lot/seri takipli satırda seçilen lot teslimat satırının lotu olur (Mm_P_WorkOrderConsume). Tür yoksa kayıt 50402 ile durur. Onarılmış ya da hurdaya ayrılmış emre malzeme eklenmez (50406).
  • Süreler: Çalışma Süreleri'nde süre (dakika) formda başlangıç ya da bitiş değişince anında hesaplanır; normal mesai = süre − mesai dışı, mesai dışı değişince de yenilenir (ikisi salt okunur). Duruşlar'da süre de formda başlangıç ve bitişten anında hesaplanır. Dakikalar ileride personel maliyetinin dayanağıdır.

6. Yetki ve görünürlük

App.Maintenance › App.Maintenance.Operations › App.Maintenance.MaintenanceInstruction (+ Create/Update/Delete/Export/Import/Note); beş sekmenin yetkisi talimat yetkisinin altındadır. Yetkiler hiçbir role otomatik verilmez. Akışı başlatmak ve karar vermek talimatın Update yetkisini ister; karar yalnız departman onaycılarındadır. Widget'lar: Toplam · Aktif · Onay Bekleyen · Onaylanan.

App.Maintenance.Operations › App.Maintenance.WorkOrder (+ altı eylem); Malzemeler, Çalışma Süreleri, Duruşlar ve Notlar sekmelerinin yetkisi iş emri yetkisinin altındadır. İş emri widget'ları: Toplam · Onay Bekleyen · İşlemde · Onarıldı.

7. Entegrasyonlar

Ekipman, malzeme ve birim Envanter'den; ekipmanın departmanı İK › Departmanlar'dan; onaycılar Yönetim › Onaycılar'dan (Bakım onay yeri); bakım tipi, ekip ve red nedeni Bakım › Tanımlamalar'dan okunur. Zamanlanmış iş SqlWorker türündedir, kapsamı Host ve Kiracılar'dır. İş emri malzemeleri ekipman departmanının depolarındaki stoktan seçilir ve onayla Envanter'de Bakım Sarf Tüketimi teslimatı açar (SourceDocument = iş emri no); belgeyi depo Envanter › Teslimatlar'da işler. Duruşların arıza tipi Bakım › Arıza Tipleri'nden gelir.

8. Akış örneği

  1. Ürünler'de "örme motoru"nun Ekipman sekmesinde Ekipman Kategorisi ve Departman seçilir.
  2. Onaycılar'da o departman için Onay Yeri = Bakım satırı eklenir.
  3. Bakım Talimatları'nda "motor yanmış" talimatı açılır: ekipman örme motoru [MTR-001]/MTR-001, Her 60 Gün, başlangıç 18 Eylül. Malzeme, kontrol maddesi ve doküman sekmelerden eklenir.
  4. Başlat düğmesiyle talimat Departman Onayı'na düşer; onaycı onaylar ya da red nedeniyle reddeder.
  5. İş her gece sonraki bakımı ilerletir: 18 Eylül › 17 Kasım.

9. Sık sorulanlar

  • Ekipman listesinde ürünüm yok? Ürünün Ekipman sekmesinde Ekipman Kategorisi seçilmeli ve ürün aktif olmalıdır.
  • Onaya gönderdim ama kimse onaylayamıyor? Ekipmanın departmanı boş ya da o departman için Bakım onay yerinde aktif onaycı yoktur. Onaycıyı ekleyip talimatı kaydedin; liste kayıtta yenilenir.
  • Sonraki Bakım boş? Başlangıç geçmişteyse tarih ilk gece işinde dolar. Bitişi geçmiş ya da pasif talimatta tarih boştur.
  • Otomatik iş emri açılmadı? Talimat onaylı (Onaylandı) ve aktif olmalı, Sonraki Bakım bugün ya da geçmiş olmalıdır; iş her gece 01:00'de çalışır. İş Hangfire'a API açılışında ya da Zamanlanmış İşler ekranındaki "zamanlanmış işleri yeniden üret" düğmesiyle yüklenir; migrate'ten sonra ikisinden biri yapılmadıysa iş hiç çalışmaz. Sonraki bakım tarihi boş talimatın tarihi aynı çalıştırmada önce hesaplanır, vadesi bugünse iş emri de o çalıştırmada açılır.
  • Konum ya da Ürün - Lot/Seri listesi boş? Ekipmanın Ekipman sekmesinde departman seçilmeli, o departmana bağlı aktif bir iç konum (Envanter › Konumlar) bulunmalı ve konumda stoğu olan ürün olmalıdır.
  • Onayda 50402 hatası? Malzeme konumunun deposunda Bakım Sarf Tüketimi işlem türü yok ya da pasif. Türü Teslimat türünde ve dış hedefle tanımlayın.
  • Sarf belgesi stoktan düşmüyor? Bakım Sarf Tüketimi işlem türünün türü Teslimat ve hedef konumu dış konum olmalıdır; iç transfer türünde stok değişmez.

10. Dosyalar ve geri alma

  • Tablolar: sql/object/Mm_T_MaintenanceInstruction{,Material,Check,Document}.sql ve postgres/object/ eşleri.
  • Zamanlanmış iş: sql/object/Mm_S_MaintenanceInstructionSchedule.sql (yordam) + postgres/object/ eşi (void fonksiyon); satır data/App.BackgroundWorkers.RecurringJobs.json.
  • Wizard'lar: Mm_MaintenanceInstruction, …Material, …Check, …Document, …General, …Approval (.json).
  • Numaratör: data/App.Definitions.Sequence.json › Mm.MaintenanceInstruction.
  • Onay yeri: wizard/Adm_Approver.json Onay Yeri listesine Maintenance eklendi.
  • İş emri: tablolar Mm_T_WorkOrder{,Material,Labor,Downtime}.sql, yordamlar Mm_P_WorkOrderAfterSave, Mm_P_WorkOrderMaterialAfterSave, Mm_P_WorkOrderConsume (iki sağlayıcı); wizard'lar Mm_WorkOrder, …Material, …Labor, …Downtime, …Note; numaratör Mm.WorkOrder.
  • Stok seed'i: data/App.Inventory.Location.json dış "Bakım Sarf" konumu (BKM), data/App.Inventory.OperationType.json Bakım Sarf Tüketimi → Teslimat. Seed yalnız eksik satırı ekler; kurulu veritabanında işlem türü ekrandan düzeltilir.
  • Geri alma: Wizard Manager'da önce Mm_MaintenanceInstruction, sonra beş sekme silinir; zamanlanmış iş satırı ve numaratör dosyadan çıkarılır. Tablolar ancak açık onayla düşürülür.

Ek — Ekran envanteri (otomatik)

Wizard dosyalarından üretilir; deploy, silme, tasarımcı kaydı ve import'ta yenilenir. Elle düzenleme bir sonraki yenilemede kaybolur.

Tanımlamalar (App.Maintenance.Definitions)

Ekipman Kategorileri — App.Maintenance.EquipmentCategory

Özellik Değer
Wizard wizard/Mm_EquipmentCategory.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.EquipmentCategory (sıra 1)
Yetki App.Maintenance.EquipmentCategory + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Ekipman Kategorileri — ekipman olan ürünlerin bağlı olduğu gruplar (dokuma makineleri, kompresörler, bilgisayarlar, taşıtlar…).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_EquipmentCategory · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları IsActive=true, BranchId=
Veri aynası data/App.Maintenance.EquipmentCategory.json
Alan Başlık Editör Zorunlu Formda Kaynak
BranchId Şube Adı dxSelectBox ✓ ✓ sorgu: Sas_T_Branch
Name Kategori Adı dxTextBox ✓ ✓
ResponsibleUserId Sorumlu dxSelectBox ✓ sorgu: AbpUsers
IsActive Aktif dxCheckBox ✓ ✓

Bakım Ekipleri — App.Maintenance.Team

Özellik Değer
Wizard wizard/Mm_Team.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.Team (sıra 2)
Yetki App.Maintenance.Team + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım Ekipleri — bakım yapacak kişilerin grupları (iç bakım, mekanik, elektrik, dış bakım/tedarikçi).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_Team · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları IsActive=true, BranchId=
Veri aynası data/App.Maintenance.Team.json
Alan Başlık Editör Zorunlu Formda Kaynak
BranchId Şube Adı dxSelectBox ✓ ✓ sorgu: Sas_T_Branch
Name Ekip Adı dxTextBox ✓ ✓
ManagerUserId Ekip Yöneticisi dxSelectBox ✓ sorgu: AbpUsers
MemberUserIds Ekip Üyeleri dxTagBox ✓ sorgu: AbpUsers
IsActive Aktif dxCheckBox ✓ ✓

Bakım Tipleri — App.Maintenance.MaintenanceType

Özellik Değer
Wizard wizard/Mm_MaintenanceType.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.MaintenanceType (sıra 3)
Yetki App.Maintenance.MaintenanceType + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım Tipleri — bakım işinin türleri (mekanik, elektrik & elektronik, genel temizlik, ölçüm & kalibrasyon, periyodik, bilgi işlem donanım…).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_MaintenanceType · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları SortOrder=0, IsActive=true
Veri aynası data/App.Maintenance.MaintenanceType.json
Alan Başlık Editör Zorunlu Formda Kaynak
Code Kod dxTextBox ✓
Name Bakım Tipi dxTextBox ✓ ✓
TeamIds Bakım Ekipleri dxTagBox ✓ sorgu: Mm_T_Team
Description Açıklama dxTextArea ✓
SortOrder Sıra dxNumberBox ✓ ✓
IsActive Aktif dxCheckBox ✓ ✓

Hizmet Tipleri — App.Maintenance.ServiceType

Özellik Değer
Wizard wizard/Mm_ServiceType.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.ServiceType (sıra 4)
Yetki App.Maintenance.ServiceType + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Hizmet Tipleri — bölümlerin talep edebileceği hizmet türleri (mekanik/elektrik arıza, bilgi işlem destek, yazıcı servisi, sunucu işleri, dokuma özel işlemleri…).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_ServiceType · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları SortOrder=0, IsActive=true
Veri aynası data/App.Maintenance.ServiceType.json
Alan Başlık Editör Zorunlu Formda Kaynak
SortOrder Sıra dxNumberBox ✓ ✓
Code Kod dxTextBox ✓ ✓
Name Hizmet Tipi dxTextBox ✓ ✓
TeamIds Bakım Ekipleri dxTagBox ✓ sorgu: Mm_T_Team
Description Açıklama dxTextArea ✓
IsActive Aktif dxCheckBox ✓ ✓

Arıza Tipleri — App.Maintenance.FailureType

Özellik Değer
Wizard wizard/Mm_FailureType.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.FailureType (sıra 5)
Yetki App.Maintenance.FailureType + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Arıza Tipleri — hizmet talebinde bildirilen arızanın sınıflandırması (mekanik, elektrik, pnömatik, hidrolik, yazılım/PLC, sensör, aşınma, diğer).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_FailureType · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları SortOrder=0, IsActive=true
Veri aynası data/App.Maintenance.FailureType.json
Alan Başlık Editör Zorunlu Formda Kaynak
Code Kod dxTextBox ✓ ✓
Name Arıza Tipi dxTextBox ✓ ✓
Description Açıklama dxTextArea ✓
SortOrder Sıra dxNumberBox ✓ ✓
IsActive Aktif dxCheckBox ✓ ✓

Red Nedenleri — App.Maintenance.RejectReason

Özellik Değer
Wizard wizard/Mm_RejectReason.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.RejectReason (sıra 6)
Yetki App.Maintenance.RejectReason + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Red Nedenleri — bakım ve hizmet iş taleplerinin reddedilme sebepleri (kullanıcı hatası, arıza bulunamadı, garanti, dış firma, hurda, mükerrer, bakım gerekmiyor, diğer).
Geliştirme talebi Bakım Modülü
Kaynak Mm_T_RejectReason · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları SortOrder=0, IsActive=true
Veri aynası data/App.Maintenance.RejectReason.json
Alan Başlık Editör Zorunlu Formda Kaynak
Code Kod dxTextBox ✓ ✓
Name Red Nedeni dxTextBox ✓ ✓
Description Açıklama dxTextArea ✓
SortOrder Sıra dxNumberBox ✓ ✓
IsActive Aktif dxCheckBox ✓ ✓

Masraf Merkezleri — App.Maintenance.CostCenter

Özellik Değer
Wizard wizard/Mm_CostCenter.json
Yol Liste (Wizard)
Menü App.Maintenance.Definitions › App.Maintenance.CostCenter (sıra 7)
Yetki App.Maintenance.CostCenter + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Masraf Merkezleri — bakım ve ekipman masraflarının bağlandığı masraf merkezleri ve masraf kalemleri.
Kaynak Mm_T_CostCenter · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart, Tree (açılış tree)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.Passive
Form varsayılanları IsActive=true, BranchId=
Veri aynası data/App.Maintenance.CostCenter.json
Alan Başlık Editör Zorunlu Formda Kaynak
BranchId Şube Adı dxSelectBox ✓ ✓ sorgu: Sas_T_Branch
Name Adı dxTextBox ✓ ✓
ParentId Üst Masraf Merkezi dxSelectBox ✓ sorgu: Mm_T_CostCenter
Code Referans dxTextBox ✓
DepartmentId Departman dxSelectBox ✓ sorgu: Hr_T_Department (← BranchId)
CustomerId Müşteri dxSelectBox ✓ sorgu: Adm_T_Contact
IsActive Aktif dxCheckBox ✓

Bakım (App.Maintenance.Operations)

Bakım Talimatları — App.Maintenance.MaintenanceInstruction

Özellik Değer
Wizard wizard/Mm_MaintenanceInstruction.json
Yol Liste (Wizard)
Menü App.Maintenance.Operations › App.Maintenance.MaintenanceInstruction (sıra 1)
Yetki App.Maintenance.MaintenanceInstruction + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım Talimatları — ekipmanların periyodik bakım planları.
Kaynak Mm_T_MaintenanceInstruction · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Alt formlar App.Maintenance.MaintenanceInstructionMaterial (Id → MaintenanceInstructionId, BranchId → BranchId), App.Maintenance.MaintenanceInstructionCheck (Id → MaintenanceInstructionId, BranchId → BranchId), App.Maintenance.MaintenanceInstructionDocument (Id → MaintenanceInstructionId, BranchId → BranchId), App.Maintenance.MaintenanceInstructionGeneral (Id → Id), App.Maintenance.MaintenanceInstructionApproval (Id → Id)
Widget'lar App.Widget.Total, App.Widget.Active, App.Widget.AwaitingApproval, App.Widget.Approved
Komutlar InsertAfter: SQL · UpdateAfter: SQL
Form varsayılanları Code=Mm.MaintenanceInstruction, BranchId=, StartDate=@NOW, PeriodValue=1, PeriodUnit=Month, IsActive=true
Onay akışı Start 'Onaya Gönderildi' → Approval 'Departman Onayı' → End 'Onaylandı' → End 'Reddedildi'
Alan Başlık Editör Zorunlu Formda Kaynak
BranchId Şube Adı dxSelectBox ✓ ✓ sorgu: Sas_T_Branch
Code Bakım Kodu dxTextBox ✓
MaintenanceTypeId Bakım Tipi dxSelectBox ✓ sorgu: Mm_T_MaintenanceType
Name Bakım Adı dxTextBox ✓ ✓
EquipmentId Ekipman dxSelectBox ✓ ✓ sorgu: Inv_T_Product
TeamIds Bakım Ekipleri dxTagBox ✓ sorgu: Mm_T_Team (← BranchId)
PeriodValue Periyot dxNumberBox ✓ ✓
PeriodUnit Periyot Birimi dxSelectBox ✓ ✓ liste: Day, Week, Month, Year
StartDate Başlangıç Tarihi dxDateBox ✓ ✓
EndDate Bitiş Tarihi dxDateBox ✓
NextDueDate Sonraki Bakım dxDateBox
IsActive Aktif dxCheckBox ✓
ApprovalStatus Onay Durumu dxTextBox
ApprovalUserName Onaylayan Kullanıcı Adı dxTextBox
ApprovalDate Onay Tarihi dxDateBox
ApprovalDescription Onay Açıklaması dxTextBox
DeptApproverUserNames Departman Onaycıları dxTextBox

Bakım İş Emirleri — App.Maintenance.WorkOrder

Özellik Değer
Wizard wizard/Mm_WorkOrder.json
Yol Liste (Wizard)
Menü App.Maintenance.Operations › App.Maintenance.WorkOrder (sıra 2)
Yetki App.Maintenance.WorkOrder + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım İş Emirleri — ekipmanlarda yapılan bakım işleri; elle ya da bakım talimatlarından otomatik açılır.
Kaynak Mm_T_WorkOrder · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Alt formlar App.Maintenance.WorkOrderMaterial (Id → WorkOrderId), App.Maintenance.WorkOrderLabor (Id → WorkOrderId), App.Maintenance.WorkOrderDowntime (Id → WorkOrderId), App.Maintenance.WorkOrderNote (Id → Id)
Widget'lar App.Widget.Total, App.Widget.AwaitingApproval, App.Widget.InProgress, App.Widget.Repaired
Komutlar InsertAfter: Mm_P_WorkOrderAfterSave · UpdateAfter: Mm_P_WorkOrderAfterSave
Form varsayılanları WorkOrderNo=Mm.WorkOrder, BranchId=, RequestDate=@NOW, Status=Draft, Source=Manual, MaintenanceKind=Corrective, ResourceType=Internal, Priority=0, IsActive=true
Onay akışı Start 'Onaya Gönderildi' → Approval 'Departman Onayı' → End 'Onaylandı' → End 'Reddedildi'
Alan Başlık Editör Zorunlu Formda Kaynak
WorkOrderNo İş Emri No dxTextBox ✓
Status Durum dxSelectBox ✓ ✓ liste: Draft, Approved, InProgress, OnHold, Repaired, Scrapped · script
Name Konu dxTextBox ✓ ✓
BranchId Şube Adı dxSelectBox ✓ ✓ sorgu: Sas_T_Branch
EquipmentId Ekipman dxSelectBox ✓ ✓ sorgu: Inv_T_Product
MaintenanceKind Bakım Şekli dxRadioGroup ✓ ✓ liste: Corrective, Preventive, Predictive
MaintenanceTypeId Bakım Tipi dxSelectBox ✓ sorgu: Mm_T_MaintenanceType
TeamId Bakım Ekibi dxSelectBox ✓ sorgu: Mm_T_Team (← BranchId)
MaintenanceInstructionId Bakım Prosedürü dxSelectBox ✓ sorgu: Mm_T_MaintenanceInstruction (← EquipmentId)
ResponsibleUserId Sorumlu dxSelectBox ✓ sorgu: AbpUsers
PlannedStart Planlanan Tarih dxDateBox ✓
PlannedEnd Planlanan Bitiş dxDateBox ✓
ActualStart Gerçek Başlangıç dxDateBox ✓
ActualEnd Gerçek Bitiş dxDateBox ✓
Source Kaynak dxSelectBox ✓ liste: Manual, Automatic
RequestDate İstek Tarihi dxDateBox ✓
ResourceType Bakım Kaynak Türü dxRadioGroup ✓ ✓ liste: Internal, External
Priority Öncelik dxRating ✓
IsActive Aktif dxCheckBox ✓
ApprovalStatus Onay Durumu dxTextBox
ApprovalUserName Onaylayan Kullanıcı Adı dxTextBox
ApprovalDate Onay Tarihi dxDateBox
ApprovalDescription Onay Açıklaması dxTextBox
DeptApproverUserNames Departman Onaycıları dxTextBox

Onay Bilgileri — App.Maintenance.MaintenanceInstructionApproval

Özellik Değer
Wizard wizard/Mm_MaintenanceInstructionApproval.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.MaintenanceInstructionApproval + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım Talimatı Onay Bilgileri — talimatın onay durumu (salt okunur).
Kaynak Mm_T_MaintenanceInstruction · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✗ · düzenle ✗ · sil ✗ · popup
Kapsam Kiracı
Alan Başlık Editör Zorunlu Formda Kaynak
ApprovalStatus Onay Durumu dxTextBox ✓
ApprovalUserName Onaylayan Kullanıcı Adı dxTextBox ✓
ApprovalDate Onay Tarihi dxDateBox ✓
ApprovalDescription Onay Açıklaması dxTextArea ✓
DeptApproverUserNames Departman Onaycıları dxTextBox ✓

Kontrol Listesi — App.Maintenance.MaintenanceInstructionCheck

Özellik Değer
Wizard wizard/Mm_MaintenanceInstructionCheck.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.MaintenanceInstructionCheck + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Kontrol Listesi — bakım talimatı uygulanırken teknisyenin kontrol ettiği maddeler.
Kaynak Mm_T_MaintenanceInstructionCheck · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Form varsayılanları IsActive=true, IsRequired=false
Alan Başlık Editör Zorunlu Formda Kaynak
MaintenanceInstructionId Kimlik dxTextBox
Name Kontrol Maddesi dxTextBox ✓ ✓
Description Açıklama dxTextArea ✓
IsRequired Zorunlu dxCheckBox ✓
IsActive Aktif dxCheckBox ✓

Dokümanlar — App.Maintenance.MaintenanceInstructionDocument

Özellik Değer
Wizard wizard/Mm_MaintenanceInstructionDocument.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.MaintenanceInstructionDocument + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Dokümanlar — bakım talimatına eklenen kılavuz, prosedür, çizim ve sertifikalar.
Kaynak Mm_T_MaintenanceInstructionDocument · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Form varsayılanları IsActive=true, DocumentType=Other
Alan Başlık Editör Zorunlu Formda Kaynak
MaintenanceInstructionId Kimlik dxTextBox
BranchId BranchId dxSelectBox sorgu: Sas_T_Branch
Name Doküman Adı dxTextBox ✓ ✓
DocumentType Belge Tipi dxSelectBox ✓ ✓ liste: UserManual, Procedure, TechnicalDrawing, Certificate, Other
FileContent Dosya dxImageUpload ✓
Version Versiyon dxTextBox ✓
IsActive Aktif dxCheckBox ✓

Genel — App.Maintenance.MaintenanceInstructionGeneral

Özellik Değer
Wizard wizard/Mm_MaintenanceInstructionGeneral.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.MaintenanceInstructionGeneral + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Bakım Talimatı Genel — bakım talimatının yazılı metni.
Kaynak Mm_T_MaintenanceInstruction · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✗ · düzenle ✓ · sil ✗ · popup
Kapsam Kiracı
Alan Başlık Editör Zorunlu Formda Kaynak
InstructionText Bakım Talimatı dxHtmlEditor ✓

Kullanılacak Malzemeler — App.Maintenance.MaintenanceInstructionMaterial

Özellik Değer
Wizard wizard/Mm_MaintenanceInstructionMaterial.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.MaintenanceInstructionMaterial + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama Kullanılacak Malzemeler — bakım talimatının gerektirdiği yedek parça ve sarf malzemeleri.
Kaynak Mm_T_MaintenanceInstructionMaterial · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Form varsayılanları IsActive=true, Quantity=1, UomId=Adet
Alan Başlık Editör Zorunlu Formda Kaynak
MaintenanceInstructionId Kimlik dxTextBox
ProductId Malzeme dxSelectBox ✓ ✓ sorgu: Inv_T_Product · script
Quantity Miktar dxNumberBox ✓ ✓
UomId Birim dxSelectBox ✓ ✓ sorgu: Adm_T_Uom
Description Açıklama dxTextBox ✓
IsActive Aktif dxCheckBox ✓

Duruşlar — App.Maintenance.WorkOrderDowntime

Özellik Değer
Wizard wizard/Mm_WorkOrderDowntime.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.WorkOrderDowntime + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama İş Emri Duruşları — ekipmanın arıza ya da bakım nedeniyle durduğu süreler.
Kaynak Mm_T_WorkOrderDowntime · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Form varsayılanları StartTime=@NOW
Alan Başlık Editör Zorunlu Formda Kaynak
WorkOrderId Kimlik dxTextBox
StartTime Başlangıç Tarihi dxDateBox ✓ ✓ script
EndTime Bitiş Tarihi dxDateBox ✓ script
FailureTypeId Arıza Tipi dxSelectBox ✓ sorgu: Mm_T_FailureType
Description Açıklama dxTextArea ✓
DurationMinutes Süre (Dakika) dxNumberBox

Çalışma Süreleri — App.Maintenance.WorkOrderLabor

Özellik Değer
Wizard wizard/Mm_WorkOrderLabor.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.WorkOrderLabor + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama İş Emri Çalışma Süreleri — bakımda hangi personelin ne kadar süre harcadığı.
Kaynak Mm_T_WorkOrderLabor · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Form varsayılanları StartTime=@NOW
Alan Başlık Editör Zorunlu Formda Kaynak
WorkOrderId Kimlik dxTextBox
UserId Çalışan Adı dxSelectBox ✓ ✓ sorgu: AbpUsers
StartTime Başlangıç Tarihi dxDateBox ✓ ✓ script
EndTime Bitiş Tarihi dxDateBox ✓ script
DurationMinutes Süre (Dakika) dxNumberBox
RegularMinutes Normal Mesai (Dk) dxNumberBox ✓
OvertimeMinutes Mesai Dışı (Dk) dxNumberBox ✓ script
Description Açıklama dxTextBox ✓

Malzemeler — App.Maintenance.WorkOrderMaterial

Özellik Değer
Wizard wizard/Mm_WorkOrderMaterial.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.WorkOrderMaterial + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama İş Emri Malzemeleri — bakımda kullanılan, stoktan seçilen yedek parça ve sarf malzemeleri.
Kaynak Mm_T_WorkOrderMaterial · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✓ · düzenle ✓ · sil ✓ · popup
Kapsam Kiracı
Komutlar InsertBefore: SQL · InsertAfter: Mm_P_WorkOrderMaterialAfterSave · UpdateBefore: SQL · UpdateAfter: Mm_P_WorkOrderMaterialAfterSave · DeleteBefore: SQL
Form varsayılanları Quantity=1, UomId=Adet
Alan Başlık Editör Zorunlu Formda Kaynak
WorkOrderId Kimlik dxTextBox
LocationId Konum dxSelectBox ✓ ✓ sorgu: Inv_T_Location (← WorkOrderId)
StockId Ürün - Lot/Seri dxSelectBox ✓ ✓ sorgu: Inv_T_Stock (← LocationId,WorkOrderId) · script
ProductId Malzeme dxSelectBox ✓ ✓ sorgu: Inv_T_Product
LotNo Lot/Seri No dxTextBox ✓
Quantity Miktar dxNumberBox ✓ ✓
UomId Birim dxSelectBox ✓ ✓ sorgu: Adm_T_Uom
ConsumptionTransferId Sarf Çıkışı dxSelectBox sorgu: Inv_T_Transfer
Description Açıklama dxTextBox ✓

Notlar — App.Maintenance.WorkOrderNote

Özellik Değer
Wizard wizard/Mm_WorkOrderNote.json
Yol Liste (Wizard)
Menü Menüsüz (alt form)
Yetki App.Maintenance.WorkOrderNote + .Create, .Update, .Delete, .Export, .Import, .Note
Açıklama İş Emri Notları — bakım iş emrinin serbest notları.
Kaynak Mm_T_WorkOrder · filtre "IsDeleted" = 'false'
Görünümler Grid, Card, Pivot, Chart (açılış grid)
Düzenleme ekle ✗ · düzenle ✓ · sil ✗ · popup
Kapsam Kiracı
Alan Başlık Editör Zorunlu Formda Kaynak
Notes Notlar dxHtmlEditor ✓