1127 lines
57 KiB
Markdown
1127 lines
57 KiB
Markdown
# Proje (`App.Prj`)
|
||
|
||
> 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.
|
||
|
||
<!-- module-doc:section App.Prj.Definitions -->
|
||
## Tanımlamalar (`App.Prj.Definitions`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Proje modülünün ortak tanımlarını tutar: projelere bağlanan renkli **Etiketler**, takım üyelerinin projedeki **Görevleri** ve personelin yıl-ay bazındaki genel **Aylık Adam/Ay Oranları** (Ar-Ge merkezi raporlaması için). Kullanıcı: proje yöneticisi, Ar-Ge merkezi sorumlusu.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Tanımlamalar alt menüsü Proje kökünün ilk sırasındadır (talep girdisi).
|
||
- Etiketler ve Görevler tanım tablosudur (`IsActive`, varsayılan aktif); Aylık Adam/Ay Oranları tanım değil, personel-dönem verisidir.
|
||
- Görev Listesi İK pozisyonlarından ayrı, projeye özgü görev tanımıdır.
|
||
- Demo veri: 17 etiket ve 67 görev (talep görsellerinden). Aylık oran demo satırları eklenmedi; görseldeki personel sistemde kullanıcı olarak yok.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › Tanımlamalar › Etiketler | Görevler | Aylık Adam/Ay Oranları` — üçü de liste + popup form, Grid/Card/Pivot/Chart görünümleri ve özet widget'ları ile.
|
||
|
||
### 4. Veri modeli
|
||
|
||
- `Prj_T_Tag`: Name (64, kiracıda benzersiz), Color, IsActive.
|
||
- `Prj_T_ProjectRole`: Name (128, kiracıda benzersiz), IsActive.
|
||
- `Prj_T_UserMonthRate`: UserId → AbpUsers, Year, Month (1–12), Rate (varsayılan 100); kiracı+personel+yıl+ay benzersiz.
|
||
Tümü kiracı + tam audit + soft delete.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Projede ve Takım sekmesinde yalnızca aktif etiket/görev seçilebilir.
|
||
- Aylık oran 0–100 arasıdır; Personel Adam/Ay Oranları raporunda iş paketi oranıyla çarpılır (kayıt yoksa %100 kabul edilir).
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
İzin grubu `App.Prj` › `App.Prj.Definitions` › her ekran için R + Create/Update/Delete/Export/Import/Note.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Personel listesi `AbpUsers`'tan okunur. Başka entegrasyon yok.
|
||
|
||
### 8. Akış örneği
|
||
|
||
Ar-Ge sorumlusu Ağustos 2026 için bir personelin genel çalışma oranını %50 girer → o personelin bu ay iş paketinde %100 görünen oranı Personel Adam/Ay Oranları raporunda %50 "aya düşen oran" olarak hesaplanır.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- *Etiket rengini değiştirince projelerdeki etiket değişir mi?* Projede etiket adı saklanır; renk listeden okunduğu için yeni renk görünür.
|
||
- *Pasif görev eski takım kayıtlarında kaybolur mu?* Hayır, yalnızca yeni seçimde listelenmez.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
Wizard: `Tag.json`, `ProjectRole.json`, `UserMonthRate.json`; tablolar `sql|postgres/object/Prj_T_Tag.sql`, `Prj_T_ProjectRole.sql`, `Prj_T_UserMonthRate.sql`; demo veri `data/App.Prj.Tag.json`, `data/App.Prj.ProjectRole.json`. Geri alma: Wizard Manager'dan wizard'ları silmek (tablo isteğe bağlı düşürülür).
|
||
|
||
<!-- module-doc:section App.Prj.WorkPackage -->
|
||
## İş Paketleri (`App.Prj.WorkPackage`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Projelerin hiyerarşik iş planı (1 → 1.01, 1.02 …) ay ölçeğinde Gantt olarak tutulur; her paketin personeli, personel bazında aylık oranları, planlanan kaynakları ve gerçekleşen masrafları paket detayından girilir.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- "İşler birbirine bağlı" üst-alt paket hiyerarşisi (ParentId) olarak uygulandı; Gantt bağımlılık okları kaydedilmez.
|
||
- Seyahat/Ekipman/Danışmanlık/Hizmet/Malzeme/Diğer sekmeleri tek tabloda `ResourceType` ile birleştirildi; sekmeler Planlanan Kaynaklar ve Gerçekleşen Masraflar (`Kind` = Planned/Actual) olarak ikiye indi (talep izni).
|
||
- Maliyet = Fiyat × Adet × (1 + KDV/100) (onaylı karar).
|
||
- Personelin paketteki aylık oranı Adam/Ay sekmesinden girilir; Adam/Ay Oranları ekranı salt okunurdur.
|
||
- Gantt başlığı paket adıdır, kod ayrı kolondadır. Personel seçimleri tüm kullanıcıları listeler (alt formda proje takımına süzme yok); kaynak tipine göre alan gizleme yok.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › İş Paketleri` (Gantt varsayılan; Tree/Grid/Pivot de açık) ve proje kartının İş Paketleri sekmesi. Detay sekmeleri: Personel (`App.Prj.WorkPackageMember`), Adam/Ay (`App.Prj.WorkPackageMonthRate`), Planlanan Kaynaklar (`App.Prj.WorkPackagePlanned`), Gerçekleşen Masraflar (`App.Prj.WorkPackageActual`) — hepsi menüsüz.
|
||
|
||
### 4. Veri modeli
|
||
|
||
- `Prj_T_WorkPackage`: ProjectId → Prj_T_Project, ParentId, Code (proje içinde benzersiz), Name, StartDate, EndDate, Months, Progress, Color, Note.
|
||
- `Prj_T_WorkPackageMember`: WorkPackageId, UserId (paket+personel benzersiz).
|
||
- `Prj_T_WorkPackageMonthRate`: WorkPackageId, UserId, Year, Month, Rate.
|
||
- `Prj_T_WorkPackageResource`: WorkPackageId, Kind, ResourceType, UserId, ResourceName, OrganizationType/Name, WorkDone, WorkDescription, DocumentDate/No, Unit (Adet), Price, Quantity (1), VatRate (0), Cost.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- Ay = başlangıç–bitiş gün farkı / 30,44 (yuvarlanır, en az 1); formda otomatik.
|
||
- Maliyet formda Fiyat, Adet veya KDV değişince yeniden hesaplanır.
|
||
- Planlanan/Gerçekleşen sekmeleri `Kind` filtresiyle aynı tabloyu gösterir; yeni satır sekmenin türüyle eklenir.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
`App.Prj › App.Prj.WorkPackage` (+ C/U/D/E/I/N); alt formlar `… › App.Prj.WorkPackage › App.Prj.WorkPackage{Member|MonthRate|Planned|Actual}`.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Personel `AbpUsers`'tan. Satırlar Takım toplamlarını, Adam/Ay Oranları, Kaynak Listesi, Personel Adam/Ay Oranları, maliyet özeti ve Bütçe Raporu view'larını besler.
|
||
|
||
### 8. Akış örneği
|
||
|
||
Proje yöneticisi "1. Veri Toplama ve Analiz" paketini, altına 1.01 "Veri Kaynaklarının Belirlenmesi"ni (07/2025–08/2027) ekler → Personel sekmesinde 11 kişiyi seçer → Adam/Ay sekmesinde her kişi için aylık %50 girer → Gerçekleşen Masraflar'a faturaları (Diğer, Yapay Zeka, 839,40 TL) yazar.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- *Gantt'ta çubuğu sürüklemek tarihi değiştirir mi?* Evet, Gantt düzenlemesi açık; başlangıç/bitiş kayda yazılır.
|
||
- *Belge tarihi olmayan planlanan kalem bütçede hangi aya düşer?* Paketin başlangıç ayına.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
Wizard: `WorkPackage.json`, `WorkPackageMember.json`, `WorkPackageMonthRate.json`, `WorkPackagePlanned.json`, `WorkPackageActual.json`; tablolar `Prj_T_WorkPackage*.sql`. Geri alma: önce alt form wizard'ları, sonra `WorkPackage.json` (Project.json'un bağımlısıdır, önce o silinir). PostgreSQL'de `UQ_Prj_T_WorkPackageMonthRate_…` kısıt adı 63 karakteri aştığı için tasarımcıdan kısaltılmalıdır.
|
||
|
||
### 11. Sekmeler (alt formlar)
|
||
|
||
Dört sekme de menüsüzdür, İş Paketleri ekranının detayında açılır; yetkileri `App.Prj › App.Prj.WorkPackage › …` altındadır (C/U/D).
|
||
|
||
#### Personel (`App.Prj.WorkPackageMember`)
|
||
|
||
- **Amaç:** seçili iş paketinde çalışan personeli listeler ([image-14] görselindeki Personel sekmesi).
|
||
- **Veri:** `Prj_T_WorkPackageMember` — WorkPackageId, UserId; aynı personel bir pakete yalnızca bir kez eklenir. Personel `AbpUsers`'tan gelir.
|
||
- **Karar:** personel seçimi tüm kullanıcıları listeler; alt form üst kaydın proje bilgisine erişemediği için liste proje takımıyla sınırlanmadı.
|
||
- **Kullanıldığı yer:** Takım sekmesindeki Paket Adedi kolonunu besler.
|
||
- **Örnek:** 1.01 paketine 11 personel eklenir.
|
||
- **Dosyalar:** `WorkPackageMember.json`, `Prj_T_WorkPackageMember.sql`.
|
||
|
||
#### Adam/Ay (`App.Prj.WorkPackageMonthRate`)
|
||
|
||
- **Amaç:** personelin ilgili ayda pakete ayırdığı çalışma yüzdesi buradan girilir; Adam/Ay Oranları ekranı bu kayıtları yalnızca gösterir (onaylı karar).
|
||
- **Veri:** `Prj_T_WorkPackageMonthRate` — WorkPackageId, UserId, Year, Month, Rate; paket + personel + yıl + ay benzersiz.
|
||
- **Kural:** oran 0–100 arasıdır. Takım toplamlarını, Adam/Ay Oranları, Personel Adam/Ay Oranları ve maliyet özetini besler.
|
||
- **Örnek:** bir personel için Temmuz–Aralık 2025 her ay %50 girilir.
|
||
- **Dosyalar:** `WorkPackageMonthRate.json`, `Prj_T_WorkPackageMonthRate.sql`.
|
||
- **Dikkat:** benzersiz kısıtın adı 63 karakteri aşar; PostgreSQL'de tablo tasarımcısından kısaltılmalıdır.
|
||
|
||
#### Planlanan Kaynaklar (`App.Prj.WorkPackagePlanned`)
|
||
|
||
- **Amaç:** paketin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme, diğer.
|
||
- **Karar:** tip bazlı sekmeler tek tabloda birleştirildi (`ResourceType`, talep izni); ekran `Prj_T_WorkPackageResource`'u `Kind = 'Planned'` ile gösterir, yeni satır Planned türüyle eklenir. Kaynak tipine göre alan gizleme yok.
|
||
- **Hesap:** Maliyet = Fiyat × Adet × (1 + KDV/100); salt okunurdur, fiyat/adet/KDV değişince yeniden hesaplanır.
|
||
- **Kullanıldığı yer:** Kaynak Listesi, maliyet özeti, Bütçe Raporu (Planlanan kolonu). Bütçede kalem belge tarihinin ayına, belge tarihi yoksa paketin başlangıç ayına yazılır.
|
||
- **Örnek:** Malzeme seçilir, kalem adı yazılır, fiyat 74.000, adet 1 → maliyet 74.000.
|
||
- **Dosyalar:** `WorkPackagePlanned.json`, `Prj_T_WorkPackageResource.sql` (Gerçekleşen Masraflar ile ortak).
|
||
|
||
#### Gerçekleşen Masraflar (`App.Prj.WorkPackageActual`)
|
||
|
||
- **Amaç:** paketin gerçekleşen maliyetleri; giriş biçimi Planlanan Kaynaklar ile aynıdır.
|
||
- **Karar:** aynı tablo `Kind = 'Actual'` filtresiyle kullanılır; yeni satır Actual türüyle eklenir.
|
||
- **Hesap:** Maliyet = Fiyat × Adet × (1 + KDV/100); bütçe raporunda ay belge tarihinden belirlenir.
|
||
- **Kullanıldığı yer:** Kaynak Listesi (Türü = Gerçek), maliyet özeti, Bütçe Raporu (Gerçek kolonu).
|
||
- **Örnek:** Diğer, Kuruluş "Muhtelif", açıklama "Yapay Zeka", belge tarihi 22/09/2025, fiyat 839,40, adet 1 → maliyet 839,40.
|
||
- **Dosyalar:** `WorkPackageActual.json`, `Prj_T_WorkPackageResource.sql`.
|
||
|
||
<!-- module-doc:section App.Prj.Diary -->
|
||
## Günce Listesi (`App.Prj.Diary`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste; günce metni HTML editörle girilir.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Günce sütunu `dxHtmlEditor` (talep girdisi).
|
||
- Kullanıcı varsayılan olarak oturumdaki kullanıcıdır; dakika başlangıç–bitiş farkından hesaplanır.
|
||
- Hem menülü ekran hem proje kartının Günce sekmesidir; yetkisi kendi menü dalındadır.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › Günce Listesi`; ayrıca `Projeler` kartında Günce sekmesi (ProjectId ilişkisiyle). Widget'lar: toplam kayıt, bugünkü kayıt, toplam saat.
|
||
|
||
### 4. Veri modeli
|
||
|
||
`Prj_T_Diary`: ProjectId, WorkPackageId (projeye göre süzülür), UserId, StartTime, EndTime, Minutes, Content (nvarchar(MAX), HTML). Kiracı + audit + soft delete.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
Dakika = (Bitiş − Başlangıç) saat × 60, yuvarlanır, negatif olamaz; formda otomatik. Proje değişince iş paketi seçimi temizlenir.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
`App.Prj › App.Prj.Diary` (+ C/U/D/E/I/N). Kayıtlar kiracı içinde tüm yetkililere görünür.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Kullanıcı `AbpUsers`, proje/paket `Prj_T_Project` / `Prj_T_WorkPackage`. Başka entegrasyon yok.
|
||
|
||
### 8. Akış örneği
|
||
|
||
Personel günün sonunda yeni kayıt açar → projeyi ve 1.01 paketini seçer → 09:00–12:30 girer (Dakika 210 dolar) → yaptığı işi madde madde HTML olarak yazar ve kaydeder.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- *Başka kullanıcı adına günce girilebilir mi?* Evet, Kullanıcı alanı değiştirilebilir; varsayılan oturumdaki kullanıcıdır.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
Wizard `Diary.json`; tablo `sql|postgres/object/Prj_T_Diary.sql`. Project.json'un bağımlısıdır; geri almada önce Project.json silinir.
|
||
|
||
<!-- module-doc:section App.Prj.Project -->
|
||
## Projeler (`App.Prj.Project`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Ar-Ge ve destekli projelerin (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje) ana kartı. Başvuru metinleri, destek bilgileri, takım, iş paketleri, maliyet özeti ve günce tek kartta sekmeler halinde yönetilir.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Detay `App.Definitions.Contact` gibi sekmelidir (talep girdisi). Proje Özeti, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü ve Çıktı ve Faydaları sekmeleri HtmlEditor'dür.
|
||
- Bu metin sekmeleri ve Destek sekmesi ayrı tablo değildir; aynı proje kaydının alanlarını `Form` sekmesi olarak düzenler.
|
||
- Takım ağaç yapısındadır (ParentId = takım lideri). Hesaplanan kolonlar `Prj_V_ProjectMember` view'ından join ile gelir.
|
||
- Etiketler, renkli dxTagBox ile Etiketler tanımından seçilir (Contact.Tags kalıbı).
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › Projeler`, popup 1400×800. Sekmeler sırasıyla:
|
||
- Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (Form sekmeleri).
|
||
- Takım (`App.Prj.ProjectMember`, ağaç).
|
||
- İş Paketleri (`App.Prj.WorkPackage`, Gantt, menülü).
|
||
- Adam / Ay Oranları ve Detaylı Maliyet Raporu (`App.Prj.ProjectCostSummary`, salt okunur).
|
||
- Günce (`App.Prj.Diary`, menülü).
|
||
|
||
Widget'lar: toplam, aktif, tamamlanan proje sayısı ve toplam bütçe.
|
||
|
||
### 4. Veri modeli
|
||
|
||
`Prj_T_Project` alanları:
|
||
- Kimlik: ProjectNo (kiracı içinde benzersiz), Name, ProjectType, Status (varsayılan Draft), StartDate, EndDate, ManagerId, Tags.
|
||
- HTML metinler: Summary, Needs, Activities, Innovation, Outputs (hepsi nvarchar(MAX)).
|
||
- Destek: NationalSupportOrg, InternationalSupportOrg, OwnFundedAmount, SupportAmount, TotalBudget, ServicePurchaseSubject, ServicePurchasePlace.
|
||
|
||
`Prj_T_ProjectMember` alanları: ProjectId, UserId (projede benzersiz), ProjectRoleId, ParentId, AvgMonthlyCost.
|
||
|
||
View'lar: `Prj_V_ProjectMember` (takım hesapları) ve `Prj_V_ProjectCostSummary` (Planlanan ve Gerçek satırları).
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- **Takım:**
|
||
- Paket Adedi: personelin bu projede bulunduğu iş paketi sayısı.
|
||
- Adam/Ay Toplamı: Σ iş paketi oranı / 100.
|
||
- Çalışılan Ay: oran girilmiş farklı ay sayısı.
|
||
- Toplam Maliyet: Adam/Ay × Ortalama Aylık Maliyet.
|
||
- **Maliyet özeti:** Planlanan ve Gerçek için kaynak tipine göre maliyet toplamları ile projenin toplam adam/ay değeri.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
`App.Prj › App.Prj.Project` (+ C/U/D/E/I/N). Menüsüz sekmelerin yetkisi `… › App.Prj.Project › App.Prj.Project{Summary|Support|Needs|Activities|Innovation|Outputs|Member|CostSummary}` altındadır. Metin sekmelerinde silme kapalıdır.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Yönetici ve takım üyeleri `AbpUsers`'tan, görevler `Prj_T_ProjectRole`'den, etiketler `Prj_T_Tag`'den gelir. Maliyet özeti, iş paketi kaynaklarından ve aylık oranlardan hesaplanır.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Proje kartı açılır: proje no, ad, TÜBİTAK, Aktif, tarihler, yönetici ve etiketler girilir.
|
||
2. Destek sekmesine destek kurumu ve bütçe yazılır; Özet ve İhtiyaçlar HTML olarak doldurulur.
|
||
3. Takım sekmesinde önce takım lideri, sonra ona bağlı personel eklenir (Yönetici alanıyla).
|
||
4. İş Paketleri sekmesinde plan kurulur; maliyet özeti sekmesi planlanan ve gerçekleşen tutarları gösterir.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- *Destek ve metin sekmeleri neden boş kayıt açmıyor?* Hepsi aynı proje satırını düzenler; proje kaydedildikten sonra doldurulur.
|
||
- *Takım toplamları neden sıfır?* İş paketlerinin Adam/Ay sekmesinde oran girilmemiştir.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Wizard'lar: `Project.json`, `ProjectSummary.json`, `ProjectSupport.json`, `ProjectNeeds.json`, `ProjectActivities.json`, `ProjectInnovation.json`, `ProjectOutputs.json`, `ProjectMember.json`, `ProjectCostSummary.json`.
|
||
- Tablolar ve view'lar: `Prj_T_Project.sql`, `Prj_T_ProjectMember.sql`, `Prj_V_ProjectMember.sql`, `Prj_V_ProjectCostSummary.sql`.
|
||
- Geri alma: önce `Project.json`, ardından sekme wizard'ları silinir.
|
||
|
||
### 11. Sekmeler (alt formlar)
|
||
|
||
Sekmeler menüsüzdür, Projeler kartında açılır; yetkileri `App.Prj › App.Prj.Project › …` altındadır. Metin ve Destek sekmeleri ayrı tablo değildir, proje kaydını düzenleyen `Form` sekmesidir (ekleme/düzenleme açık, silme kapalı); proje kaydedildikten sonra doldurulur. İş Paketleri ve Günce sekmeleri menülü ekranlardır, kendi bölümlerinde anlatılır.
|
||
|
||
#### Proje Özeti, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları
|
||
|
||
| Sekme | Ekran | Alan (`Prj_T_Project`, nvarchar(MAX)) | İçerik |
|
||
| --- | --- | --- | --- |
|
||
| Proje Özeti | `App.Prj.ProjectSummary` | `Summary` | Projenin serbest metin özeti |
|
||
| İhtiyaçlar | `App.Prj.ProjectNeeds` | `Needs` | Projeyi doğuran sorun ve ihtiyaçlar |
|
||
| Faaliyetler | `App.Prj.ProjectActivities` | `Activities` | Planlanan ve yürütülen faaliyetler |
|
||
| Yenilikçi Yönü | `App.Prj.ProjectInnovation` | `Innovation` | Yenilikçi ve özgün yönler |
|
||
| Çıktı ve Faydaları | `App.Prj.ProjectOutputs` | `Outputs` | Beklenen çıktılar ve faydalar |
|
||
|
||
- Hepsi talep gereği HtmlEditor'dür; hesap ve entegrasyon yoktur. Faaliyetler sekmesinin görseli ([image-8]) iletilmediği için sekme metindeki tanıma göre üretildi.
|
||
- **Akış:** kullanıcı sekmeye metni madde madde yazar ve kaydeder.
|
||
- **Dosyalar:** `ProjectSummary.json`, `ProjectNeeds.json`, `ProjectActivities.json`, `ProjectInnovation.json`, `ProjectOutputs.json`.
|
||
|
||
#### Destek (`App.Prj.ProjectSupport`)
|
||
|
||
- **Amaç:** projenin destek ve bütçe bilgileri; alanlar [image-6] görselinden alındı.
|
||
- **Veri:** `Prj_T_Project` — NationalSupportOrg, InternationalSupportOrg, OwnFundedAmount, SupportAmount, TotalBudget, ServicePurchaseSubject, ServicePurchasePlace.
|
||
- **Kural:** hesap yoktur; TotalBudget Projeler ekranındaki Toplam Bütçe widget'ını besler.
|
||
- **Örnek:** ulusal destek kurumu TÜBİTAK yazılır, ardından destek tutarı ve toplam bütçe girilir.
|
||
- **Dosyalar:** `ProjectSupport.json`.
|
||
|
||
#### Takım (`App.Prj.ProjectMember`)
|
||
|
||
- **Amaç:** projede çalışan personel ağaç yapısında: takım lideri ve altında ona bağlı çalışanlar (ParentId, talep girdisi). Varsayılan görünüm Tree.
|
||
- **Veri:** `Prj_T_ProjectMember` — ProjectId, UserId, ProjectRoleId, ParentId, AvgMonthlyCost; personel projede bir kez yer alır. Hesaplanan kolonlar `Prj_V_ProjectMember` view'ından join ile okunur, kayıt tablo üzerinden düzenlenir.
|
||
- **Hesap:** Paket Adedi = personelin projedeki iş paketi sayısı · Adam/Ay Toplamı = Σ paket oranı / 100 · Çalışılan Ay = oran girilmiş farklı ay sayısı · Toplam Maliyet = Adam/Ay Toplamı × Ortalama Aylık Maliyet.
|
||
- **Entegrasyon:** personel `AbpUsers`, görev `Prj_T_ProjectRole`. Ortalama aylık maliyet Personel Adam/Ay Oranları raporunda gerçek maliyeti hesaplar. Yetki C/U/D.
|
||
- **Akış:** takım lideri yönetici alanı boş eklenir → çalışanlar yönetici olarak lider seçilerek eklenir → ağaçta liderin altında görünür.
|
||
- **SSS:** *Toplamlar neden boş?* İş paketlerinde bu personel için Adam/Ay oranı girilmemiştir.
|
||
- **Dosyalar:** `ProjectMember.json`, `Prj_T_ProjectMember.sql`, `Prj_V_ProjectMember.sql`.
|
||
|
||
#### Adam / Ay Oranları ve Detaylı Maliyet Raporu (`App.Prj.ProjectCostSummary`)
|
||
|
||
- **Amaç:** projenin salt okunur maliyet özeti ([image-11]); Planlanan ve Gerçek için birer satır, kolonlar adam/ay ve kaynak tipine göre maliyet.
|
||
- **Veri:** `Prj_V_ProjectCostSummary` (anahtar `ProjectId-Kind`) — Kind, SortNo, ManMonth, PersonnelCost, TravelCost, EquipmentCost, ConsultingCost, ServiceCost, MaterialCost, OtherCost, TotalCost.
|
||
- **Hesap:** her maliyet kolonu ilgili `ResourceType` + `Kind` için iş paketi kaynaklarının toplamı; Adam/Ay = projedeki paket oranları toplamı / 100, iki satırda aynıdır.
|
||
- **Entegrasyon:** `Prj_T_WorkPackageResource`, `Prj_T_WorkPackageMonthRate`.
|
||
- **Örnek:** Planlanan satırında Seyahat 9.000, Toplam 200.400; Gerçek satırında Toplam 34.368.
|
||
- **SSS:** *Gerçek personel maliyeti neden 0?* Gerçekleşen Masraflar'a "Personel Gideri" tipinde kayıt girilmemiştir.
|
||
- **Dosyalar:** `ProjectCostSummary.json`, `Prj_V_ProjectCostSummary.sql`.
|
||
|
||
<!-- module-doc:section App.Prj.ManMonth -->
|
||
## Adam/Ay Oranları (`App.Prj.ManMonth`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranlarını gösterir. Görünüm ay ölçeğinde Gantt'tır ve ekran salt okunurdur.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Talep ekranın GanttView olarak, yalnızca ay ölçeğinde sunulmasını istiyor; `ScaleType: months` ile karşılandı.
|
||
- Oranlar İş Paketi › Adam/Ay sekmesinden girilir; bu ekranda kayıt düzenlenmez (onaylı karar).
|
||
- Gantt hücreye sayı yazmaz. Aylık yüzdeleri hücre olarak görmek için aynı ekranda Pivot görünümü açıktır.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › Adam/Ay Oranları`. Varsayılan görünüm Gantt; Tree, Grid ve Pivot da açıktır. Projeye göre süzmek için ProjectId filtresi kullanılır.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Kaynak `Prj_V_ManMonthGantt` view'ıdır ve iki seviye satır üretir:
|
||
- **Personel satırı:** Id = ProjectId|UserId, ParentId boş.
|
||
- **İş paketi satırı:** Id = ProjectId|UserId|WorkPackageId, ParentId = personel satırı.
|
||
|
||
Her satırda şu kolonlar bulunur: Title, StartDate, EndDate, Progress, AvgRate (OAA), TotalRate (TAA), MonthCount (TÇA).
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- **Çubuk:** oranı 0'dan büyük olan ilk ayın başından son ayın sonuna kadar uzanır.
|
||
- **İlerleme ve OAA:** ortalama oran.
|
||
- **TAA:** oranların toplamı.
|
||
- **TÇA:** oran girilmiş farklı ay sayısı.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
`App.Prj › App.Prj.ManMonth`. Ekleme, düzenleme ve silme kapalıdır.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Veri `Prj_T_WorkPackageMonthRate`, `Prj_T_WorkPackage` ve `Prj_T_Project` tablolarından, personel adı `AbpUsers`'tan okunur.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Proje filtresi uygulanır.
|
||
2. Personel satırı açıldığında altında çalıştığı paketler görünür.
|
||
3. Pivot görünümüne geçildiğinde ay kolonlarında yüzdeler listelenir.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- *Burada oran değiştirebilir miyim?* Hayır. Oranlar İş Paketleri ekranının Adam/Ay sekmesinden değiştirilir.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Wizard: `ManMonth.json`.
|
||
- View: `sql|postgres/object/Prj_V_ManMonthGantt.sql`.
|
||
- Geri alma: wizard'ı silmek yeterlidir; view ayrıca kaldırılabilir.
|
||
|
||
<!-- module-doc:section App.Prj.ResourceList -->
|
||
## Kaynak Listesi (`App.Prj.ResourceList`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Bu ekran, tüm projelerin planlanan ve gerçekleşen kaynaklarını tek listede gösterir. Liste salt okunurdur; Excel'e aktarma ve filtreleme için kullanılır.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Talep, bu listeye yeni kayıt eklenmemesini ve yalnızca listeleme için kullanılmasını istiyor. Bu nedenle ekleme, düzenleme ve silme kapalıdır.
|
||
- Kaynak, iş paketi ve proje tablolarını birleştiren `Prj_V_ResourceList` view'ıdır.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
`Proje › Kaynak Listesi`. Grid, Card, Pivot ve Chart görünümleri açıktır. Widget'lar toplam planlanan ve toplam gerçekleşen maliyeti gösterir.
|
||
|
||
### 4. Veri modeli
|
||
|
||
`Prj_V_ResourceList` view'ı şu kolonları döndürür:
|
||
- **Proje ve iş paketi:** ProjectId, ProjectNo, ProjectName, WorkPackageId, WorkPackageCode, WorkPackageName.
|
||
- **Kaynak:** Kind, ResourceType, UserId, ResourceName.
|
||
- **Tutar:** Quantity, Unit, Price, VatRate, Cost.
|
||
- **Belge ve kuruluş:** DocumentDate, DocumentNo, OrganizationType, OrganizationName, WorkDone, WorkDescription.
|
||
|
||
Silinmiş iş paketi ve projelere ait kaynaklar listede yer almaz.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
Ekranda ayrıca bir hesap yapılmaz. Maliyet değeri, giriş sırasında iş paketi sekmesinde hesaplanan `Cost` alanından gelir.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki dalı `App.Prj › App.Prj.ResourceList` altındadır. Ekran yalnızca okuma ve dışa aktarma için kullanılır.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Veriler `Prj_T_WorkPackageResource`, `Prj_T_WorkPackage` ve `Prj_T_Project` tablolarından okunur.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Mali işler sorumlusu listeyi açar.
|
||
2. Türü = Gerçek ve tarih aralığı filtrelerini uygular.
|
||
3. Sonucu Excel'e aktarır ve destek kurumuna gönderilecek gider listesini hazırlar.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
- **Kaydı nereden düzeltebilirim?** Kayıtlar İş Paketleri ekranının Planlanan Kaynaklar veya Gerçekleşen Masraflar sekmesinden düzeltilir.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- Wizard dosyası: `ResourceList.json`.
|
||
- View scripti: `Prj_V_ResourceList.sql`.
|
||
- Geri almak için wizard silinir. View, başka bir ekran kullanmıyorsa kaldırılabilir.
|
||
|
||
<!-- module-doc:section App.Prj.PersonnelManMonth -->
|
||
## Personel Adam/Ay Oranları (`App.Prj.PersonnelManMonth`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Bu ekran, tüm projelerde personelin aylık iş paketi oranlarını ve bu oranlardan çıkan gerçek personel maliyetini salt okunur bir liste olarak gösterir. Ar-Ge merkezi raporlaması için kullanılır.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Talep gereği listeye kayıt eklenmez; ekran yalnızca listeleme içindir.
|
||
- Gerçek personel maliyeti, takımdaki ortalama aylık maliyet ile aya düşen oran çarpılarak hesaplanır. Bu, analizde onaylanmış bir karardır.
|
||
- Personelin o ay için Aylık Adam/Ay Oranı kaydı yoksa oran %100 kabul edilir.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Ekran `Proje › Personel Adam/Ay Oranları` menüsündedir. Grid, Card, Pivot ve Chart görünümleri açıktır.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Kaynak `Prj_V_PersonnelManMonth` view'ıdır. Satır anahtarı oran kaydının Id'sidir. Kolonlar:
|
||
- **Proje ve iş paketi:** ProjectNo, ProjectName, WorkPackageCode, WorkPackageName
|
||
- **Dönem ve personel:** Year, Month, PeriodDate, UserId
|
||
- **Oranlar:** ManMonthValue, MonthlyRate, EffectiveRate
|
||
- **Maliyet:** UnitCost, TotalCost
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- **Aya düşen oran** = paket oranı × aylık çalışma oranı / 100
|
||
- **Gerçek birim maliyet** = Takım sekmesindeki ortalama aylık maliyet
|
||
- **Gerçek toplam maliyet** = birim maliyet × aya düşen oran / 100
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki yolu `App.Prj › App.Prj.PersonnelManMonth` şeklindedir. Ekran salt okunurdur.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Veri şu tablolardan okunur: `Prj_T_WorkPackageMonthRate`, `Prj_T_UserMonthRate`, `Prj_T_ProjectMember`, `Prj_T_WorkPackage`, `Prj_T_Project`.
|
||
|
||
### 8. Akış örneği
|
||
|
||
Bir personelin Kasım ayında paket oranı %25, aylık çalışma oranı %100 ve ortalama aylık maliyeti 40.000 TL olsun. Bu durumda:
|
||
- Aya düşen oran = 25 × 100 / 100 = **%25**
|
||
- Gerçek toplam maliyet = 40.000 × 25 / 100 = **10.000 TL**
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
**Gerçek maliyet neden 0 görünüyor?**
|
||
Personelin Takım sekmesinde Ortalama Aylık Maliyet alanı boş bırakılmıştır.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- **Wizard dosyası:** `PersonnelManMonth.json`
|
||
- **View scripti:** `Prj_V_PersonnelManMonth.sql`
|
||
- **Geri alma:** Wizard'ı silmek yeterlidir.
|
||
|
||
<!-- module-doc:section App.Prj.BudgetReport -->
|
||
## Proje Bütçe Raporu (`App.Prj.BudgetReport`)
|
||
|
||
### 1. Amaç ve kapsam
|
||
|
||
Bu rapor, projelerin planlanan ve gerçekleşen maliyetlerini ay bazında takip etmek için kullanılır. Gider kalemleri ay ölçeğinde Gantt görünümünde listelenir. Rapor salt okunurdur.
|
||
|
||
### 2. Analiz ve kararlar
|
||
|
||
- Talep gereği rapor GanttView ile ve yalnızca ay ölçeğinde gösterilir. Görseldeki çeyrek bazlı dönem yerine ay bazlı dönem kullanılır.
|
||
- Sayısal ay kolonları için ekranda Pivot görünümü de açıktır.
|
||
- Belge tarihi boş olan kalemler, bağlı oldukları iş paketinin başlangıç ayına yazılır.
|
||
|
||
### 3. Menü ve ekranlar
|
||
|
||
Ekran `Proje › Proje Bütçe Raporu` menüsündedir.
|
||
|
||
- Varsayılan görünüm Gantt'tır. Tree, Grid ve Pivot görünümleri de kullanılabilir.
|
||
- Belirli bir projenin verisini görmek için ProjectId filtresi kullanılır.
|
||
|
||
### 4. Veri modeli
|
||
|
||
Raporun kaynağı `Prj_V_BudgetMonthly` view'ıdır. View iki seviyede satır üretir:
|
||
|
||
- **Gider kalemi satırı:** Id = ProjectId|ResourceType
|
||
- **Ay satırı:** Id = ProjectId|ResourceType|YYYY-MM; ParentId olarak gider kalemi satırını gösterir.
|
||
|
||
Kolonlar: Title, StartDate, EndDate, Year, Month, Planned, Actual, Ratio, Progress.
|
||
|
||
### 5. İş kuralları ve hesaplar
|
||
|
||
- **Planlanan:** Planned türündeki kalemlerin maliyet toplamı.
|
||
- **Gerçek:** Actual türündeki kalemlerin maliyet toplamı.
|
||
- **Oran:** Gerçek × 100 / Planlanan. Planlanan tutar 0 ise oran 0 kabul edilir.
|
||
- **Gantt ilerlemesi:** Oran değeridir; en fazla 100 gösterilir.
|
||
- **Ay:** Belge tarihinin ayıdır. Belge tarihi yoksa iş paketinin başlangıç ayı kullanılır.
|
||
|
||
### 6. Yetki ve görünürlük
|
||
|
||
Yetki dalı `App.Prj › App.Prj.BudgetReport`'tur. Rapor salt okunurdur.
|
||
|
||
### 7. Entegrasyonlar
|
||
|
||
Veriler `Prj_T_WorkPackageResource`, `Prj_T_WorkPackage` ve `Prj_T_Project` tablolarından okunur.
|
||
|
||
### 8. Akış örneği
|
||
|
||
1. Proje yöneticisi raporu açar ve "BİLGİ İŞLEM 02" projesine göre filtreler.
|
||
2. "Personnel" gider kaleminin altında ayları görür.
|
||
3. Gantt çubuğundaki ilerleme oranından gerçekleşmenin planı ne kadar aştığını ya da gerisinde kaldığını izler.
|
||
|
||
### 9. Sık sorulanlar
|
||
|
||
**Neden çeyrek bazında değil?**
|
||
Talep, raporun yalnızca ay bazında gösterilmesini istiyor. Çeyrek bazlı toplam gerekirse Pivot görünümünde tarih alanı çeyreğe göre gruplanabilir.
|
||
|
||
### 10. Dosyalar ve geri alma
|
||
|
||
- **Wizard dosyası:** `BudgetReport.json`
|
||
- **View scripti:** `Prj_V_BudgetMonthly.sql`
|
||
- **Geri alma:** Wizard'ı silmek yeterlidir.
|
||
|
||
<!-- module-doc:auto:begin -->
|
||
## 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.Prj.Definitions`)
|
||
|
||
#### Etiketler — `App.Prj.Tag`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Tag.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj.Definitions` › `App.Prj.Tag` (sıra 1) |
|
||
| Yetki | `App.Prj.Tag` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Etiketler — projelere eklenen, gruplama ve filtreleme için kullanılan renkli etiketler. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Tag` · 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 |
|
||
| Veri aynası | `data/App.Prj.Tag.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Adı | dxTextBox | ✓ | ✓ | |
|
||
| `Color` | Renk | dxColorBox | | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
#### Görevler — `App.Prj.ProjectRole`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectRole.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj.Definitions` › `App.Prj.ProjectRole` (sıra 2) |
|
||
| Yetki | `App.Prj.ProjectRole` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Görev Listesi — personelin projelerde üstlendiği görevler (ör. Ar-Ge Mühendisi, Proje Koordinatörü). |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_ProjectRole` · 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 |
|
||
| Veri aynası | `data/App.Prj.ProjectRole.json` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Name` | Görev Adı | dxTextBox | ✓ | ✓ | |
|
||
| `IsActive` | Aktif | dxCheckBox | ✓ | ✓ | |
|
||
|
||
#### Aylık Adam/Ay Oranları — `App.Prj.UserMonthRate`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/UserMonthRate.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj.Definitions` › `App.Prj.UserMonthRate` (sıra 3) |
|
||
| Yetki | `App.Prj.UserMonthRate` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Aylık Adam/Ay Oranları — personelin yıl ve ay bazındaki genel çalışma oranı (%); Ar-Ge merkezi raporlaması için kullanılır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_UserMonthRate` · 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.Personnel` |
|
||
| Form varsayılanları | Rate=100 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `UserId` | Personel Adı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `Month` | Ay | dxSelectBox | ✓ | ✓ | liste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 |
|
||
| `Year` | Yıl | dxNumberBox | ✓ | ✓ | |
|
||
| `Rate` | Oran (%) | dxNumberBox | ✓ | ✓ | |
|
||
|
||
### İş Paketleri (`App.Prj.WorkPackage`)
|
||
|
||
#### İş Paketleri — `App.Prj.WorkPackage`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/WorkPackage.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.WorkPackage` (sıra 2) |
|
||
| Yetki | `App.Prj.WorkPackage` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | İş Paketleri — projelerin hiyerarşik iş planı; ay ölçeğinde Gantt olarak gösterilir (1 → 1.01, 1.02 …). |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_WorkPackage` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Tree, Gantt (açılış gantt) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Alt formlar | `App.Prj.WorkPackageMember` (Id → WorkPackageId), `App.Prj.WorkPackageMonthRate` (Id → WorkPackageId), `App.Prj.WorkPackagePlanned` (Id → WorkPackageId), `App.Prj.WorkPackageActual` (Id → WorkPackageId) |
|
||
| Form varsayılanları | Progress=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectId` | Proje | dxSelectBox | ✓ | ✓ | sorgu: Prj_T_Project |
|
||
| `Code` | İş Paket No | dxTextBox | ✓ | ✓ | |
|
||
| `Name` | İş Paketi | dxTextBox | ✓ | ✓ | |
|
||
| `ParentId` | Üst İş Paketi | dxSelectBox | | ✓ | sorgu: Prj_T_WorkPackage (← ProjectId) |
|
||
| `StartDate` | Başlangıç | dxDateBox | ✓ | ✓ | script |
|
||
| `EndDate` | Bitiş Tarihi | dxDateBox | ✓ | ✓ | script |
|
||
| `Months` | Ay | dxNumberBox | | ✓ | |
|
||
| `Progress` | İlerleme (%) | dxNumberBox | | ✓ | |
|
||
| `Color` | Renk | dxColorBox | | ✓ | |
|
||
| `Note` | Not | dxTextBox | | ✓ | |
|
||
|
||
#### İş Paketi Personeli — `App.Prj.WorkPackageMember`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/WorkPackageMember.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.WorkPackageMember` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | İş Paketi Personeli — seçili iş paketinde çalışan personel. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_WorkPackageMember` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `WorkPackageId` | İş Paketi | dxSelectBox | | | sorgu: Prj_T_WorkPackage |
|
||
| `UserId` | Personel Adı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
|
||
#### İş Paketi Adam/Ay — `App.Prj.WorkPackageMonthRate`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/WorkPackageMonthRate.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.WorkPackageMonthRate` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | İş Paketi Adam/Ay — personelin ilgili ayda seçili iş paketine ayırdığı yüzde. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_WorkPackageMonthRate` · 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ı | Rate=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `WorkPackageId` | İş Paketi | dxSelectBox | | | sorgu: Prj_T_WorkPackage |
|
||
| `UserId` | Personel Adı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `Month` | Ay | dxSelectBox | ✓ | ✓ | liste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 |
|
||
| `Year` | Yıl | dxNumberBox | ✓ | ✓ | |
|
||
| `Rate` | Oran (%) | dxNumberBox | ✓ | ✓ | |
|
||
|
||
#### Planlanan Kaynaklar — `App.Prj.WorkPackagePlanned`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/WorkPackagePlanned.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.WorkPackagePlanned` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Planlanan Kaynaklar — seçili iş paketinin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme ve diğer. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_WorkPackageResource` · filtre `"IsDeleted" = 'false' AND "Kind" = 'Planned'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Form varsayılanları | Unit=Adet, Price=0, Quantity=1, VatRate=0, Cost=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `WorkPackageId` | İş Paketi | dxSelectBox | | | sorgu: Prj_T_WorkPackage |
|
||
| `ResourceType` | Kaynak Tipi | dxSelectBox | ✓ | ✓ | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
||
| `UserId` | Personel Adı | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `ResourceName` | Kaynak / Ad ve Açıklama | dxTextBox | ✓ | ✓ | |
|
||
| `OrganizationType` | Kuruluş Türü | dxTextBox | | ✓ | |
|
||
| `OrganizationName` | Kuruluş Adı | dxTextBox | | ✓ | |
|
||
| `WorkDone` | Yaptırılan İş | dxTextBox | | ✓ | |
|
||
| `WorkDescription` | Yaptırılan İş Açıklama | dxTextBox | | ✓ | |
|
||
| `DocumentDate` | Belge Tarihi | dxDateBox | | ✓ | |
|
||
| `DocumentNo` | Belge No | dxTextBox | | ✓ | |
|
||
| `Unit` | Birim | dxTextBox | | ✓ | |
|
||
| `Price` | Fiyat | dxNumberBox | | ✓ | script |
|
||
| `Quantity` | Adet / Miktar | dxNumberBox | | ✓ | script |
|
||
| `VatRate` | KDV (%) | dxNumberBox | | ✓ | script |
|
||
| `Cost` | Maliyet | dxNumberBox | | ✓ | |
|
||
|
||
#### Gerçekleşen Masraflar — `App.Prj.WorkPackageActual`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/WorkPackageActual.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.WorkPackageActual` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Gerçekleşen Masraflar — seçili iş paketinin gerçekleşen maliyetleri; planlanan kaynaklarla aynı biçimde girilir. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_WorkPackageResource` · filtre `"IsDeleted" = 'false' AND "Kind" = 'Actual'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Form varsayılanları | Unit=Adet, Price=0, Quantity=1, VatRate=0, Cost=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `WorkPackageId` | İş Paketi | dxSelectBox | | | sorgu: Prj_T_WorkPackage |
|
||
| `ResourceType` | Kaynak Tipi | dxSelectBox | ✓ | ✓ | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
||
| `UserId` | Personel Adı | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `ResourceName` | Kaynak / Ad ve Açıklama | dxTextBox | ✓ | ✓ | |
|
||
| `OrganizationType` | Kuruluş Türü | dxTextBox | | ✓ | |
|
||
| `OrganizationName` | Kuruluş Adı | dxTextBox | | ✓ | |
|
||
| `WorkDone` | Yaptırılan İş | dxTextBox | | ✓ | |
|
||
| `WorkDescription` | Yaptırılan İş Açıklama | dxTextBox | | ✓ | |
|
||
| `DocumentDate` | Belge Tarihi | dxDateBox | | ✓ | |
|
||
| `DocumentNo` | Belge No | dxTextBox | | ✓ | |
|
||
| `Unit` | Birim | dxTextBox | | ✓ | |
|
||
| `Price` | Fiyat | dxNumberBox | | ✓ | script |
|
||
| `Quantity` | Adet / Miktar | dxNumberBox | | ✓ | script |
|
||
| `VatRate` | KDV (%) | dxNumberBox | | ✓ | script |
|
||
| `Cost` | Maliyet | dxNumberBox | | ✓ | |
|
||
|
||
### Günce Listesi (`App.Prj.Diary`)
|
||
|
||
#### Günce Listesi — `App.Prj.Diary`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Diary.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.Diary` (sıra 3) |
|
||
| Yetki | `App.Prj.Diary` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Günce Listesi — personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Diary` · 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.Today`, `App.Widget.TotalHours` |
|
||
| Form varsayılanları | UserId=@USERID |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectId` | Proje | dxSelectBox | ✓ | ✓ | sorgu: Prj_T_Project |
|
||
| `WorkPackageId` | İş Paketi | dxSelectBox | | ✓ | sorgu: Prj_T_WorkPackage (← ProjectId) |
|
||
| `StartTime` | Başlangıç Tarihi | dxDateBox | ✓ | ✓ | script |
|
||
| `EndTime` | Bitiş Tarihi | dxDateBox | | ✓ | script |
|
||
| `Minutes` | Dakika | dxNumberBox | | ✓ | |
|
||
| `UserId` | Kullanıcı Adı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `Content` | Günce | dxHtmlEditor | | ✓ | |
|
||
|
||
### Projeler (`App.Prj.Project`)
|
||
|
||
#### Projeler — `App.Prj.Project`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/Project.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.Project` (sıra 4) |
|
||
| Yetki | `App.Prj.Project` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Proje Listesi — Ar-Ge ve destekli projeler (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje); takım, iş paketleri, maliyetler ve günce ile birlikte. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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.Prj.ProjectSummary` (Id → Id), `App.Prj.ProjectSupport` (Id → Id), `App.Prj.ProjectNeeds` (Id → Id), `App.Prj.ProjectActivities` (Id → Id), `App.Prj.ProjectInnovation` (Id → Id), `App.Prj.ProjectOutputs` (Id → Id), `App.Prj.ProjectMember` (Id → ProjectId), `App.Prj.WorkPackage` (Id → ProjectId), `App.Prj.ProjectCostSummary` (Id → ProjectId), `App.Prj.Diary` (Id → ProjectId) |
|
||
| Widget'lar | `App.Widget.Total`, `App.Widget.Active`, `App.Widget.Completed`, `App.Widget.TotalBudget` |
|
||
| Form varsayılanları | Status=Draft, ProjectNo=ProjeCode1 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectNo` | Proje No | dxTextBox | ✓ | ✓ | |
|
||
| `Name` | Proje Adı | dxTextBox | ✓ | ✓ | |
|
||
| `ProjectType` | Proje Tipi | dxSelectBox | | ✓ | liste: TUBITAK, KOSGEB, ArgeCenter, EU, Internal |
|
||
| `Status` | Durum | dxSelectBox | ✓ | ✓ | liste: Draft, Active, Completed, Cancelled |
|
||
| `StartDate` | Başlangıç Tarihi | dxDateBox | | ✓ | |
|
||
| `EndDate` | Bitiş Tarihi | dxDateBox | | ✓ | |
|
||
| `ManagerId` | Proje Yöneticisi | dxSelectBox | | ✓ | sorgu: AbpUsers |
|
||
| `Tags` | Etiketler | dxTagBox | | ✓ | sorgu: Prj_T_Tag |
|
||
|
||
#### Proje Özeti — `App.Prj.ProjectSummary`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectSummary.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectSummary` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Proje Özeti — projenin HTML editörle yazılan serbest metin özeti. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Summary` | Proje Özeti | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Destek — `App.Prj.ProjectSupport`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectSupport.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectSupport` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Destek — projenin destek ve bütçe bilgileri. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `NationalSupportOrg` | Ulusal Ar-Ge Destek Kurumu | dxTextBox | | ✓ | |
|
||
| `InternationalSupportOrg` | Uluslararası Ar-Ge Destek Kurumu | dxTextBox | | ✓ | |
|
||
| `OwnFundedAmount` | Öz Kaynakla Karşılanan Tutar (TL) | dxNumberBox | | ✓ | |
|
||
| `SupportAmount` | Destek Tutarı (TL) | dxNumberBox | | ✓ | |
|
||
| `TotalBudget` | Toplam Proje Bütçesi (TL) | dxNumberBox | | ✓ | |
|
||
| `ServicePurchaseSubject` | Hizmet Alımı Konusu | dxTextBox | | ✓ | |
|
||
| `ServicePurchasePlace` | Hizmet Alımı Yapılan Yer | dxTextBox | | ✓ | |
|
||
|
||
#### İhtiyaçlar — `App.Prj.ProjectNeeds`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectNeeds.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectNeeds` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | İhtiyaçlar — projeyi doğuran sorun ve ihtiyaçlar; HTML editörle yazılır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Needs` | İhtiyaçlar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Faaliyetler — `App.Prj.ProjectActivities`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectActivities.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectActivities` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Faaliyetler — proje kapsamında planlanan ve yürütülen faaliyetler; HTML editörle yazılır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Activities` | Faaliyetler | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Yenilikçi Yönü — `App.Prj.ProjectInnovation`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectInnovation.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectInnovation` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Yenilikçi Yönü — projenin yenilikçi ve özgün yönleri; HTML editörle yazılır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Innovation` | Yenilikçi Yönü | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Çıktı ve Faydaları — `App.Prj.ProjectOutputs`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectOutputs.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectOutputs` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Çıktı ve Faydaları — projenin beklenen çıktıları ve sağlayacağı faydalar; HTML editörle yazılır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_Project` · 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `Outputs` | Çıktı ve Faydalar | dxHtmlEditor | | ✓ | |
|
||
|
||
#### Takım — `App.Prj.ProjectMember`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectMember.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectMember` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Takım — projede çalışan personel; ağaç yapısında tutulur: önce takım lideri, sonra ona bağlı personel (Yönetici alanı). |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_T_ProjectMember` · filtre `"IsDeleted" = 'false'` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Tree (açılış tree) |
|
||
| Düzenleme | ekle ✓ · düzenle ✓ · sil ✓ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Form varsayılanları | AvgMonthlyCost=0 |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
||
| `UserId` | Personel Adı | dxSelectBox | ✓ | ✓ | sorgu: AbpUsers |
|
||
| `ProjectRoleId` | Görev Adı | dxSelectBox | | ✓ | sorgu: Prj_T_ProjectRole |
|
||
| `ParentId` | Yönetici Adı | dxSelectBox | | ✓ | sorgu: Prj_T_ProjectMember |
|
||
| `AvgMonthlyCost` | Ort. Aylık Maliyet | dxNumberBox | | ✓ | |
|
||
| `PackageCount` | Paket Adedi | | | | |
|
||
| `ManMonthTotal` | Adam/Ay Toplamı | | | | |
|
||
| `WorkedMonths` | Çalışılan Ay | | | | |
|
||
| `TotalCost` | Toplam Maliyet | | | | |
|
||
|
||
#### Adam / Ay Oranları ve Detaylı Maliyet Raporu — `App.Prj.ProjectCostSummary`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ProjectCostSummary.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | Menüsüz (alt form) |
|
||
| Yetki | `App.Prj.ProjectCostSummary` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Adam / Ay Oranları ve Detaylı Maliyet Raporu — projenin salt okunur özeti: Planlanan ve Gerçek için birer satır. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_V_ProjectCostSummary` |
|
||
| 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectId` | Proje | dxTextBox | | | |
|
||
| `Kind` | Tipi | dxSelectBox | | | liste: Planned, Actual |
|
||
| `ManMonth` | Adam / Ay | dxNumberBox | | | |
|
||
| `PersonnelCost` | Personel Maliyet | dxNumberBox | | | |
|
||
| `TravelCost` | Seyahat Maliyet | dxNumberBox | | | |
|
||
| `EquipmentCost` | Ekipman Maliyet | dxNumberBox | | | |
|
||
| `ConsultingCost` | Danışmanlık Maliyet | dxNumberBox | | | |
|
||
| `ServiceCost` | Hizmet Maliyet | dxNumberBox | | | |
|
||
| `MaterialCost` | Malzeme Maliyet | dxNumberBox | | | |
|
||
| `OtherCost` | Diğer Maliyet | dxNumberBox | | | |
|
||
| `TotalCost` | Toplam Maliyet | dxNumberBox | | | |
|
||
|
||
### Adam/Ay Oranları (`App.Prj.ManMonth`)
|
||
|
||
#### Adam/Ay Oranları — `App.Prj.ManMonth`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ManMonth.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.ManMonth` (sıra 5) |
|
||
| Yetki | `App.Prj.ManMonth` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Adam/Ay Oranları — proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranları; ay ölçeğinde Gantt olarak gösterilir. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_V_ManMonthGantt` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Tree, Gantt (açılış gantt) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ParentId` | Üst | dxTextBox | | | |
|
||
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
||
| `Title` | Personel / İş Adı | dxTextBox | | | |
|
||
| `StartDate` | Başlangıç | dxDateBox | | | |
|
||
| `EndDate` | Bitiş | dxDateBox | | | |
|
||
| `Progress` | İlerleme | dxNumberBox | | | |
|
||
| `AvgRate` | OAA | dxNumberBox | | | |
|
||
| `TotalRate` | TAA | dxNumberBox | | | |
|
||
| `MonthCount` | TÇA | dxNumberBox | | | |
|
||
|
||
### Kaynak Listesi (`App.Prj.ResourceList`)
|
||
|
||
#### Kaynak Listesi — `App.Prj.ResourceList`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/ResourceList.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.ResourceList` (sıra 6) |
|
||
| Yetki | `App.Prj.ResourceList` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Kaynak Listesi — tüm projelerin planlanan ve gerçekleşen kaynaklarının tek yerde salt okunur listesi. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_V_ResourceList` |
|
||
| Görünümler | Grid, Card, Pivot, Chart (açılış grid) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
| Widget'lar | `App.StaticLookup.Planned`, `App.StaticLookup.Actual` |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectNo` | Proje No | dxTextBox | | | |
|
||
| `ProjectName` | Proje Adı | dxTextBox | | | |
|
||
| `WorkPackageCode` | İş Paket No | dxTextBox | | | |
|
||
| `WorkPackageName` | İş Adı | dxTextBox | | | |
|
||
| `ResourceType` | Tipi | dxSelectBox | | | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
||
| `ResourceName` | Kaynak | dxTextBox | | | |
|
||
| `Quantity` | Adet | dxNumberBox | | | |
|
||
| `Unit` | Birim | dxTextBox | | | |
|
||
| `Price` | Fiyat | dxNumberBox | | | |
|
||
| `Cost` | Maliyet | dxNumberBox | | | |
|
||
| `Kind` | Türü | dxSelectBox | | | liste: Planned, Actual |
|
||
| `DocumentDate` | Belge Tarihi | dxDateBox | | | |
|
||
| `DocumentNo` | Belge No | dxTextBox | | | |
|
||
| `OrganizationType` | Kuruluş Türü | dxTextBox | | | |
|
||
| `WorkDone` | Yaptırılan İş | dxTextBox | | | |
|
||
| `WorkDescription` | Yaptırılan İş Açıklama | dxTextBox | | | |
|
||
|
||
### Personel Adam/Ay Oranları (`App.Prj.PersonnelManMonth`)
|
||
|
||
#### Personel Adam/Ay Oranları — `App.Prj.PersonnelManMonth`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/PersonnelManMonth.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.PersonnelManMonth` (sıra 7) |
|
||
| Yetki | `App.Prj.PersonnelManMonth` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Personel Adam/Ay Oranları — tüm projelerde personelin aylık iş paketi oranlarının ve bunlardan çıkan gerçek maliyetin salt okunur listesi. |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_V_PersonnelManMonth` |
|
||
| 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 |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectNo` | Proje No | dxTextBox | | | |
|
||
| `ProjectName` | Proje Adı | dxTextBox | | | |
|
||
| `WorkPackageCode` | İş Paket No | dxTextBox | | | |
|
||
| `WorkPackageName` | İş Adı | dxTextBox | | | |
|
||
| `PeriodDate` | Tarih | dxDateBox | | | |
|
||
| `UserId` | Personel Adı | dxSelectBox | | | sorgu: AbpUsers |
|
||
| `ManMonthValue` | Adam/Ay Değeri | dxNumberBox | | | |
|
||
| `MonthlyRate` | Aylık Çalışma Oranı | dxNumberBox | | | |
|
||
| `EffectiveRate` | Aya Düşen Çalışma Oranı | dxNumberBox | | | |
|
||
| `UnitCost` | Gerçek Birim Maliyet | dxNumberBox | | | |
|
||
| `TotalCost` | Gerçek Toplam Maliyet | dxNumberBox | | | |
|
||
|
||
### Proje Bütçe Raporu (`App.Prj.BudgetReport`)
|
||
|
||
#### Proje Bütçe Raporu — `App.Prj.BudgetReport`
|
||
|
||
| Özellik | Değer |
|
||
| --- | --- |
|
||
| Wizard | `wizard/BudgetReport.json` |
|
||
| Yol | Liste (Wizard) |
|
||
| Menü | `App.Prj` › `App.Prj.BudgetReport` (sıra 8) |
|
||
| Yetki | `App.Prj.BudgetReport` + `.Create`, `.Update`, `.Delete`, `.Export`, `.Import`, `.Note` |
|
||
| Açıklama | Proje Bütçe Raporu — projelerin planlanan ve gerçekleşen maliyetlerinin aylık takibi; ay ölçeğinde Gantt olarak gösterilir (salt okunur). |
|
||
| Geliştirme talebi | Proje Modülü |
|
||
| Kaynak | `Prj_V_BudgetMonthly` |
|
||
| Görünümler | Grid, Card, Pivot, Chart, Tree, Gantt (açılış gantt) |
|
||
| Düzenleme | ekle ✗ · düzenle ✗ · sil ✗ · popup |
|
||
| Kapsam | Kiracı |
|
||
|
||
| Alan | Başlık | Editör | Zorunlu | Formda | Kaynak |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| `ProjectId` | Proje | dxSelectBox | | | sorgu: Prj_T_Project |
|
||
| `ParentId` | Üst | dxTextBox | | | |
|
||
| `Title` | Gider Kalemi | dxTextBox | | | |
|
||
| `ResourceType` | Kaynak Tipi | dxSelectBox | | | liste: Personnel, Travel, Equipment, Consulting, Service, Material, Other |
|
||
| `StartDate` | Başlangıç | dxDateBox | | | |
|
||
| `EndDate` | Bitiş | dxDateBox | | | |
|
||
| `Year` | Yıl | dxNumberBox | | | |
|
||
| `Month` | Ay | dxNumberBox | | | |
|
||
| `Planned` | Planlanan | dxNumberBox | | | |
|
||
| `Actual` | Gerçek | dxNumberBox | | | |
|
||
| `Ratio` | Gerçek Oran (%) | dxNumberBox | | | |
|
||
| `Progress` | İlerleme | dxNumberBox | | | |
|
||
|
||
<!-- module-doc:auto:end -->
|