{ "ListFormCode": "App.DevRequests", "KeyFieldName": "Id", "GeneratedAt": "2026-10-05T18:34:07.8031684Z", "Order": 0, "Rows": [ { "Id": "94639b65-1bb7-454a-ae73-3e1c5c9fe23a", "TenantId": null, "UserName": "system@sozsoft.com", "RequestDate": null, "Status": "Testing", "Title": "Proje Modülü", "Description": "
Menünün ilk sırasında Definitions isimli Alt bir menü eklenecektir.
Etiketler: Tanımlanabilmeli ve bu etiketler Projeyle ilişkilendirilebimeli.
Aylık Adam/Ay Oranları : Kullanıcıların yıl ve ay bazında çalışma oranı belirlenebilmeli. Arge merkezi gibi sistemler için önemli
Görev Listesi: Personelin projelerde görevlerin listesidir.
Proje Listesi : Projelerin listelendiği kısımdır. O projelerin detay butonu yardımıyla bir aşağıdaki komponenti açıyor. Bu projenin altında Proje Özeti HtmlEditor olmalıdır. Diğer tablar aşağıda resimleri verilmiştir. Özet, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, çıktı ve faydaları tablaını HtmlEditor olarak tanımlamalı. Ayrıca tablar http://localhost:3000/admin/form/App.Definitions.Contact sayfasındaki gibi olmalı.
İş Paketleri : Öncelikle ilgili projede çalışacak personeller belirlenmeli. Bu takımda yer alacak personel tree şeklinde ParentId ile tanımlanmalı. İlk olarak takım lideri sonrasında altında çalışan personeller seçiebilir.
İş Paketleri kısmı GanttView olarak sunulacaktır ve işler birbirine bağlı şekilde yeni iş paketleri girebilmeliyim. İş paketlerine aşağıdaki detay formunda yer alan bilgiler olmalıdır. Perosnle, Planlanan Kaynaklar ... İlgili iş paketiyle ilgili çalışanlar, planlanan malzeme, seyahat, ekipman vs tüm bilgiler yazılıyor. Birbirine benzeyen ekranlar tip sütunu ile ayrılarak birleştirilebilir. Ayrıca bu iş paketi ile ilgili gerçekleşen tüm masraflarıda planlanan gibi yazılması gerekiyor.
,
Adam / Ay Oranları : proje bazında projede çalışan personellerin ilgili aylardaki iş paketlerinde geçirdiği yüzdesel çalışma oranların görüldüğü listedir ve GanttView olarak sunulmalıdır. Sadece Ay olarak görüntülenebilir.
Günce Listesi : Proje ve İş Paketlerine göre günlük personelin yaptığı çalışmaları yazdığı bir liste olmalıdır. Günce sütunu Html Editor olmalı.
Proje detayında yer alan bazı bilgilerin ayrıca listesi olmalı. Bu listelere yeni kayıt eklenmeyecek sadece listelemek amacıyla kullanılacaktır.
Proje Bütçe Raporu: Projenin planlana ve gerçekleşen maliyetlerini aylık bazda takip edildiği listedir. GanttView olarak sunulabilir sadece Ay olarak gösterilmelidir.
Ar-Ge / destekli projelerin (TÜBİTAK, Ar-Ge Merkezi vb.) tek modülde yönetimi: proje kartı ve başvuru metinleri, proje takımı, iş paketleri (Gantt), personelin aylık adam/ay oranları, planlanan ve gerçekleşen maliyetler, günlük çalışma güncesi ve aylık bütçe takibi. Kullanıcılar: proje yöneticisi, Ar-Ge merkezi sorumlusu, proje personeli.
\n\nTümü Wizard List. Tanımlar ve giriş ekranları tablo kaynaklı; Takım, Adam/Ay Gantt'ı, Kaynak Listesi, Personel Adam/Ay Oranları, Bütçe Raporu ve proje maliyet özeti hesaplı olduğundan SQL view + Query kaynağıyla. İş Paketleri ve Adam/Ay Oranları ile Bütçe Raporu Gantt görünümü (ScaleType: months) ile; sayısal ay hücreleri için aynı ekranlarda Pivot görünümü de açık. Proje detayı Contact ekranındaki gibi SubFormsDto sekmeleriyle. Custom component gerekmez.
Proje Yönetimi › Tanımlamalar › {Etiketler | Görevler | Aylık Adam/Ay Oranları} ve Proje Yönetimi › {ekran}
| Seviye | Kod | Ad (TR / EN) | İkon | Durum |
|---|---|---|---|---|
| Kök | App.Prj | Proje Yönetimi / Project Management | FcGanttChart | Yeni |
| Ara | App.Prj.Definitions | Tanımlamalar / Definitions | FcFilingCabinet | Yeni (kök altında ilk sıra) |
| Ekran | App.Prj.Tag | Etiketler / Tags | FcBookmark | Yeni |
| Ekran | App.Prj.ProjectRole | Görevler / Project Roles | FcList | Yeni |
| Ekran | App.Prj.UserMonthRate | Aylık Adam/Ay Oranları / Monthly Man-Month Rates | FcCalendar | Yeni |
| Ekran | App.Prj.Project | Projeler / Projects | FcFolder | Yeni |
| Ekran | App.Prj.WorkPackage | İş Paketleri / Work Packages | FcGanttChart | Yeni (menülü, Proje'de sekme) |
| Ekran | App.Prj.ManMonth | Adam/Ay Oranları / Man-Month Rates | FcTimeline | Yeni |
| Ekran | App.Prj.Diary | Günce Listesi / Work Diary | FcPlanner | Yeni |
| Ekran | App.Prj.ResourceList | Kaynak Listesi / Resource List | FcViewDetails | Yeni |
| Ekran | App.Prj.PersonnelManMonth | Personel Adam/Ay Oranları / Personnel Man-Month | FcBusinessman | Yeni |
| Ekran | App.Prj.BudgetReport | Proje Bütçe Raporu / Project Budget Report | FcComboChart | Yeni |
ModuleId: Prj · İzin grubu: App.Prj (Yeni) · Route: /admin/list/{ListFormCode}.
\nYetki: App.Prj › App.Prj.Definitions › App.Prj.Tag | ProjectRole | UserMonthRate (ara yetki Yeni); diğer ekranlar App.Prj › {ListFormCode}; alt formlar App.Prj › App.Prj.Project › App.Prj.Project{Sekme} ve App.Prj › App.Prj.WorkPackage › App.Prj.WorkPackage{Sekme}.
Tüm tablolar yeni; kiracı + audit + soft delete (standing default). Kullanıcı bilgisi AbpUsers'tan (Name + Surname).
View'lar: Prj_V_ProjectMember (takım + Paket Adedi, Adam/Ay Toplamı = Σ Rate/100, Çalışılan Ay, Toplam Maliyet = Adam/Ay × AvgMonthlyCost); Prj_V_ProjectCostSummary (proje × Planlanan/Gerçek × ResourceType pivot + Adam/Ay); Prj_V_ResourceList; Prj_V_PersonnelManMonth (WorkPackageMonthRate ⨝ UserMonthRate: Aya Düşen Oran = Rate × Aylık Oran/100, Gerçek Birim Maliyet = AvgMonthlyCost, Gerçek Toplam = Birim × Aya Düşen/100); Prj_V_ManMonthGantt (personel satırı + altında iş paketi satırları, Key/ParentKey metin, Start/End = ilk/son oranlı ay, Progress = ort. oran, OAA/TAA/TÇA kolonları); Prj_V_BudgetMonthly (proje × ResourceType × yıl-ay: Planlanan, Gerçek, Oran %).
App.Prj.Project (Contact ekranı düzeni)
\n| Sekme | Hedef | TabType | Menü | İlişki | Ekle/Düzenle/Sil | Yetki yolu |
|---|---|---|---|---|---|---|
| Proje Özeti | App.Prj.ProjectSummary | Form | Menüsüz | Id → Id | ✓/✓/– | App.Prj › App.Prj.Project › ProjectSummary |
| Destek | App.Prj.ProjectSupport | Form | Menüsüz | Id → Id | ✓/✓/– | … › App.Prj.Project › ProjectSupport |
| İhtiyaçlar | App.Prj.ProjectNeeds | Form | Menüsüz | Id → Id | ✓/✓/– | … › ProjectNeeds |
| Faaliyetler | App.Prj.ProjectActivities | Form | Menüsüz | Id → Id | ✓/✓/– | … › ProjectActivities |
| Yenilikçi Yönü | App.Prj.ProjectInnovation | Form | Menüsüz | Id → Id | ✓/✓/– | … › ProjectInnovation |
| Çıktı ve Faydaları | App.Prj.ProjectOutputs | Form | Menüsüz | Id → Id | ✓/✓/– | … › ProjectOutputs |
| Takım | App.Prj.ProjectMember | List | Menüsüz | Id → ProjectId | ✓/✓/✓ | … › ProjectMember |
| İş Paketleri | App.Prj.WorkPackage | List | Menülü | Id → ProjectId | ✓/✓/✓ | kendi dalı |
| Adam/Ay ve Detaylı Maliyet Raporu | App.Prj.ProjectCostSummary | List | Menüsüz | Id → ProjectId | –/–/– | … › ProjectCostSummary |
| Günce | App.Prj.Diary | List | Menülü | Id → ProjectId | ✓/✓/✓ | kendi dalı |
App.Prj.WorkPackage
\n| Sekme | Hedef | TabType | Menü | İlişki | Ekle/Düzenle/Sil | Yetki yolu |
|---|---|---|---|---|---|---|
| Personel | App.Prj.WorkPackageMember | List | Menüsüz | Id → WorkPackageId | ✓/✓/✓ | App.Prj › App.Prj.WorkPackage › WorkPackageMember |
| Adam/Ay | App.Prj.WorkPackageMonthRate | List | Menüsüz | Id → WorkPackageId | ✓/✓/✓ | … › WorkPackageMonthRate |
| Planlanan Kaynaklar | App.Prj.WorkPackagePlanned | List | Menüsüz | Id → WorkPackageId | ✓/✓/✓ | … › WorkPackagePlanned |
| Gerçekleşen Masraflar | App.Prj.WorkPackageActual | List | Menüsüz | Id → WorkPackageId | ✓/✓/✓ | … › WorkPackageActual |
Prj, izin grubu App.Prj, kök menü ve Tanımlamalar ara menüsü.gantt; GanttOptionJson KeyExpr Id, ParentIdExpr ParentId, TitleExpr Name (Code + Name), StartExpr StartDate, EndExpr EndDate, ProgressExpr Progress, ScaleType months, EditingEnabled + AllowTaskAdding/Updating/Deleting true; Tree ve Grid de açık. ProjectId filtre satırı/ExtraFilter ile proje seçimi. Months = DATEDIFF(month, StartDate, EndDate)+1 (EditorScript). ParentId lookup aynı projenin paketleri.Kind='Planned' / 'Actual', Kind insert varsayılanı sabit. ResourceType SelectBox; seçime göre UserId (Travel/Personnel), Kuruluş/Yaptırılan İş (Consulting/Service/Other) alanları görünür (Script Builder). Cost = Price × Quantity × (1 + VatRate/100), salt okunur.Prj, kök ad \"Proje Yönetimi\" — talepte etiket PJ ve konu proje.Prj_T_WorkPackageMonthRate'e İş Paketi › Adam/Ay sekmesinden girilir; ManMonth ekranı salt okunur (onay).Evet
Üretilenler: 10 tablo (Prj_T_*), 6 view (Prj_V_*; SQL Server + PostgreSQL), 22 wizard. Menü: Proje Yönetimi (App.Prj) › Tanımlamalar (Etiketler, Görevler, Aylık Adam/Ay Oranları) ve Projeler, İş Paketleri, Adam/Ay Oranları, Günce Listesi, Kaynak Listesi, Personel Adam/Ay Oranları, Proje Bütçe Raporu. İzin grubu App.Prj, ModuleId Prj.
\nDemo veri: 17 etiket, 67 görev. Aylık Adam/Ay demo satırları eklenmedi (görseldeki personel AbpUsers'ta yok).
\nVarsayımlar / sapmalar:
\nDB Migrate bekleyen wizard'lar: 22 wizard'ın tamamı (isPending). Migrate'ten sonra ekranlar, menü, yetkiler ve demo veri kurulur.
" } ] }