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).
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 |
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)
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
- 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.
- Bakım Tipleri'nde "ELEKTRİK & ELEKTRONİK BAKIMLAR" düzenlenir, Bakım Ekipleri'ne "elektrik bakım" eklenir.
- 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. Kullanıcılar bakım planlamacıları ve ekipmanın departman onaycılarıdır. Bakım iş emri henüz yoktur; iş emri ekranı geldiğinde vadesi gelen onaylı talimattan iş emri açılı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ş yalnızca sonraki bakım tarihini hesaplar; iş emri tablosu açılmadı (kullanıcı kararı: "Yalnızca sonraki tarih").
- 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.
- 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).
4. Veri modeli
Tüm tablolar kiracı + tam audit + soft delete + IsActive taşır; ş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)
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.
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.
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.
8. Akış örneği
- Ürünler'de "örme motoru"nun Ekipman sekmesinde Ekipman Kategorisi ve Departman seçilir.
- Onaycılar'da o departman için Onay Yeri = Bakım satırı eklenir.
- 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.
- Başlat düğmesiyle talimat Departman Onayı'na düşer; onaycı onaylar ya da red nedeniyle reddeder.
- İş 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.
- İş emri neden açılmıyor? İş emri ekranı henüz yoktur; geldiğinde zamanlanmış işin yordamına eklenecektir.
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.
- 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 |
✓ |
✓ |
|
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 |
|
|
|
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 |
|
✓ |
|